canonicalize-lgpl tests: Fix link error.
[gnulib.git] / ChangeLog
blob4bce82149f40b900d5ecdd19b7921f0a44b96eef
1 2021-01-17  Bruno Haible  <bruno@clisp.org>
3         canonicalize-lgpl tests: Fix link error.
4         * modules/canonicalize-lgpl-tests (Makefile.am): Link
5         test-canonicalize-lgpl with $(LIBINTL).
7 2021-01-17  Bruno Haible  <bruno@clisp.org>
9         canonicalize-lgpl: Work around // handling in realpath() of musl 1.2.2.
10         Reported by Natanael Copa <ncopa@alpinelinux.org> in
11         <https://lists.gnu.org/archive/html/bug-gettext/2021-01/msg00021.html>.
12         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add a test whether // is
13         the same as /, on Linux only.
14         * lib/canonicalize-lgpl.c: Correct indentation of preprocessor
15         directives.
16         * doc/posix-functions/realpath.texi: Mention the musl 1.2.2 bug.
18 2021-01-17  Bruno Haible  <bruno@clisp.org>
20         canonicalize[-lgpl] tests: Add more tests.
21         * tests/test-canonicalize.c (main): Add detailed tests for // handling.
22         * tests/test-canonicalize-lgpl.c (main): Likewise.
24 2021-01-17  Bruno Haible  <bruno@clisp.org>
26         argp tests: Avoid test failures on Alpine Linux.
27         * tests/test-argp-2.sh: Use the test framework (init.sh). Use the
28         'compare' function instead of 'diff -c'.
29         * tests/test-argp-version-etc-1.sh: Likewise.
31 2021-01-17  Bruno Haible  <bruno@clisp.org>
33         get-rusage-data tests: Avoid test failure on musl libc.
34         * modules/get-rusage-data-tests (Files): Add m4/musl.m4.
35         (configure.ac): Invoke gl_MUSL_LIBC.
36         * tests/test-get-rusage-data.c (main): Treat musl libc like glibc.
38 2021-01-17  Bruno Haible  <bruno@clisp.org>
40         immutable, get-rusage-data: Fix autoconf warning.
41         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Define through AC_DEFUN_ONCE.
43 2021-01-16  Bruno Haible  <bruno@clisp.org>
45         vma-iter: Port to 64-bit Haiku.
46         * lib/vma-iter.c (vma_iterate): Adapt to changed signature of
47         get_next_area_info.
49 2021-01-15  Bruno Haible  <bruno@clisp.org>
51         doc: Update doc about realpath.
52         * doc/posix-functions/realpath.texi: Update info about macOS.
54 2021-01-13  Paul Eggert  <eggert@cs.ucla.edu>
56         verify: simplify static_assert configuration
57         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1):
58         Do not define for C++.  This should be good enough nowadays,
59         since recent-enough C++ compilers have static_assert.
60         (_GL_HAVE_STATIC_ASSERT_CXX11, _GL_HAVE_STATIC_ASSERT_CXX17):
61         Remove.  All uses replaced by simply checking __cpp_static_assert.
63 2021-01-13  Simon Josefsson  <simon@josefsson.org>
65         lib-msvc-compat: Update libtool usage recommendation.
66         * doc/ld-output-def.texi (Visual Studio Compatibility): Install
67         .def files into libdir, not bindir.  Have libfoo-*.def file depend
68         on libfoo.la to fix parallell builds.
70 2021-01-12  Bruno Haible  <bruno@clisp.org>
72         verify: Use C++11 static_assert when available.
73         Reported by Alexandre Duret-Lutz <adl@lrde.epita.fr> in
74         <https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00177.html>.
75         * lib/verify.h (_GL_HAVE_STATIC_ASSERT_CXX11): New macro.
76         (_GL_HAVE_STATIC_ASSERT_CXX17): Renamed from _GL_HAVE_STATIC_ASSERT1.
77         (_GL_VERIFY): Use static_assert when available with C++11 syntax.
79 2021-01-11  Paul Eggert  <eggert@cs.ucla.edu>
81         tempname: consume less entropy
82         Derived from a glibc patch proposed by Adhemerval Zanella in:
83         https://sourceware.org/pipermail/libc-alpha/2021-January/121302.html
84         * lib/tempname.c: Include stdbool.h.
85         (random_bits): New arg use_getrandom.
86         (try_tempname_len): Skip getrandom on the first try,
87         unless __GT_NOCREATE.
88         * modules/tempname (Depends-on): Add stdbool.
90 2021-01-10  Bruno Haible  <bruno@clisp.org>
92         lchmod-tests: Fix link error.
93         * modules/lchmod-tests (Makefile.am): Don't assume that LIBINTL is set.
95 2021-01-10  Simon Josefsson  <simon@josefsson.org>
97         Correct preceeding change.
98         * top/gitsub.sh: Update link.
100 2021-01-09  Bruno Haible  <bruno@clisp.org>
102         immutable: Add tests.
103         * tests/test-immutable.sh: New file.
104         * tests/test-immutable.c: New file.
105         * modules/immutable-tests: New file.
107         immutable: New module.
108         * lib/immutable.h: New file.
109         * lib/immutable.c: New file.
110         * m4/immutable.m4: New file.
111         * m4/mprotect.m4: New file, based on libffcall/m4/codeexec.m4.
112         * modules/immutable: New file.
114 2021-01-10  Simon Josefsson  <simon@josefsson.org>
116         Use https:// instead of git://.
117         * build-aux/bootstrap (default_gnulib_url): Ditto.
118         * config/srclistvars.sh: Ditto.
119         * doc/gnulib-readme.texi (Git Checkout): Ditto.
120         * doc/gnulib-tool.texi (VCS Issues): Ditto.
121         * top/gitsub.sh: Update link.
123 2021-01-09  Paul Eggert  <eggert@cs.ucla.edu>
125         snippet/_Noreturn: port to pedantic clang
126         Problem reported by Joe Nelson in:
127         https://lists.gnu.org/r/bug-gnulib/2021-01/msg00152.html
128         * doc/noreturn.texi: Improve.
129         * lib/_Noreturn.h (_Noreturn):
130         * m4/gnulib-common.m4 (gl_COMMON_BODY):
131         Do not assume _Noreturn works as-is when __STRICT_ANSI__ is
132         defined, unless __STDC_VERSION__ indicates C11 or later.
133         * lib/_Noreturn.h (_Noreturn): Fall back on __attribute__
134         ((__noreturn__)) if Clang; this merges the
135         2020-08-10T23:53:13Zbruno@clisp.org patch to m4/gnulib-common.m4.
137 2021-01-09  Darshit Shah  <darnir@gnu.org>
139         Allow setting CVS username for gnu-web-doc-update.
140         * build-aux/gnu-web-doc-update: Introduce new option --user to set the
141         name of the user on Savannah, when it doesn't match $USER.
143 2021-01-09  Bruno Haible  <bruno@clisp.org>
145         exp* tests: Work around clang 6.0.1 optimization bugs on x86.
146         * tests/test-exp-ieee.h (test_function): Mark some variable as
147         'volatile'.
148         * tests/test-exp2-ieee.h (test_function): Likewise.
150 2021-01-09  Bruno Haible  <bruno@clisp.org>
152         fchmodat: Work around trailing slash bug in fchmodat() on AIX 7.2.
153         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): In the test whether fchmodat works,
154         also test for the trailing slashes behaviour. Define
155         HAVE_NEARLY_WORKING_FCHMODAT if this is the only missing feature.
156         * lib/fchmodat.c (fchmodat): If HAVE_NEARLY_WORKING_FCHMODAT, handle
157         trailing slashes here.
158         * modules/fchmodat (Depends-on): Sort by condition, not alphabetically.
159         * doc/posix-functions/fchmodat.texi: Document the AIX bug.
161 2021-01-09  Bruno Haible  <bruno@clisp.org>
163         fchmod-tests, fchmodat tests, lchmod tests: Add more tests.
164         * tests/test-fchmod.c: Include <fcntl.h>.
165         (BASE): New macro.
166         (main): Add more tests.
167         * tests/test-fchmodat.c (main): Add more tests.
168         * tests/test-lchmod.c (main): Likewise.
170 2021-01-09  Bruno Haible  <bruno@clisp.org>
172         utimensat: Fix typo in last commit.
173         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Fix typo in macro explanation.
175 2021-01-09  Bruno Haible  <bruno@clisp.org>
177         truncate: Document last workaround.
178         * doc/posix-functions/truncate.texi: Document the AIX bug.
180 2021-01-08  Paul Eggert  <eggert@cs.ucla.edu>
182         dynarray: work even if ‘free’ is replaced
183         Problem reported by Darshit Shah in:
184         https://lists.gnu.org/r/bug-gnulib/2021-01/msg00140.html
185         * lib/malloc/dynarray-skeleton.c (DYNARRAY_FREE): New macro.
186         Use it everywhere instead of DYNARRAY_NAME (free).
188         tempname: don’t block for minutes
189         Derived from a patch proposed by Adhemerval Zanella in:
190         https://sourceware.org/pipermail/libc-alpha/2021-January/121302.html
191         * lib/tempname.c (random_bits): Use GRND_NONBLOCK.
193         tempname: sync with proposed glibc patch
194         This is from Adhemerval Zanella in:
195         https://sourceware.org/pipermail/libc-alpha/2021-January/121301.html
196         * lib/tempname.c (__lxstat64): Remove.
197         (__lstat64, __stat64): New replacement macros.  All uses changed.
199         regex: stop using alloca
200         * lib/regex_internal.h: Do not include <alloca.h> or define
201         __libc_use_alloca or alloca.  Patch written by Adhemerval Zanella:
202         https://sourceware.org/pipermail/libc-alpha/2021-January/121374.html
203         * modules/regex (Depends-on): Remove alloca-opt.
205         regexec: remove alloca usage in build_trtable
206         Prompted by this different change proposed by Adhemerval Zanella:
207         https://sourceware.org/pipermail/libc-alpha/2021-January/121373.html
208         * lib/regexec.c (build_trtable): Prevent inlining,
209         so that it doesn’t bloat the caller’s stack.
210         Use auto variables instead of alloca/malloc.
211         After these changes, build_trtable’s total stack allocation is
212         only 20 KiB on a 64-bit machine, and this is less than glibc’s 64
213         KiB cutoff so there’s little point to using alloca to shrink it.
214         Although Gnulib traditionally has used a 4 KiB cutoff, going to 20
215         KiB here should not be a significant problem in practice;
216         Gnulib-using packages concerned about overflow of tiny stacks can
217         compile with something like gcc -fstack-clash-protection.
219         scratch_buffer: add scratch_buffer_dupfree macro
220         * lib/scratch_buffer.h (__libc_scratch_buffer_dupfree):
221         New macro, needed to support recent changes in this module.
223         regex: remove alloca usage on regex set_regs
224         Derived from this patch by Adhemerval Zanella:
225         https://sourceware.org/pipermail/libc-alpha/2021-January/121372.html
226         * lib/regex_internal.h: Include dynarray.h, for Gnulib.
227         * lib/regexec.c (DYNARRAY_STRUCT, DYNARRAY_ELEMENT)
228         (DYNARRAY_PREFIX): New macros.
229         Include malloc/dynarray-skeleton.c.
230         (set_regs): Use dynarray rather than alloca.
231         * modules/regex (Depends-on): Add dynarray.
233         dynarray: new module
234         * config/srclist.txt: Mention the new files.
235         * lib/cdefs.h (__attribute_maybe_unused__): New macro,
236         like Gnulib’s _GL_ATTRIBUTE_MAYBE_UNUSED but with glibc
237         naming conventions.
238         * lib/libc-config.h: Use it instead of __glibc_likely.
239         * lib/dynarray.h, modules/dynarray: New files.
240         * lib/malloc/dynarray-skeleton.c, lib/malloc/dynarray.h:
241         * lib/malloc/dynarray_at_failure.c:
242         * lib/malloc/dynarray_emplace_enlarge.c:
243         * lib/malloc/dynarray_finalize.c, lib/malloc/dynarray_resize.c:
244         * lib/malloc/dynarray_resize_clear.c, modules/dynarray:
245         New files, from glibc with the following changes needed for
246         portability to compilers that are not recent-enough GCC.
247         * lib/malloc/dynarray_at_failure.c: Include stdlib.h, for abort.
248         (__libc_dynarray_at_failure) [!_LIBC]: Simply abort.
249         * lib/malloc/dynarray_emplace_enlarge.c:
250         * lib/malloc/dynarray_resize.c:
251         Include intprops.h, and use INT_MULTIPLY_WRAPV instead
252         of __builtin_mul_overflow.
253         * lib/malloc/dynarray.h (__libc_dynarray_at_failure):
254         Use _Noreturn instead of __attribute__ ((noreturn)).
255         * lib/malloc/dynarray_resize_clear.c: Do not include stdlib.h;
256         it’s not needed.
257         (__libc_dynarray_resize_clear): Do not do arithmetic on void *.
258         * lib/malloc/dynarray-skeleton.c (struct DYNARRAY_STRUCT):
259         Do not use anonymous unions, as they are not in C99. All uses changed.
260         Use __nonnull (X) instead of __attribute__ ((nonnull X)),
261         and __attribute_maybe_unused__ instead of __attribute__ ((unused)).
263 2021-01-06  Simon Josefsson  <simon@josefsson.org>
265         bootstrap: Fix parsing of package name.
266         * build-aux/bootstrap (package): Attempt to use autoconf --trace
267         to parse AC_INIT before falling back to sed expression.
269 2021-01-07  Bruno Haible  <bruno@clisp.org>
271         localename: Fix link error with duplocale on AIX 7.2 (regr. 2019-12-18).
272         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
273         LOCALENAME_ENHANCE_LOCALE_FUNCS.
274         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE):
275         Set gt_working_uselocale.
276         (gt_INTL_THREAD_LOCALE_NAME): Set gt_fake_locales, gt_good_uselocale,
277         gt_localename_enhances_locale_funcs, LOCALENAME_ENHANCE_LOCALE_FUNCS.
278         Define HAVE_GOOD_USELOCALE, LOCALENAME_ENHANCE_LOCALE_FUNCS.
279         * m4/localename.m4 (gl_LOCALENAME): Test
280         gt_localename_enhances_locale_funcs instead of gt_nameless_locales.
281         * modules/locale (Makefile.am): Substitute
282         LOCALENAME_ENHANCE_LOCALE_FUNCS.
283         * lib/locale.in.h (newlocale, duplocale, freelocale): Don't override if
284         module 'localename' is in use but LOCALENAME_ENHANCE_LOCALE_FUNCS is 0.
285         * lib/localename.c (HAVE_GOOD_USELOCALE): Don't define here.
286         (get_locale_t_name, newlocale, duplocale, freelocale): Define if
287         LOCALENAME_ENHANCE_LOCALE_FUNCS.
289 2021-01-06  Bruno Haible  <bruno@clisp.org>
291         logb: Fix test failure on glibc/powerpc.
292         * doc/posix-functions/logb.texi: Update platform info.
293         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Test against bug with negative
294         subnormal numbers.
296 2021-01-06  Paul Eggert  <eggert@cs.ucla.edu>
298         libc-config: simplify clang __has_* macros
299         cdefs.h sometimes used names like __glibc_clang_has_attribute and
300         sometimes __glibc_has_attribute.  There is no need in glibc or
301         Gnulib to distinguish clang from other compilers here, so be
302         consistent and use the simpler names.
303         * lib/cdefs.h (__glibc_has_builtin, __glibc_has_extension):
304         Rename from __glibc_clang_has_builtin, __glibc_clang_has_extension.
305         All uses changed.
306         (__glibc_clang_has_attribute): Remove. All uses replaced
307         by __glibc_has_attribute.
308         * lib/libc-config.h [!__glibc_likely]: Undef them here too.
309         This fixes a problem where __glibc_has_attribute was not undeffed.
311 2021-01-06  Bruno Haible  <bruno@clisp.org>
313         flock: Update documentation.
314         * doc/glibc-functions/flock.texi: Document what to expect on AIX and
315         Solaris.
317 2021-01-06  Bruno Haible  <bruno@clisp.org>
319         ilogbl: Fix compilation error with xlclang on AIX 7.2.
320         * lib/math.in.h (ilogbl): Undefine macro before declaration.
322 2021-01-06  Bruno Haible  <bruno@clisp.org>
324         ilogbl: Fix test failures on AIX 7.1 in 64-bit mode.
325         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test also some denormalized
326         argument.
327         * doc/posix-functions/ilogbl.texi: Mention the AIX bug.
329 2021-01-06  Bruno Haible  <bruno@clisp.org>
331         ilogb: Fix test failures on AIX 7.1 in 64-bit mode.
332         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Test also some denormalized
333         argument.
334         * doc/posix-functions/ilogb.texi: Mention the AIX bug.
336 2021-01-05  Bruno Haible  <bruno@clisp.org>
338         fclose: Fix test failure on AIX 7.2.
339         * m4/fclose.m4 (gl_FUNC_FCLOSE_STDIN): New macro.
340         (gl_FUNC_FCLOSE): Invoke it. Set REPLACE_FCLOSE accordingly.
341         * doc/posix-functions/fclose.texi: Update platform information.
342         * doc/posix-functions/fflush.texi: Likewise.
344 2021-01-05  Bruno Haible  <bruno@clisp.org>
346         pipe-filter-gi: Fix test failure on AIX 7.2.
347         * lib/pipe-filter-aux.h (SSIZE_MAX) [AIX]: Set to 4096.
349 2021-01-05  Bruno Haible  <bruno@clisp.org>
351         utimens, utimensat, fdutimensat: Avoid test failures on AIX 7.2.
352         * lib/utimecmp.c (utimecmpat): On AIX, declare equality when the two
353         times differ by less than 0.01 seconds.
354         * tests/test-futimens.h (test_futimens): Pass UTIMECMP_TRUNCATE_SOURCE
355         flag.
357 2021-01-05  Bruno Haible  <bruno@clisp.org>
359         utimensat: Work around trailing slash bug in utimensat() on AIX 7.2.
360         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Require AC_CANONICAL_HOST. Add a
361         test for trailing slash handling. Improve cross-compilation guesses.
362         Conditionally define HAVE_NEARLY_WORKING_UTIMENSAT.
363         * lib/utimensat.c (rpl_utimensat): Add alternative implementation when
364         HAVE_NEARLY_WORKING_UTIMENSAT is defined.
365         * lib/utimens.c: Use the overridden utimensat when
366         HAVE_NEARLY_WORKING_UTIMENSAT is defined.
367         * doc/posix-functions/utimensat.texi: Mention the AIX bug.
369 2021-01-05  Bruno Haible  <bruno@clisp.org>
371         ptsname_r, ptsname: Avoid test failures on AIX 7.2.
372         * tests/test-ptsname_r.c (main): On AIX, set a 20-seconds timer.
373         * tests/test-ptsname.c (main): Likewise. On AIX, open a pty through
374         /dev/ptc and don't test the BSD ptys.
376 2021-01-05  Paul Eggert  <eggert@cs.ucla.edu>
378         libc-config: merge from glibc
379         Use a better way of keeping glibc <sys/cdefs.h> and gnulib
380         lib/cdefs.h mostly in sync, by using lib/cdefs.h only on platforms
381         where <sys/cdefs.h> does not work well enough for Gnulib.
382         * lib/cdefs.h: Go back to using _SYS_CDEFS_H rather than
383         _GL_DEFS_H as an include guard.
384         (__THROW, __THROWNL, __NTH, __NTHNL):
385         Define to noexcept for C++11 and later.
386         (__glibc_objsize, __glibc_objsize0): New, for _FORTIFY_SOURCE=3.
387         (__warndecl): Remove.
388         (__attribute_copy__): New macro, for GCC 9 support.
389         (__LDBL_REDIR, __LDBL_REDIR_DECL, __LDBL_REDIR1)
390         (__LDBL_REDIR1_DECL, __LDBL_REDIR1_NTH, __REDIRECT_NTH_LDBL)
391         (__REDIRECT_LDBL, __LDBL_REDIR_NTH):
392         Redirections for IEEE long double on powerpc64le.
393         (__LDBL_REDIR2_DECL): New macro.
394         (__attr_access): New macro, for GCC 10 bounds checking.
395         (__attribute_returns_twice__): New macro, for setjmp etc.
396         * lib/libc-config.h: Include <cdefs.h> only if __glibc_likely is
397         undefined.  The following changes apply only if __glibc_likely
398         is not defined.
399         (__LDBL_REDIR2_DECL, __attr_access, __attribute_returns_twice__)
400         (__glibc_clang_has_attribute, __glibc_clang_has_extension)
401         (__glibc_objsize, __glibc_objsize0):
402         Undef these new (or newer) <cdefs.h> macros.
403         (__P, __PMT, __always_inline): Do not undef, since cdefs.h does that.
404         (__glibc_likely): Do not undef, since this is inside
405         ifndef __glibc_likely.
406         (__warndecl): Do not undef; no longer defined.
408 2021-01-05  Jim Meyering  <meyering@fb.com>
410         maintainer-makefile: correct preceding change
411         * top/maint.mk (syntax-check-rules): Use LC_ALL=C, not LANG=C.
413 2021-01-05  Paul Eggert  <eggert@cs.ucla.edu>
415         maint: note syncs to glibc
416         * config/srclist.txt: filename.h, idx.h, scratch_buffer.h and
417         scratch_buffer_dupfree.c are now identical to glibc.  Add
418         commentary about some other syncs we’d like.
419         * modules/filename, modules/idx (Maintainer): Add glibc.
421 2021-01-05  Bruno Haible  <bruno@clisp.org>
423         truncate: Work around trailing slash bug in truncate() on AIX 7.2.
424         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Add a test whether truncate
425         rejects trailing slashes. Set REPLACE_TRUNCATE and define
426         TRUNCATE_TRAILING_SLASH_BUG if not.
427         * lib/truncate.c (orig_truncate): New function.
428         (truncate): Add alternative implementation when
429         TRUNCATE_TRAILING_SLASH_BUG is defined.
430         * modules/truncate (Depends-on): Add sys_stat, stat.
432 2021-01-05  Bruno Haible  <bruno@clisp.org>
434         mkfifoat: Fix cross-compilation guess (regression from 2021-01-04).
435         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Fix copy-and-paste mistake.
437 2021-01-05  Bruno Haible  <bruno@clisp.org>
439         ffsll: Override completely broken implementation on AIX in 32-bit mode.
440         * m4/ffsll.m4 (gl_FUNC_FFSLL): Test whether ffsll minimally works. If
441         not, set REPLACE_FFSLL.
442         * lib/string.in.h (ffsll): Consider REPLACE_FFSLL.
443         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
444         REPLACE_FFSLL.
445         * modules/string (Makefile.am): Substitute REPLACE_FFSLL.
446         * modules/ffsll (Depends-on, configure.ac): Consider REPLACE_FFSLL.
447         * doc/glibc-functions/ffsll.texi: Mention the AIX 7.2 bug.
449 2021-01-04  Bruno Haible  <bruno@clisp.org>
451         symlinkat: Fix trailing slash handling.
452         * lib/symlinkat.c (rpl_symlinkat): Don't follow symlinks during the
453         trailing slash handling.
454         * modules/symlinkat (Depends-on): Update conditions.
456 2021-01-04  Bruno Haible  <bruno@clisp.org>
458         mkfifoat: Update module description.
459         * modules/mkfifoat (Depends-on): Update conditions after last commits.
461 2021-01-04  Bruno Haible  <bruno@clisp.org>
463         link: Improve trailing slash handling on native Windows.
464         * lib/link.c (link): If stat() fails, provide a better errno.
466 2021-01-04  Bruno Haible  <bruno@clisp.org>
468         mkfifoat: Work around trailing slash bug in mknodat() on AIX 7.2.
469         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Set also REPLACE_MKNODAT.
470         * lib/sys_stat.in.h (mknodat): Consider REPLACE_MKNODAT.
471         * lib/mknodat.c: Add an overriding implementation of mknodat().
472         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize REPLACE_MKNODAT.
473         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKNODAT.
474         * modules/mkfifoat (Depends-on, configure.ac): Consider REPLACE_MKNODAT.
475         * doc/posix-functions/mknodat.texi: Mention the AIX bug.
477         mkfifoat: Work around trailing slash bug in mkfifoat() on AIX 7.2.
478         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Add a test whether mkfifoat rejects
479         trailing slashes. Set REPLACE_MKFIFOAT if not.
480         * lib/sys_stat.in.h (mkfifoat): Consider REPLACE_MKFIFOAT.
481         * lib/mkfifoat.c: Add an overriding implementation of mkfifoat().
482         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
483         REPLACE_MKFIFOAT.
484         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKFIFOAT.
485         * modules/mkfifoat (Depends-on): Add fstatat.
486         (configure.ac): Consider REPLACE_MKFIFOAT.
487         * doc/posix-functions/mkfifoat.texi: Mention the AIX bug.
489 2021-01-04  Bruno Haible  <bruno@clisp.org>
491         libc-config: Avoid overriding the headers from an installed newer glibc.
492         Reported by Paul E Murphy <murphyp@linux.ibm.com> in
493         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00106.html>.
494         * lib/cdefs.h: Use a different include guard than glibc's <sys/cdefs.h>.
495         * lib/libc-config.h: Update accordingly.
497 2021-01-04  Simon Josefsson  <simon@josefsson.org>
499         maintainer-makefile: Invoke syntax-checks regardless of locale.
500         * top/maint.mk (syntax-check-rules): Invoke sed with LANG=C
501         environment because [a-z] may not include 'w' in all locales.
503 2021-01-04  Bruno Haible  <bruno@clisp.org>
505         nstrftime, time_rz: Avoid using an obsolete Autoconf macro.
506         Reported by Mike Gran <spk121@yahoo.com> in
507         <https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00067.html>.
508         * lib/time-internal.h: Test HAVE_STRUCT_TM_TM_ZONE, not HAVE_TM_ZONE.
509         * lib/time_rz.c: Likewise.
510         * lib/nstrftime.c: Set and test HAVE_STRUCT_TM_TM_ZONE, not
511         HAVE_TM_ZONE.
512         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Update comments.
514 2021-01-04  Bruno Haible  <bruno@clisp.org>
516         expm1f-ieee: Work around AIX 7.2 bug.
517         * m4/expm1f.m4 (gl_FUNC_EXPM1F): Initialize gl_expm1f_required. If
518         module 'expm1f-ieee' is in use, check whether expm1f works according to
519         IEEE.
520         * m4/expm1f-ieee.m4: New file.
521         * modules/expm1f-ieee (Files): Add it.
522         (Depends-on): Update conditions.
523         (configure.ac): Invoke gl_FUNC_EXPM1F_IEEE.
524         * doc/posix-functions/expm1f.texi: Mention the AIX bug.
526 2021-01-04  Bruno Haible  <bruno@clisp.org>
528         ffsl, ffsll: Work around AIX 7.2 problem.
529         * lib/string.in.h: On AIX, include <strings.h> for the declarations of
530         ffsl and ffsll.
531         * doc/glibc-functions/ffsl.texi: Document the AIX 7.2 problem.
532         * doc/glibc-functions/ffsll.texi: Likewise.
534 2021-01-04  Bruno Haible  <bruno@clisp.org>
536         ssfmalloc: Fix includes.
537         * lib/ssfmalloc.h: Include <strings.h>, for ffs().
538         * tests/test-ssfmalloc.c: Include <string.h>, for memset().
540 2021-01-03  Bruno Haible  <bruno@clisp.org>
542         quotearg tests: Avoid test failures on Solaris 11.3.
543         * tests/test-quotearg.sh: Copy the fr/ directory using 'cp -R', not
544         'cp -a'.
546 2021-01-03  Bruno Haible  <bruno@clisp.org>
548         tests: Fix link errors on Solaris, when libunistring-optional is in use.
549         * modules/wcwidth (Link): New section.
550         * modules/wcswidth (Link): New section.
551         * modules/mbchar (Link): New section.
552         * modules/mbfile (Link): Link against libunistring.
553         * modules/mbiter (Link): Likewise.
554         * modules/mbuiter (Link): Likewise.
555         * modules/mbmemcasecmp (Link): Likewise.
556         * modules/mbscasecmp (Link): Likewise.
557         * modules/mbscasestr (Link): Likewise.
558         * modules/mbschr (Link): Likewise.
559         * modules/mbscspn (Link): Likewise.
560         * modules/mbslen (Link): Likewise.
561         * modules/mbsncasecmp (Link): Likewise.
562         * modules/mbsnlen (Link): Likewise.
563         * modules/mbspbrk (Link): Likewise.
564         * modules/mbspcasecmp (Link): Likewise.
565         * modules/mbsrchr (Link): Likewise.
566         * modules/mbssep (Link): Likewise.
567         * modules/mbsspn (Link): Likewise.
568         * modules/mbsstr (Link): Likewise.
569         * modules/mbstok_r (Link): Likewise.
570         * modules/mbswidth (Link): Likewise.
571         * modules/exclude (Link): Likewise.
572         * modules/propername (Link): Likewise.
573         * modules/regex-quote (Link): Likewise.
574         * modules/trim (Link): Likewise.
575         * modules/mbmemcasecmp-tests (Makefile.am): Link the test program
576         against libunistring.
577         * modules/mbscasecmp-tests (Makefile.am): Likewise.
578         * modules/mbscasestr-tests (Makefile.am): Likewise.
579         * modules/mbschr-tests (Makefile.am): Likewise.
580         * modules/mbscspn-tests (Makefile.am): Likewise.
581         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
582         * modules/mbspbrk-tests (Makefile.am): Likewise.
583         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
584         * modules/mbsrchr-tests (Makefile.am): Likewise.
585         * modules/mbsspn-tests (Makefile.am): Likewise.
586         * modules/mbsstr-tests (Makefile.am): Likewise.
587         * modules/exclude-tests (Makefile.am): Likewise.
588         * modules/regex-quote-tests (Makefile.am): Likewise.
590 2021-01-03  Bruno Haible  <bruno@clisp.org>
592         c32ispunct tests: Avoid test failures on FreeBSD.
593         * tests/test-c32ispunct.c (main): On FreeBSD, disable tests that fail on
594         FreeBSD 12.1.1.
596 2021-01-04  Simon Josefsson  <simon@josefsson.org>
598         doc: Repeat warning that --with-tests cannot be used twice.
599         * doc/gnulib-tool.texi (Multiple instances): Remind reader of
600         --with-tests limitation.
602 2021-01-03  Bruno Haible  <bruno@clisp.org>
604         iconv, iconv_open: Improve documentation.
605         Reported by Noah Misch <noah@leadboat.com> in
606         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00172.html>.
607         * doc/posix-functions/iconv_open.texi: Add new paragraph "Portability
608         problems handled by Gnulib".
609         * doc/posix-functions/iconv.texi: Likewise. Update info about AIX.
610         * m4/iconv.m4 (AM_ICONV_LINK): Improve comments.
612 2021-01-03  Bruno Haible  <bruno@clisp.org>
614         iconv-h: Fix module description.
615         * modules/iconv-h (Include): Check HAVE_ICONV_H.
617 2021-01-03  Noah Misch  <noah@leadboat.com>
619         iconv_open: Fix module description.
620         * modules/iconv_open (Include): Check HAVE_ICONV, like modules/iconv.
622 2021-01-03  Bruno Haible  <bruno@clisp.org>
624         stddef: Override wrong max_align_t on AIX 7 with xlc in 64-bit mode.
625         * m4/stddef_h.m4 (gl_STDDEF_H): Make check for good max_align_t
626         stricter: Add tests for offsetof-based alignof.
627         * lib/stddef.in.h (max_align_t): Override on AIX in 64-bit mode.
628         * doc/posix-headers/stddef.texi: Document the AIX max_align_t bug.
630 2021-01-03  Bruno Haible  <bruno@clisp.org>
632         free-posix: Work around GCC mis-optimization bug.
633         Code by Bernhard Voelker <mail@bernhard-voelker.de>.
634         * lib/free.c (rpl_free): Add alternative complicated code for GCC.
636 2021-01-02  Bruno Haible  <bruno@clisp.org>
638         valgrind-tests: Disable valgrind if it would cause all tests to fail.
639         Suggested by Simon Josefsson <simon@josefsson.org> in
640         <https://lists.gnu.org/archive/html/help-gsasl/2021-01/msg00004.html>.
641         * m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Test $VALGRIND on an
642         executable produced by the current compiler. Set VALGRIND to empty if it
643         does not work. Don't set VALGRIND to empty if it merely does not accept
644         the --error-exitcode=1 --leak-check=full options.
646 2021-01-02  Bruno Haible  <bruno@clisp.org>
648         valgrind-tests: Really enable the valgrind options test.
649         * m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Don't assume that the
650         valgrind options --error-exitcode=1 --leak-check=full always work.
652 2021-01-02  Bruno Haible  <bruno@clisp.org>
654         utimensat: Fix test failures on macOS 10.13.
655         * lib/utimensat.c: Include <string.h>, <sys/stat.h>.
656         (rpl_utimensat): Check against invalid tv_nsec values. Before calling
657         utimensat, recognize a filename ending in a slash that does not point
658         to a directory.
660 2021-01-02  Bruno Haible  <bruno@clisp.org>
662         utimens: Fix test failure on macOS 10.13.
663         * lib/utimens.c: Include <string.h>.
665         utimens: Fix test failure on macOS 10.13.
666         * lib/utimens.c (fdutimens): Before calling utimensat, recognize a
667         filename ending in a slash that does not point to a directory.
669 2021-01-02  Bruno Haible  <bruno@clisp.org>
671         utimens: Avoid test failures on macOS 10.13.
672         Reported by Martin Storsjö <martin@martin.st> in
673         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
674         * tests/test-utimens-common.h (check_ctime): Define to -1 on macOS.
675         * tests/test-utimens.h (test_utimens): Don't expect a ctime change when
676         only the atime is requested to change.
677         * tests/test-futimens.h (test_futimens): Likewise.
678         * tests/test-lutimens.h (test_lutimens): Likewise.
680 2021-01-02  Bruno Haible  <bruno@clisp.org>
682         renameatu: Fix test failures on macOS.
683         Reported by Martin Storsjö <martin@martin.st> in
684         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
685         * lib/renameatu.c (renameatu): Don't call renameatx_np right away.
686         Instead, treat it as a variant of renameat, with all possible bugs that
687         renameat might have.
689 2021-01-02  Bruno Haible  <bruno@clisp.org>
691         getgroups test: Avoid warning with glibc >= 2.32 and gcc >= 10.
692         Reported by Bernhard Voelker <mail@bernhard-voelker.de> in
693         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00090.html>.
694         * tests/test-getgroups.c: Silence gcc warnings of type
695         -Wstringop-overflow.
697 2021-01-02  Bruno Haible  <bruno@clisp.org>
699         timespec_get: Add tests.
700         * tests/test-timespec_get.c: New file.
701         * modules/timespec_get-tests: New file.
703         timespec_get: New module.
704         * lib/time.in.h (timespec_get): New declaration.
705         * lib/timespec_get.c: New file.
706         * m4/timespec_get.m4: New file.
707         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
708         GNULIB_TIMESPEC_GET, HAVE_TIMESPEC_GET.
709         * modules/time (Makefile.am): Substitute GNULIB_TIMESPEC_GET,
710         HAVE_TIMESPEC_GET.
711         * modules/timespec_get: New file.
712         * tests/test-time-c++.cc (timespec_get): Check signature.
713         * doc/glibc-functions/timespec_get.texi: Mention the new module.
715 2021-01-01  Bruno Haible  <bruno@clisp.org>
717         time: Define TIME_UTC.
718         * lib/time.in.h (TIME_UTC, GNULIB_defined_TIME_UTC): New macros.
719         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Set TIME_H_DEFINES_TIME_UTC.
720         * modules/time (Makefile.am): Substitute TIME_H_DEFINES_TIME_UTC.
721         * tests/test-time.c: Check that TIME_UTC is defined and a positive
722         integer.
723         * doc/posix-headers/time.texi: Mention TIME_UTC.
725 2021-01-01  Bruno Haible  <bruno@clisp.org>
727         stddef: Try harder to get max_align_t defined on OpenBSD, part 2.
728         * modules/stddef (Depends-on): Add extensions.
730 2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>
732         canonicalize: remove NARROW_ADDRESSES optimization
733         * lib/canonicalize-lgpl.c, lib/canonicalize.c (NARROW_ADDRESSES):
734         Remove, and remove all uses, as the optimization is arguably not
735         worth the extra complexity.  Suggested by Adhemerval Zanella in:
736         https://sourceware.org/pipermail/libc-alpha/2020-December/121203.html
738 2021-01-01  Bruno Haible  <bruno@clisp.org>
740         stddef: Try harder to get max_align_t defined on OpenBSD.
741         * m4/stddef_h.m4 (gl_STDDEF_H): Require gl_USE_SYSTEM_EXTENSIONS.
743 2021-01-01  Bruno Haible  <bruno@clisp.org>
745         aligned_alloc: Fix test failure on OpenBSD 6.8.
746         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): On OpenBSD, define
747         _ISOC11_SOURCE.
748         * m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Require it. Update
749         comment.
751 2021-01-01  Bruno Haible  <bruno@clisp.org>
753         posixtm tests: Disable part of the test on plaforms where it fails.
754         * tests/test-posixtm.c (T): Disable two tests on macOS as well.
756 2021-01-01  Bruno Haible  <bruno@clisp.org>
758         c32isgraph/c32isprint/c32ispunct tests: Avoid test failures on OmniOS.
759         * tests/test-c32isgraph.c (main): On Solaris, disable tests that fail on
760         Solaris 11 OmniOS.
761         * tests/test-c32isprint.c (main): Likewise.
762         * tests/test-c32ispunct.c (main): Likewise.
764 2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>
766         libc-config: port to Sun C 5.9
767         * lib/libc-config.h (libc_hidden_proto): Omit ", ..." in macro
768         definition.  It’s not needed for Gnulib and elicits a diagnostic
769         from Sun C 5.9 Patch 124867-12 2009/11/22.
771 2021-01-01  Bruno Haible  <bruno@clisp.org>
773         quotearg tests: Avoid test failures on Solaris 11.
774         * modules/quotearg-tests (Makefile.am): Set host_os in
775         TESTS_ENVIRONMENT.
776         * tests/test-quotearg.sh: On Solaris 11 systems, make a copy of the fr/
777         directory that contains the .mo file.
779 2021-01-01  Bruno Haible  <bruno@clisp.org>
781         maint: Update copyright notices in --version output.
782         List the most recent year in which changes were made, per
783         <https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html>.
784         * build-aux/declared.sh (func_version): Say 2019.
785         * build-aux/libtool-next-version (func_version): Likewise.
786         * build-aux/run-test (func_version): Likewise.
787         * check-module (COPYRIGHT_NOTICE): Say 2012.
788         * lib/git-merge-changelog.c (main): Say 2020.
790 2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>
792         filename: change filename.h comment to LGPLv2.1+
793         * lib/filename.h: Change license notice to match what should be in
794         glibc, and what modules/filename specifies.  This is to simplify
795         syncing with glibc.
797         doc: mention year-0 bugs in Solaris etc.
798         * doc/posix-functions/gmtime.texi, doc/posix-functions/gmtime_r.texi:
799         * doc/posix-functions/localtime.texi:
800         * doc/posix-functions/localtime_r.texi:
801         * doc/posix-functions/mktime.texi:
802         Mention year-0 bugs in localtime etc.
804 2020-12-31  Bruno Haible  <bruno@clisp.org>
806         ptsname_r: Fix test failure on Solaris.
807         * lib/ptsname_r.c (__ptsname_r) [__sun]: Don't test the major number of
808         the device.
810 2020-12-31  Bruno Haible  <bruno@clisp.org>
812         posixtm tests: Disable part of the test on plaforms where it fails.
813         * tests/test-posixtm.c (T): Disable two tests on Solaris.
815 2020-12-31  Bruno Haible  <bruno@clisp.org>
817         poll tests: Avoid test failure on AIX.
818         * tests/test-poll.c (test_pipe): Disable the "expecting POLLHUP after
819         shutdown" test on AIX.
820         * doc/posix-functions/poll.texi: Mention the AIX bug.
822 2020-12-31  Bruno Haible  <bruno@clisp.org>
824         poll tests: Avoid test failure on BSD and Solaris systems.
825         * tests/test-poll.c (test_accept_first, test_socket_pair): Disable the
826         "expecting POLLHUP after shutdown" test on all platforms except Linux.
828 2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>
830         fnmatch: merge from glibc + proposal
831         This merges the change proposed by Adhemerval Zanella in:
832         https://sourceware.org/pipermail/libc-alpha/2020-December/121212.html
833         which fixes a Gnulib bug that led to a failed assert.
834         * lib/fnmatch_loop.c (EXT): Use signed level, not unsigned, and
835         check that it stays nonnegative.  Use __flexarr instead of
836         FLEXIBLE_ARRAY_MEMBER, to port better to glibc.
837         * tests/test-fnmatch.c (main): New test cases, taken from glibc.
839         glob: merge proposed glibc changes
840         This merges the change proposed by Adhemerval Zanella in:
841         https://sourceware.org/pipermail/libc-alpha/2020-December/121211.html
842         * lib/glob.c (__lstat64, __stat64) [_LIBC]: Remove.
844 2020-12-31  Bruno Haible  <bruno@clisp.org>
846         memalign: Work around Solaris bug.
847         * lib/memalign.c: New file.
848         * m4/memalign.m4: New file.
849         * modules/memalign (Files): Add them.
850         (Depends-on): Add malloc-h.
851         (configure.ac): Invoke gl_FUNC_MEMALIGN. Conditionally compile
852         memalign.c. Set module indicator.
853         (Include): Include <malloc.h> unconditionally.
854         * doc/glibc-functions/memalign.texi: Mention the Solaris issues.
856         malloc-h: Add tests.
857         * tests/test-malloc-h.c: New file.
858         * modules/malloc-h-tests: New file.
859         * tests/test-malloc-h-c++.cc: New file.
860         * modules/malloc-h-c++-tests: New file.
862         malloc-h: New module.
863         * lib/malloc.in.h: New file.
864         * m4/malloc_h.m4: New file.
865         * modules/malloc-h: New file.
866         * doc/glibc-headers/malloc.texi: New file.
867         * doc/gnulib.texi (Glibc Header File Substitutes): Include it.
869 2020-12-31  Bruno Haible  <bruno@clisp.org>
871         unistd: Fix portability warnings.
872         * lib/unistd.in.h (fchownat, unlinkat): Fix module name in warning.
874 2020-12-31  Bruno Haible  <bruno@clisp.org>
876         utime: Fix compilation error on macOS and Solaris 9 (regr. 2020-12-24).
877         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
878         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00295.html>.
879         * lib/utime.c: Include <errno.h>.
881 2020-12-30  Karl Berry  <karl@freefriends.org>
883         config: srclistvars doc.
884         * config/srclistvars.sh: doc a couple of unusual source repo urls.
886 2020-12-30  Bruno Haible  <bruno@clisp.org>
888         getlogin tests, getlogin_r tests: Avoid failure on Solaris OpenIndiana.
889         * tests/test-getlogin.c (main): Don't fail if getlogin() returns NULL
890         with no errno.
891         * tests/test-getlogin_r.c (main): Don't fail if getlogin_r() returns
892         EINVAL.
894 2020-12-29  Jim Meyering  <meyering@fb.com>
896         regex-tests: tweak to avoid a clang-10 warning
897         * tests/test-regex.c: Compare with explicit zero, rather than
898         as boolean to avoid this from clang-10:
899         test-regex.c:315:9: error: converting the result of '<<' to a \
900           boolean always evaluates to true \
901           [-Werror,-Wtautological-constant-compare]
902         if (! REG_STARTEND)
904         hash: add casts-to-float to avoid clang-10 warnings
905         * lib/hash.c (compute_bucket_size): Cast SIZE_MAX to float
906         to avoid this warning from clang-10 (for use in grep):
907           hash.c:501:11: error: implicit conversion from 'unsigned long' \
908             to 'float' changes value from 18446744073709551615 to \
909             18446744073709551616 [-Werror,-Wimplicit-int-float-conversion]
910           if (SIZE_MAX <= new_candidate)
911         (hash_insert_if_absent): Likewise.
913 2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>
915         canonicalize: fix size overflow treatment
916         This also has some minor cleanups.
917         * lib/canonicalize-lgpl.c, lib/canonicalize.c: No need to include
918         stddef.h, since the code no longer refers directly to ptrdiff_t.
919         * lib/canonicalize-lgpl.c (realpath_stk):
920         * lib/canonicalize.c (canonicalize_filename_mode_stk):
921         Treat size overflow like other out-of-memory.
922         * lib/canonicalize.c: No need to include stdlib.h, since
923         the code no longer refers to stdlib.h functions (other
924         than those that canonicalize.h must declare).
925         * lib/canonicalize.c (canonicalize_filename_mode_stk):
926         Do not bother terminating the string result on error.
928 2020-12-29  Bruno Haible  <bruno@clisp.org>
930         list-c++, [o]map-c++, [o]set-c++: Fix conflict with 'free-posix' module.
931         * lib/gl_list.hh: Include <stdlib.h>.
932         * lib/gl_map.hh: Likewise.
933         * lib/gl_omap.hh: Likewise.
934         * lib/gl_set.hh: Likewise.
935         * lib/gl_oset.hh: Likewise.
937 2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>
939         canonicalize: fix ptrdiff_t overflow bug
940         Problem reported by Adhemerval Zanella in:
941         https://sourceware.org/pipermail/libc-alpha/2020-December/121182.html
942         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
943         Include intprops.h.
944         (NARROW_ADDRESSES): New constant.
945         * lib/canonicalize-lgpl.c (realpath_stk):m
946         * lib/canonicalize.c (canonicalize_filename_mode_stk):
947         Work even if strlen (END) does not fit in idx_t, or if adding
948         N to it overflows.
949         * modules/canonicalize, modules/canonicalize-lgpl (Depends-on):
950         Add intprops.
952 2020-12-28  Bruno Haible  <bruno@clisp.org>
954         havelib: Fix for Solaris 11 OpenIndiana and Solaris 11 OmniOS.
955         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): In
956         acl_is_expected_elfclass, use 'expr', not 'test'.
958 2020-12-28  Bruno Haible  <bruno@clisp.org>
960         ptsname_r: Fix a compiler warning on Solaris.
961         * lib/ptsname_r.c (__ptsname_r): Reduce the scope of variable 'err'.
963 2020-12-28  Bruno Haible  <bruno@clisp.org>
965         gnulib-tool: Fix logic whether to add a dummy.c.
966         * gnulib-tool (func_remove_if_blocks): New function.
967         (func_modules_add_dummy): Use it to eliminate all conditional statements
968         from the automake snippet.
970 2020-12-28  Paul Eggert  <eggert@cs.ucla.edu>
972         faccessat: revert recent EOVERFLOW change
973         I misunderstood the glibc source code.  Deduced from
974         Adhemerval Zanella’s proposed glibc patch in:
975         https://sourceware.org/pipermail/libc-alpha/2020-December/121131.html
976         * doc/posix-functions/faccessat.texi: It is not a problem.
977         * lib/canonicalize-lgpl.c, lib/canonicalize.c, lib/faccessat.c:
978         (FACCESSAT_NEVER_OVERFLOWS): Remove. All uses removed.
979         * lib/faccessat.c: Revert to simpler version now that
980         LSTAT_FOLLOWS_SLASHED_SYMLINK must be false.
981         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW):
982         Remove.  All uses removed.
983         * modules/canonicalize, modules/canonicalize-lgpl (Files):
984         Remove m4/faccessat.m4.
986         canonicalize-lgpl: accommodate picky cpp
987         * lib/canonicalize-lgpl.c: Use "defined FUNC_REALPATH_WORKS" in
988         case preprocessor is picky.  Reported by Adhemerval Zanella in:
989         https://sourceware.org/pipermail/libc-alpha/2020-December/121130.html
991         canonicalize: simplify via scratch_buffer_dupfree
992         * config/srclist.txt: Adjust accordingly.
993         * lib/canonicalize-lgpl.c (realpath_stk):
994         * lib/canonicalize.c (canonicalize_filename_mode_stk):
995         Simplify by using scratch_buffer_dupfree.
996         * lib/malloc/scratch_buffer.h (scratch_buffer_dupfree): New function.
997         * lib/malloc/scratch_buffer_dupfree.c: New file.
998         * modules/scratch_buffer (Files, Depends-on):
999         Add malloc/scratch_buffer_dupfree.c.
1001 2020-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1003         regex: remove glibc21.m4
1004         It doesn’t seem to be needed any more; at least, I couldn’t
1005         reproduce the circa-2013 problem.  Perhaps the recent
1006         --conditional-dependencies fixes have removed the need for it.
1007         * m4/glibc21.m4: Remove.  All uses removed.
1009 2020-12-26  Bruno Haible  <bruno@clisp.org>
1011         gnulib-tool: Make --conditional-dependencies work with --with-tests.
1012         Reported by Paul Eggert in
1013         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00236.html>.
1014         * gnulib-tool (func_emit_tests_Makefile_am): Handle conditional
1015         dependencies like func_emit_lib_Makefile_am.
1017 2020-12-26  Bruno Haible  <bruno@clisp.org>
1019         execvpe: Make dependency to stdbool explicit.
1020         * lib/execvpe.c: Include <stdbool.h>.
1021         * modules/execvpe (Depends-on): Add stdbool.
1023         execlp: Add tests.
1024         * tests/test-execlp-main.c: New file.
1025         * tests/test-execlp.sh: New file.
1026         * modules/execlp-tests: New file.
1028         execlp: New module.
1029         * lib/execlp.c: New file.
1030         * m4/execlp.m4: New file.
1031         * modules/execlp: New file.
1032         * doc/posix-functions/execlp.texi: Mention more Windows problems and the
1033         new module.
1035         execle: Add tests.
1036         * tests/test-execle-main.c: New file.
1037         * tests/test-execle.sh: New file.
1038         * modules/execle-tests: New file.
1040         execle: New module.
1041         * lib/execle.c: New file.
1042         * m4/execle.m4: New file.
1043         * modules/execle: New file.
1044         * doc/posix-functions/execle.texi: Mention more Windows problems and the
1045         new module.
1047         execl: Add tests.
1048         * tests/test-execl-main.c: New file.
1049         * tests/test-execl.sh: New file.
1050         * modules/execl-tests: New file.
1052         execl: New module.
1053         * lib/execl.c: New file.
1054         * m4/execl.m4: New file.
1055         * modules/execl: New file.
1056         * doc/posix-functions/execl.texi: Mention more Windows problems and the
1057         new module.
1059         execv: Add tests.
1060         * tests/test-execv-main.c: New file.
1061         * tests/test-execv.sh: New file.
1062         * modules/execv-tests: New file.
1064         execv: New module.
1065         * lib/execv.c: New file.
1066         * m4/execv.m4: New file.
1067         * modules/execv: New file.
1068         * doc/posix-functions/execv.texi: Mention more Windows problems and the
1069         new module.
1071         execvp: Add tests.
1072         * tests/test-execvp-main.c: New file.
1073         * tests/test-execvp.sh: New file.
1074         * modules/execvp-tests: New file.
1076         execvp: New module.
1077         * lib/execvp.c: New file.
1078         * m4/execvp.m4: New file.
1079         * modules/execvp: New file.
1080         * doc/posix-functions/execvp.texi: Mention more Windows problems and the
1081         new module.
1083         execvpe: Add tests.
1084         * tests/test-execvpe-main.c: New file.
1085         * tests/test-execvpe.sh: New file.
1086         * modules/execvpe-tests: New file.
1088         execvpe: New module.
1089         * lib/execvpe.c: New file.
1090         * m4/execvpe.m4: New file.
1091         * modules/execvpe: New file.
1092         * doc/glibc-functions/execvpe.texi: Mention the Windows problems and the
1093         new module.
1095         execve: Add tests.
1096         * tests/test-exec-child.c: New file.
1097         * tests/test-execve-main.c: New file.
1098         * tests/test-execve.sh: New file.
1099         * modules/execve-tests: New file.
1101         execve: New module.
1102         * lib/execve.c: New file.
1103         * m4/execve.m4: New file.
1104         * modules/execve: New file.
1105         * doc/posix-functions/execve.texi: Mention more Windows problems and the
1106         new module.
1108         execve, execvpe, execvp, execv, execl, execle, execlp: Prepare modules.
1109         * lib/unistd.in.h (execl, execle, execlp, execv, execve, execvp,
1110         execvpe): Add declarations for the new modules.
1111         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether execl, execle, execlp,
1112         execv, execve, execvp, execvpe are declared.
1113         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EXEC*, HAVE_EXECVPE,
1114         REPLACE_EXEC*.
1115         * modules/unistd (Makefile.am): Substitute GNULIB_EXEC*, HAVE_EXECVPE,
1116         REPLACE_EXEC*.
1117         * tests/test-unistd-c++.cc: Check the signature of execl, execle,
1118         execlp, execv, execve, execvp, execvpe.
1120 2020-12-26  Bruno Haible  <bruno@clisp.org>
1122         stack: Fix typo in comments.
1123         * lib/stack.h: Fix typo in comments.
1125 2020-12-26  Bruno Haible  <bruno@clisp.org>
1127         bitset: Fix conflict with 'free-posix' module.
1128         * lib/bitset/base.h: Include <stdlib.h>.
1130 2020-12-25  Paul Eggert  <eggert@cs.ucla.edu>
1132         idx: change idx.h comment to LGPLv2.1+
1133         * lib/idx.h: Change license notice to match what should be in glibc.
1134         gnulib-tool will change it as appropriate anyway, so this is just
1135         to simplify syncing with glibc.
1137 2020-12-25  Thien-Thi Nguyen  <ttn@gnu.org>
1139         MODULES.html.sh: Update after 2020-12-19 change.
1140         * MODULES.html.sh (func_all_modules): Do s/free/free-posix/.
1142 2020-12-25  Bruno Haible  <bruno@clisp.org>
1144         Make it possible to turn off the mkdir override on Windows.
1145         * lib/sys_stat.in.h (mkdir): Conditionalize through GNULIB_MKDIR and
1146         GNULIB_MDA_MKDIR. Also support GNULIB_POSIXCHECK.
1147         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_MKDIR,
1148         GNULIB_MDA_MKDIR.
1149         * modules/sys_stat (Makefile.am): Substitute GNULIB_MKDIR,
1150         GNULIB_MDA_MKDIR.
1151         * modules/mkdir (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
1152         * doc/posix-functions/mkdir.texi: Mention also the 'sys_stat' module.
1154         Make it possible to turn off each of the Windows oldnames workarounds.
1155         * lib/fcntl.in.h (creat, open):  Conditionalize each of the Windows
1156         oldnames workarounds through a GNULIB_MDA_<func> symbol.
1157         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
1158         * lib/search.in.h (lfind, lsearch): Likewise.
1159         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
1160         Likewise.
1161         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
1162         * lib/string.in.h (memccpy, strdup): Likewise.
1163         * lib/sys_stat.in.h (chmod, umask): Likewise.
1164         * lib/time.in.h (tzset): Likewise.
1165         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
1166         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
1167         read, rmdir, swab, unlink, write): Likewise.
1168         * lib/utime.in.h (utime): Likewise.
1169         * lib/wchar.in.h (wcsdup): Likewise.
1170         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize these
1171         GNULIB_MDA_<func> symbols.
1172         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise.
1173         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise.
1174         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
1175         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
1176         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
1177         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
1178         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise.
1179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
1180         * m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise.
1181         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise.
1182         * modules/fcntl-h (Makefile.am): Substitute these GNULIB_MDA_<func>
1183         symbols.
1184         * modules/math (Makefile.am): Likewise.
1185         * modules/search (Makefile.am): Likewise.
1186         * modules/stdio (Makefile.am): Likewise.
1187         * modules/stdlib (Makefile.am): Likewise.
1188         * modules/string (Makefile.am): Likewise.
1189         * modules/sys_stat (Makefile.am): Likewise.
1190         * modules/time (Makefile.am): Likewise.
1191         * modules/unistd (Makefile.am): Likewise.
1192         * modules/utime-h (Makefile.am): Likewise.
1193         * modules/wchar (Makefile.am): Likewise.
1195 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
1197         canonicalize, canonicalize-lgpl: remove lint
1198         Pacify GCC.  Some of these problems were reported by Bruno Haible in:
1199         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00217.html
1200         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
1201         Sort shared include directives, for consistency.
1202         (IF_LINT): New macro.
1203         (suffix_requires_dir_check): Mark with _GL_ATTRIBUTE_PURE.
1204         * lib/canonicalize-lgpl.c (GCC_LINT, _GL_ATTRIBUTE_PURE) [_LIBC]:
1205         New macros.
1206         (realpath_stk): Suppress bogus -Wmaybe-uninitialized warning.
1207         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1208         Omit unused local.  Suppress bogus -Wmaybe-uninitialized warning.
1210 2020-12-24  Bruno Haible  <bruno@clisp.org>
1212         spawn-pipe: Use posix_spawn by default on native Windows.
1213         * lib/spawn-pipe.c (SPAWN_PIPE_IMPL_AVOID_POSIX_SPAWN): New macro.
1214         (create_pipe): Use it to decide among the two possible implementations.
1215         * modules/spawn-pipe (Depends-on): Add posix_spawnattr_setpgroup.
1217 2020-12-24  Bruno Haible  <bruno@clisp.org>
1219         unistd-safer: Implement pipe_safer on native Windows.
1220         * lib/pipe-safer.c (pipe_safer): Don't test HAVE_PIPE.
1221         * modules/unistd-safer (Depends-on): Add pipe-posix.
1223 2020-12-24  Bruno Haible  <bruno@clisp.org>
1225         execute: Use posix_spawn by default on native Windows.
1226         * lib/execute.c (EXECUTE_IMPL_AVOID_POSIX_SPAWN): New macro.
1227         (execute): Use it to decide among the two possible implementations.
1229 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
1231         canonicalize-lgpl: merge proposed libc changes
1232         This merges the changes proposed for glibc in:
1233         https://sourceware.org/pipermail/libc-alpha/2020-December/121085.html
1234         https://sourceware.org/pipermail/libc-alpha/2020-December/121086.html
1235         * lib/canonicalize-lgpl.c: Include idx.h and filename.h
1236         unconditionally.
1237         (idx_t, IDX_MAX, FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME)
1238         (ISSLASH) [_LIBC]: Remove.
1240 2020-12-24  Bruno Haible  <bruno@clisp.org>
1242         posix_spawn-internal: Implement for native Windows.
1243         * lib/spawni.c (grow_inheritable_handles, shrink_inheritable_handles,
1244         close_inheritable_handles, memiszero, sigisempty, open_handle, do_open,
1245         do_dup2, do_close): New functions.
1246         (__spawni): Implement on native Windows.
1247         * modules/posix_spawn-internal (Depends-on): Add filename,
1248         concat-filename, findprog-in, malloca, windows-spawn.
1249         * doc/posix-functions/posix_spawn.texi: Update.
1250         * doc/posix-functions/posix_spawnp.texi: Likewise.
1252 2020-12-24  Bruno Haible  <bruno@clisp.org>
1254         windows-spawn: Export another auxiliary function.
1255         * lib/windows-spawn.h (convert_CreateProcess_error): New declaration.
1256         * lib/windows-spawn.c (convert_CreateProcess_error): New function,
1257         extracted from spawnpvech.
1258         (spawnpvech): Use it.
1260 2020-12-24  Bruno Haible  <bruno@clisp.org>
1262         windows-spawn: Export some more auxiliary functions.
1263         * lib/windows-spawn.h: Include <stdbool.h>.
1264         (struct inheritable_handles): New type.
1265         (init_inheritable_handles, compose_handles_block,
1266         free_inheritable_handles): New declarations.
1267         * lib/windows-spawn.c (init_inheritable_handles, compose_handles_block):
1268         New functions, based on spawnvech.
1269         (free_inheritable_handles): New function.
1270         (spawnpvech): Use them.
1272 2020-12-24  Bruno Haible  <bruno@clisp.org>
1274         windows-spawn: Export another auxiliary function.
1275         * lib/windows-spawn.h (compose_envblock): New declaration.
1276         * lib/windows-spawn.c (compose_envblock): New function, extracted from
1277         spawnpvech.
1278         (spawnpvech): Use it.
1280 2020-12-24  Bruno Haible  <bruno@clisp.org>
1282         windows-spawn: Export an auxiliary function.
1283         * lib/windows-spawn.h (compose_command): New declaration.
1284         * lib/windows-spawn.c (compose_command): New function, extracted from
1285         spawnpvech.
1286         (spawnpvech): Use it.
1288 2020-12-24  Bruno Haible  <bruno@clisp.org>
1290         posix_spawn* tests: Add support for native Windows.
1291         * tests/test-posix_spawn-open1.c (DATA_FILENAME): Treat native Windows
1292         like Cygwin.
1293         * tests/test-posix_spawn-dup2-stdin.c (main): Don't assume the signals
1294         SIGHUP and SIGPIPE. On native Windows, don't call
1295         posix_spawnattr_setsigmask.
1296         * tests/test-posix_spawn-dup2-stdout.c (main): Likewise.
1297         * tests/test-posix_spawn-fchdir.c (main): Likewise.
1298         * tests/test-posix_spawn-chdir.c (test): Likewise. Accept the child
1299         output from Cygwin's 'pwd' program.
1300         * tests/test-posix_spawn-script.c (main): On native Windows, skip the
1301         executable-shell-script part of the test.
1302         * tests/test-posix_spawnp-script.c (main): Likewise.
1303         * modules/posix_spawn-tests (Depends-on): Add freopen, waitpid.
1304         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
1305         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
1306         * modules/posix_spawnp-tests (Depends-on): Add  waitpid.
1307         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
1308         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
1309         * modules/posix_spawn_file_actions_addchdir-tests (Makefile.am): Don't
1310         test the POSIX_SPAWN_PORTED conditional.
1311         * modules/posix_spawn_file_actions_addfchdir-tests (configure.ac):
1312         Define the POSIX_SPAWN_PORTED conditional here.
1314 2020-12-24  Bruno Haible  <bruno@clisp.org>
1316         sh-filename: Add support for native Windows.
1317         * m4/sh-filename.m4 (gl_SH_FILENAME): Treat native Windows like Cygwin.
1319 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
1321         careadlinkat: improve warning line number
1322         This propagates an idea first used in canonicalize-lgpl.
1323         * lib/careadlinkat.c (GCC_BOGUS_WRETURN_LOCAL_ADDR):
1324         New macro.
1325         (careadlinkat): Use it.
1327         linkat: use eloop-threshold
1328         * lib/linkat.c: Include eloop-threshold.h.
1329         Do not include sys/param.h.
1330         (MAXSYMLINKS): Remove.
1331         (link_follow, linkat_follow): Use __eloop_threshold instead
1332         of MAXSYMLINKS.
1333         * m4/linkat.m4 (gl_FUNC_LINKAT): Omit sys/param.h check.
1334         * modules/linkat (Depends-on): Add eloop-threshold.  Sort.
1336         canonicalize-lgpl: use eloop-threshold
1337         * lib/canonicalize-lgpl.c [!_LIBC]: Include eloop-threshold.h.
1338         (MAXSYMLINKS, __eloop_threshold): Remove.
1339         * modules/canonicalize-lgpl (Depends-on): Add eloop-threshold.
1341         eloop-threshold: new module
1342         * config/srclist.txt: Add a comment about it.
1343         * lib/eloop-threshold.h, modules/eloop-threshold: New files.
1345         canonicalize: prefer faccessat to stat
1346         A proper faccessat doesn't have the EOVERFLOW problem, and can be
1347         more efficient as it needn't gather data from the filesystem to
1348         fill in struct stat.  So use stat only if faccessat is absent,
1349         or when checking for symlink loops in canonicalize.c.
1350         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
1351         Include fcntl.h, for AT_EACCESS.
1352         (FACCESSAT_NEVER_EOVERFLOWS): Default to false.
1353         (file_accessible): New function, based on faccessat but with
1354         a fallback to stat and with an EOVERFLOW workaround.
1355         (dir_check): Use it.
1356         (dir_suffix): New static constant.
1357         * lib/canonicalize-lgpl.c (FACCESSAT_NEVER_EOVERFLOWS) [_LIBC]:
1358         Use __ASSUME_FACCESSAT2 to set FACCESSAT_NEVER_EOVERFLOWS
1359         (__faccessat) [!_LIBC]: Define.
1360         (realpath_stk): Use dir_suffix now.
1361         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1362         If logical, don't check each component's existence; just check
1363         at the end, as that's enough.
1364         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
1365         (gl_CANONICALIZE_LGPL_SEPARATE):
1366         Require gl_FUNC_FACCESSAT_EOVERFLOW,
1367         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and check for faccessat.
1368         (gl_CANONICALIZE_LGPL_SEPARATE): Do not check for readlink,
1369         as the code does not use HAVE_READLINK.
1370         * modules/canonicalize, modules/canonicalize-lgpl (Files):
1371         Add m4/faccessat.m4, m4/lstat.m4.
1372         (Depends-on): Add fcntl-lh.
1374         faccessat: work around F_OK EOVERFLOW bug
1375         * doc/posix-functions/faccessat.texi: Mention the problem.
1376         * lib/faccessat.c (FACCESSAT_NEVER_EOVERFLOWS): Default to 0.
1377         (rpl_faccessat): If !FACCESSAT_NEVER_EOVERFLOWS, check
1378         for F_OK and EOVERFLOW, which means we can return 0.
1379         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW): New macro.
1380         (gl_FUNC_FACCESSAT): Use it.
1382         stat failing with EOVERFLOW implies existence
1383         * lib/euidaccess.c (euidaccess):
1384         * lib/file-has-acl.c (file_has_acl):
1385         * lib/link.c (link, rpl_link):
1386         * lib/mkdir.c (rpl_mkdir):
1387         * lib/mkfifo.c (rpl_mkfifo):
1388         * lib/mknod.c (rpl_mknod):
1389         * lib/ptsname_r.c (__ptsname_r):
1390         * lib/symlink.c (rpl_symlink):
1391         * lib/symlinkat.c (rpl_symlinkat):
1392         * lib/unlink.c (rpl_unlink):
1393         * lib/unlinkat.c (rpl_unlinkat):
1394         * lib/utime.c (utime):
1395         If stat fails with EOVERFLOW the file exists, so treat it that way
1396         in file-existence tests that do not need struct stat values.
1398         canonicalize-lgpl: remove freea macro
1399         * lib/canonicalize-lgpl.c (freea) [_LIBC]: Remove; not needed.
1401         canonicalize, canonicalize-lgpl: fix symlink bug
1402         Problem reported by Adhemerval Zanella in:
1403         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00155.html
1404         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
1405         (suffix_requires_dir_check, dir_check): New functions.
1406         (GCC_BOGUS_WRETURN_LOCAL_ADDR): New macro, to put the diagnostic
1407         closer to the related GCC diagnostics.
1408         * lib/canonicalize-lgpl.c (realpath_stk):
1409         * lib/canonicalize.c (canonicalize_file_mode_stk):
1410         Use them to fix a bug with .../symlink-to-regular-file/ etc.
1411         * lib/canonicalize-lgpl.c (__stat) [!_LIBC]: New macro.
1412         (realpath_stk): New function,
1413         with the contents of the old __realpath and a new scratch buffer arg.
1414         This is needed to pacify GCC 10.1, as canonicalize.c is already doing.
1415         (__realpath): Use it.
1416         * tests/test-canonicalize-lgpl.c, tests/test-canonicalize.c:
1417         Add test cases for the bugs.
1419 2020-12-24  Bruno Haible  <bruno@clisp.org>
1421         execute: Treat signalled processes like wait-process does.
1422         * lib/execute.c: Include <sys/types.h>, <sys/wait.h>.
1423         (execute): Recognize the case where the exit code indicates a signalled
1424         child process.
1425         * tests/test-execute-main.c (main): Update expected test result.
1426         * modules/execute (Depends-on): Add sys_wait.
1428 2020-12-24  Bruno Haible  <bruno@clisp.org>
1430         windows-spawn: Improve errno upon failure on native Windows.
1431         * lib/windows-spawn.c (spawnpvech): Map the CreateProcess errors
1432         ERROR_BAD_FORMAT and ERROR_BAD_EXE_FORMAT to ENOEXEC.
1433         * tests/executable-script.sh: New file.
1434         * tests/test-posix_spawn-script.c (main): Also try executing
1435         executable-script.sh.
1436         * tests/test-posix_spawnp-script.c (main): Likewise.
1437         * tests/test-execute-script.c (main): Likewise.
1438         * tests/test-spawn-pipe-script.c (main): Likewise.
1439         * modules/posix_spawn-tests (Files): Add tests/executable-script.sh.
1440         * modules/posix_spawnp-tests (Files): Likewise.
1441         * modules/execute-tests (Files): Likewise.
1442         * modules/spawn-pipe-tests (Files): Likewise.
1444 2020-12-24  Bruno Haible  <bruno@clisp.org>
1446         findprog-in: Improve errno upon failure on native Windows.
1447         * lib/findprog-in.c (find_in_given_path): If the file basename has no
1448         dot and the search with a suffix returned no result, do also a search
1449         without a suffix, and set errno = ENOEXEC if we find a file in this way.
1450         * tests/test-spawn-pipe-script.c (main): Update expected errno.
1452 2020-12-23  Bruno Haible  <bruno@clisp.org>
1454         posix_spawn, posix_spawnp: Fix execution of scripts.
1455         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_SECURE): New macro.
1456         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if posix_spawn
1457         or posix_spawnp allows unsecure execution of scripts.
1458         * doc/posix-functions/posix_spawn.texi: Document the script execution
1459         problem.
1460         * doc/posix-functions/posix_spawnp.texi: Likewise.
1462 2020-12-23  Bruno Haible  <bruno@clisp.org>
1464         Add unit tests regarding execution of scripts.
1465         * tests/executable-script: New file.
1466         * tests/executable-shell-script: New file.
1467         * tests/test-posix_spawn-script.c: New file.
1468         * tests/test-posix_spawnp-script.c: New file.
1469         * tests/test-execute-script.c: New file.
1470         * tests/test-spawn-pipe-script.c: New file.
1471         * modules/posix_spawn-tests (Files): Add
1472         tests/test-posix_spawn-script.c, tests/executable-script,
1473         tests/executable-shell-script.
1474         (Makefile.am): Compile and run test-posix_spawn-script.
1475         * modules/posix_spawnp-tests (Files): Add
1476         tests/test-posix_spawnp-script.c, tests/executable-script,
1477         tests/executable-shell-script.
1478         (Makefile.am): Compile and run test-posix_spawnp-script.
1479         * modules/execute-tests (Files): Add tests/test-execute-script.c,
1480         tests/executable-script, tests/executable-shell-script.
1481         (Makefile.am): Compile and run test-execute-script.
1482         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-script.c,
1483         tests/executable-script, tests/executable-shell-script.
1484         (Makefile.am): Compile and run test-spawn-pipe-script.
1486 2020-12-23  Bruno Haible  <bruno@clisp.org>
1488         Don't execute scripts without '#!' marker through /bin/sh.
1489         This reflects the change done in glibc through
1490         <https://sourceware.org/bugzilla/show_bug.cgi?id=13134> and
1491         <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d96de9634a334af16c0ac711074c15ac1762b23c>.
1492         * lib/spawni.c (internal_function): Remove macro.
1493         (script_execute): Remove function.
1494         (__spawni): Don't invoke script_execute.
1495         * lib/execute.c (execute): Disable the ENOEXEC handling.
1496         * lib/spawn-pipe.c (create_pipe): Likewise.
1497         * NEWS: Mention the change.
1499 2020-12-23  Bruno Haible  <bruno@clisp.org>
1501         posix_spawn[p]: Fix compilation error on Windows (regr. 2020-12-14).
1502         Reported by Adrian Ebeling <devl@adrian-ebeling.de> in
1503         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00189.html>.
1504         * lib/spawni.c (__spawni): Update function parameters.
1506 2020-12-23  Bruno Haible  <bruno@clisp.org>
1508         posix_spawn tests: Add two more tests.
1509         * tests/test-posix_spawn-inherit0.c: New file, based on
1510         tests/test-posix_spawn-open2.c.
1511         * tests/test-posix_spawn-inherit1.c: New file, based on
1512         tests/test-posix_spawn-open2.c.
1513         * modules/posix_spawn-tests (Files): Add them.
1514         (Depends-on): Add fflush.
1515         (Makefile.am): Compile and run test-posix_spawn-inherit0 and
1516         test-posix_spawn-inherit1.
1518 2020-12-23  Bruno Haible  <bruno@clisp.org>
1520         posix_spawn tests: Add another test.
1521         * tests/test-posix_spawn-open2.c: New file, based on
1522         tests/test-posix_spawn-open1.c.
1523         * modules/posix_spawn-tests (Files): Add it.
1524         (Makefile.am): Compile and run test-posix_spawn-open1.
1526 2020-12-20  Bruno Haible  <bruno@clisp.org>
1528         Remove support for broken <wchar.h> in AIX 3.
1529         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify test programs.
1531 2020-12-20  Bruno Haible  <bruno@clisp.org>
1533         Remove support for broken <wchar.h> in BSD/OS and OSF/1.
1534         * lib/wchar.in.h: Don't include <stdio.h>, <time.h>.
1535         * lib/mbchar.h: Likewise.
1536         * lib/mbiter.h: Likewise.
1537         * lib/mbuiter.h: Likewise.
1538         * m4/stdint.m4 (gl_STDINT_INCLUDES): Likewise.
1539         * lib/mbfile.h: Don't include <time.h>.
1540         * lib/mbswidth.h: Update comment.
1541         * lib/stdint.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> before
1542         <wchar.h>.
1543         * lib/wctype.in.h: Likewise.
1544         * m4/btowc.m4 (gl_FUNC_BTOWC): Simplify test programs.
1545         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Likewise.
1546         * m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Likewise.
1547         * m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise.
1548         * m4/mbrlen.m4 (gl_FUNC_MBRLEN, gl_MBRLEN_INCOMPLETE_STATE,
1549         gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL): Likewise.
1550         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Likewise.
1551         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_MBRTOWC_INCOMPLETE_STATE,
1552         gl_MBRTOWC_SANITYCHECK, gl_MBRTOWC_NULL_ARG1, gl_MBRTOWC_NULL_ARG2,
1553         gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL, gl_MBRTOWC_STORES_INCOMPLETE,
1554         AC_FUNC_MBRTOWC): Likewise.
1555         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Likewise.
1556         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE):
1557         Likewise.
1558         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS, gl_MBSRTOWCS_WORKS): Likewise.
1559         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
1560         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
1561         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Likewise.
1562         * m4/wchar_h.m4 (gl_WCHAR_H, gl_WCHAR_H_INLINE_OK): Likewise.
1563         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
1564         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Likewise.
1565         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE):
1566         Likewise.
1567         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS, gl_WCSRTOMBS_TERMINATION,
1568         gl_WCSRTOMBS_NULL): Likewise.
1569         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
1570         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
1571         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
1572         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1573         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
1574         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Likewise.
1575         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
1576         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
1577         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
1578         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
1580 2020-12-20  Bruno Haible  <bruno@clisp.org>
1582         isnanf: Fix autoconf test.
1583         * m4/isnanf.m4 (gl_ISNANF_WORKS): Fix one of the NaN tests.
1585 2020-12-20  Bruno Haible  <bruno@clisp.org>
1587         Remove some of the support for obsolete IRIX 4 and 5.
1588         * m4/mountlist.m4 (AC_FUNC_GETMNTENT): Don't test for getmntent in
1589         libsun.
1590         * tests/init.sh (setup_): Don't talk about IRIX 5.
1592 2020-12-20  Bruno Haible  <bruno@clisp.org>
1594         filemode: Remove Cray support.
1595         * lib/filemode.c (IS_MIGRATED_FILE): Remove macro.
1596         (filemodestring): Don't produce an 'M' type.
1597         * m4/filemode.m4 (gl_FILEMODE): Don't invoke AC_STRUCT_ST_DM_MODE.
1598         * m4/st_dm_mode.m4: Remove file.
1599         * modules/filemode (Files): Remove it.
1601 2020-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1603         free-posix: assume glibc 2.33 fixes this.
1604         * m4/free.m4 (gl_FUNC_FREE): Assume glibc 2.33+ is fixed.
1605         Use compile-time test rather than guessing for cross-builds.
1607 2020-12-20  Bruno Haible  <bruno@clisp.org>
1609         backupfile: Fix compilation error on native Windows (regr. 2018-10-23).
1610         Reported by Adrian Ebeling <adrianebeling@gmx.de> in
1611         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00156.html>.
1612         * lib/backupfile.c (fpathconf): Define fallback, like for pathconf.
1614 2020-12-20  Bruno Haible  <bruno@clisp.org>
1616         float: Fix compilation error when gnulib's float.h exists twice.
1617         Reported by Santiago Vila <sanvila@unex.es>.
1618         * lib/float.in.h (GNULIB_defined_long_double_union): New macro.
1620 2020-12-19  Bruno Haible  <bruno@clisp.org>
1622         free-posix: Assume future POSIX compliance only on OpenBSD and Solaris.
1623         * m4/free.m4 (gl_FUNC_FREE): Guess yes only on OpenBSD and Solaris.
1624         Don't trust _POSIX_VERSION for this test.
1626 2020-12-19  Paul Eggert  <eggert@cs.ucla.edu>
1628         free-posix: port to GNU/Linux
1629         * m4/free.m4 (gl_FUNC_FREE): Don’t assume GNU hosts are free of
1630         the bug, as it occurs on Ubuntu 20.10 x86-64 and, I assume, on
1631         other GNU/Linux hosts.
1633 2020-12-19  Bruno Haible  <bruno@clisp.org>
1635         free-posix: Add tests.
1636         * tests/test-free.c: New file.
1637         * tests/macros.h (ASSERT_NO_STDIO,
1638         WRITE_MACROEXPANDED_INTEGER_TO_STDERR, WRITE_INTEGER_TO_STDERR,
1639         WRITE_TO_STDERR): New macros.
1640         * modules/free-posix-tests: New file.
1642 2020-12-18  Bruno Haible  <bruno@clisp.org>
1644         free-posix: Add C++ declaration test.
1645         * tests/test-stdlib-c++.cc (free): New declaration.
1647 2020-12-18  Bruno Haible  <bruno@clisp.org>
1649         free-posix: New module, renamed from 'free'.
1650         * modules/free-posix: Renamed from modules/free.
1651         (configure.ac): Update gl_STDLIB_MODULE_INDICATOR invocation.
1652         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE_POSIX,
1653         not GNULIB_FREE.
1654         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE_POSIX, not
1655         GNULIB_FREE.
1656         * lib/stdlib.in.h (free): Test GNULIB_FREE_POSIX, not GNULIB_FREE.
1657         * doc/posix-functions/free.texi: Mention the module 'free-posix' and
1658         what it does.
1659         * NEWS: Mention that module 'free' no longer exists.
1660         * modules/canonicalize (Depends-on): Add free-posix. Remove free.
1661         * modules/canonicalize-lgpl (Depends-on): Likewise.
1663 2020-12-18  Bruno Haible  <bruno@clisp.org>
1665         free: Remove support for obsolete platforms.
1666         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works. Don't define
1667         CANNOT_FREE_NULL.
1668         * lib/free.c (rpl_free): Don't test CANNOT_FREE_NULL.
1669         * modules/free (Description): Update.
1670         * doc/posix-functions/free.texi: Don't mention SunOS 4 any more.
1672 2020-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1674         intprops: port to ICC 2021.1 Beta 20201112
1675         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P):
1676         Port to ICC 2021.1, which has a non-working __builtin_mul_overflow_p.
1677         Add a clause for other compilers that claim to support
1678         __builtin_mul_overflow_p, since we might as well find out about
1679         slackers other than Clang and ICC.
1680         (INT_MULTIPLY_WRAPV): ICC 2021 has GCC bug 91450, so treat it
1681         like older GCCs even when it claims to be a newer one.
1683 2020-12-18  Bruno Haible  <bruno@clisp.org>
1685         intprops: Avoid potentially buggy __builtin_add_overflow in GCC 5, 6.
1686         Reported by Stefan Liebler <stli@linux.ibm.com> in
1687         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00152.html>.
1688         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Don't define for
1689         GCC 5.x and 6.x.
1690         * lib/glob.c (size_add_wrapv): Don't use __builtin_add_overflow for
1691         GCC 5.x and 6.x.
1693 2020-12-17  Bruno Haible  <bruno@clisp.org>
1695         free: Fix warning.
1696         Reported by Pádraig Brady <P@draigBrady.com> in
1697         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00148.html>.
1698         * lib/stdlib.in.h (free): New declaration.
1699         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether 'free' is declared.
1700         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE, REPLACE_FREE.
1701         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE, REPLACE_FREE.
1702         * m4/free.m4 (gl_FUNC_FREE): Set REPLACE_FREE, instead of defining
1703         'free' as a macro here.
1704         * modules/free (Depends-on): Add stdlib.
1705         (configure.ac): Test REPLACE_FREE. Invoke gl_STDLIB_MODULE_INDICATOR.
1707 2020-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1709         canonicalize-lgpl: fix AIX test failures
1710         This merges the recent canonicalize.c fix into canonicalize-lgpl.c.
1711         Problem reported by Bruno Haible in:
1712         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00138.html
1713         * lib/canonicalize-lgpl.c: Include sys/stat.h.
1714         (__realpath): When testing a file name ending in '/', use stat
1715         rather than readlink, so that it does the right thing on AIX.
1716         * modules/canonicalize-lgpl (Depends-on): Add stat, sys_stat.
1718         canonicalize: omit second readlink when not needed
1719         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1720         Omit second readlink when (can_exist != CAN_MISSING
1721         && startlen != 0 && !logical).  Simplify.
1723         canonicalize: remove arbitrary 8192-byte limit
1724         Remove canonicalize.c’s arbitrary 8192-byte limit on platforms
1725         like GNU Hurd that do not define the PATH_MAX macro, and similarly
1726         for canonicalize-lgpl.c’s arbitrary 1024-byte limit.  Do this by
1727         using scratch buffers.  Lessen the number of differences between
1728         the two source files, to simplify this and future maintenance.
1729         * lib/canonicalize-lgpl.c (__realpath):
1730         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1731         Use scratch buffers instead of malloc and malloca.  This avoids
1732         the need for alloca, and avoids the need for malloc in most cases.
1733         * lib/canonicalize-lgpl.c, lib/canonicalize.c: Make these files
1734         easier to compare, e.g., by sorting include files and by switching
1735         to the GNU convention of calling file names "file names", not
1736         "path names".  Include stdbool.h, scratch_buffer.h.
1737         * lib/canonicalize-lgpl.c (IDX_MAX) [_LIBC]: New macro.
1738         (malloca) [_LIBC]: Remove.
1739         [!_LIBC]: Do not include malloca.h.
1740         (get_path_max): New function, so that pathconf is called only in
1741         the rare and dubious case when when RESOLVED is not null and
1742         PATH_MAX is not defined.  Invoke pathconf on "/" not the input
1743         file name, as we care about the longest file name starting from
1744         "/" (not from the input file name), and POSIX does not specify
1745         what pathconf does on a non-directory file anyway.  If PATH_MAX is
1746         not defined, do not worry about overriding a path_max of 0, and do
1747         not let path_max exceed IDX_MAX.
1748         (__realpath): Remove an assumption that file name components
1749         cannot exceed 1024 bytes when PATH_MAX is not defined (wrong for
1750         the Hurd, presumably).
1751         When allocating the result, allocate it to just the right size;
1752         this costs nothing when the result is smaller than 1023 bytes,
1753         and for larger results it's probably worth the CPU to call realloc,
1754         as canonicalize.c already does.
1755         * lib/canonicalize.c: Include attribute.h.
1756         Do not include pathmax.h or xgetcwd.h.
1757         (PATH_MAX): Do not define, so file names longer than 8192 bytes
1758         work on platforms with no fixed limit.
1759         (canonicalize_filename_mode_stk): New function, with
1760         the content of the old canonicalize_filename_mode.
1761         Use getcwd instead of xgetcwd, and readlink instead of areadlink,
1762         since the scratch buffers now do memory management for us.
1763         Use rawmemchr instead of adding strlen.
1764         Use mempcpy instead of mempcpy + size.
1765         Assume free preserves errno.
1766         (canonicalize_filename_mode): Use it.
1767         * modules/canonicalize (Depends-on): Remove areadlink, pathmax,
1768         xgetcwd.  Add attribute, free, getcwd, mempcpy, rawmemchr,
1769         scratch_buffer, stdbool, xalloc-die.
1770         * modules/canonicalize-lgpl (Depends-on): Remove alloca-opt,
1771         malloca, realloc-posix.  Add scratch_buffer, stdbool.
1773         canonicalize-lgpl: simplify merge to glibc
1774         This patch lessens the differences between git glibc
1775         stdlib/canonicalize.c and lib/canonicalize-lgpl.c.
1776         The (perhaps wishful) goal is to make them identical.
1777         * lib/canonicalize-lgpl.c [!_LIBC]:
1778         Include <libc-config.h>, not config.h.
1779         Omit an unnecessary (!HAVE_CANONICALIZE_FILE_NAME ||
1780         !FUNC_REALPATH_WORKS || defined _LIBC) #if.
1781         Do not include alloca.h, since we use malloca now.
1782         [_LIBC]: Include <eloop-threshold.h>, and define dummy macros
1783         FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME, ISSLASH, malloca,
1784         freea so that the mainline code can be kept #ifdef free.
1785         [!_LIBC]: Remove dummy macros for SHLIB_COMPAT, versioned_symbol,
1786         compat_symbol, weak_alias, __set_errno since libc-config.h does that.
1787         Add redirecting macros __mempcpy, __pathconf, __rawmemchr,
1788         __eloop_threshold.  All uses of their definiens changed.
1789         (SIZE_MAX): Remove; no longer needed.
1790         (alloc_failed): Remove, and remove all instances.
1791         No need for alloc_failed now that free preserves errno.
1792         (__realpath): Default path_max to 1024 instead of 8192, as that’s
1793         the glibc tradition and is safer when the 2nd argument is null.
1794         Use __rawmemchr instead of strchr.
1795         Use __mempcpy where appropriate.
1796         Simplify test for overflow so that it does not need SIZE_MAX.
1797         Do not preserve errno around free or freea calls; no longer needed.
1798         Mark __realpath with libc_hidden_def.
1799         * modules/canonicalize-lgpl (Depends-on): Add free, libc-config,
1800         malloc-posix, mempcpy, realloc-posix, rawmemchr.
1801         * modules/free: Now LGPLv2+, for canonicalize-lgpl.
1803         free: preserve errno
1804         * lib/free.c (rpl_free): Preserve errno.  Check for null only if
1805         CANNOT_FREE_NULL is defined, as an optimization for POSIX 2008
1806         platforms that do not preserve errno.
1807         * m4/free.m4 (gl_FUNC_FREE): Check whether free preserves errno.
1808         Also, define CANNOT_FREE_NULL if free cannot free NULL.
1809         * modules/free (configure.ac): Also replace 'free' if
1810         it does not preserve errno.
1812         idx: simplify IDX_MAX, remove IDX_WIDTH
1813         * lib/idx.h (IDX_MAX): Simplify by removing obsolete reference
1814         to UNSIGNED_IDX_T.
1815         (IDX_WIDTH): Remove, since it’s not used and its value
1816         arguably should be PTRDIFF_WIDTH anyway.
1818 2020-12-16  Bruno Haible  <bruno@clisp.org>
1820         posix_spawn_file_actions_addfchdir-tests: Rename test.
1821         * tests/test-posix_spawn-fchdir.c: Renamed from
1822         tests/test-posix_spawn5.c.
1823         * modules/posix_spawn_file_actions_addfchdir-tests (Files, Makefile.am):
1824         Update.
1826         posix_spawn_file_actions_addchdir-tests: Rename test.
1827         * tests/test-posix_spawn-chdir.c: Renamed from
1828         tests/test-posix_spawn4.c.
1829         * modules/posix_spawn_file_actions_addchdir-tests (Files, Makefile.am):
1830         Update.
1832         posix_spawn-tests: Rename test.
1833         * tests/test-posix_spawn-open1.c: Renamed from
1834         tests/test-posix_spawn3.c.
1835         * modules/posix_spawn-tests (Files, Makefile.am): Update.
1837         posix_spawnp-tests: Rename test.
1838         * tests/test-posix_spawn-dup2-stdin.c: Renamed from
1839         tests/test-posix_spawn2.c.
1840         * tests/test-posix_spawn-dup2-stdin.in.sh: Renamed from
1841         tests/test-posix_spawn2.in.sh.
1842         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
1844         posix_spawnp-tests: Rename test.
1845         * tests/test-posix_spawn-dup2-stdout.c: Renamed from
1846         tests/test-posix_spawn1.c.
1847         * tests/test-posix_spawn-dup2-stdout.in.sh: Renamed from
1848         tests/test-posix_spawn1.in.sh.
1849         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
1851 2020-12-14  Bruno Haible  <bruno@clisp.org>
1853         findprog-in: Allow overriding the current directory.
1854         * lib/findprog.h (find_in_given_path): Add directory argument.
1855         * lib/findprog-in.c (find_in_given_path): Likewise.
1856         * lib/execute.c (execute): Update caller.
1857         * lib/spawn-pipe.c (create_pipe): Likewise.
1858         * lib/windows-spawn.c (spawnpvech): Likewise.
1859         * NEWS: Mention the change.
1861 2020-12-14  Bruno Haible  <bruno@clisp.org>
1863         posix_spawn-internal: Make better use of 'const'.
1864         * lib/spawn_int.h (__spawni): Does not need write access to the elements
1865         of argv and envp.
1866         * lib/spawni.c (__spawni, script_execute): Likewise.
1867         * lib/spawn.c (posix_spawn): Update caller.
1868         * lib/spawnp.c (posix_spawnp): Likewise.
1870 2020-12-14  Bruno Haible  <bruno@clisp.org>
1872         spawn: Make it compile on native Windows.
1873         * modules/spawn (Depends-on): Add signal-h.
1875 2020-12-14  Bruno Haible  <bruno@clisp.org>
1877         windows-spawn: Avoid shadowing a variable.
1878         * lib/windows-spawn.c (spawnpvech): Rename local variable 'flags'.
1880 2020-12-13  Paul Eggert  <eggert@cs.ucla.edu>
1882         string: port memchr macro to AIX 7.2 XLC
1883         Its <string.h> defines a memchr macro to help inlining.
1884         * lib/string.in.h (memchr): #undef before #defining.
1886         canonicalize: fix AIX test failures
1887         Problem reported by Bruno Haible in:
1888         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00109.html
1889         * lib/canonicalize.c (canonicalize_filename_mode):
1890         When testing a file name ending in '/', use stat rather than
1891         readlink, so that it does the right thing on AIX.
1892         * modules/canonicalize (Depends-on): Add readlink, to pull in the
1893         recent changes in the Gnulib readlink module.
1895         Assume readlink/readlinkat ERANGE fix
1896         * lib/areadlink-with-size.c (areadlink_with_size):
1897         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
1898         * lib/careadlinkat.c (readlink_stk):
1899         Do not worry about readlink or readlinkat failing with errno == ERANGE,
1900         since the Gnulib readlink and readlinkat modules now fix that.
1902         getcwd: port to AIX
1903         * lib/getcwd.c [!_LIBC]: Undef stat64 before #defining it,
1904         in case our sys/stat.h #defined a function macro with the same name.
1906         readlink, readlinkat: add ERANGE portability
1907         Fix some portability issues with Gnulib's readlink and readlinkat,
1908         notably mostly working around the ERANGE problem in AIX and HP-UX.
1909         * doc/posix-functions/readlink.texi:
1910         * doc/posix-functions/readlinkat.texi:
1911         ERANGE problem is mostly fixed now.  Mention AIX problem with
1912         trailing / and EINVAL.  Lessen differences between these two files.
1913         * lib/readlink.c (rpl_readlink):
1914         * lib/readlinkat.c (rpl_readlinkat):
1915         If stat ("FILE/", ...) reports EOVERFLOW, treat FILE/ as an
1916         existing directory.  Mostly work around READLINK_TRUNCATE BUG.
1917         Lessen spurious differences between the readlink and readlinkat code.
1918         * lib/readlinkat.c (rpl_readlinkat):
1919         Fix bug where stat was used where fstatat was intended.
1920         * m4/readlink.m4 (gl_FUNC_READLINK):
1921         Rename gl_cv_func_readlink_works to gl_cv_func_readlink_trailing_slash
1922         to identify readlink problems more precisely.  All uses changed.
1923         Guess no on AIX or HP-UX for this variable.
1924         Add check for whether readlink truncates results,
1925         and define new macro READLINK_TRUCATE_BUG accordingly.
1926         * m4/readlinkat.m4 (gl_FUNC_READLINKAT):
1927         Also check gl_cv_func_readlink_trailing_slash when deciding
1928         whether to replace readlinkat.
1929         * modules/readlinkat (Depends-on): Most dependencies are also
1930         needed if replacing readlinkat.  fstatat is different, as it
1931         is needed only if replacing an existing readlinkat.
1933 2020-12-13  Bruno Haible  <bruno@clisp.org>
1935         spawn-pipe: Fix hanging processes on Windows (regression 2020-11-30).
1936         * lib/spawn-pipe.c (create_pipe): After spawning the subprocess, close
1937         the stdin_handle and/or stdout_handle.
1939 2020-12-12  Bruno Haible  <bruno@clisp.org>
1941         Fix gnulib-tool error when some modules occur in tests/.
1942         * doc/gnulib.texi (Specification): Update statistics.
1943         (Autoconf macros): Don't suggest to use AC_LIBOBJ in a .m4 file.
1944         (Using AC_LIBOBJ): New section.
1945         * check-AC_LIBOBJ: New file.
1946         * modules/fnmatch-gnu (Files): Add lib/fnmatch.c.
1947         * modules/fopen-gnu (Files): Add lib/fopen.c.
1948         * modules/memmem (Files): Add lib/memmem.c.
1949         * modules/renameat (Files): Add lib/at-func2.c.
1950         * modules/strcasestr (Files): Add lib/strcasestr.c.
1951         * modules/strstr (Files): Add lib/strstr.c.
1953 2020-12-11  Bruno Haible  <bruno@clisp.org>
1955         sh-quote, execute, spawn-pipe, etc.: Make better use of 'const'.
1956         * lib/sh-quote.h (shell_quote_argv): Does not need write access to the
1957         elements of argv.
1958         * lib/sh-quote.c (shell_quote_argv): Likewise.
1959         * lib/windows-spawn.h (prepare_spawn): Add 'const' the argument type and
1960         the return type.
1961         * lib/windows-spawn.c (prepare_spawn): Likewise.
1962         * lib/os2-spawn.h (prepare_spawn): Likewise.
1963         * lib/os2-spawn.c (prepare_spawn): Likewise.
1964         * lib/execute.h (execute): Does not need write access to the elements of
1965         prog_argv.
1966         * lib/execute.c (execute): Likewise.
1967         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
1968         Likewise.
1969         * lib/spawn-pipe.c (create_pipe, create_pipe_bidi, create_pipe_in,
1970         create_pipe_out): Likewise.
1971         * lib/pipe-filter.h (pipe_filter_ii_execute, pipe_filter_gi_create):
1972         Likewise.
1973         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise.
1974         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Likewise.
1975         * lib/javaexec.h (execute_fn): Does not need write access to the
1976         elements of prog_argv.
1977         * lib/javaexec.c (execute_java_class): Update variable types and remove
1978         casts to 'char *'.
1979         * lib/csharpexec.h (execute_fn): Does not need write access to the
1980         elements of prog_argv.
1981         * lib/csharpexec.c (execute_csharp_using_mono,
1982         execute_csharp_using_sscli): Update variable types and remove casts to
1983         'char *'.
1984         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
1985         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
1986         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
1987         is_jikes_present): Update variable types and remove casts to 'char *'.
1988         * lib/javaversion.c (execute_and_read_line): Does not need write access
1989         to the elements of prog_argv.
1990         * lib/csharpcomp.c (compile_csharp_using_mono,
1991         compile_csharp_using_sscli): Update variable types and remove casts to
1992         'char *'.
1993         * tests/test-sh-quote.c (main): Update variable types and remove casts
1994         to 'char *'.
1995         * tests/test-execute-main.c (main): Update variable types and remove
1996         casts to 'char *'.
1997         * tests/test-spawn-pipe-main.c (test_pipe): Update variable types and
1998         remove casts to 'char *'.
1999         * NEWS: Mention the changes.
2001 2020-12-11  Bruno Haible  <bruno@clisp.org>
2003         execute-tests: Fix compilation error with MSVC.
2004         * tests/test-execute-child.c (is_device): With _fstat, use
2005         'struct _stat', not 'struct stat'.
2007 2020-12-11  Paul Eggert  <eggert@cs.ucla.edu>
2009         vararrays: just use 2.70
2010         * m4/vararrays.m4 (AC_C_VARARRAYS): Do not override Autoconf 2.70
2011         and later, since Autoconf 2.70 matches Gnulib now.
2013         sys_types: just use 2.70
2014         * m4/sys_types_h.m4 (AC_HEADER_MAJOR):
2015         Reindent to match Autoconf sources.
2016         Use Autoconf 2.70 as a prerequisite, not 2.69c.
2018         stdint: port to Autoconf 2.70
2019         * m4/stdint.m4 (gl_STDINT_H): Check for inttypes.h and sys/types.h
2020         instead of assuming that AC_INCLUDES_DEFAULT does it.
2021         The old code relied on AC_INCLUDES_DEFAULT being called
2022         and setting ac_cv_header_inttypes_h and ac_cv_header_sys_types_h,
2023         but this does not occur in Autoconf 2.70.
2025         pid_t.m4: just use 2.70
2026         * m4/pid_t.m4 (AC_TYPE_PID_T):
2027         Use Autoconf 2.70 as a prerequisite, not 2.69c.
2029         largefile: just use 2.70
2030         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
2031         Use Autoconf 2.70 as a prerequisite, not 2.69c.
2033         AC_C_RESTRICT: update from Autoconf
2034         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use Autoconf 2.70
2035         as a prerequisite, not 2.69c, since 2.70 is now out.
2036         (AC_C_RESTRICT): Define only for 2.70 or earlier.
2037         Try __restrict__ before __restrict.
2039         extensions: update from Autoconf
2040         * m4/extensions.m4 (AC_CHECK_INCLUDES_DEFAULT):
2041         Provide a default implementation for Autoconf 2.69 or earlier.
2042         (AC_USE_SYSTEM_EXTENSIONS): Copy from Autoconf git.  Define only
2043         if Autoconf 2.70 or earlier, since 2.70.1 or later should be OK.
2045         alloca: update from Autoconf
2046         * m4/alloca.m4 (gl_PREREQ_ALLOCA):
2047         Trivial update to match Autoconf 2.70.
2049 2020-12-11  Bruno Haible  <bruno@clisp.org>
2051         memchr: Work around memory overrun bug on AIX 7.2.
2052         * m4/memchr.m4 (gl_FUNC_MEMCHR): Test against AIX 7.2 bug.
2053         * doc/posix-functions/memchr.texi: Mention the AIX bug.
2055 2020-12-11  Bruno Haible  <bruno@clisp.org>
2057         execute-tests: Fix compilation error on AIX in 32-bit mode.
2058         * tests/test-execute-child.c: In order to get the original definition of
2059         fstat, don't use '#undef fstat' and '#undef stat'. Instead, arrange to
2060         include the system's <sys/stat.h> and use it before including other
2061         header files.
2063 2020-12-10  Bruno Haible  <bruno@clisp.org>
2065         windows-spawn: Relicense under LGPLv2+.
2066         * modules/windows-spawn (License): Change to LGPLv2+.
2068 2020-12-10  Bruno Haible  <bruno@clisp.org>
2070         execute, spawn-pipe: Fix memory leak on native Windows.
2071         * lib/windows-spawn.h (prepare_spawn): Add a second parameter.
2072         * lib/windows-spawn.c: Don't include xalloc.h.
2073         (quoted_arg_length, quoted_arg_string): New functions, extracted from
2074         prepare_spawn.
2075         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
2076         elements of *new_argv together.
2077         * modules/windows-spawn (Depends-on): Remove xalloc. Add malloc-posix.
2078         * lib/os2-spawn.h (prepare_spawn): Add a second parameter.
2079         * lib/os2-spawn.c: Don't include xalloc.h.
2080         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
2081         elements of *new_argv together.
2082         * lib/execute.c: Include xalloc.h.
2083         (execute): Check return value of prepare_spawn. Free the memory
2084         allocated by prepare_spawn.
2085         * modules/execute (Depends-on): Add xalloc-die.
2086         * lib/spawn-pipe.c: Include xalloc.h.
2087         (create_pipe): Check return value of prepare_spawn. Free the memory
2088         allocated by prepare_spawn.
2089         * modules/spawn-pipe (Depends-on): Add xalloc-die.
2091 2020-12-10  Bruno Haible  <bruno@clisp.org>
2093         findprog-in: Relicense under LGPLv2+.
2094         Paul Smith's approval is in
2095         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00072.html>.
2096         * modules/findprog-in (License): Change to LGPLv2+.
2098 2020-12-10  Bruno Haible  <bruno@clisp.org>
2100         findprog-in: Don't exit upon out-of-memory.
2101         * lib/findprog.h (find_in_given_path): Document ENOMEM as possible error
2102         code.
2103         * lib/findprog-in.c: Don't include xalloc.h.
2104         (find_in_given_path): Call concatenated_filename, not
2105         xconcatenated_filename. Call strdup, not xstrdup. Upon out-of-memory,
2106         return NULL with errno set.
2107         * modules/findprog-in (Depends-on): Remove xconcat-filename, xalloc. Add
2108         concat-filename, strdup-posix, malloc-posix.
2110 2020-12-09  Bruno Haible  <bruno@clisp.org>
2112         fmaf: Work around a bug on FreeBSD 12.2/arm.
2113         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Add one more test.
2114         * doc/posix-functions/fmaf.texi: Mention the FreeBSD bug.
2116 2020-12-09  Bruno Haible  <bruno@clisp.org>
2118         threadlib: Fix test-fstrcmp failure on FreeBSD 11.
2119         * m4/threadlib.m4 (gl_THREADLIB_BODY): When weak symbols are not present
2120         on FreeBSD, define PTHREAD_IN_USE_DETECTION_HARD.
2121         * lib/glthread/threadlib.c: Include <errno.h>.
2122         (glthread_in_use): For FreeBSD, provide an alternative implementation
2123         that uses pthread_key_create.
2125 2020-12-09  Bruno Haible  <bruno@clisp.org>
2127         math C++ tests: Fix compilation error in with clang >= 7 on FreeBSD.
2128         * lib/math.in.h (isnan): For clang >= 7 on FreeBSD, declare 'rpl_isnan',
2129         not 'isnan'.
2131 2020-12-08  Bruno Haible  <bruno@clisp.org>
2133         std-gnu11: Make compatible with Autoconf 2.70.
2134         * m4/std-gnu11.m4: Disable the entire file if Autoconf >= 2.70 is in
2135         use.
2137 2020-12-08  Bruno Haible  <bruno@clisp.org>
2139         argp: Avoid undefined behaviour when invoking qsort().
2140         This fixes a test-argp-2.sh test failure on macOS and FreeBSD.
2141         Reported by Jeffrey Walton <noloader@gmail.com> in
2142         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00085.html>.
2143         * lib/argp-help.c (group_cmp): Remove third argument.
2144         (hol_sibling_cluster_cmp, hol_cousin_cluster_cmp): New functions, based
2145         upon hol_cluster_cmp.
2146         (hol_cluster_cmp): Use hol_cousin_cluster_cmp.
2147         (hol_entry_cmp): Rewritten to implement a total order.
2149 2020-12-08  Bruno Haible  <bruno@clisp.org>
2151         argp: Improve comments.
2152         * lib/argp-help.c: Add sectioning comments. Write NULL to designate a
2153         null pointer.
2154         (struct hol_entry): Fix comment regarding sort order of group.
2155         (hol_entry_short_iterate, hol_entry_long_iterate): Add comment.
2156         (until_short, canon_doc_option, hol_entry_qcmp): Improve comment.
2157         (hol_cluster_is_child, argp_hol): Move functions.
2158         (HOL_ENTRY_PTRCMP): Remove unused macro.
2160 2020-12-08  Bruno Haible  <bruno@clisp.org>
2162         argp: Don't pass invalid arguments to isspace() and isalnum().
2163         * lib/argp-help.c (canon_doc_option): Cast character to 'unsigned int'
2164         before passing it to isspace() or isalnum().
2166 2020-12-08  Bruno Haible  <bruno@clisp.org>
2168         argp: Don't rely on undefined behaviour of _tolower().
2169         Patch by Eric Blake
2170         <https://lists.gnu.org/archive/html/bug-gnulib/2009-09/msg00287.html>.
2171         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values that are
2172         not upper-case.  Pass correct range to tolower.
2174 2020-12-07  Bruno Haible  <bruno@clisp.org>
2176         unicodeio: Fix wrong result on FreeBSD.
2177         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
2178         characters on all platforms.
2180 2020-12-07  Bruno Haible  <bruno@clisp.org>
2182         get-rusage-data tests: Avoid test failure on FreeBSD/x86_64.
2183         * tests/test-get-rusage-data.c (main): Don't expect a strict increase on
2184         FreeBSD systems.
2186 2020-12-07  Bruno Haible  <bruno@clisp.org>
2188         get-rusage-data: Fix link error on FreeBSD 12.2/arm64.
2189         * modules/get-rusage-data (configure.ac): Test whether sbrk exists.
2190         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit): Define
2191         trivially of sbrk is not available.
2192         * doc/glibc-functions/sbrk.texi: Mention that the function does not
2193         exist in FreeBSD 12.2/arm64.
2194         * doc/glibc-functions/brk.texi: Likewise.
2196 2020-12-07  Bruno Haible  <bruno@clisp.org>
2198         Correct interaction between gl_ANSI_CXX and AC_PROG_CXX.
2199         Suggested by Zack Weinberg in
2200         <https://savannah.gnu.org/support/?110294>.
2201         * m4/ansi-c++.m4 (gl_ANSI_CXX): Mark AC_PROG_CXX as provided.
2202         * modules/uchar-c++-tests: Revert the workaround from 2020-08-18.
2204 2020-12-07  Bruno Haible  <bruno@clisp.org>
2206         Tweak the Windows oldnames workaround.
2207         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
2208         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00073.html>.
2209         * lib/unistd.in.h: On native Windows, include <io.h> and <direct.h>
2210         always.
2211         (getcwd): Use _GL_CXXALIAS_MDA_CAST.
2212         * lib/stdlib.in.h (putenv): Likewise.
2214 2020-12-06  Paul Eggert  <eggert@cs.ucla.edu>
2216         doc: fix flat address space discussion
2217         * doc/gnulib-readme.texi (Other portability assumptions):
2218         Move the all-bits-zero assumption outside the flat address space
2219         section, since the two issues are independent.
2221         doc: document -static-libubsan more
2222         * doc/gnulib-readme.texi (High Quality): Document pros and cons of
2223         -static-libubsan a bit more.  Mostly cons.
2225 2020-12-06  Bruno Haible  <bruno@clisp.org>
2227         doc: Add more details regarding the undefined behaviour sanitizer.
2228         * doc/gnulib-readme.texi (High Quality): Describe
2229         -fsanitize-undefined-trap-on-error better.
2231 2020-12-06  Bruno Haible  <bruno@clisp.org>
2233         Do the Windows oldnames workaround through the C++ GNULIB_NAMESPACE.
2234         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
2235         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00029.html>.
2236         * lib/c++defs.h (_GL_CXXALIAS_MDA_CAST): New macro.
2237         * lib/fcntl.in.h (creat, open):  In C++ mode, when GNULIB_NAMESPACE is
2238         defined: 1. Define a symbol in this namespace. 2. Don't redirect using
2239         a preprocessor #define.
2240         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
2241         * lib/search.in.h (lfind, lsearch): Likewise.
2242         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
2243         Likewise.
2244         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
2245         * lib/string.in.h (memccpy, strdup): Likewise.
2246         * lib/sys_stat.in.h (chmod, umask): Likewise.
2247         * lib/time.in.h (tzset): Likewise.
2248         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
2249         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
2250         read, rmdir, swab, unlink, write): Likewise.
2251         * lib/utime.in.h (utime): Likewise.
2252         * lib/wchar.in.h (wcsdup): Likewise.
2253         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FCLOSEALL.
2254         (gl_STDIO_H): Set HAVE_DECL_FCLOSEALL.
2255         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FCLOSEALL.
2256         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_ECVT,
2257         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
2258         (gl_STDLIB_H): Set HAVE_DECL_ECVT, HAVE_DECL_FCVT, HAVE_DECL_GCVT.
2259         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_ECVT,
2260         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
2261         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_EXECVPE.
2262         (gl_UNISTD_H): Set HAVE_DECL_EXECVPE.
2263         * modules/unistd (Makefile.am): Substitute HAVE_DECL_EXECVPE.
2264         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCSDUP.
2265         (gl_WCHAR_H): Set HAVE_DECL_WCSDUP.
2266         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCSDUP.
2268 2020-12-06  Bruno Haible  <bruno@clisp.org>
2270         doc: Mention some missing function declarations.
2271         * doc/glibc-functions/execvpe.texi: Mention the missing declaration on
2272         AIX.
2273         * doc/glibc-functions/fcloseall.texi: Mention the missing declaration on
2274         FreeBSD.
2275         * doc/pastposix-functions/ecvt.texi: Mention the missing declaration on
2276         Cygwin.
2277         * doc/pastposix-functions/fcvt.texi: Likewise.
2278         * doc/pastposix-functions/gcvt.texi: Likewise.
2280 2020-12-06  Bruno Haible  <bruno@clisp.org>
2282         doc: Tweak example.
2283         * doc/intprops.texi (Checking Integer Overflow): Use 'printf', not
2284         'print'.
2286 2020-12-06  Bruno Haible  <bruno@clisp.org>
2288         filenamecat-tests: Use idx_t for nonnegative ptrdiff_t variables.
2289         * tests/test-filenamecat.c: Include idx.h.
2290         (main): Mark prefixlen as nonnegative.
2291         * modules/filenamecat-tests (Depends-on): Add idx.
2293 2020-12-06  Bruno Haible  <bruno@clisp.org>
2295         time_rz: Use idx_t for nonnegative ptrdiff_t variables.
2296         * lib/time_rz.c: Include idx.h.
2297         (save_abbr): Mark zone_size as nonnegative.
2298         * modules/time_rz (Depends-on): Add idx.
2300 2020-12-06  Bruno Haible  <bruno@clisp.org>
2302         parse-datetime: Use idx_t for nonnegative ptrdiff_t variables.
2303         * lib/parse-datetime.y: Include idx.h.
2304         (textint): Mark digits as nonnegative.
2305         (parser_control): Mark dates_seen, days_seen, local_zones_seen,
2306         dsts_seen, times_seen, zones_seen as nonnegative.
2307         (lookup_word): Mark wordlen as nonnegative.
2308         (yylex): Mark count as nonnegative.
2309         (parse_datetime2): Mark tzsize as nonnegative.
2310         * modules/parse-datetime (Depends-on): Add idx.
2312 2020-12-06  Bruno Haible  <bruno@clisp.org>
2314         fnmatch: Use idx_t for nonnegative ptrdiff_t variables.
2315         * lib/fnmatch.c: Include idx.h. In glibc, define idx_t directly.
2316         * lib/fnmatch_loop.c (EXT): Mark slen, new_used, plensize as
2317         nonnegative.
2318         * modules/fnmatch (Depends-on): Add idx.
2320 2020-12-06  Bruno Haible  <bruno@clisp.org>
2322         c-stack: Use idx_t for nonnegative ptrdiff_t variables.
2323         * lib/c-stack.c: Include idx.h.
2324         (die): Mark buflen as nonnegative.
2325         * modules/c-stack (Depends-on): Add idx.
2327 2020-12-06  Bruno Haible  <bruno@clisp.org>
2329         backupfile: Use idx_t for nonnegative ptrdiff_t variables.
2330         * lib/backupfile.c: Include idx.h.
2331         (numbered_backup): Mark base_offset as nonnegative.
2332         (backupfile_internal): Likewise.
2333         * modules/backup-rename (Depends-on): Add idx.
2334         * modules/backupfile (Depends-on): Likewise.
2336 2020-12-05  Paul Eggert  <eggert@cs.ucla.edu>
2338         doc: fix curved quotes issue
2339         * doc/gnulib.texi: Set txicodequoteundirected and
2340         txicodequotebacktick so that ` and ' in examples do not generate
2341         curved single quotes that do the wrong thing when cut and pasted.
2343         doc: mention static and dynamic checking
2344         * doc/gnulib-readme.texi (High Quality): Add a bit of advice
2345         for static and dynamic checking.
2347         intprops: Add INT_ADD_OK etc.
2348         * doc/intprops.texi (Checking Integer Overflow): New section.
2349         * lib/intprops.h: From a suggestion by Bruno Haible in:
2350         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00051.html
2351         (SAFE_INT_ADD, SAFE_INT_SUBTRACT, SAFE_INT_MULTIPLY): New macros.
2353         doc: move exotic platfroms to Target Platforms
2354         * doc/gnulib-intro.texi (Supported Platforms)
2355         (Formerly Supported Platforms, Unsupported Platforms):
2356         New subsections, split off from Target Platforms.
2357         (Unsupported Platforms): Move the exotic-platform stuff here ...
2358         * doc/gnulib-readme.texi (Exotic platforms): ... from this removed
2359         section.
2361         doc: mention intptr_t etc. and IBM i
2362         * doc/gnulib-readme.texi (Other portability assumptions):
2363         Mention intptr_t and uintptr_t, and that arithmetic on them
2364         works in the usual way.
2365         (Exotic platforms): New section, containing material from
2366         the old 'Integer Portability' section.  Also mention IBM i.
2367         * doc/intprops.texi (Wraparound Arithmetic):
2368         Say that the macros work on unsigned integers too.
2369         (Integer Portability): Remove.
2371 2020-12-04  Bruno Haible  <bruno@clisp.org>
2373         utime: Fix a test failure on macOS 10.13.
2374         Reported by Martin Storsjö <martin@martin.st> in
2375         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2376         * m4/utime.m4 (gl_FUNC_UTIME): Test whether utime handles trailing
2377         slashes on files.
2378         * lib/utime.c (utime): Add alternative implementation for Unix
2379         platforms.
2380         * modules/utime (Depends-on): Add stat.
2381         * doc/posix-functions/utime.texi: Mention the macOS 10.13 bug.
2382         * doc/posix-functions/lstat.texi: Mention that macOS 10.13 also has the
2383         trailing-slash bug.
2384         * doc/posix-functions/open.texi: Likewise.
2385         * doc/posix-functions/stat.texi: Likewise.
2386         * doc/posix-functions/symlink.texi: Likewise.
2388 2020-12-04  Paul Eggert  <eggert@cs.ucla.edu>
2390         intprops: update doc and mention Unisys
2391         * doc/gnulib-readme.texi (Other portability assumptions):
2392         Also mention ptrdiff_t when talking about widths and overflow.
2393         * doc/intprops.texi (Integer Properties): Summarize new section.
2394         (Arithmetic Type Properties): Document that EXPR_SIGNED no longer
2395         evaluates its argument.
2396         (Integer Bounds): Fix typo.
2397         (Wraparound Arithmetic): Remove obsolete comment about efficiency.
2398         Document that the _WRAPV macros now support pointers to unsigned
2399         integers.
2400         (Integer Range Overflow): Update SEI CERT citation.
2401         (Integer Portability): New subsection, which mentions
2402         the oddball Unisys platforms as non-Gnulib targets.
2404 2020-12-03  Bruno Haible  <bruno@clisp.org>
2406         idx: Clarify that idx_t always behaves like a signed type.
2407         Suggested by Paul Eggert in
2408         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00034.html>.
2409         * lib/idx.h: Clarify that idx_t always behaves like a signed type.
2410         Don't test UNSIGNED_IDX_T.
2412 2020-12-03  Bruno Haible  <bruno@clisp.org>
2414         idx: New module.
2415         * lib/idx.h: New file.
2416         * modules/idx: New file.
2417         * lib/canonicalize-lgpl.c: Include idx.h. Use idx_t instead of
2418         ptrdiff_t.
2419         * lib/canonicalize.c: Likewise.
2420         * modules/canonicalize-lgpl (Depends-on): Add idx.
2421         * modules/canonicalize (Depends-on): Likewise.
2423 2020-12-03  Bruno Haible  <bruno@clisp.org>
2425         fprintf-posix-tests: Avoid a test failure on macOS 10.13.
2426         Reported by Martin Storsjö <martin@martin.st> in
2427         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2428         * tests/test-fprintf-posix3.c: Skip the test on macOS.
2429         (main): Return a different exit code at each point. Allow 100 KB extra
2430         memory consumption.
2431         * tests/test-fprintf-posix3.sh: Update. Remove the "get_rusage_as()
2432         doesn't work" diagnostic.
2434 2020-12-02  Paul Eggert  <eggert@cs.ucla.edu>
2436         canonicalize: refactor can_mode flag
2437         * lib/canonicalize.c (MULTIPLE_BITS_SET): Remove, replacing with ...
2438         (multiple_bits_set): ... this new static function.  Uses changed.
2439         (canonicalize_filename_mode): Refactor for clarity to avoid
2440         modifying the CAN_MODE argument.
2442         canonicalize: prefer signed integer types
2443         * lib/canonicalize.c: Include stddef.h, for ptrdiff_t.
2444         (seen_triple, canonicalize_filename_mode): Prefer signed to
2445         unsigned types where either will do, as they avoid some glitches
2446         in comparisons and can trap on overflow when debugging.
2448         canonicalize: fix most of another EOVERFLOW issue
2449         * lib/canonicalize.c (canonicalize_filename_mode):
2450         Do not call stat if fewer than 20 symlinks have been traversed.
2451         This avoids EOVERFLOW failure in the common case where there
2452         are not that many symlinks, while continuing to catch loops
2453         (or fail due to EOVERFLOW) in the unusual case when there
2454         are many symlinks to traverse.
2456         canonicalize: do not assume symlinks have st_ino
2457         * lib/canonicalize.c (canonicalize_filename_mode):
2458         When checking for loops, use st_dev and st_ino from the parent
2459         directory not from the symlink, as pre-2017 POSIX says these
2460         members are not reliable for symlinks.  Couple this with START
2461         (the remaining file name to be resolved), not NAME (the whole file
2462         name with START as its suffix).
2463         * modules/canonicalize (Depends-on): Depend on stat, not lstat.
2465         canonicalize: fix EOVERFLOW bug
2466         * lib/canonicalize.c (canonicalize_filename_mode):
2467         When testing whether a directory entry is a symbolic link, or a
2468         directory or other, do not use lstat or stat or
2469         areadlink_with_size.  Just use areadlink, as this suffices and it
2470         avoids the EOVERFLOW problem that lstat and stat have.
2471         * modules/canonicalize (Depends-on): Depend on areadlink instead
2472         of areadlink-with-size and stat.
2474         canonicalize-lgpl: fix EOVERFLOW bug
2475         * lib/canonicalize-lgpl.c: Do not include <sys/stat.h>.
2476         (__realpath): Do not use lstat.  Just use readlink, as this
2477         suffices and it avoids the EOVERFLOW problem that lstat has.
2478         * modules/canonicalize-lgpl (Depends-on): Remove lstat, sys_stat.
2480 2020-12-02  Bruno Haible  <bruno@clisp.org>
2482         strsignal-tests: Fix test failure on macOS 10.13.
2483         Reported by Martin Storsjö <martin@martin.st> in
2484         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2485         * tests/test-strsignal.c (ASSERT_DESCRIPTION): Allow the actual result
2486         to be longer than the expected result.
2488 2020-12-02  Bruno Haible  <bruno@clisp.org>
2490         Fix compilation errors in test-math-c++.cc on FreeBSD 12.2/arm64.
2491         * lib/math.in.h (_GL_INCLUDING_MATH_H): New macro, to work around
2492         recursive self-include problem on FreeBSD 12.2 in C++ mode.
2494 2020-12-02  Bruno Haible  <bruno@clisp.org>
2496         spawn-pipe: Allow caller to specify directory for the subprocess.
2497         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
2498         Add directory argument.
2499         * lib/spawn-pipe.c: Include canonicalize.h, filename.h, findprog.h.
2500         (create_pipe): Add directory argument. If specified, resolve the program
2501         file name and make it absolute, first. Pass the directory to spawnpvech
2502         and posix_spawn_file_actions_addchdir.
2503         (create_pipe_bidi, create_pipe_in, create_pipe_out): Add directory
2504         argument.
2505         * modules/spawn-pipe (Depends-on): Add canonicalize, filename,
2506         findprog-in, posix_spawn, posix_spawn_file_actions_addchdir.
2507         * tests/test-spawn-pipe-main.c (test_pipe): Update.
2508         * NEWS: Mention the change.
2509         * lib/csharpcomp.c (compile_csharp_using_mono,
2510         compile_csharp_using_sscli): Update.
2511         * lib/javacomp.c (is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present,
2512         is_gcj_43): Update.
2513         * lib/javaversion.c (execute_and_read_line): Update.
2514         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Update.
2515         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Update.
2517 2020-12-02  Bruno Haible  <bruno@clisp.org>
2519         execute: Allow caller to specify directory for the subprocess.
2520         * lib/execute.h (execute): Add directory argument.
2521         * lib/execute.c: Include canonicalize.h, filename.h, findprog.h.
2522         (execute): Add directory argument. If specified, resolve the program
2523         file name and make it absolute, first. Pass the directory to spawnpvech
2524         and posix_spawn_file_actions_addchdir.
2525         * modules/execute (Depends-on): Add canonicalize, filename, findprog-in,
2526         posix_spawn, posix_spawn_file_actions_addchdir.
2527         * tests/test-execute-main.c: Add test for passing a directory.
2528         * tests/test-execute-child.c: Likewise.
2529         * tests/test-execute.sh: Update.
2530         * modules/execute-tests (Depends-on): Add mkdir.
2531         * NEWS: Mention the change.
2532         * lib/csharpcomp.c (compile_csharp_using_sscli): Update.
2533         * lib/csharpexec.c (execute_csharp_using_mono,
2534         execute_csharp_using_sscli): Update.
2535         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
2536         compile_using_javac, compile_using_jikes, is_javac_present,
2537         is_jikes_present): Update.
2538         * lib/javaexec.c (execute_java_class): Update.
2540 2020-12-01  Bruno Haible  <bruno@clisp.org>
2542         vma-iter: Add support for macOS11/arm64.
2543         Patch suggested by Hill Ma <maahiuzeon@gmail.com> in
2544         <https://gitlab.com/gnu-clisp/clisp/-/issues/27>
2545         and by Martin Storsjö <martin@martin.st> in
2546         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2547         * lib/vma-iter.c (vma_iterate): On arm64, use 64-bit type definitions.
2549 2020-12-01  Bruno Haible  <bruno@clisp.org>
2551         spawn-pipe: Fix handling of OS/2 kLIBC.
2552         Reported by KO Myung-Hun <komh78@gmail.com> in
2553         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00005.html>.
2554         * modules/spawn-pipe (configure.ac): Use the common idiom for
2555         recognizing the OS/2 operating system.
2557 2020-11-30  Bruno Haible  <bruno@clisp.org>
2559         execute: Fix uninitialized use of errno.
2560         * lib/execute.c (execute): Preserve errno across several system calls.
2562 2020-11-30  Bruno Haible  <bruno@clisp.org>
2564         access tests: Fix test failure on native Windows.
2565         * tests/test-access.c (main): Change permissions of f2 file before
2566         attempting to remove it.
2568 2020-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2570         faccessat: link with $(LIB_EACCESS)
2571         * modules/faccessat (Link:): Add $(LIB_EACCESS), since this
2572         module depends on euidaccess.
2574 2020-11-30  Bruno Haible  <bruno@clisp.org>
2576         execute, spawn-pipe: Make multithread-safe on native Windows.
2577         * lib/windows-spawn.h: Include <stdint.h>, <windows.h>.
2578         (dup_safer_noinherit, undup_safer_noinherit): Remove declarations.
2579         (spawnpvech): New declaration.
2580         * lib/windows-spawn.c: Include <stdio.h>, <process.h>, findprog.h.
2581         Don't include <unistd.h>, cloexec.h, error.h, gettext.h.
2582         (_): Remove macro.
2583         (dup_noinherit, fd_safer_noinherit, dup_safer_noinherit,
2584         undup_safer_noinherit): Remove functions.
2585         (spawnpvech): New function.
2586         * modules/windows-spawn (Depends-on): Add findprog-in, stdint. Remove
2587         cloexec, dup2, error, gettext-h.
2588         * lib/execute.c: Include msvc-nothrow.h.
2589         (execute) [WIN32]: Use _get_osfhandle, spawnpvech instead of _spawnvpe.
2590         * lib/spawn-pipe.c: Include msvc-nothrow.h.
2591         (create_pipe) [WIN32]: Use _get_osfhandle, DuplicateHandle, spawnpvech
2592         instead of _spawnvpe.
2593         * modules/execute (Depends-on): Add msvc-nothrow.
2594         * modules/spawn-pipe (Depends-on): Likewise.
2596 2020-11-30  Bruno Haible  <bruno@clisp.org>
2598         execute, spawn-pipe: Improve documentation.
2599         * lib/execute.h: Describe progname, prog_path, prog_argv.
2600         * lib/spawn-pipe.h: Likewise.
2602 2020-11-30  Bruno Haible  <bruno@clisp.org>
2604         execute tests: Add more tests.
2605         * tests/test-execute-main.c: Add tests for reading, writing, isatty on
2606         inherited file descriptors >= 3.
2607         * tests/test-execute-child.c: Likewise.
2608         * tests/test-execute.sh: Update.
2610 2020-11-30  Bruno Haible  <bruno@clisp.org>
2612         havelib: Fix for non-ELF platforms (regression 2019-11-17).
2613         Reported by comex <comexk@gmail.com> in
2614         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00188.html>.
2615         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On non-ELF platforms,
2616         don't expect an ELF header.
2618 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2620         bitset: use integer_length in table implementation
2621         * lib/bitset/table.c (tbitset_list_reverse): Use
2622         BITSET_FOR_EACH_BIT_REVERSE.
2624 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2626         bitset: use integer_length in list implementation
2627         * lib/bitset/list.c (lbitset_list_reverse): Use
2628         BITSET_FOR_EACH_BIT_REVERSE.
2630 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2632         bitset: use integer_length in vector implementation
2633         * lib/bitset/array.c (vbitset_list_reverse): Use
2634         BITSET_FOR_EACH_BIT_REVERSE.
2636 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2638         bitset: use integer_length in array implementation
2639         * modules/bitset (Depends-on): Add integer_length_l.
2640         * lib/bitset/base.h (bitset_fls_, BITSET_FOR_EACH_BIT_REVERSE): New.
2641         * lib/bitset/array.c (abitset_list_reverse): Use it.
2643 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2645         bitset: style: use consistent names
2646         * bitset/list.c (lbitset_list_reverse): Rename 'bcount' as 'bitcnt',
2647         and 'boffset' as 'bitoff', for consistency with the other
2648         implementations.
2649         * bitset/table.c (tbitset_list_reverse): Likewise.
2651 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2653         bitset: style: sort header
2654         * lib/bitset/base.h (bitset_ffs): Rename as...
2655         (bitset_ffs_): this.
2656         (bitset_ffs_, BITSET_FOR_EACH_BIT): Move to better places.
2658 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2660         bitset: tests: check BITSET_FOR_EACH_REVERSE
2661         * tests/test-bitset.c (compare, check_zero, check_one_bit, check_ones):
2662         Check BITSET_FOR_EACH_REVERSE.
2664 2020-11-29  Bruno Haible  <bruno@clisp.org>
2666         spawn-pipe tests: Fix test failure with MSVC.
2667         * tests/test-spawn-pipe-child.c: Include <stdint.h>.
2668         (gl_msvc_invalid_parameter_handler): New function.
2669         (main): Set a global invalid-parameter handler.
2670         * modules/spawn-pipe-tests (Depends-on): Add msvc-inval, stdint.
2672 2020-11-29  Bruno Haible  <bruno@clisp.org>
2674         execute: Add tests.
2675         * tests/test-execute.sh: New file.
2676         * tests/test-execute-main.c: New file.
2677         * tests/test-execute-child.c: New file.
2678         * modules/execute-tests: New file.
2680 2020-11-29  Bruno Haible  <bruno@clisp.org>
2682         fcntl: Work around NetBSD bug with F_DUPFD_CLOEXEC.
2683         * m4/fcntl.m4 (gl_FUNC_FCNTL): Test whether F_DUPFD_CLOEXEC actually
2684         works.
2685         * lib/fcntl.c (rpl_fcntl_DUPFD_CLOEXEC): On NetBSD, use the same
2686         fallback implementation as on Haiku.
2687         * tests/test-fcntl.c (main): Add a test whether F_DUPFD_CLOEXEC is
2688         effective.
2689         * doc/posix-functions/fcntl.texi: Mention the NetBSD bug.
2691 2020-11-29  Bruno Haible  <bruno@clisp.org>
2693         spawn-pipe: Fix build on OS/2 kLIBC (regression 2020-11-28).
2694         * lib/os2-spawn.h: New file, based on lib/windows-spawn.h.
2695         * lib/os2-spawn.c: New file, based on lib/windows-spawn.c.
2696         * lib/spawn-pipe.c: On OS/2 kLIBC, include "os2-spawn.h".
2697         * lib/windows-spawn.c: Remove modifications for kLIBC.
2698         * modules/spawn-pipe (Files): Add the new files.
2699         (configure.ac): Arrange to compile os2-spawn.c on OS/2.
2701 2020-11-28  Bruno Haible  <bruno@clisp.org>
2703         asyncsafe-spin: Fix compilation error with GCC on 32-bit SPARC.
2704         Reported by Paul Eggert in
2705         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00066.html>.
2706         * m4/sparcv8+.m4: New file.
2707         * modules/sparcv8+: New file.
2708         * modules/asyncsafe-spin (Depends-on): Add sparcv8+.
2710 2020-11-28  Bruno Haible  <bruno@clisp.org>
2712         asyncsafe-spin: Fix build error with GCC on 32-bit SPARC.
2713         * lib/asyncsafe-spin.c: Don't use GCC >= 4.1 primitives on SPARC.
2715 2020-11-28  Bruno Haible  <bruno@clisp.org>
2717         windows-spawn: New module.
2718         * lib/windows-spawn.h: Renamed from lib/w32spawn.h. Remove
2719         implementations.
2720         * lib/windows-spawn.c: Renamed from lib/w32spawn.h.
2721         * modules/windows-spawn: New file.
2722         * lib/execute.c: Include "windows-spawn.h" instead of "w32spawn.h".
2723         * lib/spawn-pipe.c: Likewise.
2724         * modules/execute (Files): Remove lib/w32spawn.h.
2725         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
2726         xalloc.
2727         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
2728         * modules/spawn-pipe (Files): Remove lib/w32spawn.h.
2729         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
2730         xalloc.
2731         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
2733 2020-11-27  Bruno Haible  <bruno@clisp.org>
2735         ssfmalloc tests: Port to macOS 11.
2736         * tests/test-ssfmalloc.c (PAGESIZE_MAX): Set to 16384, not 8192.
2738 2020-11-26  Bruno Haible  <bruno@clisp.org>
2740         Fix dependencies of modules that use '_exit' on native Windows.
2741         Reported by Jim Meyering in
2742         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00159.html>.
2743         * modules/_Exit (Depends-on): Add unistd.
2744         * modules/closein (Depends-on): Likewise.
2745         * modules/closeout (Depends-on): Likewise.
2746         * modules/forkpty (Depends-on): Likewise.
2747         * modules/posix_spawn-internal (Depends-on): Likewise.
2748         * modules/savewd (Depends-on): Likewise.
2749         * modules/stat-time-tests (Depends-on): Likewise.
2751 2020-11-26  Bruno Haible  <bruno@clisp.org>
2753         raise-tests: Fix compilation error on MSVC (regression 2020-11-25).
2754         * modules/raise-tests (Depends-on): Add unistd.
2755         * doc/posix-functions/_exit.texi: Mention the 'unistd' module.
2757 2020-11-25  Jim Meyering  <meyering@fb.com>
2759         setlocale-tests: do not trigger gcc's -Wanalyzer-possible-null-argument
2760         * tests/test-setlocale1.c (main): Assert that each strcmp argument is
2761         non-NULL, since we don't bother handing strdup failure.
2763         raise-tests: avoid GCC 11's new exit-from-signal-handler warning
2764         gcc's -Wanalyzer-unsafe-call-within-signal-handler exposed this.
2765         * tests/test-raise.c: Include unistd.h.
2766         (handler): Use _exit, not exit.
2768 2020-11-23  Bruno Haible  <bruno@clisp.org>
2770         Use the correct printf format attribute for mingw.
2771         Reported by Reuben Thomas <rrt@sc3d.org> in
2772         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00133.html>.
2774         * modules/vfprintf-posix (configure.ac): Define GNULIB_VFPRINTF_POSIX.
2775         * modules/vprintf-posix (configure.ac): Define GNULIB_VPRINTF_POSIX.
2777         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD,
2778         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM): New macros.
2779         (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
2780         _GL_ATTRIBUTE_FORMAT_PRINTF. Use _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.
2781         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use
2782         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.
2784         * modules/vasnprintf (Depends-on): Add stdio.
2785         * lib/vasnprintf.h: Include <stdio.h>.
2786         (asnprintf, vasnprintf): Use the standard printf format attribute.
2788         * modules/xvasprintf (Depends-on): Add stdio.
2789         * lib/xvasprintf.h: Include <stdio.h>.
2790         (xasprintf, xvasprintf): Use the standard printf format attribute.
2792         * modules/xprintf (Depends-on): List stdio first.
2793         * lib/xprintf.h (xprintf, xvprintf): Use a printf format attribute that
2794         depends on GNULIB_VPRINTF_POSIX.
2795         (xfprintf, xvfprintf): Use a printf format attribute that depends on
2796         GNULIB_VFPRINTF_POSIX.
2798         * modules/c-vasnprintf (Depends-on): Add stdio.
2799         * lib/c-vasnprintf.h: Include <stdio.h>.
2800         (c_vasnprintf): Use the standard printf format attribute.
2802         * modules/c-vasprintf (Depends-on): Add stdio.
2803         * lib/c-vasprintf.h: Include <stdio.h>.
2804         (c_asprintf, c_vasprintf): Use the standard printf format attribute.
2806         * modules/c-vsnprintf (Depends-on): Add stdio.
2807         * lib/c-vsnprintf.h: Include <stdio.h>.
2808         (c_vsnprintf): Use the standard printf format attribute.
2810         * modules/c-snprintf (Depends-on): Add stdio.
2811         * lib/c-snprintf.h: Include <stdio.h>.
2812         (c_snprintf): Use the standard printf format attribute.
2814         * modules/c-xvasprintf (Depends-on): Add stdio.
2815         * lib/c-xvasprintf.h: Include <stdio.h>.
2816         (c_xasprintf, c_xvasprintf): Use the standard printf format attribute.
2818         * modules/error (Depends-on): Depend on stdio always.
2819         * lib/error.h: Include <stdio.h>.
2820         (_GL_ATTRIBUTE_SPEC_PRINTF): Remove macro.
2821         (error, error_at_line): Use a printf format attribute that depends on
2822         GNULIB_VFPRINTF_POSIX.
2823         * lib/error.c (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
2824         _GL_ATTRIBUTE_FORMAT_PRINTF.
2826         * modules/verror (Depends-on): Add stdio.
2827         * lib/verror.h: Include <stdio.h>. Don't include "error.h".
2828         (verror, verror_at_line): Use the standard printf format attribute.
2829         * lib/verror.c: Include "error.h".
2831         * modules/argp (Depends-on): Add stdio.
2832         * lib/argp.h (argp_error, __argp_error, argp_failure, __argp_failure):
2833         Use a printf format attribute that depends on GNULIB_VFPRINTF_POSIX.
2835         * modules/libtextstyle-optional (Depends-on): Add stdio.
2836         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Use the standard
2837         printf format attribute.
2839         * tests/test-nonblocking-misc.h (dbgfprintf): Use the standard printf
2840         format attribute.
2842 2020-11-23  Pádraig Brady  <P@draigBrady.com>
2844         selinux-at, selinux-h: use const correct declarations
2845         * lib/se-selinux.in.h: Use const for "set" functions,
2846         to match current selinux, and support cleaner user code.
2847         * lib/selinux-at.c: Likewise.
2848         * lib/selinux-at.h: Likewise.
2850 2020-11-22  Paul Eggert  <eggert@cs.ucla.edu>
2852         canonicalize-lgpl: fix memory leak
2853         * lib/canonicalize-lgpl.c (__realpath): Fix unlikely memory leak,
2854         which could have occurred if BUF was so large that malloc was
2855         called.  Do this by allocating EXTRA_BUF and BUF at the same time;
2856         this eliminates the need to free BUF separately.
2858 2020-11-22  Bruno Haible  <bruno@clisp.org>
2860         Fix missing module dependencies to 'xalloc' (regression 2020-10-19).
2861         * modules/xvasprintf (Depends-on): Add xalloc.
2862         * modules/pipe-filter-gi (Depends-on): Likewise.
2863         * modules/execute (Depends-on): Likewise, for w32spawn.h.
2864         * modules/spawn-pipe (Depends-on): Likewise.
2866 2020-11-22  Jose E. Marchesi  <jemarch@gnu.org>
2868         bootstrap: add option hooks
2869         * build-aux/bootstrap (bootstrap_print_option_usage_hook): Define.
2870         (bootstrap_option_hook): Likewise.
2871         (usage): Call bootstrap_print_option_usage_hook.
2873 2020-11-22  Bruno Haible  <bruno@clisp.org>
2875         argp: Don't break getprogname on non-glibc systems.
2876         * m4/argp.m4 (gl_ARGP): Don't expect <argp.h> to exist when testing for
2877         program_invocation_name and program_invocation_short_name.
2879 2020-11-22  Bruno Haible  <bruno@clisp.org>
2881         doc: Document <link.h>.
2882         * doc/glibc-headers/link.texi: New file.
2883         * doc/gnulib.texi: Include it.
2885 2020-11-22  Bruno Haible  <bruno@clisp.org>
2887         doc: Add references to the LSB.
2888         * doc/glibc-functions/*.texi: Add references to LSB 5.0.
2889         * doc/posix-functions/*.texi: Likewise.
2891 2020-11-22  Bruno Haible  <bruno@clisp.org>
2893         doc: Fix a makeinfo warning (regression 2020-11-03).
2894         * doc/posix-functions/aligned_alloc.texi: Add missing @item.
2896 2020-11-21  Paul Eggert  <eggert@cs.ucla.edu>
2898         parse-datetime: fix printf format typo
2899         * lib/parse-datetime.y (parse_datetime2): Fix format typo in
2900         previous patch to this file.  Problem reported by Chris Elvidge in
2901         <https://bugs.gnu.org/44763#32>.
2903         setlocale-null-tests: work around GCC bug 44511
2904         * tests/test-setlocale_null-mt-all.c:
2905         * tests/test-setlocale_null-mt-one.c:
2906         Ignore -Wreturn-type, to work around GCC bug 44511.
2908         nl_langinfo-tests: work around GCC bug 44511
2909         * tests/test-nl_langinfo-mt.c: Ignore -Wreturn-type, to work
2910         around a GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44511>.
2911         Problem reported for GNU grep by Andreas Schwab
2912         <https://bugs.gnu.org/44535>.
2914         selinux-h: add stubs for selabel_open etc.
2915         Coreutils with --enable-gcc-warnings does not build on Ubuntu 20.10
2916         because matchpathcon is deprecated in favor of selabel_open etc.,
2917         so this patch adds stubs for these functions.
2918         * lib/se-label.c, lib/se-label.in.h, m4/selinux-label-h.m4: New files.
2919         * lib/se-selinux.in.h (struct selinux_opt): Add incomplete decl,
2920         as it is needed for selabel_open and selinux/selinux.h declares
2921         this type here.
2922         * modules/selinux-h (Files): Add the new files.
2923         (configure.ac): Add gl_HEADERS_SELINUX_LABEL_H.
2924         (lib_SOURCES): Add se-label.in.h, se-label.c.
2925         (BUILT_SOURCES): Add $(SELINUX_LABEL_H).
2926         (selinux/label.h): New rule, mimicking selinux/context.h.
2927         (MOSTLYCLEANFILES): Add selinux/label.h, selinux/label.h-t.
2928         (Include): Add selinux/label.h.
2930 2020-11-21  Bruno Haible  <bruno@clisp.org>
2932         Update after 'test-driver' in Automake changed.
2933         * build-aux/test-driver.diff: Rebase.
2935 2020-11-21  Daiki Ueno  <ueno@gnu.org>
2937         read-file: remove dead assignment
2938         * lib/read-file.c (fread_file): Remove dead assignment when
2939         RF_SENSITIVE is set, flagged by clang-analyzer.
2941 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2943         bitset: tests: exercise the stats too
2945         * tests/test-bitset.c: Display the stats at the end of the test.
2946         * lib/bitset/stats.c (bitset_log_histogram_print): When diplaying the
2947         last bin, display "256-..." rather that "256-511", since the last bin
2948         does count item greater than or equal to 256.
2950 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2952         bitset: tests: try harder to break it
2953         * tests/test-bitset.c (compare): Be ready to use bitsets larger than
2954         BITSET_LIST_SIZE.
2955         (main): Likewise.
2956         While at it, also exercise super small bitsets.
2958 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2960         bitset: use ffs where possible in the vector implementation
2961         * lib/bitset/vector.c (vbitset_list): Use BITSET_FOR_EACH_BIT.
2963 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2965         bitset: use ffs where possible in the table implementation
2966         * lib/bitset/table.c (tbitset_list): Use BITSET_FOR_EACH_BIT.
2968 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2970         bitset: check empty and full bitsets
2971         * tests/test-bitset.c (check_zero, check_ones): New.
2972         (check_attributes): Use them.
2974 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2976         bitset: be sure to always return a value
2977         * lib/bitset/array.c (abitset_small_list): Always update *next and
2978         return a value.
2980 2020-11-19  Siddhesh Poyarekar  <siddhesh@gotplt.org>
2982         vcs-to-changelog: Expect spaces in file names
2983         Reported by Thierry Bothorel <thierry.bothorel@zaclys.net> in
2984         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00040.html>,
2985         * build-aux/vcstocl/vcs_git.py (exec_git_cmd): Do not transform
2986         tabs to spaces.
2987         (list_changes): Use tabs to identify file names.
2989 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2991         bitset: strengthen tests
2992         * tests/test-bitset.c (compare): Also check count.
2993         Deal only with random values, move the one-bit tests to...
2994         (check_one_bit): this new function.
2995         (check_attributes): Call it.
2997 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2999         bitset: fix iteration over table bitsets
3000         * lib/bitset/table.c (tbitset_list): Update bitno when windex is.
3002 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3004         bitset: rename internal details for consistency
3005         * lib/bitset/table.c: Rename all the EBITSET_ symbols as TBITSET_.
3007 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3009         bitset: test: run deterministic tests on several bitset sizes
3010         * tests/test-bitset.c (check_attributes): Run it with small and large
3011         sizes.
3013 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3015         bitset: use ffs where possible in the list implementation
3016         * lib/bitset/list.c (lbitset_list): Use BITSET_FOR_EACH_BIT.
3018 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
3020         bitset: use ffs where possible in array implementation
3021         * lib/bitset/array.c (abitset_small_list): Use BITSET_FOR_EACH_BIT.
3023 2020-11-17  Bruno Haible  <bruno@clisp.org>
3025         posixcheck: Don't enable GNULIB_POSIXCHECK in C++ mode.
3026         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
3027         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
3028         * m4/posixcheck.m4 (gl_POSIXCHECK): Don't define GNULIB_POSIXCHECK in
3029         C++ mode.
3031 2020-11-17  Bruno Haible  <bruno@clisp.org>
3033         Fix error when GNULIB_POSIXCHECK is enabled (regression 2019-06-04).
3034         * lib/unistd.in.h (copy_file_range): Don't assume that copy_file_range
3035         is always declared.
3036         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether copy_file_range is
3037         declared.
3039 2020-11-17  Bruno Haible  <bruno@clisp.org>
3041         Fix link errors on AIX.
3042         * modules/clean-temp (Link): Link with $(LIBTHREAD).
3043         * modules/getumask (Link): Link with $(LIBTHREAD).
3044         * modules/getumask-tests (Makefile.am): Link test-getumask with
3045         $(LIBTHREAD).
3046         * modules/supersede (Link): Link with $(LIBTHREAD).
3047         * modules/supersede-tests (Makefile.am): Link test-supersede with
3048         $(LIBTHREAD).
3049         * modules/fatal-signal (Link): New section.
3050         * modules/execute (Link): New section.
3051         * modules/csharpexec (Link): Link with $(LIBTHREAD).
3052         * modules/javaexec (Link): Link with $(LIBTHREAD).
3053         * modules/spawn-pipe (Link): New section.
3054         * modules/spawn-pipe-tests (Makefile.am): Link test-spawn-pipe-main with
3055         $(LIBTHREAD).
3056         * modules/csharpcomp (Link): Link with $(LIBTHREAD).
3057         * modules/javacomp (Link): Link with $(LIBTHREAD).
3058         * modules/javaversion (Link): Link with $(LIBTHREAD).
3059         * modules/pipe-filter-gi (Link): New section.
3060         * modules/pipe-filter-gi-tests (Makefile.am): Link test-pipe-filter-gi1,
3061         test-pipe-filter-gi2-main with $(LIBTHREAD).
3062         * modules/pipe-filter-ii (Link): New section.
3063         * modules/pipe-filter-ii-tests (Makefile.am): Link test-pipe-filter-ii1,
3064         test-pipe-filter-ii2-main with $(LIBTHREAD).
3065         * modules/term-style-control (Link): New section.
3066         * modules/term-style-control-tests (Makefile.am): Link
3067         test-term-style-control-hello, test-term-style-control-yes with
3068         $(LIBTHREAD).
3069         * modules/wait-process (Link): New section.
3070         * modules/nonblocking-pipe-tests (Makefile.am): Link
3071         test-nonblocking-pipe-main with $(LIBTHREAD).
3072         * modules/nonblocking-socket-tests (Makefile.am): Link
3073         test-nonblocking-socket-main with $(LIBTHREAD).
3075 2020-11-16  Bruno Haible  <bruno@clisp.org>
3077         Fix link errors on platforms with libunistring.
3078         * modules/c32isalnum (Link): New section.
3079         * modules/c32isalnum-tests (Makefile.am): Link test-c32isalnum with
3080         $(LIBUNISTRING).
3081         * modules/c32isalpha (Link): New section.
3082         * modules/c32isalpha-tests (Makefile.am): Link test-c32isalpha with
3083         $(LIBUNISTRING).
3084         * modules/c32isblank (Link): New section.
3085         * modules/c32isblank-tests (Makefile.am): Link test-c32isblank with
3086         $(LIBUNISTRING).
3087         * modules/c32iscntrl (Link): New section.
3088         * modules/c32iscntrl-tests (Makefile.am): Link test-c32iscntrl with
3089         $(LIBUNISTRING).
3090         * modules/c32isdigit (Link): New section.
3091         * modules/c32isdigit-tests (Makefile.am): Link test-c32isdigit with
3092         $(LIBUNISTRING).
3093         * modules/c32isgraph (Link): New section.
3094         * modules/c32isgraph-tests (Makefile.am): Link test-c32isgraph with
3095         $(LIBUNISTRING).
3096         * modules/c32islower (Link): New section.
3097         * modules/c32islower-tests (Makefile.am): Link test-c32islower with
3098         $(LIBUNISTRING).
3099         * modules/c32isprint (Link): New section.
3100         * modules/c32isprint-tests (Makefile.am): Link test-c32isprint with
3101         $(LIBUNISTRING).
3102         * modules/c32ispunct (Link): New section.
3103         * modules/c32ispunct-tests (Makefile.am): Link test-c32ispunct with
3104         $(LIBUNISTRING).
3105         * modules/c32isspace (Link): New section.
3106         * modules/c32isspace-tests (Makefile.am): Link test-c32isspace with
3107         $(LIBUNISTRING).
3108         * modules/c32isupper (Link): New section.
3109         * modules/c32isupper-tests (Makefile.am): Link test-c32isupper with
3110         $(LIBUNISTRING).
3111         * modules/c32isxdigit (Link): New section.
3112         * modules/c32isxdigit-tests (Makefile.am): Link test-c32isxdigit with
3113         $(LIBUNISTRING).
3114         * modules/unicodeio (Link): Mention $(LIBUNISTRING).
3115         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
3116         $(LIBUNISTRING).
3118 2020-11-16  Bruno Haible  <bruno@clisp.org>
3120         Fix link errors on platforms with libintl (e.g. Solaris and AIX).
3121         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
3122         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
3123         * modules/getumask-tests (Makefile.am): Link test-getumask with
3124         $(LIBINTL).
3125         * modules/stack-tests (Makefile.am): Link test-stack with $(LIBINTL).
3126         * modules/supersede-tests (Makefile.am): Link test-supersede with
3127         $(LIBINTL).
3128         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
3129         $(LIBINTL).
3131 2020-11-16  Bruno Haible  <bruno@clisp.org>
3133         getumask: Document link dependencies.
3134         * modules/getumask (Link): New section.
3136 2020-11-16  Bruno Haible  <bruno@clisp.org>
3138         Update link dependencies in modules after 2020-09-09 change.
3139         * modules/tempname (Link): Add $(LIB_CLOCK_GETTIME).
3140         * modules/mkdtemp (Link): Likewise.
3141         * modules/mkostemp (Link): Likewise.
3142         * modules/mkostemps (Link): Likewise.
3143         * modules/mkstemp (Link): Likewise.
3144         * modules/mkstemps (Link): Likewise.
3145         * modules/supersede (Link): Likewise.
3146         * modules/tmpfile (Link): Likewise.
3147         * modules/tmpfile-safer (Link): Likewise.
3149 2020-11-15  Paul Eggert  <eggert@cs.ucla.edu>
3151         getumask-tests: port to Solaris 10 etc.
3152         Problem reported by Tom Christensen in:
3153         https://lists.gnu.org/r/bug-gnulib/2020-11/msg00062.html
3154         * modules/getumask-tests (test_getumask_LDADD):
3155         Add $(LIB_CLOCK_GETTIME).
3157 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3159         bitset: use ffsl to accelerate iterations over set bits
3160         Suggested by Bruno Haible.
3161         * modules/bitset: Depend upon ffsl.
3162         * lib/bitset/base.h (bitset_ffs, BITSET_FOR_EACH_BIT): New.
3163         * lib/bitset/array.c (abitset_list): Use BITSET_FOR_EACH_BIT.
3165 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3167         bitset: more tests
3168         * tests/test-bitset.c (compare): Make it clear that the random values
3169         should not be modified.
3170         Check bitset_first, bitset_last and BITSET_FOR_EACH.
3172 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3174         bitset: fix the copy from lbitset to other types
3175         * lib/bitset/list.c (lbitset_copy): Rename as...
3176         (lbitset_copy_): this.
3177         (lbitset_copy): New.
3178         Dispatch to heterogeneous/homogeneous copy.
3180 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
3182         bitset: making debug traces more useful
3183         * lib/bitset.c (bitset_print): Print the bitset type in verbose mode.
3185         bitset: comment changes
3186         * lib/bitset.c: Move some documenting comments to...
3187         * lib/bitset.h: here.
3188         * lib/bitset/array.c: Fix some comments.
3190 2020-11-14  Paul Eggert  <eggert@cs.ucla.edu>
3192         careadlinkat: warn better about GCC bug 93644
3193         * lib/careadlinkat.c (readlink_stk): When --enable-gcc-warnings is
3194         not in effect, use "#warning" to let builders know more clearly
3195         about GCC bug 93644, because the bug triggers even if no -W option
3196         is given to GCC.
3198 2020-11-13  Jim Meyering  <meyering@fb.com>
3200         hard-locale-tests: avoid a -Wstrict-prototypes warning
3201         * tests/locale.c (main): Placate gcc's -Wstrict-prototypes by
3202         changing "main ()" to "main (void)". This was the only case that
3203         triggered a warning when building grep with --enable-gcc-warnings.
3205 2020-11-11  Paul Eggert  <eggert@cs.ucla.edu>
3207         time_rz: simplify CVE-2017-7476 fix
3208         * lib/time_rz.c: Do not include limits.h; I think it was included
3209         under the mistaken impression that limits.h defines SIZE_MAX.
3210         (SIZE_MAX): Remove.
3211         (save_abbr): Put string length into a ptrdiff_t variable,
3212         so that the size comparison works naturally.  This
3213         fixes CVE-2017-7476 in a cleaner way.
3215         parse-datetime: streamline overflow checking
3216         When parse-datetime.y’s overflow code was written, INT_ADD_WRAPV
3217         did not work for unsigned destinations, and since time_t might
3218         be unsigned that meant it did not work for time_t destinations.
3219         This limitation of INT_ADD_WRAPV has been fixed, so we can
3220         now streamline parse-datetime.y a bit.
3221         * lib/parse-datetime.y: Do not include limits.h, as LONG_MAX
3222         has not been used for a while.
3223         (yylex, parse_datetime2): Assume C99 declarations after statements.
3224         (yyles): Use INT_SUBTRACT_WRAPV instead of an explicit comparison
3225         to TYPE_MINIMUM.
3226         (parse_datetime2): No need for time_overflow now that
3227         INT_ADD_WRAPV works for unsigned results.
3229         parse-datetime-tests: port to Alpine Linux 3.12.1
3230         * tests/test-parse-datetime.c: Include errno.h for errno,
3231         and unistd.h for _SC_TZNAME_MAX and sysconf.
3232         (main): In the outlandishly-long time zone abbreviation test,
3233         do not exceed TZNAME_MAX as this has undefined behavior,
3234         and on Alpine Linux 3.12.1 it makes the test fail.
3236 2020-11-09  Pádraig Brady  <P@draigBrady.com>
3238         mgetgroups: avoid warning with clang
3239         * lib/mgetgroups.c: Xcode-12.1 identifies as GCC 4.2.1,
3240         so disable -Wpointer-sign for all clang versions.
3242 2020-11-07  Bruno Haible  <bruno@clisp.org>
3244         gnulib-tool: Fix link error with 'version-etc' (regression 2020-05-29).
3245         Reported by Simon Josefsson in
3246         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00032.html>.
3247         * gnulib-tool (func_emit_tests_Makefile_am): Add libtests.a to
3248         LDADD a third time, after the second occurrence of ../lib/libgnu.a.
3249         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
3251 2020-11-04  Paul Eggert  <eggert@cs.ucla.edu>
3253         tests: pacify Sun C 5.9
3254         Without these changes, Sun C 5.9 (2009/11/22) issues complaints like
3255         “"test-nl_langinfo-mt.c", line 75: warning: statement not reached”.
3256         * tests/test-nl_langinfo-mt.c (thread1_func, thread2_func)
3257         (thread3_func, thread4_func, thread5_func, thread6_func, threadN_func):
3258         * tests/test-setlocale_null-mt-all.c (thread1_func, thread2_func):
3259         * tests/test-setlocale_null-mt-one.c (thread1_func, thread2_func):
3260         Remove unreachable ‘return NULL;’s.
3262         tests: port better to XLC 12.01
3263         * tests/test-argmatch.c (CHECK): Do not use -1 as a subscript,
3264         even in code that is not executed, as IBM XLC 12.01 complains "The
3265         subscript -1 is less than zero."
3266         * tests/test-stdint.c (verify_width): Pass an (unused) 3rd
3267         argument to _GL_VERIFY, as ISO C requires.  Otherwise, IBM XLC
3268         12.01 complains "The invocation of macro _GL_VERIFY contains fewer
3269         arguments than are required by the macro definition."
3271 2020-11-03  Bruno Haible  <bruno@clisp.org>
3273         aligned-malloc: Use fixes from the new modules.
3274         * modules/aligned-malloc (Depends-on): Add posix_memalign,
3275         aligned_alloc, memalign.
3276         (configure.ac): Use AC_CHECK_FUNCS_ONCE.
3278 2020-11-03  Bruno Haible  <bruno@clisp.org>
3280         aligned_alloc: Add tests.
3281         * tests/test-aligned_alloc.c: New file.
3282         * modules/aligned_alloc-tests: New file.
3284         aligned_alloc: New module.
3285         * lib/stdlib.in.h (aligned_alloc): New declaration.
3286         * lib/aligned_alloc.c: New file.
3287         * m4/aligned_alloc.m4: New file.
3288         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether aligned_alloc is declared.
3289         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ALIGNED_ALLOC,
3290         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
3291         * modules/stdlib (Makefile.am): Substitute GNULIB_ALIGNED_ALLOC,
3292         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
3293         * modules/aligned_alloc: New file.
3294         * tests/test-stdlib-c++.cc (aligned_alloc): Check signature.
3295         * doc/posix-functions/aligned_alloc.texi: Mention the new module and the
3296         AIX bug.
3298 2020-11-03  Bruno Haible  <bruno@clisp.org>
3300         posix_memalign: Add tests.
3301         * tests/test-posix_memalign.c: New file.
3302         * modules/posix_memalign-tests: New file.
3304         posix_memalign: New module.
3305         * lib/stdlib.in.h (posix_memalign): New declaration.
3306         * lib/posix_memalign.c: New file.
3307         * m4/posix_memalign.m4: New file.
3308         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether posix_memalign is declared.
3309         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_POSIX_MEMALIGN,
3310         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
3311         * modules/stdlib (Makefile.am): Substitute GNULIB_POSIX_MEMALIGN,
3312         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
3313         * modules/posix_memalign: New file.
3314         * tests/test-stdlib-c++.cc (posix_memalign): Check signature.
3315         * doc/posix-functions/posix_memalign.texi: Mention the new module and
3316         the OpenBSD bug.
3318 2020-11-03  Bruno Haible  <bruno@clisp.org>
3320         memalign: Add tests.
3321         * tests/test-memalign.c: New file.
3322         * modules/memalign-tests: New file.
3324         memalign: New module.
3325         * modules/memalign: New file.
3326         * doc/glibc-functions/memalign.texi: Mention the new module.
3328 2020-11-03  Bruno Haible  <bruno@clisp.org>
3330         verify tests: Fix crash with GCC (regression 2020-11-02).
3331         * tests/test-verify.c (main): Fix initializer of s.
3333 2020-11-03  Pádraig Brady  <P@draigBrady.com>
3335         mountlist: recognize more file system types as remote
3337         * lib/mountlist.c (ME_REMOTE): Sync previously unconsidered
3338         "remote" file systems from stat.c in coreutils.
3340 2020-11-02  Bernhard Voelker  <mail@bernhard-voelker.de>
3342         verify tests: Fix -Wuninitialized warning (regression 2020-10-30).
3343         * tests/test-verify.c (main): Initialize state variable.
3344         Reported by Bruno Haible for GCC 5.4.0.
3346 2020-11-02  Paul Eggert  <eggert@cs.ucla.edu>
3348         dfa.h: support inclusion from C++
3349         * lib/dfa.h: Allow multiple inclusion, and inclusion from
3350         C++ code.  The latter was suggested by Arnold Robbins.
3352 2020-11-01  Bruno Haible  <bruno@clisp.org>
3354         ssfmalloc tests: Portability to Linux/PowerPC and Linux/SPARC.
3355         * tests/test-ssfmalloc.c: Include <limits.h>.
3356         (PAGESIZE_MAX): Set to 65536 on Linux/PowerPC.
3358 2020-11-01  Bruno Haible  <bruno@clisp.org>
3360         verify tests: Fix compilation error with MSVC (regression 2020-10-30).
3361         * tests/test-verify.c (test_assume_noreturn): Fix declaration.
3363 2020-11-01  Jim Meyering  <meyering@fb.com>
3365         dfa-tests: test for today's invalid-merge fix
3366         * tests/test-dfa-invalid-merge.sh: New file.
3367         * modules/dfa-tests (Files): Add it.
3368         (TESTS): Add it.
3370 2020-11-01  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3372         dfa: retain sequences of similar nodes in optimization
3373         DFA was merging similar nodes when it should not.  For example,
3374         it would convert a+a+a to a+a.  Now, a sequence of similar nodes
3375         is not merged.  Problem reported by Gonzalo Padrino in
3376         https://bugs.gnu.org/44351
3377         * lib/dfa.c (merge_nfa_state): Skip the follow for repetition in
3378         optimization.
3380 2020-11-01  Jim Meyering  <meyering@fb.com>
3382         test-dfa-match-aux.c: accept EREs, not BREs
3383         * tests/test-dfa-match-aux.c (main): Specify RE_SYNTAX_EGREP, not
3384         RE_SYNTAX_GREP, so tests can use ERE syntax rather than BRE.
3386 2020-10-30  Bernhard Voelker  <mail@bernhard-voelker.de>
3388         verify tests: avoid -Wmissing-declarations warnings
3389         * tests/test-verify.c (test_assume_expressions): Add declaration.
3390         (test_assume_optimization): Likewise.
3391         (test_assume_noreturn): Likewise.
3392         (main): Move down after all other definitions.  While at it, also
3393         call test_assume_expressions and test_assume_optimization as a
3394         runtime check.
3396 2020-10-26  Paul Eggert  <eggert@cs.ucla.edu>
3398         sys_stat: update comments for S_IRWXUGO, S_IXUGO
3399         * lib/sys_stat.in.h (S_IXUGO, S_IRWXUGO): Update comments.
3400         Perhaps these macros should be removed, as they’re not in either
3401         POSIX or GNU.  They could be moved to stat-macros.h, which would
3402         be cleaner in some sense.
3404 2020-10-25  Bruno Haible  <bruno@clisp.org>
3406         ssfmalloc tests: Small tweaks.
3407         * tests/test-ssfmalloc.c: Add comments.
3408         (alloc_pages): Don't require PROT_EXEC bits.
3409         (block_sizes): Add more small sizes, for better coverage of
3410         ssfmalloc-bitmap.h.
3412         ssfmalloc tests: Portability to Minix.
3413         * modules/ssfmalloc-tests (Files): Add m4/mmap-anon.m4.
3414         (configure.ac): Invoke gl_FUNC_MMAP_ANON.
3415         * m4/mmap-anon.m4: Update comment.
3417         ssfmalloc: Portability to AIX.
3418         * modules/ssfmalloc (Include): Add ssfmalloc.h.
3419         (Link): New section.
3420         * modules/ssfmalloc-tests (Makefile.am): Link test-ssfmalloc with
3421         $(LIBTHREAD).
3423         ssfmalloc: Portability to Cygwin.
3424         * lib/ssfmalloc.h: Add parameter PAGESIZE_MAX.
3425         (pg_offset_t): Define depending on PAGESIZE_MAX.
3426         * tests/test-ssfmalloc.c: Undefine PAGESIZE.
3427         (PAGESIZE_MAX): New macro.
3429         ssfmalloc: Fix buffer overrun in bitmap search.
3430         * lib/ssfmalloc-bitmap.h (find_first_packet_set): Don't access the
3431         word *words_end.
3433 2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3435         doc: mention ‘restrict’ and C++
3436         * doc/gnulib-readme.texi (C99 features assumed): Document
3437         that ‘restrict’ should be avoided in C++ code.
3439 2020-10-20  Bernhard Voelker  <mail@bernhard-voelker.de>
3441         selinux-at, selinux-h: port to SELinux 3.1
3442         The new release finally deprecated the typedef 'security_context_t',
3443         see <https://github.com/SELinuxProject/selinux/commit/7a124ca275>.
3444         Use the simpler 'char *' instead.
3445         * lib/getfilecon.c (getfilecon): Adjust type of context parameter.
3446         (lgetfilecon): Likewise.
3447         (fgetfilecon): Likewise.
3448         (map_to_failure): Likewise.
3449         (rpl_getfilecon): Likewise.
3450         (rpl_lgetfilecon): Likewise.
3451         (rpl_fgetfilecon): Likewise.
3452         * lib/se-selinux.in.h (security_context_t): Remove typedef.
3453         (getcon): Adjust type of context parameter.
3454         (freecon): Likewise.
3455         (getfscreatecon): Likewise.
3456         (setfscreatecon): Likewise.
3457         (matchpathcon): Likewise.
3458         (getfilecon): Likewise.
3459         (lgetfilecon): Likewise.
3460         (fgetfilecon): Likewise.
3461         (setfilecon): Likewise.
3462         (lsetfilecon): Likewise.
3463         (fsetfilecon): Likewise.
3464         (security_check_context): Likewise.
3465         (security_check_context_raw): Likewise.
3466         (setexeccon): Likewise.
3467         (security_compute_create): Likewise.
3468         * lib/selinux-at.c (getfileconat): Likewise.
3469         (lgetfileconat): Likewise.
3470         (setfileconat): Likewise.
3471         (lsetfileconat): Likewise.
3472         * lib/selinux-at.h: Likewise.
3474 2020-10-19  Bruno Haible  <bruno@clisp.org>
3476         xalloc-die: Fix link error with Solaris cc (regression 2020-07-27).
3477         * lib/xalloc.h (xalloc_die): Don't declare if GNULIB_XALLOC_DIE is 0.
3478         (xmalloc, xzalloc, xcalloc, xrealloc, x2realloc, xmemdup, xstrdup,
3479         XMALLOC, XNMALLOC, XZALLOC, XCALLOC, xnmalloc, xnrealloc, x2nrealloc,
3480         xcharalloc): Don't declare/define if GNULIB_XALLOC is 0.
3481         * modules/xalloc (configure.ac): Define GNULIB_XALLOC.
3482         * modules/xalloc-die (configure.ac): Define GNULIB_XALLOC_DIE.
3484 2020-10-18  Bruno Haible  <bruno@clisp.org>
3486         ssfmalloc: Add tests.
3487         * tests/test-ssfmalloc.c: New file.
3488         * modules/ssfmalloc-tests: New file.
3490         ssfmalloc: New module.
3491         * lib/ssfmalloc.h: New file.
3492         * lib/ssfmalloc-bitmap.h: New file.
3493         * modules/ssfmalloc: New file.
3495 2020-10-18  Bruno Haible  <bruno@clisp.org>
3497         wchar: Fix configure test result on some versions of AIX.
3498         Reported by Clément Chigot <clement.chigot@atos.net> in
3499         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00115.html>.
3500         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Execute the test only on glibc
3501         systems.
3503 2020-10-18  Bruno Haible  <bruno@clisp.org>
3505         time: Fix warning about asctime when asctime is not used.
3506         * lib/time.in.h (asctime_r, ctime, ctime_r): Fix _GL_WARN_ON_USE
3507         invocation.
3509 2020-10-18  Bruno Haible  <bruno@clisp.org>
3511         *-list, *-oset, *-omap: Avoid a GCC warning (regression 2020-10-10).
3512         * lib/gl_anylinked_list2.h (gl_linked_iterator_free): Remove
3513         '_GL_ATTRIBUTE_CONST'.
3514         * lib/gl_anytree_list2.h (gl_tree_iterator_free): Likewise.
3515         * lib/gl_anytree_omap.h (gl_tree_iterator_free): Likewise.
3516         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
3517         * lib/gl_array_list.c (gl_array_iterator_free): Likewise.
3518         * lib/gl_array_omap.c (gl_array_iterator_free): Likewise.
3519         * lib/gl_array_oset.c (gl_array_iterator_free): Likewise.
3520         * lib/gl_carray_list.c (gl_carray_iterator_free): Likewise.
3522 2020-10-18  Bruno Haible  <bruno@clisp.org>
3524         obstack: Fix a clang warning.
3525         * lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__.
3527 2020-10-16  Bruno Haible  <bruno@clisp.org>
3529         hash: Rename hash_delete to hash_remove.
3530         * lib/hash.h (hash_remove): Renamed from hash_delete.
3531         (hash_delete): New declaration.
3532         * lib/hash.c (hash_remove): Renamed from hash_delete.
3533         (hash_delete): New function.
3534         * tests/test-hash.c (main): Update.
3535         * lib/fts-cycle.c (leave_dir): Likewise.
3536         * NEWS: Mention the change.
3538 2020-10-16  Bruno Haible  <bruno@clisp.org>
3540         hash, xhash: Make usable from C++.
3541         * lib/hash.h: Add extern "C".
3543 2020-10-16  Bruno Haible  <bruno@clisp.org>
3545         hash, xhash: Move comments to the .h file.
3546         * lib/hash.c: Move comments meant for the user from here...
3547         * lib/xhash.c: ... and here...
3548         * lib/hash.h: ... to here.
3550 2020-10-13  Philipp Klaus Krause  <pkk@spth.de>  (tiny change)
3552         Don't declare an intention to modify the return value of strerror.
3553         * tests/test-perror2.c (main): Assign the return value of strerror to a
3554         'const char *' variable.
3556 2020-10-11  Bruno Haible  <bruno@clisp.org>
3558         *printf: Avoid "expanded before it was required" warning.
3559         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99): Define through
3560         AC_DEFUN_ONCE.
3562 2020-10-11  Benji Wiebe  <benjiwiebe14@gmail.com>
3564         getprogname: Add support for OpenServer 6 and UnixWare 7.
3565         * lib/getprogname.c: Include <fcntl.h>, <stdlib.h>, <string.h>.
3566         (getprogname): On OpenServer6 and UnixWare, read /proc/<pid>/cmdline.
3568 2020-10-11  Bruno Haible  <bruno@clisp.org>
3570         tests: Avoid a name clash on UnixWare.
3571         Reported by Tim Rice <tim@multitalents.net> in
3572         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00025.html>.
3573         * tests/nap.h (nap): Define as gl_nap on OpenServer and UnixWare.
3575 2020-10-11  Bruno Haible  <bruno@clisp.org>
3577         stdioext: Update comments regarding UnixWare.
3578         Reported by Tim Rice <tim@multitalents.net> in
3579         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
3580         * lib/fbufmode.c: Update comments.
3581         * lib/fflush.c: Likewise.
3582         * lib/fpending.c: Likewise.
3583         * lib/fpurge.c: Likewise.
3584         * lib/freadable.h: Likewise.
3585         * lib/freadable.c: Likewise.
3586         * lib/freadahead.c: Likewise.
3587         * lib/freading.h: Likewise.
3588         * lib/freading.c: Likewise.
3589         * lib/freadptr.c: Likewise.
3590         * lib/freadseek.c: Likewise.
3591         * lib/fseeko.c: Likewise.
3592         * lib/fseterr.c: Likewise.
3593         * lib/fwritable.h: Likewise.
3594         * lib/fwritable.c: Likewise.
3595         * lib/fwriting.h: Likewise.
3596         * lib/fwriting.c: Likewise.
3598 2020-10-11  Bruno Haible  <bruno@clisp.org>
3600         stdioext: Treat OpenServer 6 and UnixWare 7 like OpenServer 5.
3601         Reported by Tim Rice <tim@multitalents.net> in
3602         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
3603         Uses the info from
3604         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00028.html>.
3605         * lib/stdio-impl.h: Test also __SCO_VERSION__ and __sysv5__.
3607 2020-10-11  Bruno Haible  <bruno@clisp.org>
3609         stdioext: Avoid compilation errors on UnixWare 7.
3610         Reported by Tim Rice <tim@multitalents.net> in
3611         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00127.html>.
3612         * lib/fbufmode.c: Don't include <stdio_ext.h> if it does not exist.
3613         * lib/fpurge.c: Likewise.
3614         * lib/freadable.h: Likewise.
3615         * lib/freading.h: Likewise.
3616         * lib/fwritable.h: Likewise.
3617         * lib/fwriting.h: Likewise.
3618         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether <stdio_ext.h> exists.
3619         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
3620         * m4/freadable.m4 (gl_FUNC_FREADABLE): Likewise.
3621         * m4/freading.m4 (gl_FUNC_FREADING): Likewise.
3622         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Likewise.
3623         * m4/fwriting.m4 (gl_FUNC_FWRITING): Likewise.
3625 2020-10-11  Bruno Haible  <bruno@clisp.org>
3627         stdioext: Update comments regarding Cygwin.
3628         * lib/fpending.c: Update comments.
3629         * lib/fpurge.c: Likewise.
3630         * lib/freadable.h: Likewise.
3631         * lib/freadable.c: Likewise.
3632         * lib/freading.h: Likewise.
3633         * lib/freading.c: Likewise.
3634         * lib/fwritable.h: Likewise.
3635         * lib/fwritable.c: Likewise.
3636         * lib/fwriting.h: Likewise.
3637         * lib/fwriting.c: Likewise.
3639 2020-10-11  KO Myung-Hun  <komh78@gmail.com>
3641         Fix "warning: implicit declaration of function 'pthread_sigmask'".
3642         * lib/signal.in.h [__KLIBC__]: Include <pthread.h>.
3643         * lib/sys_select.in.h [__KLIBC__]: Do not include <signal.h>.
3645 2020-10-10  Bruno Haible  <bruno@clisp.org>
3647         *-list, *-oset, *-omap: Avoid possible compiler warnings.
3648         Reported by Marc Nieper-Wißkirchen in
3649         <https://lists.gnu.org/r/bug-gnulib/2020-10/msg00025.html>.
3650         * lib/gl_anylinked_list2.h (gl_linked_iterator,
3651         gl_linked_iterator_from_to): Mark as 'pure'.
3652         (gl_linked_iterator_free): Mark as 'const'.
3653         * lib/gl_anytree_list2.h (gl_tree_size, gl_tree_node_value,
3654         gl_tree_search_from_to, gl_tree_indexof_from_to, gl_tree_iterator,
3655         gl_tree_iterator_from_to, gl_tree_sortedlist_search,
3656         gl_tree_sortedlist_search_from_to, gl_tree_sortedlist_indexof,
3657         gl_tree_sortedlist_indexof_from_to): Mark as 'pure'.
3658         (gl_tree_iterator_free): Mark as 'const'.
3659         * lib/gl_anytree_omap.h (gl_tree_size, gl_tree_iterator): Mark as
3660         'pure'.
3661         (gl_tree_iterator_free): Mark as 'const'.
3662         * lib/gl_anytree_oset.h (gl_tree_size, gl_tree_next_node,
3663         gl_tree_prev_node, gl_tree_iterator): Mark as 'pure'.
3664         (gl_tree_iterator_free): Mark as 'const'.
3665         * lib/gl_anytreehash_list1.h (node_position, compare_by_position,
3666         compare_position_threshold): Mark as 'pure'.
3667         * lib/gl_array_list.c (gl_array_size, gl_array_indexof_from_to,
3668         gl_array_search_from_to, gl_array_iterator, gl_array_iterator_from_to,
3669         gl_array_sortedlist_indexof_from_to, gl_array_sortedlist_indexof,
3670         gl_array_sortedlist_search_from_to, gl_array_sortedlist_search): Mark as
3671         'pure'.
3672         (gl_array_iterator_free): Mark as 'const'.
3673         * lib/gl_array_omap.c (gl_array_size, gl_array_indexof, gl_array_search,
3674         gl_array_search_atleast, gl_array_iterator): Mark as 'pure'.
3675         (gl_array_iterator_free): Mark as 'const'.
3676         * lib/gl_array_oset.c (gl_array_size, gl_array_indexof, gl_array_search,
3677         gl_array_indexof_atleast, gl_array_search_atleast, gl_array_iterator,
3678         gl_array_iterator_atleast): Mark as 'pure'.
3679         (gl_array_iterator_free): Mark as 'const'.
3680         * lib/gl_carray_list.c (gl_carray_size, gl_carray_node_value,
3681         gl_carray_next_node, gl_carray_previous_node, gl_carray_get_at,
3682         gl_carray_indexof_from_to, gl_carray_search_from_to, gl_carray_iterator,
3683         gl_carray_iterator_from_to, gl_carray_sortedlist_indexof_from_to,
3684         gl_carray_sortedlist_indexof, gl_carray_sortedlist_search_from_to,
3685         gl_carray_sortedlist_search): Mark as 'pure'.
3686         (gl_carray_iterator_free): Mark as 'const'.
3688 2020-10-10  Bruno Haible  <bruno@clisp.org>
3690         rbtree-list: Avoid possible compiler warnings.
3691         This mirrors the change of avltree-list on 2014-09-16.
3692         * lib/gl_rbtree_list.c (gl_rbtree_list_check_invariants): Add extern
3693         declaration. Add cast to void for ignored value of check_invariants.
3695 2020-10-10  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
3697         stack: New module.
3698         * MODULES.html.sh: Add entry for the stack module.
3699         * modules/stack: New file.
3700         * modules/stack-tests: New file.
3701         * lib/stack.h: New file.
3702         * tests/test-stack.c: New file.
3704 2020-10-10  Paul Eggert  <eggert@cs.ucla.edu>
3706         attribute: improve const, pure doc
3707         Problem reported by Marc Nieper-Wißkirchen in:
3708         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00035.html
3709         * lib/attribute.h (ATTRIBUTE_CONST, ATTRIBUTE_PURE): Improv doc.  See:
3710         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51971#c1
3712 2020-10-05  Paul Eggert  <eggert@cs.ucla.edu>
3714         thread: pacify GCC on Solaris 10
3715         Problem reported by Kiyoshi KANAZAWA for grep (Bug#43666#29).
3716         * lib/glthread/thread.h (gl_thread_self): Use ‘(pthread_t) 0’
3717         instead of ‘(pthread_t) NULL’, to pacify GCC on Solaris 10
3718         where pthread_t is unsigned int.
3720 2020-10-04  Paul Eggert  <eggert@cs.ucla.edu>
3722         c-stack: avoid AS_IF
3723         Problem reported by Bruno Haible in:
3724         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00018.html
3725         * m4/c-stack.m4 (gl_PREREQ_C_STACK): No need for AS_IF.
3727         c-stack: pacify GCC 9.3.1 when using libsigsegv
3728         * lib/c-stack.c [USE_LIBSIGSEGV]: Disable --suggest-attribute=pure.
3730 2020-10-04  Bruno Haible  <bruno@clisp.org>
3732         localename: Fix a couple of "unused parameter" warnings.
3733         Reported by Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> in
3734         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00014.html>.
3735         * lib/localename.c (gl_locale_name_thread_unsafe, gl_locale_name_thread,
3736         gl_locale_name_posix, gl_locale_name_environ): Add _GL_UNUSED in
3737         parameter list.
3739 2020-10-04  Bruno Haible  <bruno@clisp.org>
3741         vasnprintf: Don't use %n on modern, ISO C 99 compliant platforms.
3742         Suggested by Jeremie Courreges-Anglas <jca@wxcvbn.org> in
3743         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00010.html>.
3744         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Define
3745         HAVE_SNPRINTF_TRUNCATION_C99.
3746         * lib/vasnprintf.c (VASNPRINTF): Don't use %n if
3747         HAVE_SNPRINTF_RETVAL_C99 && HAVE_SNPRINTF_TRUNCATION_C99.
3749 2020-10-03  Paul Eggert  <eggert@cs.ucla.edu>
3751         c-stack: streamline Solaris configuration
3752         * lib/c-stack.c: Omit mention of HAVE_SIGALTSTACK, since
3753         the code is used only if a test for sigaltstack worked
3754         in some other way.
3755         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Do not require gl_LIBSIGSEGV;
3756         instead, execute gl_LIBSIGSEGV only if needed (because the XSI
3757         heuristic does not work).
3758         * modules/c-stack (Files): Add m4/libsigsegv.m4, since
3759         we no longer require the libsigsegv module.
3760         (Depends-on): Depend on havelib, not libsigsegv.
3762         c-stack: stop using SIGSTKSZ
3763         It’s been proposed to stop making SIGSTKSZ an integer constant:
3764         https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html
3765         Also, using SIGSTKSZ in #if did not conform to current POSIX.
3766         Also, avoiding SIGSTKSZ makes the code simpler and easier to grok.
3767         * lib/c-stack.c (SIGSTKSZ): Remove.
3768         (alternate_signal_stack): Now a 64 KiB array, for simplicity.
3769         All uses changed.
3771         c-stack: fix libsigsegv typo
3772         Problem reported by Bruno Haible in:
3773         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00175.html
3774         * lib/c-stack.c (USE_LIBSIGSEGV): Fix typo that caused libsigsegv
3775         to be used only on Solaris (exactly where it is not needed!).
3777 2020-10-03  Thien-Thi Nguyen  <ttn@gnuvola.org>
3779         MODULES.html.sh: Fix typo.
3780         * MODULES.html.sh (Numeric conversion functions <stdlib.h>): Fix typo.
3782 2020-09-28  Paul Eggert  <eggert@cs.ucla.edu>
3784         version-etc: pacify Oracle Studio 12.6
3785         Without this patch, it complains: "version-etc.h", line 64:
3786         warning: token-less macro argument (E_TOKENLESS_MACRO)" when in
3787         pedantic mode.
3788         * lib/version-etc.h (version_etc): Port to C89 macro rules.
3790 2020-09-27  Bruno Haible  <bruno@clisp.org>
3792         Avoid "warning: The macro `AC_DECL_SYS_SIGLIST' is obsolete".
3793         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3794         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3795         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check for sys_siglist
3796         ourselves; don't use AC_DECL_SYS_SIGLIST.
3798 2020-09-27  Bruno Haible  <bruno@clisp.org>
3800         Avoid "warning: The macro `_AC_COMPUTE_INT' is obsolete".
3801         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3802         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3803         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Use AC_COMPUTE_INT
3804         instead of _AC_COMPUTE_INT.
3806 2020-09-27  Bruno Haible  <bruno@clisp.org>
3808         Avoid "warning: The macro `AC_HEADER_STDC' is obsolete".
3809         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3810         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3811         Based on a patch by Paul Eggert.
3812         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Don't require AC_HEADER_STDC. Don't
3813         test STDC_HEADERS. Assume <stdlib.h> exists.
3814         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
3816 2020-09-27  Bruno Haible  <bruno@clisp.org>
3818         Enable testing of prereleases of Autoconf 2.70.
3819         Suggested by Paul Eggert in
3820         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00160.html>.
3821         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Test for Autoconf >= 2.69c, not
3822         >= 2.70.
3823         * m4/largefile.m4 (AC_SYS_LARGEFILE): Likewise.
3824         * m4/pid_t.m4 (AC_TYPE_PID_T): Likewise.
3825         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Likewise.
3827 2020-09-27  Bruno Haible  <bruno@clisp.org>
3829         Avoid "warning: The macro `AC_PROG_CC_STDC' is obsolete".
3830         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3831         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
3832         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use AC_PROG_CC_C99 or
3833         AC_PROG_CC, depending on the Autoconf version.
3835 2020-09-27  Gavin Smith  <gavinsmith0123@gmail.com>
3837         Avoid "warning: The macro `AC_HELP_STRING' is obsolete".
3838         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Use AS_HELP_STRING instead
3839         of AC_HELP_STRING.
3840         * m4/libgcrypt.m4 (AM_PATH_LIBGCRYPT): Likewise.
3842 2020-09-27  Bruno Haible  <bruno@clisp.org>
3844         Avoid "warning: $as_echo_n is obsolete" from autoconf 2.69c.
3845         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3846         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
3847         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): Use gl_SILENT.
3849 2020-09-27  Bruno Haible  <bruno@clisp.org>
3851         extensions: Simplify last commit.
3852         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't require
3853         AC_GNU_SOURCE ever.
3855 2020-09-26  Paul Eggert  <eggert@cs.ucla.edu>
3857         extensions: require AC_GNU_SOURCE only for <=2.63
3858         Problem reported by Gavin Smith in:
3859         https://lists.gnu.org/r/autoconf/2020-09/msg00012.html
3860         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS):
3861         Require AC_GNU_SOURCE only for Autoconf 2.63 and earlier, since it
3862         shouldn’t be needed after that, and Autoconf 2.70 complains about
3863         it being obsolete.
3865 2020-09-26  Bruno Haible  <bruno@clisp.org>
3867         regex-tests: Make test more robust.
3868         * tests/test-regex.c (main): Make sure to revert the locale to "C" after
3869         the test in "tr_TR.UTF-8" locale. Exit if we can't revert it.
3871 2020-09-25  Paul Eggert  <eggert@cs.ucla.edu>
3873         regex-tests: fix possible Turkish false-alarm
3874         * modules/regex-tests (Depends-on): Add wctype-h.
3875         * tests/test-regex.c: Include wctype.h.
3876         (main): Check that ‘i’ uppercases to ‘İ’ in Turkish,
3877         as the Turkish regex test assumes this.
3879         regex-tests: fix test and add debug output
3880         Perhaps this will fix the recent grep test failure reported at:
3881         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/199
3882         At least, the debug output should help narrow down the failure.
3883         * tests/test-regex.c: Include stdarg.h, stdio.h.
3884         (exit_status): New var.
3885         (report_error): New function.
3886         (main): Use it to report failures to stdout instead of merely
3887         exiting with some nonzero status.  The status info alone isn’t
3888         enough to do remote debugging.  In the new tr_TR.UTF-8 test, clear
3889         regex before calling re_compile_pattern, fixing a portability bug.
3891         regex: no longer match glibc
3892         * config/srclist.txt: Comment out regex_internal.c for now.
3894 2020-09-23  Paul Eggert  <eggert@cs.ucla.edu>
3896         regex: fix ignore-case Turkish bug
3897         * lib/regex_internal.c (build_wcs_upper_buffer):
3898         Do not assume that converting single-byte character to upper
3899         yields a single-byte character.  This is not true for Turkish,
3900         where towupper (L'i') yields L'İ', which is not single-byte.
3901         * tests/test-regex.c (main): Test for this bug.
3903         regex: port to weird isascii platforms
3904         * lib/regex_internal.h (isascii) [!_LIBC]: Supply glibc version.
3906 2020-09-20  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3908         dfa: make dfasupported a global function
3909         * lib/dfa.c (dfasupported): Rename, and make it global.
3910         Update caller.
3911         * lib/dfa.h (dfasupported): Add prototype.
3913 2020-09-20  Bruno Haible  <bruno@clisp.org>
3915         canonicalize: Add support for UNC file names on native Windows.
3916         Reported and initial patch by Vaclav Slavik <vaclav@slavik.io> in
3917         <https://savannah.gnu.org/bugs/?59079>.
3918         * lib/canonicalize.c (canonicalize_filename_mode): For UNC file names,
3919         extend the prefix to include the server.
3921 2020-09-20  Bruno Haible  <bruno@clisp.org>
3923         supersede: Fix test failures on native Windows.
3924         * lib/supersede.c (open_supersede): Handle non-regular files on native
3925         Windows like on Solaris.
3926         * tests/test-supersede-open.h (test_open_supersede): Use O_BINARY flag.
3928 2020-09-20  Paul Eggert  <eggert@cs.ucla.edu>
3930         test-stdalign: test Oracle Studio better
3931         * doc/posix-headers/stdalign.texi (stdalign.h):
3932         * tests/test-stdalign.c (main):
3933         Sun Studio Bug #2125432 seems to be fixed.
3935         c-stack: output diagnostic in single 'write'
3936         * lib/c-stack.c (die): In the typical case, use just one 'write'
3937         syscall to output the diagnostic, as this lessens interleaving.
3938         (die, c_stack_action): Assume C99.
3939         * modules/c-stack (Depends-on): Add c99, mempcpy.
3941         c-stack: improve checking if !libsigsegv
3942         If SIGINFO_WORKS, do not treat a null pointer dereference as if it
3943         were a stack overflow.  Use uintptr_t and INT_ADD_WRAPV to avoid
3944         unlikely pointer overflow.  Also, fix some obsolete code and typos.
3945         I found these problems while looking into this bug report:
3946         https://lists.gnu.org/r/grep-devel/2020-09/msg00053.html
3947         * lib/c-stack.c: Include c-stack.h first, to test interface.
3948         Include inttypes.h for UINTPTR_MAX, stdbool.h, stddef.h for
3949         max_align_t, intprops.h for INT_ADD_WRAPV.
3950         (USE_LIBSIGSEGV): New macro; use it to simplify later code.
3951         (SIGSTKSZ): Simplify setup.  Work around libsigsegv bug only
3952         for libsigsegv 2.8 and earlier since the bug should be fixed
3953         after that.
3954         (alternate_signal_stack): Use max_align_t instead of doing it by hand.
3955         (segv_handler, overflow_handler, segv_handler) [DEBUG]:
3956         Assume sprintf returns byte count; this assumption is safe now.
3957         (page_size): New static volatile variable, since sysconf isn’t
3958         documented to be async-signal-safe on Solaris.  This variable is
3959         present and used if (!USE_LIBSIGSEGV && HAVE_SIGALTSTACK &&
3960         HAVE_DECL_SIGALTSTACK && HAVE_STACK_OVERFLOW_HANDLING &&
3961         SIGINFO_WORKS).
3962         (segv_handler): Use it if present.  Never report null pointer
3963         dereference as a stack overflow.  Check for (unlikely) unsigned
3964         and/or pointer overflow.
3965         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
3966         Rename cache variables to gl_cv_sys_stack_overflow_works
3967         and gl_cv_sys_xsi_stack_overflow_heuristic.
3968         All uses changed.
3969         (gl_PREREQ_C_STACK): Do not require AC_FUNC_ALLOCA, since
3970         c-stack no longer uses STACK_DIRECTION.
3971         Do not check for unistd.h, since we depend on unistd.
3972         Fix shell typo ‘$"ac_cv_sys_xsi_stack_overflow_heuristic"’.
3973         * modules/c-stack (Depends-on): Sort.  Add intprops, inttypes,
3974         stdbool, stddef.
3976 2020-09-20  Bruno Haible  <bruno@clisp.org>
3978         Revert now-unnecessary override of config.guess on Alpine Linux 3.10.
3979         * m4/musl.m4: Revert 2020-09-19 patch.
3980         * m4/setlocale_null.m4: Likewise.
3981         * modules/setlocale-null: Likewise.
3983 2020-09-19  Ben Pfaff  <blp@cs.stanford.edu>
3984             Bruno Haible  <bruno@clisp.org>
3986         relocatable-prog: Fix for multiple relocatable library directories.
3987         * build-aux/reloc-ldflags: Fix handling of multiple relocatable library
3988         directories.  Each one needs its own -Wl,-rpath,$dir option, instead of
3989         being attached to a single one.
3991 2020-09-19  Jim Meyering  <meyering@fb.com>
3993         test-verify.c: avoid -Wshadow warnings
3994         * tests/test-verify.c (gx): Rename global from "x". Adjust use.
3995         (enum): Capitalize member names. Adjust uses.
3997 2020-09-19  Bruno Haible  <bruno@clisp.org>
3999         havelib: Avoid linking with libc.a on GNU systems.
4000         Reported by Bruce Dubbs <bruce.dubbs@gmail.com> in
4001         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
4002         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When processing the
4003         dependency_libs value of a .la file, ignore '-lc' options on GNU
4004         systems.
4006 2020-09-19  Bruno Haible  <bruno@clisp.org>
4008         Fix recognition of musl libc on Alpine Linux 3.10.
4009         Reported by Jeffrey Walton <noloader@gmail.com> in
4010         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00020.html>.
4011         * m4/musl.m4 (gl_MUSL_CANONICAL_HOST): New macro.
4012         (gl_MUSL_LIBC): Require it.
4013         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Likewise.
4014         * modules/setlocale-null (Files): Add m4/musl.m4.
4016 2020-09-19  Bruno Haible  <bruno@clisp.org>
4018         nl_langinfo: Make multithread-safe on Solaris 10 and Solaris 11.3.
4019         Reported for Solaris 10 by Dagobert Michelsen via Paul Eggert in
4020         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00023.html>
4021         and for Solaris 11.3 by Jeffrey Walton <noloader@gmail.com> in
4022         <https://lists.gnu.org/archive/html/bug-grep/2020-06/msg00013.html>.
4023         * lib/nl_langinfo-lock.c: New file, based on lib/setlocale_null-lock.c.
4024         * lib/nl_langinfo.c: Include <stdlib.h> and <windows.h> or <pthread.h>
4025         or <threads.h>.
4026         (ITEMS, MAX_RESULT_LEN): New macros.
4027         (nl_langinfo_unlocked): New function.
4028         (gl_get_nl_langinfo_lock): New declaration.
4029         (nl_langinfo_with_lock): New function, based on lib/setlocale_null.c.
4030         (rpl_nl_langinfo): Use nl_langinfo_with_lock instead of nl_langinfo.
4031         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require gl_PTHREADLIB. Define
4032         HAVE_THREADS_H. Set NL_LANGINFO_MTSAFE. If setting it to 0, also set
4033         REPLACE_NL_LANGINFO.
4034         (gl_PREREQ_NL_LANGINFO_LOCK): New macro.
4035         * modules/nl_langinfo (Files): Add lib/nl_langinfo-lock.c,
4036         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
4037         (configure.ac): Compile nl_langinfo-lock.c when NL_LANGINFO_MTSAFE is 0.
4038         * doc/posix-functions/nl_langinfo.texi: Mention the Solaris bug.
4040 2020-09-18  Bruno Haible  <bruno@clisp.org>
4042         fsusage, getaddrinfo: Produce more regular configure output.
4043         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove AC_MSG_CHECKING without
4044         corresponding AC_MSG_RESULT.
4045         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
4047 2020-09-18  Bruno Haible  <bruno@clisp.org>
4049         Add back gl_SILENT.
4050         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): New macros.
4052 2020-09-18  Paul Eggert  <eggert@cs.ucla.edu>
4054         c-stack-tests: fix -fsanitize=undefined false alarm
4055         * tests/test-c-stack2.sh: Skip the test-harness self-test
4056         if ‘gcc -fsanitize=undefined’ is in use.
4058 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
4060         signalblocking: simplify and remove gl_SILENT
4061         gl_SILENT was problematic because if a trap was sprung, stderr
4062         generated during the trap was lost.  Avoid the problem by
4063         removing the need for gl_SILENT.
4064         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): Remove.
4065         * m4/signalblocking.m4 (gl_SIGNALBLOCKING):
4066         Simplify, avoiding the need for gl_SILENT while preserving the
4067         ability of the user to override the value of the cache variable,
4068         now ac_cv_func_sigprocmask.
4070 2020-09-17  Bruno Haible  <bruno@clisp.org>
4072         sigprocmask: Fix configuration failure on Solaris 10 (regr. 2020-07-25).
4073         * m4/gnulib-common.m4 (GL_TMP_FD): New macro.
4074         (gl_SILENT): Use 'exec', not a compound statement, to redirect
4075         AS_MESSAGE_FD.
4077 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
4079         intprops, xalloc: avoid __builtin_mul_overflow_p with Clang
4080         Problem reported by Nelson H. F. Beebe for clang 9.0.1 in:
4081         https://lists.gnu.org/r/grep-devel/2020-09/msg00028.html
4082         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P) [__clang__]:
4083         Define to 0.
4084         * lib/xalloc-oversized.h (xalloc_oversized) [__clang__]:
4085         Do not use __builtin_mul_overflow_p.
4087         libc-config: port __THROW to Ubuntu 4
4088         * lib/cdefs.h (__THROW): Do not use __attribute__ ((__nothrow__))
4089         for GCC 3.3.  Problem reported by Jeffrey Walton in:
4090         https://lists.gnu.org/r/bug-gnulib/2019-07/msg00058.html
4091         The GCC 3.3.4 documentation says the attribute should work, but
4092         apparently it does not work on Ubuntu 4’s GCC 3.3.  There seems
4093         little point or desire to research this circa-2004 platform further,
4094         so just avoid the attribute there.
4096 2020-09-17  Jim Meyering  <meyering@fb.com>
4098         test-dfa-match.sh: port timeout work-around to newer Busybox
4099         * tests/test-dfa-match.sh: Update timeout -t portability test to
4100         accommodate Busybox 1.30.0 and newer.
4102 2020-09-16  Paul Eggert  <eggert@cs.ucla.edu>
4104         fnmatch: adjust to match glibc fix
4105         This fixes handling of collating symbols in fnmatch (glibc bug 26620).
4106         This does not affect Gnulib; it merely keeps Gnulib and glibc
4107         closer together, to help with any eventual merge, by incorporating
4108         a recent glibc patch.  The patch and the following commentary is
4109         by Andreas Schwab.
4110         * lib/fnmatch_loop.c (FCT) [WIDE_CHAR_VERSION]: The variable idx
4111         contains the index into the extra array, whereas wextra points
4112         into the extra array at this index, containing the length of the
4113         following collating sequence in the wide character representation.
4115 2020-09-16  Bruno Haible  <bruno@clisp.org>
4117         stat, fstat: Fix compilation error with old mingw headers.
4118         Reported by Eli Zaretskii <eliz@gnu.org> in
4119         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
4120         * lib/stat-w32.c (VOLUME_NAME_NONE): Define if the Windows headers don't
4121         define it.
4123 2020-09-16  Bruno Haible  <bruno@clisp.org>
4125         stat, fstat: Fix when compiling for versions older than Windows Vista.
4126         Reported by Eli Zaretskii <eliz@gnu.org> in
4127         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
4128         * lib/stat-w32.c: Include <sdkddkver.h>. Test the value of _WIN32_WINNT
4129         that was originally set before we redefined it.
4130         * m4/stat.m4 (gl_PREREQ_STAT_W32): New macro.
4131         (gl_PREREQ_STAT): Require it.
4132         * m4/fstat.m4 (gl_PREREQ_FSTAT): Likewise.
4134 2020-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4136         dfa: remove dfa-heap-overrun workaround
4137         * lib/dfa.c (reorder_tokens): Go back to a single pass that
4138         both sets map[*] and does other things.  This reverts
4139         2020-09-14T01:20:01Z!eggert@cs.ucla.edu, which is no longer
4140         neeeded now that 2020-09-14T13:21:05Z!noritnk@kcn.ne.jp
4141         fixed the underlying problem.
4143 2020-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4145         dfa: avoid use of uninitialized constraint
4146         * lib/dfa.c (merge_nfa_state): Do not initialize the constraint
4147         to zero here.
4148         (dfaoptimize): Do it here instead, via xcalloc.  This prevents the
4149         use of an uninitialized constraint by later code when ! (flags[i]
4150         & OPT_QUEUED) means merge_nfa_state was not called to initialize
4151         the constraint.  Problem found by running 'valgrind src/grep -E
4152         '(^| )*(a|b)*(c|d)*( |$)' < /dev/null' on Ubuntu 18.04.5 x86-64.
4154         dfa: assume C99 in reorder_tokens
4155         * lib/dfa.c (reorder_tokens): Assume C99 and simplify.
4157         dfa: fix dfa-heap-overrun failure
4158         * lib/dfa.c (reorder_tokens): When setting
4159         map[d->follows[i].elems[j].index], instead of incorrectly assuming
4160         that (i < d->follows[i].elems[j].index), use two loops, one to set
4161         the map array and the other to use it.  The incorrect assumption
4162         caused some elements to be missed, and this in turn caused grep's
4163         dfa-heap-overrun test to fail on Solaris 10 sparc when compiled
4164         with GCC.  I found this bug while investigating
4165         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/183
4166         and I think the bug also occurs on GNU/Linux but with more-subtle
4167         symptoms.  The bug predates the recent dfa.c changes; perhaps the
4168         recent changes make the bug more likely.
4170 2020-09-13  Bruno Haible  <bruno@clisp.org>
4172         parse-datetime: Make the build rule work with parallel 'make'.
4173         Reported by Daiki Ueno <ueno@gnu.org> in
4174         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00036.html>.
4175         * modules/parse-datetime (Makefile.am): Use a phony target and the
4176         general idiom for rules that produce multiple files.
4178 2020-09-13  Ben Pfaff  <blp@cs.stanford.edu>
4180         getpass: Check for nonnull prompt argument while avoiding warnings.
4181         * lib/getpass.c (_GL_ARG_NONNULL): Define to empty.
4182         (getpass) [!_WIN32]: Print prompt only if nonnull.
4184 2020-09-12  Paul Eggert  <eggert@cs.ucla.edu>
4186         dfa: epsilon-closure tweaks (Bug#40634)
4187         Rename BACKWORD to BACKWARD consistently.
4188         * lib/dfa.c (struct dfa): Reorder members to reduce fragmentation.
4189         (addtok_mb): Redo slightly to make it act more like a state machine.
4190         Check depth only when it increases.
4191         (epsclosure): Let the switch test the tokens.
4192         (dfaanalyze): Cache tindex.  Simplify position loops.
4193         Prefer xcalloc to xnmalloc + explicit zeroing.  Free BACKWARD
4194         only if it is not null, since we're testing that anyway.
4195         (dfaanalyze, build_state): Use merge2 instead of doing it by hand.
4197 2020-09-12  Norihiro Tanaka  <noritnk@kcn.ne.jp>
4199         dfa: use backward set in removal of epsilon closure
4200         When removing in epsilon closure, the code searched all nodes
4201         sequentially, and this was slow for some cases.  Build a backward
4202         set before search, and only check previous position with the set.
4203         Problem reported in <https://bugs.gnu.org/40634>.
4204         * lib/dfa.c (struct dfa): New member 'epsilon'.
4205         (addtok_mb): Check whether a pattern has epsilon node or not.
4206         (epsclosure): New arg BACKWORD; caller changed.  When removing
4207         epsilon node and reconnecting, check only previous positions.
4208         Treat BEG as if it were character.
4209         (dfaanalyze): Build backward set.
4211 2020-09-10  Paul Eggert  <eggert@cs.ucla.edu>
4213         canonicalize: fix pointer indexing bugs
4214         Problem reported by Florian Weimer in:
4215         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00025.html
4216         * lib/canonicalize-lgpl.c (__realpath):
4217         * lib/canonicalize.c (canonicalize_filename_mode):
4218         Do not generate a pointer past the end of the array.
4219         * lib/canonicalize.c (canonicalize_filename_mode):
4220         Do not use a pointer after passing it to realloc.
4222 2020-09-09  Paul Eggert  <eggert@cs.ucla.edu>
4224         tempname: help merge with glibc
4225         Inspired by draft patches by Adhemerval Zanella in:
4226         https://sourceware.org/pipermail/libc-alpha/2020-September/117501.html
4227         https://sourceware.org/pipermail/libc-alpha/2020-September/117502.html
4228         * lib/tempname.c: Include stdalign.h, time.h.
4229         If _LIBC, do not include random-bits.h.
4230         (__getrandom, __clock_gettime64, __timespec64) [!_LIBC]: New macros.
4231         (RANDOM_BITS): Remove, replacing with ...
4232         (random_bits): ... this new static function.  All uses changed.
4233         Add entropy each time if getrandom is not supported.
4234         (RANDOM_VALUE, BASE_62_DIGITS, BASE_62_POWER):
4235         Assume 64-bit support a la C99.
4236         (try_tempname_len): Take advantage of ASLR when initializing
4237         random value.
4238         * modules/tempname (Depends-on): Add clock-time, stdalign, time.
4240         getcwd: merge recent glibc changes
4241         * lib/getcwd.c (GETCWD_RETURN_TYPE) [!_LIBC]: New macro.
4242         (__getcwd, getcwd) [_LIBC && !GETCWD_RETURN_TYPE]: Add aliases.
4244 2020-09-06  Bruno Haible  <bruno@clisp.org>
4246         attribute: Clarify which file to include.
4247         * modules/attribute (Include): Add "attribute.h".
4249 2020-09-06  Bruno Haible  <bruno@clisp.org>
4251         pipe-filter-ii, pipe-filter-gi: Fix warnings on native Windows.
4252         * lib/pipe-filter-ii.c: Include <process.h>.
4253         * lib/pipe-filter-gi.c: Likewise.
4255 2020-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4257         verify: avoid __builtin_assume
4258         Our latest attempt to use Clang’s __builtin_assume caused a crash
4259         in GNU Emacs that we spent quite some time tracking down as being
4260         caused by the switch to __builtin_assume.  It’s not known whether
4261         the crash is due is a Clang bug or a portability bug in GNU Emacs.
4262         For now, play it safe and avoid __builtin_assume.
4263         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): Remove.
4264         (assume): Simplify by not trying to use Clang’s __builtin_assume.
4266 2020-09-05  Bruno Haible  <bruno@clisp.org>
4268         Fix several "warning: no previous prototype for function".
4269         * modules/unicase/locale-language (Makefile.am): Add a 'static' keyword
4270         in front of the declaration of the lookup function in
4271         unicase/locale-languages.h.
4272         * modules/unictype/bidiclass-byname (Makefile.am): Likewise in
4273         unictype/bidi_byname.h.
4274         * modules/unictype/category-byname (Makefile.am): Likewise in
4275         unictype/categ_byname.h.
4276         * modules/unictype/combining-class-byname (Makefile.am): Likewise in
4277         unictype/combiningclass_byname.h.
4278         * modules/unictype/joininggroup-byname (Makefile.am): Likewise in
4279         unictype/joininggroup_byname.h.
4280         * modules/unictype/joiningtype-byname (Makefile.am): Likewise in
4281         unictype/joiningtype_byname.h.
4282         * modules/unictype/property-byname (Makefile.am): Likewise in
4283         unictype/pr_byname.h.
4284         * modules/unictype/scripts (Makefile.am): Likewise in
4285         unictype/scripts_byname.h.
4286         * modules/uninorm/composition (Makefile.am): Likewise in
4287         uninorm/composition-table.h.
4289 2020-09-05  Bruno Haible  <bruno@clisp.org>
4291         select: Fix "warning: no previous prototype for function".
4292         * lib/select.c: Include <sys/select.h>.
4294 2020-09-05  Bruno Haible  <bruno@clisp.org>
4296         Use module 'c99' when needed for variadic macros with '...' syntax.
4297         * modules/crypto/sm3 (Depends-on): Add c99.
4299 2020-09-05  Bruno Haible  <bruno@clisp.org>
4301         Use module 'c99' when needed for subobject initializer syntax.
4302         * modules/tempname (Depends-on): Add c99.
4303         * modules/nstrftime-tests (Depends-on): Likewise.
4305 2020-09-05  Bruno Haible  <bruno@clisp.org>
4307         Use module 'c99' when needed for declaration-after-statement syntax.
4308         * modules/backup-rename (Depends-on): Add c99.
4309         * modules/backupfile (Depends-on): Likewise.
4310         * modules/bitset-tests (Depends-on): Likewise.
4311         * modules/bitsetv (Depends-on): Likewise.
4312         * modules/c-strtod (Depends-on): Likewise.
4313         * modules/c-strtold (Depends-on): Likewise.
4314         * modules/clean-temp (Depends-on): Likewise.
4315         * modules/copy-file (Depends-on): Likewise.
4316         * modules/crypto/hmac-md5-tests (Depends-on): Likewise.
4317         * modules/crypto/hmac-sha1-tests (Depends-on): Likewise.
4318         * modules/crypto/hmac-sha256-tests (Depends-on): Likewise.
4319         * modules/crypto/hmac-sha512-tests (Depends-on): Likewise.
4320         * modules/crypto/md5-buffer (Depends-on): Likewise.
4321         * modules/crypto/md5-tests (Depends-on): Likewise.
4322         * modules/crypto/sha1-buffer (Depends-on): Likewise.
4323         * modules/crypto/sha1-tests (Depends-on): Likewise.
4324         * modules/crypto/sha256-buffer (Depends-on): Likewise.
4325         * modules/crypto/sha256-tests (Depends-on): Likewise.
4326         * modules/crypto/sha512-buffer (Depends-on): Likewise.
4327         * modules/crypto/sha512-tests (Depends-on): Likewise.
4328         * modules/diffseq (Depends-on): Likewise.
4329         * modules/fatal-signal (Depends-on): Likewise.
4330         * modules/fchmodat (Depends-on): Likewise.
4331         * modules/fstrcmp (Depends-on): Likewise.
4332         * modules/fsusage (Depends-on): Likewise.
4333         * modules/fts (Depends-on): Likewise.
4334         * modules/fts-tests (Depends-on): Likewise.
4335         * modules/getumask (Depends-on): Likewise.
4336         * modules/git-merge-changelog (Depends-on): Likewise.
4337         * modules/hash-map (Depends-on): Likewise.
4338         * modules/hash-set (Depends-on): Likewise.
4339         * modules/lchmod (Depends-on): Likewise.
4340         * modules/libgmp-tests (Depends-on): Likewise.
4341         * modules/libtextstyle-optional-tests (Depends-on): Likewise.
4342         * modules/linkedhash-map (Depends-on): Likewise.
4343         * modules/linkedhash-set (Depends-on): Likewise.
4344         * modules/long-options (Depends-on): Likewise.
4345         * modules/mbrtoc32 (Depends-on): Likewise.
4346         * modules/memchr2-tests (Depends-on): Likewise.
4347         * modules/memmem-tests (Depends-on): Likewise.
4348         * modules/memrchr-tests (Depends-on): Likewise.
4349         * modules/mktime-internal (Depends-on): Likewise.
4350         * modules/nstrftime (Depends-on): Likewise.
4351         * modules/opendirat (Depends-on): Likewise.
4352         * modules/parse-datetime (Depends-on): Likewise.
4353         * modules/quotearg-simple-tests (Depends-on): Likewise.
4354         * modules/same (Depends-on): Likewise.
4355         * modules/supersede (Depends-on): Likewise.
4356         * modules/supersede-tests (Depends-on): Likewise.
4357         * modules/time_rz (Depends-on): Likewise.
4358         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
4359         * modules/unistr/u32-chr-tests (Depends-on): Likewise.
4360         * modules/unistr/u8-chr-tests (Depends-on): Likewise.
4361         * modules/xalloc (Depends-on): Likewise.
4362         * modules/xnanosleep (Depends-on): Likewise.
4364 2020-09-05  Bruno Haible  <bruno@clisp.org>
4366         Fix "warning: array initialized from parenthesized string constant".
4367         * tests/test-memmem.c (main): Remove parentheses around string constant.
4368         * tests/test-c-strcasestr.c (main): Likewise.
4369         * tests/test-strcasestr.c (main): Likewise.
4371 2020-09-05  Bruno Haible  <bruno@clisp.org>
4373         argmatch tests: Fix ISO C compliance warning.
4374         * tests/test-argmatch.c: Omit semicolon after ARGMATCH_DEFINE_GROUP
4375         invocation.
4377 2020-09-05  Bruno Haible  <bruno@clisp.org>
4379         uniname/uniname: Fix -Wshadow warning.
4380         * lib/uniname/uniname.c (unicode_name_word): Don't declare i upfront.
4381         * modules/uniname/uniname (Depends-on): Add c99.
4383 2020-09-05  Bruno Haible  <bruno@clisp.org>
4385         uniname/uniname: Fix -Wshorten-64-to-32 warnings.
4386         * lib/uniname/uniname.c (unicode_name_word_lookup): Change type of last
4387         argument to size_t.
4388         (unicode_name_character): Change type of len, n1, n2, n3, words_length,
4389         n to size_t.
4391 2020-09-05  Bruno Haible  <bruno@clisp.org>
4393         unistr/u{8,16,32}-uctomb: Avoid possible trouble with huge strings.
4394         * lib/unistr.in.h (u8_uctomb_aux, u8_uctomb, u16_uctomb_aux, u16_uctomb,
4395         u32_uctomb): Change type of last argument to ptrdiff_t.
4396         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
4397         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
4398         * lib/unistr/u16-uctomb.c (u16_uctomb): Likewise.
4399         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise.
4400         * lib/unistr/u32-uctomb.c (u32_uctomb): Likewise.
4402 2020-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4404         manywarnings: remove -Wchkp and -Wabi from C++ too
4405         Suggested by Reuben Thomas in:
4406         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00001.html
4407         At some point somebody should merge the many other manywarnings-c.m4
4408         changes into manywarnings-c++.m4 too, e.g.,
4409         2020-07-02T00:00:51Z!eggert@cs.ucla.edu.
4410         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
4411         Remove -Wchkp, -Wabi.
4413 2020-08-30  Bruno Haible  <bruno@clisp.org>
4415         strerrorname_np: Add tests.
4416         * tests/test-strerrorname_np.c: New file.
4417         * modules/strerrorname_np-tests: New file.
4419         strerrorname_np: New module.
4420         * lib/string.in.h (strerrorname_np): New declaration.
4421         * lib/strerrorname_np.c: New file.
4422         * m4/strerrorname_np.m4: New file.
4423         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether strerrorname_np
4424         is declared.
4425         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERRORNAME_NP,
4426         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
4427         * modules/string (Makefile.am): Substitute GNULIB_STRERRORNAME_NP,
4428         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
4429         * modules/strerrorname_np: New file.
4430         * tests/test-string-c++.cc: Verify the signature of strerrorname_np.
4431         * doc/glibc-functions/strerrorname_np.texi: Mention the new module and
4432         the glibc 2.32 bug.
4434 2020-08-27  Paul Eggert  <eggert@cs.ucla.edu>
4436         perror, strerror_r: remove unportable tests
4437         Problem reported by Florian Weimer in:
4438         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
4439         * tests/test-perror2.c (main):
4440         * tests/test-strerror_r.c (main): Omit unportable tests.
4442 2020-08-26  Bruno Haible  <bruno@clisp.org>
4444         stdint, wchar, wctype-h: Change configure message.
4445         * m4/wint_t.m4 (gt_TYPE_WINT_T): Say "checking whether wint_t is large
4446         enough..." instead of "checking whether wint_t is too small...".
4448 2020-08-26  Bruno Haible  <bruno@clisp.org>
4450         time_rz: Change configure message.
4451         * m4/time_rz.m4 (gl_TIME_RZ): Say "checking whether localtime works even
4452         near extrema..." instead of "checking whether localtime loops forever
4453         near extrema...".
4455 2020-08-26  Bruno Haible  <bruno@clisp.org>
4457         stdint: Change configure message.
4458         * m4/stdint.m4 (gl_STDINT_H): Say "checking whether stdint.h works
4459         without ISO C predefines..." instead of "checking whether stdint.h
4460         predates C++11...".
4462 2020-08-26  Bruno Haible  <bruno@clisp.org>
4464         socketlib: Change configure message.
4465         * m4/socketlib.m4 (gl_SOCKETLIB): Say "checking for WSAStartup..."
4466         instead of "checking if we need to call WSAStartup in winsock2.h and
4467         -lws2_32...".
4469 2020-08-26  Bruno Haible  <bruno@clisp.org>
4471         include_next: Change configure message.
4472         * m4/include_next.m4 (gl_INCLUDE_NEXT): Say "checking whether source
4473         code line length is unlimited..." instead of "checking whether system
4474         header files limit the line length...".
4476 2020-08-26  Bruno Haible  <bruno@clisp.org>
4478         getcwd: Change configure message.
4479         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Say "checking
4480         whether getcwd succeeds when 4k < cwd_length < 16k..." instead of
4481         "checking whether getcwd aborts when 4k < cwd_length < 16k...".
4483 2020-08-26  Bruno Haible  <bruno@clisp.org>
4485         chdir-long: Change configure message.
4486         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Say "checking whether this
4487         system supports file names of any length..." instead of "checking
4488         whether this system has an arbitrary file name length limit...".
4489         Set gl_cv_have_unlimited_file_name_length instead of
4490         gl_cv_have_arbitrary_file_name_length_limit.
4491         * modules/chdir-long (Depends-on, configure.ac): Update accordingly.
4493 2020-08-26  Bruno Haible  <bruno@clisp.org>
4495         ceill: Change configure message.
4496         * m4/ceill.m4 (gl_FUNC_CEILL): Say "checking whether ceill() works..."
4497         instead of "checking whether ceill() breaks with small values...".
4499 2020-08-26  Bruno Haible  <bruno@clisp.org>
4501         iconv: Change configure message.
4502         * m4/iconv.m4 (AM_ICONV): Say "checking whether iconv is compatible
4503         with its POSIX signature..." instead of "checking for iconv
4504         declaration...". Remove K&R C support.
4506 2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>
4508         getcwd: help the merge back into glibc
4509         This patch was inspired by Adhemerval Zanella’s proposed glibc patches:
4510         https://sourceware.org/pipermail/libc-alpha/2020-August/117294.html
4511         The idea is to make it easier for Gnulib lib/getcwd.c to match
4512         glibc io/getcwd-generic.c.
4513         * lib/getcwd.c [_LIBC]: Do not include pathmax.h.
4514         Include not-cancel.h.
4515         (HAVE_OPENAT, D_INO_IN_DIRENT, HAVE_MSVC_INVALID_PARAMETER_HANDLER)
4516         (HAVE_MINIMALLY_WORKING_GETCWD): Define for the _LIBC case.
4517         (__getcwd, __lstat, __readdir) [!_LIBC]: Remove these macros.
4518         (__close_nocancel_nostatus, __getcwd_generic, stat64, __fstat64)
4519         (__fstatat64, __lstat64, __readdir64, __fdopendir, __openat)
4520         (__rewinddir, __openat64, dirent64) [_LIBC]: New macros.
4521         (__getcwd_generic): Rename from __getcwd.
4522         Use the abovementioned macros for consistency with glibc.
4523         (weak_alias): Remove.
4525 2020-08-25  Bruno Haible  <bruno@clisp.org>
4527         verify: Avoid warnings when assume(0) is used.
4528         Reported by Mattias Engdegård <mattiase@acm.org> via Paul Eggert in
4529         <https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00838.html>.
4530         * lib/verify.h (assume): Use __builtin_unreachable if the argument is
4531         the constant 0.
4532         * tests/test-verify.c (f): New function.
4533         (state): New type.
4534         (test_assume_expressions, test_assume_optimization,
4535         test_assume_noreturn): New functions.
4537 2020-08-25  Bruno Haible  <bruno@clisp.org>
4539         fstrcmp: Clarification regarding NOTE_ORDERED.
4540         * lib/fstrcmp.c (NOTE_ORDERED): Define to false.
4542 2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4544         diffseq: new option NOTE_ORDERED
4545         Problem reported by Phil Sainty <https://bugs.gnu.org/42931>.
4546         * NEWS: Mention this.
4547         * lib/diffseq.h (NOTE_ORDERED): New macro.
4548         (IF_LINT2): Remove; no longer needed.
4549         (compareseq): If (!NOTE_ORDERED), recurse on the smaller
4550         subproblem and iterate to do the larger.
4552 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4554         sys_types: let Autoconf 2.70 do pid_t
4555         * m4/pid_t.m4 (AC_TYPE_PID_T): Redefine this Autoconf macro
4556         only for Autoconf versions 2.69 and earlier, since 2.70
4557         will be fixed.
4559 2020-08-23  Bruno Haible  <bruno@clisp.org>
4561         tests: Don't assume that pid_t fits in an 'int'.
4562         * tests/test-nonblocking-pipe-main.c (main): Use type 'pid_t' instead
4563         of 'int'.
4564         * tests/test-nonblocking-socket-main.c (main): Likewise.
4566         sys_types: Fix definition of pid_t on 64-bit MSVC.
4567         * m4/pid_t.m4: New file.
4568         * modules/sys_types (Files): Add it.
4569         * modules/dirent (Files): Likewise.
4570         * modules/fcntl-h (Files): Likewise.
4571         * modules/sched (Files): Likewise.
4572         * modules/signal-h (Files): Likewise.
4573         * modules/spawn (Files): Likewise.
4574         * modules/sys_stat (Files): Likewise.
4575         * modules/sys_wait (Files): Likewise.
4576         * modules/termios (Files): Likewise.
4577         * modules/unistd (Files): Likewise.
4579 2020-08-23  Bruno Haible  <bruno@clisp.org>
4581         inttypes: Fix {PRI,SCN}*PTR on 32-bit native Windows (regr. 2020-07-21).
4582         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Fix syntax error in test
4583         program.
4585 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4587         intprops: be consistent about +X vs X+0
4588         * lib/intprops.h (_GL_SIGNED_INT_MAXIMUM): Simplify.
4590         intprops: fix INT_MULTIPLY_WRAPV bit-field bug
4591         The bug occurs when using INT_MULTIPLY_WRAPV (a, b, c) where B
4592         is a bit-field, on older GCC or non-GCC compilers where we do
4593         things ourselves instead of using __builtin_mul_overflow.
4594         Without this fix, INT_MULTIPLY_WRAPV would not compile, due
4595         to applying sizeof to a bit-field.
4596         * lib/intprops.h (_GL_INT_MULTIPLY_RANGE_OVERFLOW):
4597         Promote B before giving it to TYPE_WIDTH, in case B is a bit-field.
4599 2020-08-23  Bruno Haible  <bruno@clisp.org>
4601         supersede: Avoid a failure when writing to /dev/null in Solaris zones.
4602         Reported by Jörg Sonnenberger <joerg@netbsd.org>
4603         via Thomas Klausner <tk@giga.or.at> in
4604         <https://pkgsrc.se/files.php?messageId=20200812233110.30230FB28@cvs.NetBSD.org>.
4605         * lib/supersede.c (open_supersede): When opening an existing non-regular
4606         file on Solaris, use O_CREAT although it should not be necessary.
4608 2020-08-23  Bruno Haible  <bruno@clisp.org>
4610         verify: Make assume work on bit field expressions (regr. 2020-08-22).
4611         Reported by Benno Schulenberg <bensberg@telfort.nl> in
4612         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00202.html>.
4613         * lib/verify.h (assume): Use '_Bool' or 'bool' as type of the temporary
4614         variable.
4616 2020-08-23  Bruno Haible  <bruno@clisp.org>
4618         libc-config: Improve comments.
4619         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Explain why we
4620         cannot use clang's __diagnose_if__ here.
4622 2020-08-22  Bruno Haible  <bruno@clisp.org>
4624         verify: Do use __builtin_assume on clang.
4625         * lib/verify.h (assume): Use clang’s __builtin_assume, with a temporary
4626         variable in a statement expression.
4628 2020-08-22  Bruno Haible  <bruno@clisp.org>
4630         sig2str: Add more signals.
4631         * lib/sig2str.c (numname_table): Add SIGCPUFAIL, SIGTHR, SIGBREAK.
4633 2020-08-22  Bruno Haible  <bruno@clisp.org>
4635         doc: Update for OpenBSD 6.0, 6.7.
4636         * doc/*/*.texi: Update.
4637         * m4/printf.m4: Update comments and cross-compilation guesses.
4638         * m4/ceill.m4: Update comments.
4639         * m4/getcwd-abort-bug.m4: Likewise.
4640         * m4/ilogb.m4: Likewise.
4641         * m4/ilogbf.m4: Likewise.
4642         * m4/langinfo_h.m4: Likewise.
4643         * m4/modf.m4: Likewise.
4644         * m4/modff.m4: Likewise.
4646 2020-08-22  Bruno Haible  <bruno@clisp.org>
4648         doc: Mention sig2str module.
4649         * doc/glibc-functions/sigabbrev_np.texi: Mention the sig2str module.
4651 2020-08-21  Bruno Haible  <bruno@clisp.org>
4653         sigdescr_np: Add tests.
4654         * tests/test-sigdescr_np.c: New file.
4655         * modules/sigdescr_np-tests: New file.
4657         sigdescr_np: New module.
4658         * lib/string.in.h (sigdescr_np): New declaration.
4659         * lib/sigdescr_np.c: New file.
4660         * m4/sigdescr_np.m4: New file.
4661         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigdescr_np is
4662         declared.
4663         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGDESCR_NP,
4664         HAVE_SIGDESCR_NP.
4665         * modules/string (Makefile.am): Substitute GNULIB_SIGDESCR_NP,
4666         HAVE_SIGDESCR_NP.
4667         * modules/sigdescr_np: New file.
4668         * tests/test-string-c++.cc: Verify the signature of sigdescr_np.
4669         * doc/glibc-functions/sigdescr_np.texi: Mention the new module.
4671 2020-08-20  Bruno Haible  <bruno@clisp.org>
4673         sigabbrev_np: Add tests.
4674         * tests/test-sigabbrev_np.c: New file.
4675         * modules/sigabbrev_np-tests: New file.
4677         sigabbrev_np: New module.
4678         * lib/string.in.h (sigabbrev_np): New declaration.
4679         * lib/sigabbrev_np.c: New file.
4680         * m4/sigabbrev_np.m4: New file.
4681         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigabbrev_np is
4682         declared.
4683         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGABBREV_NP,
4684         HAVE_SIGABBREV_NP.
4685         * modules/string (Makefile.am): Substitute GNULIB_SIGABBREV_NP,
4686         HAVE_SIGABBREV_NP.
4687         * modules/sigabbrev_np: New file.
4688         * tests/test-string-c++.cc: Verify the signature of sigabbrev_np.
4689         * doc/glibc-functions/sigabbrev_np.texi: Mention the new module.
4691 2020-08-20  Bruno Haible  <bruno@clisp.org>
4693         stdalign tests: Skip test with AIX xlclang.
4694         * tests/test-stdalign.c (main): Skip alignas tests with AIX xlclang.
4696 2020-08-20  Bruno Haible  <bruno@clisp.org>
4698         stdalign: Fix test failures on 32-bit platforms with clang versions < 8.
4699         * lib/stdalign.in.h (_Alignof): For clang versions < 8, use the same
4700         workaround as for GCC versions < 4.9.
4702 2020-08-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4704         Sync up ProjectQuirks comments and documentation
4705         Transform the ProjectQuirks comments into a docstring so that it can
4706         be accessed from python as ProjectQuirks.__doc__ and harmonize
4707         descriptions with the documentation.
4708         * build-aux/vcstocl/projectquirks.py (ProjectQuirks):
4709         Transform comments into a docstring.
4710         * doc/vcs-to-changelog.texi: Sync up description with comments.
4712         Split ProjectQuirks out into its own file
4713         ProjectQuirks is used by external quirks files and importing it from
4714         vcs-to-changelog.py is broken since it was renamed to use hyphens.  It
4715         is cleaner to put it in its own file anyway.
4716         * build-aux/vcstocl/projectquirks.py: A new file...
4717         * build-aux/vcs-to-changelog.py (ProjectQuirks): ...to which
4718         we move ProjectQuirks and import the file.
4720 2020-08-19  Bruno Haible  <bruno@clisp.org>
4722         uchar: Fix compilation errors in C++ mode on macOS.
4723         * m4/uchar.m4 (gl_UCHAR_H): Require gl_ANSI_CXX if present. Include some
4724         system header file before attempting to use 'char16_t' and 'char32_t'.
4726 2020-08-19  Bruno Haible  <bruno@clisp.org>
4728         ansi-c++-opt: Work around an autoconf macro reordering problem.
4729         * modules/ansi-c++-opt: Require gl_ANSI_CXX already in the early
4730         section.
4732 2020-08-19  Bruno Haible  <bruno@clisp.org>
4734         math C++ tests: Fix compilation error in with GCC 10.
4735         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
4736         hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder, rint,
4737         round, trunc): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
4739 2020-08-19  Bruno Haible  <bruno@clisp.org>
4741         uchar: Fix compilation errors in C++ mode on OpenBSD.
4742         * lib/uchar.in.h (char16_t, char32_t): Don't define in C++ mode if
4743         CXX_HAS_UCHAR_TYPES is 1.
4744         * m4/uchar.m4 (gl_UCHAR_H): Determine whether the C++ compiler
4745         predefines char16_t and char32_t. Substitute CXX_HAS_UCHAR_TYPES.
4746         * modules/uchar (Makefile.am): Substitute CXX_HAS_UCHAR_TYPES.
4748 2020-08-19  Bruno Haible  <bruno@clisp.org>
4750         Fix compilation errors in C++ mode on OpenBSD.
4751         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on
4752         OpenBSD with clang, use the approach without C preprocessor macro.
4754 2020-08-18  Bruno Haible  <bruno@clisp.org>
4756         uchar C++ tests: Fix side effect on math modules (regr. 2020-08-17).
4757         * modules/uchar-c++-tests (configure.ac): Don't use AC_LANG_PUSH and
4758         AC_LANG_POP.
4760 2020-08-17  Paul Eggert  <eggert@cs.ucla.edu>
4762         verify: avoid __built_assume on Clang
4763         * lib/verify.h (assume): Do not use Clang’s __builtin_assume, as
4764         Clang 9 incorrectly diagnoses arguments as having side effects
4765         even when they do not.  I guess Clang 9 considers any function
4766         call as if it had a side effect here.
4768         libc-config: avoid Clang’s __diagnose_if__
4769         * lib/cdefs.h (__warndecl, __warnattr, __errordecl):
4770         For now, do not use __diagnose_if__ here, as this fails
4771         on Fedora 31 with Clang 9.0.1, with diagnostic
4772         "/usr/include/bits/stdio2.h:263:9: error: fgets called with bigger
4773         size than length of destination buffer
4774         [-Werror,-Wuser-defined-warnings]".  I guess Clang 9 warns even
4775         for functions that are not called?
4777         careadlinkat: speedup for GCC 10 with GCC_LINT
4778         Inspired by a suggestion by Bruno Haible in:
4779         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00155.html
4780         * lib/careadlinkat.c (STACK_BUF_SIZE): New constant.
4781         (readlink_stk): New function, with most of the old careadlinkat
4782         contents and with a new STACK_BUF arg.  Inline it in GCC 10
4783         if GCC_LINT.
4784         (careadlinkat): Use the new function for everything but the
4785         stack buffer.
4787         * build-aux/gcc-warning.spec: Update comments.
4789 2020-08-17  Bruno Haible  <bruno@clisp.org>
4791         Assume autoconf >= 2.64.
4792         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO_LIMIT always.
4794 2020-08-17  Bruno Haible  <bruno@clisp.org>
4796         Revert autoupdate's revert.
4797         * config/srclist.txt: Mark regcomp.c as needing sync with glibc.
4799 2020-08-17  Bruno Haible  <bruno@clisp.org>
4801         uchar C++ tests: Fix build error on FreeBSD 12.
4802         * modules/uchar-c++-tests (configure.ac): Test whether <cuchar> exists.
4803         (Makefile.am): Don't include test-uchar-c++2.cc in the compilation if
4804         <cuchar> does not exist.
4806 2020-08-16  Paul Eggert  <eggert@cs.ucla.edu>
4808         time_rz: remove unused functions
4809         * lib/time_rz.c (isdst_differ, equal_tm): Remove; no longer used.
4811         time_rz: fix issues with mktime_z failures
4812         * lib/time_rz.c (mktime_z): Do not update *TM if revert_tz fails.
4813         Use a cheaper tm_yday test for failed mktime.
4815 2020-08-16  Bruno Haible  <bruno@clisp.org>
4817         intprops test: Strengthen on clang.
4818         * tests/test-intprops.c (VERIFY): Use verify_stmt.
4820 2020-08-16  Bruno Haible  <bruno@clisp.org>
4822         nstrftime: Guide inlining also on clang.
4823         * lib/nstrftime.c (iso_week_days): Inline also on clang.
4825 2020-08-16  Bruno Haible  <bruno@clisp.org>
4827         intprops: Avoid bogus "warning: division by zero is undefined" on clang.
4828         * lib/intprops.h (_GL__GENERIC_BOGUS): Define to 1 on clang.
4830 2020-08-16  Bruno Haible  <bruno@clisp.org>
4832         log2l: Disable MSVC workaround on clang.
4833         * lib/log2l.c (log2l): On clang, use the expression 0.0L/0.0L.
4835 2020-08-16  Bruno Haible  <bruno@clisp.org>
4837         argp: Emit a warning also with clang.
4838         * lib/argp-help.c (__argp_short_program_name): Use #warning also on
4839         clang.
4841 2020-08-16  Bruno Haible  <bruno@clisp.org>
4843         libc-config: Enable __REDIRECT macro also on clang.
4844         * lib/cdefs.h (__REDIRECT, __REDIRECT_NTH, __REDIRECT_NTHNL, __ASMNAME,
4845         __ASMNAME2): Define on clang like on GCC.
4847 2020-08-16  Bruno Haible  <bruno@clisp.org>
4849         regex: Use initializer shorthand syntax also with clang.
4850         * lib/regcomp.c (utf8_sb_map): Use the initializer shorthand syntax also
4851         with clang.
4853 2020-08-16  Bruno Haible  <bruno@clisp.org>
4855         regex: Use space optimization also with clang.
4856         * lib/regex_internal.h (re_token_t): Use a single byte for the type also
4857         with clang.
4859 2020-08-16  Bruno Haible  <bruno@clisp.org>
4861         Use _Static_assert and static_assert primitives when present on clang.
4862         * lib/cdefs.h (_Static_assert): Don't define as a macro on clang.
4863         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1,
4864         _GL_HAVE_STATIC_ASSERT1): Define as appropriate on clang.
4866 2020-08-16  Bruno Haible  <bruno@clisp.org>
4868         Use 'throw ()' for optimization in C++ mode also on clang.
4869         * lib/cdefs.h (__THROW): Define to 'throw ()' also on clang.
4870         * lib/getopt-cdefs.in.h (__THROW): Likewise.
4871         * lib/md5.h (__THROW): Likewise.
4873 2020-08-16  Bruno Haible  <bruno@clisp.org>
4875         absolute-header: Add support for clang.
4876         * modules/absolute-header (Makefile.am): Include '__clang__' in the
4877         HAVE_INCLUDE_NEXT expression.
4879 2020-08-16  Bruno Haible  <bruno@clisp.org>
4881         Fix "warning: implicitly declaring library function 'strcasecmp'".
4882         * lib/argp-help.c: Include <strings.h>.
4884 2020-08-16  Bruno Haible  <bruno@clisp.org>
4886         stdio: Don't break attribute 'scanf' on clang.
4887         * lib/stdio.in.h (scanf): Treat clang like GCC.
4889 2020-08-16  Bruno Haible  <bruno@clisp.org>
4891         Use __restrict also on clang.
4892         * lib/argp.h (__restrict): Don't define as a macro on clang >= 3.
4893         * lib/glob.in.h (_Restrict_): Use __restrict on clang >= 3.
4894         * lib/unitypes.in.h (_UC_RESTRICT): Likewise.
4896 2020-08-16  Bruno Haible  <bruno@clisp.org>
4898         pthread-spin: Use GCC built-ins also on clang.
4899         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
4900         pthread_spin_trylock, pthread_spin_unlock): Use the newer GCC built-ins
4901         also on clang.
4903 2020-08-16  Bruno Haible  <bruno@clisp.org>
4905         asyncsafe-spin tests: Update.
4906         * tests/test-asyncsafe-spin2.c: Update to match the change in
4907         lib/asyncsafe-spin.c from 2020-08-11.
4909 2020-08-16  Bruno Haible  <bruno@clisp.org>
4911         setenv: Use tree code also with clang.
4912         * lib/setenv.c (USE_TSEARCH): Treat clang like GCC.
4914 2020-08-16  Bruno Haible  <bruno@clisp.org>
4916         math: Optimize signbit also on clang.
4917         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Optimize also
4918         on clang.
4920 2020-08-16  Bruno Haible  <bruno@clisp.org>
4922         avltreehash-list, rbtreehash-list: Optimize also on clang.
4923         * lib/gl_anytreehash_list1.h (add_nodes_to_buckets): Use
4924         __builtin_expect also on clang.
4926 2020-08-16  Bruno Haible  <bruno@clisp.org>
4928         Fix "warning: 'WSASocketA' is deprecated: Use WSASocketW() instead".
4929         * lib/socket.c: Use WSASocketW, not WSASocketA.
4931         Fix "warning: format specifies type 'unsigned long'".
4932         * tests/test-nonblocking-writer.h (main_writer_loop): Cast dbgfprintf
4933         argument to match the format directive.
4935         Fix "warning: no case matching constant switch condition '0'".
4936         * tests/test-fcntl.c (check_flags): Add a 'default' case.
4938         Fix "warning: integer overflow in expression".
4939         * tests/test-strtol.c (main): Use an 'unsigned long' expression to
4940         remove a 'long' overflow.
4942         Fix "warning: "getpagesize" redefined".
4943         * tests/test-getcwd.c (getpagesize): Don't redefine if defined as a
4944         macro.
4946         Fix "warning: implicitly declaring library function 'strncasecmp'".
4947         * lib/strptime.c: Include <strings.h>.
4949         Fix "warning: 'snprintf' macro redefined".
4950         * lib/strerror_r.c (snprintf): Undefine before redefining.
4952         Fix "warning: address of array 'locale' will always evaluate to 'true'".
4953         * lib/nl_langinfo.c (ctype_codeset): Remove redundant NULL test.
4955         Fix "warning: '__stat64' macro redefined".
4956         * lib/glob.c (__stat64): Undefine also on MSVC/clang.
4958         Fix "warning: 'format' attribute argument not supported: rpl_printf".
4959         * lib/stdio.in.h (printf): Treat clang like GCC.
4961         Fix "warning: attribute declaration must precede definition" with clang.
4962         * lib/math.in.h (acosl, asinl, atanl, ceill, cosl, expl, fabsf, fabsl,
4963         floorl, fmodl, frexpf, frexpl, hypotf, hypotl, ldexpf, ldexpl, logl,
4964         log10l, modfl, sinl, sqrtl, tanl): Disable _GL_CXXALIASWARN invocation
4965         on non-glibc systems.
4966         * lib/netdb.in.h (gai_strerror): Likewise.
4967         * lib/stdio.in.h (snprintf, vfscanf, vscanf, vsnprintf): Likewise.
4968         * lib/sys_stat.in.h (fstat): Likewise.
4969         * lib/utime.in.h (utime): Likewise.
4971         Fix undesired warnings.
4972         * lib/sys_select.in.h: Disable all _GL_WARN_ON_USE invocations with
4973         clang.
4975 2020-08-16  Bruno Haible  <bruno@clisp.org>
4977         C++ tests: Fix link errors on MSVC (regression from 2020-05-31).
4978         * modules/stdio-c++-tests (Makefile.am): Link test-stdio-c++ with
4979         $(LIB_GETRANDOM), needed for the rpl_tmpfile symbol.
4980         * modules/stdlib-c++-tests (Makefile.am): Link test-stdlib-c++ with
4981         $(LIB_GETRANDOM), needed for the mkdtemp and mkstemp symbols.
4983 2020-08-16  Bruno Haible  <bruno@clisp.org>
4985         Don't use Autoconf quadrigraphs.
4986         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Use '#' instead of the corresponding
4987         Autoconf quadrigraph.
4988         * m4/free.m4 (gl_FUNC_FREE): Likewise.
4989         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
4990         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES,
4991         _AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
4992         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
4993         * m4/math_h.m4 (gl_MATH_H): Likewise.
4994         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
4996 2020-08-16  Bruno Haible  <bruno@clisp.org>
4998         Fix quoting of AC_LANG_PROGRAM arguments.
4999         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Quote the AC_LANG_PROGRAM
5000         arguments through [[...]].
5001         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
5002         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
5003         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
5004         * m4/ld-output-def.m4 (gl_LD_OUTPUT_DEF): Likewise.
5005         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Likewise.
5006         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
5007         * m4/mountlist.m4 (gl_MOUNTLIST): Likewise.
5008         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
5009         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
5010         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
5011         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
5012         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
5013         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
5015 2020-08-16  Bruno Haible  <bruno@clisp.org>
5017         Assume autoconf >= 2.64.
5018         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Set to 2.64.
5019         * DEPENDENCIES: Require Autoconf 2.64 or newer.
5020         * NEWS: Mention the changed requirement.
5021         * m4/00gnulib.m4 (_m4_divert_diversion, AC_DEFUN_ONCE): Remove macros.
5022         * m4/gnulib-common.m4 (AS_VAR_IF, AS_VAR_COPY): Remove macros.
5023         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Quote pushdef'ed
5024         variables.
5025         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
5026         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
5027         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
5028         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C), gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++),
5029         gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): Define through AC_DEFUN.
5030         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C), gl_MANYWARN_ALL_GCC(C++)):
5031         Likewise.
5032         * m4/iconv.m4 (AM_ICONV): Define through AC_DEFUN_ONCE directly.
5033         * m4/libunistring.m4 (gl_LIBUNISTRING): Likewise.
5034         * m4/configmake.m4: Update comment.
5036 2020-08-16  Bruno Haible  <bruno@clisp.org>
5038         sys_ioctl: Simplify.
5039         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Remove confusing use of
5040         AC_INCLUDES_DEFAULT.
5042 2020-08-16  Bruno Haible  <bruno@clisp.org>
5044         Fix quoting of AC_LANG_SOURCE arguments.
5045         * m4/printf.m4 (gl_PRINTF_ENOMEM): Fix an m4 quoting bug in the
5046         GL_NOCRASH expansion.
5047         * m4/locale-ar.m4 (gt_LOCALE_AR): Simplify m4 quoting.
5048         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
5049         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
5050         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
5051         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
5053 2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5055         nstrftime: be more predictable about errno
5056         This aligns nstrftime better with draft POSIX 202x strftime.
5057         * lib/nstrftime.c: Include errno.h.
5058         (width_add, __strftime_internal): Set errno on failure,
5059         and preserve it on success.  Check for mktime_z failure.
5060         * modules/nstrftime (Depends-on): Add errno.
5061         * modules/nstrftime-tests (Depends-on): Add atoll, intprops.
5062         * tests/test-nstrftime.c: Include intprops.h, limits.h.
5063         (errno_test): New test function.
5064         (main): Call it.
5066 2020-08-15  Bruno Haible  <bruno@clisp.org>
5068         canonicalize: Fix a problem of the autoconf test on MSVC/clang.
5069         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Remove undesired file
5070         from dependency analysis first.
5072 2020-08-15  Bruno Haible  <bruno@clisp.org>
5074         Determine asm output option and filename suffix for MSVC/clang.
5075         * m4/asm-underscore.m4 (gl_C_ASM): Distinguish clang from cl and
5076         clang-cl.
5078 2020-08-15  Bruno Haible  <bruno@clisp.org>
5080         doc: Update for MSVC/clang.
5081         * doc/*-functions/*printf.texi: Mention that MSVC/clang has two bugs
5082         that MSVC 14 does not have.
5084 2020-08-15  Bruno Haible  <bruno@clisp.org>
5086         Revert autoupdate's revert.
5087         * config/srclist.txt: Mark mktime.c as needing sync with glibc.
5089 2020-08-15  Bruno Haible  <bruno@clisp.org>
5091         frexpl: Fix configuration test result on MSVC.
5092         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Avoid a division by a constant
5093         zero.
5095 2020-08-15  Bruno Haible  <bruno@clisp.org>
5097         Support compiling without -loldnames on native Windows.
5098         * m4/gnulib-common.m4 (GL_MDA_DEFINES, _GL_MDA_DEFINES): New macros.
5099         * m4/chown.m4 (AC_FUNC_CHOWN): In the test programs, use GL_MDA_DEFINES.
5100         (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
5101         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
5102         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
5103         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
5104         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Likewise.
5105         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Likewise.
5106         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5107         * m4/fcntl.m4 (gl_FUNC_FCNTL): Likewise.
5108         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
5109         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
5110         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
5111         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Likewise.
5112         * m4/freopen.m4 (gl_FUNC_FREOPEN): Likewise.
5113         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
5114         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5115         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5116         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL, gl_FUNC_GETCWD_SIGNATURE):
5117         Likewise.
5118         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Likewise.
5119         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
5120         * m4/lseek.m4 (gl_FUNC_LSEEK): Likewise.
5121         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
5122         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5123         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
5124         * m4/open-slash.m4 (gl_OPEN_TRAILING_SLASH_BUG): Likewise.
5125         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5126         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
5127         * m4/pread.m4 (gl_FUNC_PREAD): Likewise.
5128         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5129         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Likewise.
5130         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
5131         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5132         * m4/pwrite.m4 (gl_FUNC_PWRITE): Likewise.
5133         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5134         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5135         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5136         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
5137         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
5138         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
5139         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
5140         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5141         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5142         * m4/utimens.m4 (gl_UTIMENS): Likewise.
5143         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5144         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5145         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): On native Windows, don't
5146         test for getcwd.
5147         * m4/utime.m4 (gl_FUNC_UTIME): On native Windows, don't test for utime.
5148         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): To test for wcsdup, use a test program
5149         with GL_MDA_DEFINES.
5150         * lib/c++defs.h (_GL_CXXALIAS_MDA): New macro.
5151         * lib/fcntl.in.h (creat, open):  On native Windows, use the underscore-
5152         prefixed symbol.
5153         * lib/search.in.h (lfind, lsearch): Likewise.
5154         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
5155         Likewise.
5156         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
5157         * lib/string.in.h (memccpy, strdup): Likewise.
5158         * lib/sys_stat.in.h (chmod, umask): Likewise.
5159         * lib/time.in.h (tzset): Likewise.
5160         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
5161         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
5162         read, rmdir, swab, unlink, write): Likewise.
5163         * lib/utime.in.h (utime): Likewise.
5164         * lib/wchar.in.h (wcsdup): Likewise.
5165         * lib/math.in.h (j0, j1, jn, y0, y1, yn):  Likewise.
5166         (isfinite, isinf, isnan, signbit): On native Windows, don't define as an
5167         rpl_-prefixed macro.
5168         * lib/canonicalize-lgpl.c (__getcwd): On native Windows, use _getcwd.
5169         * lib/close.c (close_nothrow): On native Windows, use _close.
5170         * lib/creat.c (orig_creat): On native Windows, use _creat.
5171         * lib/dup.c (dup_nothrow): On native Windows, use _dup.
5172         * lib/dup2.c (dup2_nothrow): Use _dup2.
5173         * lib/fdopen.c (fdopen_nothrow): On native Windows, use _fdopen.
5174         * lib/getcwd-lgpl.c: On native Windows, use _getcwd.
5175         * lib/getcwd.c (getcwd_nothrow): Use _getcwd also on mingw.
5176         * lib/open.c (orig_open): On native Windows, use _open.
5177         * lib/read.c (read_nothrow): Use _read.
5178         * lib/rmdir.c: On native Windows, use _rmdir.
5179         * lib/unlink.c: On native Windows, use _unlink.
5180         * lib/write.c (write_nothrow): Use _write.
5181         * lib/sys_select.in.h (close): With clang, don't attach a warning on an
5182         undefined symbol.
5183         * lib/sys_socket.in.h (close): Likewise.
5184         * lib/sys_time.in.h (close): Likewise.
5185         * tests/test-spawn-pipe-child.c: On native Windows, use _fdopen.
5187 2020-08-15  Bruno Haible  <bruno@clisp.org>
5189         Fix "unknown pragma ignored" warnings with clang on native Windows.
5190         * lib/cbrt.c: Don't use '#pragma fenv_access (off)' with clang.
5191         * lib/cbrtf.c: Likewise.
5192         * lib/ceil.c: Likewise.
5193         * lib/floor.c: Likewise.
5194         * lib/fma.c: Likewise.
5195         * lib/fmod.c: Likewise.
5196         * lib/rint.c: Likewise.
5197         * lib/round.c: Likewise.
5198         * lib/trunc.c: Likewise.
5199         * tests/test-ceil2.c: Likewise.
5200         * tests/test-ceilf2.c: Likewise.
5201         * tests/test-floor2.c: Likewise.
5202         * tests/test-floorf2.c: Likewise.
5203         * tests/test-trunc2.c: Likewise.
5204         * tests/test-truncf2.c: Likewise.
5205         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5206         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5208 2020-08-15  Bruno Haible  <bruno@clisp.org>
5210         Fix compilation errors in C++ mode with clang on native Windows.
5211         * lib/pthread.in.h (pthread_*): Disable _GL_CXXALIASWARN invocation on
5212         non-glibc systems.
5213         * lib/sched.in.h (sched_yield): Likewise.
5215 2020-08-14  Bruno Haible  <bruno@clisp.org>
5217         stdnoreturn: Work around problem with MSVC/clang.
5218         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On native Windows, include some
5219         system header after <stdnoreturn.h>.
5220         * doc/posix-headers/stdnoreturn.texi: Mention the issue.
5222 2020-08-14  Bruno Haible  <bruno@clisp.org>
5224         utime-h: Generate an utime.h file always.
5225         * modules/utime-h (Makefile.am): Generate utime.h always.
5226         * m4/utime_h.m4 (gl_UTIME_H): Don't set UTIME_H. Don't define
5227         GL_GENERATE_UTIME_H.
5229 2020-08-14  Bruno Haible  <bruno@clisp.org>
5231         mktime, mktime-internal: Remove obsolete code.
5232         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't #undef putenv.
5234 2020-08-14  Bruno Haible  <bruno@clisp.org>
5236         getcwd: Remove obsolete code.
5237         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't #undef mkdir.
5238         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5240 2020-08-14  Bruno Haible  <bruno@clisp.org>
5242         tzset: Assume the function exists.
5243         * lib/time.in.h (tzset): Assume HAVE_TZSET is 1.
5244         * lib/tzset.c: Define rpl_tzset, not tzset. Assume HAVE_TZSET is 1.
5245         * modules/tzset (configure.ac): Don't test HAVE_TZSET.
5246         * m4/tzset.m4 (gl_FUNC_TZSET): Don't test for tzset. Don't set
5247         HAVE_TZSET.
5248         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Don't initialize HAVE_TZSET.
5249         * modules/time (Makefile.am): Don't substitute HAVE_TZSET.
5251         nstrftime: Assume tzset exists.
5252         * lib/nstrftime.c (HAVE_TZSET): Remove macro.
5253         (__strftime_internal): Test my_strftime, not HAVE_TZSET.
5254         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't test for tzset.
5256         mktime, mktime-internal: Assume tzset exists.
5257         * lib/mktime.c (my_tzset): Assume HAVE_TZSET is 1.
5258         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't test for tzset.
5260 2020-08-14  Bruno Haible  <bruno@clisp.org>
5262         strdup: Assume the function exists.
5263         * m4/strdup.m4 (gl_FUNC_STRDUP, gl_FUNC_STRDUP_POSIX): Don't test
5264         whether strdup exists.
5265         * modules/strdup (Files): Remove lib/strdup.c.
5266         (configure.ac): Don't compile strdup.c.
5267         * modules/strdup-posix (Depends-on, configure.ac): Don't test
5268         ac_cv_func_strdup.
5269         * doc/posix-functions/strdup.texi: Update.
5270         * lib/unistr/u8-strdup.c: Assume HAVE_STRDUP is 1.
5271         * modules/unistr/u8-strdup (Files): Remove lib/unistr/u-strdup.h.
5272         (Depends-on): Remove unistr/u8-strlen.
5274 2020-08-13  Bruno Haible  <bruno@clisp.org>
5276         sys_random: Work around an uClibc bug.
5277         Reported by akater <nuclearspace@gmail.com>
5278         via Stefan Kangas <stefan@marxist.se>
5279         in <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42236>.
5280         * lib/sys_random.in.h: On uClibc, include <stddef.h> first.
5281         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Update comment.
5282         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
5283         * doc/glibc-headers/sys_random.texi: Mention the uClibc bug.
5285 2020-08-12  Bruno Haible  <bruno@clisp.org>
5287         Avoid implicit conversion from 'unsigned int' to 'int' in initializers.
5288         Reported by Florian Weimer in
5289         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00086.html>.
5290         * lib/gen-uni-tables.c (output_predicate): Change the element type of
5291         the level3 array to 'unsigned int'.
5292         * lib/unictype/bitmap.h (bitmap_lookup): Access an 'unsigned int'.
5293         * lib/unictype/categ_*.h: Regenerated.
5294         * lib/unictype/ctype_*.h: Regenerated.
5295         * lib/unictype/pr_*.h: Regenerated.
5296         * lib/unictype/sy_*.h: Regenerated.
5297         * lib/unicase/cased.h: Regenerated.
5298         * lib/unicase/ignorable.h: Regenerated.
5300 2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>
5302         stdint: port intptr_t to more-recent MinGW
5303         Problem reported by Eli Zaretskii in <https://bugs.gnu.org/36597#106>.
5304         * lib/stdint.in.h (intptr_t, uintptr_t): Do not define on MinGW,
5305         even if _INTPTR_T_DEFINED and _UINTPTR_T_DEFINED are not defined.
5306         Apparently those two macros were removed in mingwrt-3.22
5307         dated 2016-07-14.
5309 2020-08-12  Bruno Haible  <bruno@clisp.org>
5311         thread-optim: Export function-like macros only.
5312         Suggested by Paul Eggert.
5313         * lib/thread-optim.h (gl_multithreaded): New macro.
5314         (IF_MT_DECL, IF_MT): Remove macros.
5315         * doc/multithread.texi (Multithreading Optimizations): Add a small
5316         example.
5317         * lib/fatal-signal.c: Update all uses.
5318         * lib/clean-temp.c: Likewise.
5319         * lib/localename.c: Likewise.
5320         * modules/localename (Depends-on): Add stdbool.
5322 2020-08-12  Bruno Haible  <bruno@clisp.org>
5324         Revert autoupdate's revert.
5325         * config/srclist.txt: Mark regex.h as needing sync with glibc.
5327 2020-08-11  Bruno Haible  <bruno@clisp.org>
5329         thread-optim: Fix a compiler warning.
5330         * lib/thread-optim.h (IF_MT_DECL): Define differently.
5332 2020-08-11  Bruno Haible  <bruno@clisp.org>
5334         Use __restrict also on clang.
5335         * lib/cdefs.h (__restrict): Don't define as a macro on clang.
5336         (__restrict_arr): On clang, define like on GCC.
5337         * lib/regex.h (_Restrict_): Use '__restrict' also on clang.
5338         (_Restrict_arr_): Use _Restrict_ also on clang.
5339         * lib/spawn.in.h (_Restrict_): Use '__restrict' also on clang.
5340         (_Restrict_arr_): Use _Restrict_ also on clang.
5342 2020-08-11  Bruno Haible  <bruno@clisp.org>
5344         Use flexible array syntax also on clang.
5345         * lib/cdefs.h (__flexarr, __glibc_c99_flexarr_available): For clang,
5346         define like for GCC 3.
5348 2020-08-11  Bruno Haible  <bruno@clisp.org>
5350         fcntl: On native Windows, use _setmode, not setmode.
5351         * lib/fcntl.c (dupfd): Use _setmode, not setmode.
5352         * lib/binary-io.h: Update comment.
5353         * tests/test-cloexec.c: Call set_binary_mode, not setmode.
5354         * tests/test-dup2.c: Likewise.
5355         * tests/test-dup-safer.c: Likewise.
5356         * tests/test-fcntl.c: Likewise.
5358 2020-08-11  Bruno Haible  <bruno@clisp.org>
5360         execute, spawn-pipe: Use _spawnvpe, not spawnvpe.
5361         * lib/execute.c (execute): Use _spawnvpe, not spawnvpe.
5362         * lib/spawn-pipe.c (create_pipe): Likewise.
5363         * tests/test-nonblocking-pipe-main.c (main): Likewise.
5364         * tests/test-nonblocking-socket-main.c (main): Likewise.
5365         * lib/wait-process.c: Update comment.
5366         * doc/posix-functions/fork.texi: Update.
5368 2020-08-11  Bruno Haible  <bruno@clisp.org>
5370         asyncsafe-spin: Use GCC built-ins also on clang.
5371         * lib/asyncsafe-spin.c (asyncsafe_spin_init, do_lock, do_unlock): Use
5372         the newer GCC built-ins also on clang.
5374 2020-08-11  Bruno Haible  <bruno@clisp.org>
5376         Use expression statements also on clang.
5377         * lib/cdefs.h (__extension__): Don't define to empty on clang.
5378         * lib/obstack.h (__extension__): Likewise.
5379         (obstack_object_size, obstack_room, obstack_make_room, obstack_empty_p,
5380         obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
5381         obstack_int_grow, obstack_ptr_grow_fast, obstack_int_grow_fast,
5382         obstack_blank, obstack_alloc, obstack_copy, obstack_copy0,
5383         obstack_finish, obstack_free): Enable as optimized macros also on clang.
5384         * lib/fpucw.h (fpucw_t etc.): Enable the definitions also on clang.
5386 2020-08-10  Bruno Haible  <bruno@clisp.org>
5388         Use many __attribute__s with clang.
5389         * m4/gnulib-common.m4 (_Noreturn): Use __attribute__ __noreturn__ also
5390         on clang.
5391         * lib/cdefs.h (__glibc_clang_has_attribute, __glibc_clang_has_builtin):
5392         New macros.
5393         (__THROW, __THROWNL, __NTH, __NTHNL): Use __attribute__ __nothrow__ also
5394         on clang.
5395         (__warndecl, __warnattr, __errordecl): Use __attribute__ __diagnose_if__
5396         also on older clang versions.
5397         (__attribute__): Don't define to empty on clang.
5398         (__attribute_malloc__): Use __attribute__ __malloc__ also on clang.
5399         (__attribute_pure__): Use __attribute__ __pure__ also on clang.
5400         (__attribute_const__): Use __attribute__ __const__ also on clang.
5401         (__attribute_used__): Use __attribute__ __used__ also on clang.
5402         (__attribute_noinline__): Use __attribute__ __noinline__ also on clang.
5403         (__attribute_deprecated__): Use __attribute__ __deprecated__ also on
5404         clang.
5405         (__attribute_format_arg__): Use __attribute__ __format_arg__ also on
5406         clang.
5407         (__attribute_format_strfmon__): Use __attribute__ __format__ __strfmon__
5408         also on clang.
5409         (__nonnull): Use __attribute__ __nonnull__ also on clang.
5410         (__attribute_warn_unused_result__): Use __attribute__
5411         __warn_unused_result__ also on clang.
5412         (__always_inline): Use __attribute__ __always_inline__ also on clang.
5413         (__attribute_artificial__): Use __attribute__ __artificial__ also on
5414         clang >= 7.
5415         (__glibc_unlikely, __glibc_likely): Use __builtin_expect also on older
5416         clang versions.
5417         (_Noreturn): Don't redefine on clang >= 3.5.
5418         * lib/arg-nonnull.h (_GL_ARG_NONNULL): Use __attribute__ __nonnull__
5419         also on clang.
5420         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Use __attribute__ __pure__ also
5421         on clang.
5422         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5423         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5424         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5425         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Use __attribute__ __format__
5426         also on clang.
5427         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5428         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Likewise.
5429         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST): Use __attribute__ __const__
5430         also on clang.
5431         (_UC_ATTRIBUTE_PURE): Use __attribute__ __pure__ also on clang.
5432         * lib/noreturn.h (_GL_NORETURN_FUNC, _GL_NORETURN_FUNCPTR): Use
5433         __attribute__ __noreturn__ also on clang.
5434         * lib/obstack.h (__attribute_noreturn__): Likewise.
5435         * lib/file-set.h (record_file): Use __attribute__ __nonnull__ also on
5436         clang.
5437         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__
5438         always_inline also on clang.
5439         * tests/test-printf-posix.c (func1, func2, func3, func4): Test also on
5440         clang.
5442 2020-08-10  Bruno Haible  <bruno@clisp.org>
5444         c-ldtoastr tests: Fix test failure.
5445         * tests/test-c-ldtoastr.c (main): Support platforms where 'long double'
5446         is longer than 'double'.
5448 2020-08-10  Bruno Haible  <bruno@clisp.org>
5450         Revert autoupdate's revert.
5451         * config/srclist.txt: Mark intprops.h as needing sync with glibc.
5453 2020-08-09  Bruno Haible  <bruno@clisp.org>
5455         string: Fix build error in C++ mode with clang (regression from today).
5456         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): Expect two rettype
5457         parameters, one for GCC, one for clang.
5458         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Update.
5459         * lib/string.in.h (strchr, strpbrk, strrchr): For clang, pass 'char *'
5460         as return type.
5462 2020-08-09  Bruno Haible  <bruno@clisp.org>
5464         ftruncate: Use _chsize, not chsize.
5465         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Test for _chsize, not chsize.
5466         * lib/ftruncate.c: Test HAVE__CHSIZE.
5467         (chsize_nothrow): Use _chsize, not chsize.
5469 2020-08-09  Bruno Haible  <bruno@clisp.org>
5471         Silence warnings from clang 10 with -Wimplicit-fallthrough.
5472         * lib/dfa.c (FALLTHROUGH): Use __attribute__ __fallthrough__ also on
5473         clang >= 10.
5474         * lib/fnmatch.c (FALLTHROUGH): Likewise.
5475         * lib/fts.c (FALLTHROUGH): Likewise.
5476         * tests/macros.h (FALLTHROUGH): Likewise.
5477         * lib/regex_internal.h (FALLTHROUGH): Likewise.
5478         * config/srclist.txt: Mark it as needing sync with glibc.
5480 2020-08-09  Bruno Haible  <bruno@clisp.org>
5482         stdbool tests: Enable the stricter tests also on clang.
5483         * tests/test-stdbool.c (ADDRESS_CHECK_OKAY): Define also on clang.
5484         (e): Enable the address-to-bool conversion test also on clang.
5486 2020-08-09  Bruno Haible  <bruno@clisp.org>
5488         count-one-bits: Use __builtin_popcount{,l,ll} on clang.
5489         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the GCC built-in.
5491 2020-08-09  Bruno Haible  <bruno@clisp.org>
5493         Use attribute __aligned__ with clang.
5494         * lib/stdalign.in.h (_Alignas): Treat clang like GCC.
5495         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS): Likewise.
5497 2020-08-09  Bruno Haible  <bruno@clisp.org>
5499         Use __alignof__ with clang.
5500         * m4/stddef_h.m4 (gl_STDDEF_H): Test the alignment of max_align_t also
5501         on clang.
5502         * lib/alignof.h (alignof_type): Use __alignof__ also on clang.
5503         * lib/stdalign.in.h (_Alignof): Don't activate the GCC workaround on
5504         clang.
5505         * lib/malloca.h (sa_alignof): Use __alignof__ also on clang.
5506         * lib/bitset/list.c (lbitset_elt_alloc): Use __alignof__ also on clang.
5507         * lib/bitset/table.c (tbitset_elt_alloc): Likewise.
5508         * tests/test-stddef.c: Very the behaviour of __alignof__ also on clang.
5510 2020-08-09  Bruno Haible  <bruno@clisp.org>
5512         ignore-value: Simplify on clang.
5513         * lib/ignore-value.h (ignore_value): With clang, no need to use the GCC
5514         workaround.
5516 2020-08-09  Bruno Haible  <bruno@clisp.org>
5518         Use __typeof__ with clang.
5519         * m4/stdint.m4 (gl_STDINT_H): Check for SIZE_MAX also on
5520         "clang -std=gnu99".
5521         * lib/intprops.h (_GL_HAVE___TYPEOF__): Define to 1 also on clang.
5522         * tests/test-stdint.c (verify_same_types): Enable the check also on
5523         clang.
5525 2020-08-09  Bruno Haible  <bruno@clisp.org>
5527         Add ability to emit user-defined warnings and errors with clang.
5528         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_ATTRIBUTE_ERROR,
5529         _GL_ATTRIBUTE_WARNING using an attribute for clang.
5530         * lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_ATTRIBUTE,
5531         _GL_WARN_ON_USE_CXX): Define using an attribute for clang.
5532         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Define using an
5533         attribute for clang.
5535 2020-08-09  Bruno Haible  <bruno@clisp.org>
5537         intprops: Fix typo in comment.
5538         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P): Fix typo in comment.
5540 2020-08-09  Bruno Haible  <bruno@clisp.org>
5542         Use __builtin_signbit* with clang.
5543         * lib/math.in.h (signbit): Use __builtin_signbit{,f,l} also on clang.
5544         * m4/signbit.m4 (gl_SIGNBIT): Use __builtin_signbit{,f,l} also on clang.
5545         Set REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
5546         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
5547         REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
5548         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_BUILTINS,
5549         not REPLACE_SIGNBIT_USING_GCC.
5551 2020-08-09  Bruno Haible  <bruno@clisp.org>
5553         Use __builtin_isnan with clang.
5554         * lib/isnanf-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
5555         not __builtin_isnanf. Also on clang.
5556         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Use the GCC
5557         built-in __builtin_isnan, not __builtin_isnanf. Also on clang.
5558         * lib/isnand-nolibm.h (isnand): With clang, use the GCC built-in.
5559         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): With clang, use the GCC
5560         built-in.
5561         * lib/isnanl-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
5562         not __builtin_isnanl. Also on clang.
5563         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_FUNC_ISNANL_WORKS): Use the
5564         GCC built-in __builtin_isnan, not __builtin_isnanl. Also on clang.
5565         * lib/math.in.h (__has_builtin): Remove macro.
5566         (isnanf, gl_isnan_f): Use the GCC built-in __builtin_isnan, not
5567         __builtin_isnanf. Also on clang.
5568         (isnand, gl_isnan_d): With clang, use the GCC built-in.
5569         (isnanl, gl_isnan_l): Use the GCC built-in __builtin_isnan, not
5570         __builtin_isnanl. Also on clang.
5571         (isnan): Use the GCC built-in __builtin_isnan in all three cases. Also
5572         on clang.
5574 2020-08-09  Bruno Haible  <bruno@clisp.org>
5576         thread-optim: Fix logic error.
5577         Reported by Paul Eggert.
5578         * lib/thread-optim.h (IF_MT): Fix logic error.
5580 2020-08-08  Bruno Haible  <bruno@clisp.org>
5582         localename: Use module 'thread-optim'.
5583         * lib/localename.c: Include thread-optim.h.
5584         (struniq): Use IF_MT macro.
5585         * modules/localename (Depends-on): Add thread-optim.
5587         clean-temp: Use module 'thread-optim'.
5588         * lib/clean-temp.c: Include thread-optim.h.
5589         (register_temporary_file, unregister_temporary_file, create_temp_dir,
5590         register_temp_file, unregister_temp_file, register_temp_subdir,
5591         unregister_temp_subdir, cleanup_temp_dir_contents, register_fd,
5592         close_temp, fclose_variant_temp): Use IF_MT macro.
5593         * modules/clean-temp (Depends-on): Add thread-optim.
5595         fatal-signal: Use module 'thread-optim'.
5596         * lib/fatal-signal.c: Include thread-optim.h.
5597         (at_fatal_signal, block_fatal_signals, unblock_fatal_signals): Use IF_MT
5598         macro.
5599         * modules/fatal-signal (Depends-on): Add thread-optim.
5601 2020-08-08  Bruno Haible  <bruno@clisp.org>
5603         New module 'thread-optim'.
5604         * lib/thread-optim.h: New file.
5605         * modules/thread-optim: New file.
5606         * doc/multithread.texi (Multithreading Optimizations): New section.
5608 2020-08-07  Paul Eggert  <eggert@cs.ucla.edu>
5610         doc: more updates for glibc 2.32
5611         * doc/glibc-functions/lchmod.texi, doc/posix-functions/faccessat.texi:
5612         * doc/posix-functions/fchmodat.texi: Update.
5614 2020-08-07  Bruno Haible  <bruno@clisp.org>
5616         doc: Update for glibc 2.32.
5617         * doc/glibc-functions/__libc_single_threaded.texi: New file.
5618         * doc/glibc-functions/pthread_attr_getsigmask_np.texi: New file.
5619         * doc/glibc-functions/pthread_attr_setsigmask_np.texi: New file.
5620         * doc/glibc-functions/sigabbrev_np.texi: New file.
5621         * doc/glibc-functions/sigdescr_np.texi: New file.
5622         * doc/glibc-functions/strerrordesc_np.texi: New file.
5623         * doc/glibc-functions/strerrorname_np.texi: New file.
5624         * doc/gnulib.texi: Include them.
5625         (Glibc sys/single_threaded.h): New section.
5626         * doc/pastposix-functions/h_errno.texi: Update.
5627         * doc/posix-functions/*.texi: Likewise.
5628         * doc/glibc-functions/*.texi: Likewise.
5630 2020-08-07  Bruno Haible  <bruno@clisp.org>
5632         alloca: No need to compile alloca.c with clang.
5633         * lib/alloca.c: Skip all code with clang.
5635         Use __builtin_alloca with clang.
5636         * lib/alloca.in.h (alloca): Define as __builtin_alloca on clang.
5638 2020-08-06  Bruno Haible  <bruno@clisp.org>
5640         Use __builtin_assume with clang.
5641         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): New macro.
5642         (assume): Use __builtin_assume when available.
5644 2020-08-06  Paul Eggert  <eggert@cs.ucla.edu>
5646         libgmp: add <gmp/gmp.h> support
5647         * m4/libgmp.m4 (gl_LIBGMP):
5648         * modules/libgmp (configure.ac, Makefile.am):
5649         Support platforms requiring ‘#include <gmp/gmp.h>’ instead of
5650         ‘#include <gmp.h>’.
5652 2020-08-06  Bruno Haible  <bruno@clisp.org>
5654         Consider that clang defines __OPTIMIZE__ like GCC does.
5655         * lib/streq.h: Define the inline functions also on clang.
5656         * lib/c-strcaseeq.h: Likewise.
5657         * lib/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't enable
5658         the GCC workaround to clang.
5660 2020-08-06  Bruno Haible  <bruno@clisp.org>
5662         safe-alloc: Remove unused code.
5663         * lib/safe-alloc.h (__GNUC_PREREQ): Remove macro.
5665 2020-08-06  Bruno Haible  <bruno@clisp.org>
5667         Use __builtin_expect with clang everywhere.
5668         * lib/cdefs.h (__glibc_unlikely, __glibc_likely): Use the GCC built-in
5669         also on clang.
5671 2020-08-05  Bruno Haible  <bruno@clisp.org>
5673         Use __builtin_ctz{,l,ll} and __builtin_ffs{,l,ll} with clang everywhere.
5674         * lib/count-trailing-zeros.h (COUNT_TRAILING_ZEROS): Use the GCC
5675         built-in also on clang.
5676         * lib/ffs.c: With clang, use the GCC built-in, not <intrin.h>.
5677         * lib/ffsl.h: Likewise. Assume GCC_BUILTIN is defined.
5679 2020-08-05  Bruno Haible  <bruno@clisp.org>
5681         Use __builtin_clz{,l,ll} with clang, also on Windows.
5682         * lib/integer_length.c: With clang, use the GCC built-in, not
5683         <intrin.h>.
5684         * lib/integer_length_l.c: Likewise.
5685         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS): Use the GCC built-in
5686         also on clang.
5687         * lib/vasnprintf.c (divide): Likewise.
5689 2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>
5691         Update srclist.txt as per recent glibc changes
5692         * config/srclist.txt: Uncomment lines to reflect recent merges
5693         from Gnulib to glibc.
5695 2020-08-03  Bruno Haible  <bruno@clisp.org>
5697         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
5698         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Use m4_if instead of ifelse.
5700 2020-08-03  Bruno Haible  <bruno@clisp.org>
5702         integer_length_ll: Optimize for MSVC in 64-bit mode.
5703         * lib/integer_length_l.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
5704         (FUNC): On MSVC, use MSVC_BUILTIN if defined.
5706 2020-08-03  Bruno Haible  <bruno@clisp.org>
5708         integer_length_ll: Optimize for MSVC in 32-bit mode.
5709         * lib/integer_length_l.c: Include <intrin.h>.
5710         (integer_length): Define as inline function, like in
5711         lib/integer_length.c.
5713 2020-08-03  Bruno Haible  <bruno@clisp.org>
5715         integer_length: Optimize for MSVC.
5716         * lib/integer_length.c: Include <intrin.h>.
5717         (integer_length): With MSVC, use the _BitScanReverse built-in.
5719 2020-08-03  Bruno Haible  <bruno@clisp.org>
5721         ffsll: Optimize for MSVC in 64-bit mode.
5722         * lib/ffsl.h (FUNC): On MSVC, use MSVC_BUILTIN if defined.
5723         * lib/ffsll.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
5724         * lib/ffsl.c (MSVC_BUILTIN): Define for MSVC.
5726 2020-08-03  Bruno Haible  <bruno@clisp.org>
5728         ffsll: Optimize for MSVC in 32-bit mode.
5729         * lib/ffsl.h: Include <intrin.h>.
5730         (ffs): Define as inline function, like in lib/ffs.c.
5732 2020-08-03  Bruno Haible  <bruno@clisp.org>
5734         ffs: Optimize for MSVC.
5735         * lib/ffs.c: Include <intrin.h>.
5736         (ffs): With MSVC, use the _BitScanForward built-in.
5738 2020-08-03  Bruno Haible  <bruno@clisp.org>
5740         sigprocmask: Try to avoid breakage for people who use an Autoconf cache.
5741         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Change the name of the cache
5742         variable.
5744 2020-08-03  Harald van Dijk  <harald@gigawatt.nl>  (tiny change)
5746         fopen: Avoid undesired interactions with glibc headers.
5747         * lib/fopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this instead of
5748         __need_FILE, as the latter does not work with glibc.
5750 2020-08-02  Paul Eggert  <eggert@cs.ucla.edu>
5752         fcntl: document some F_SETLK errno variations
5753         * doc/posix-functions/fcntl.texi (fcntl): Document
5754         OpenIndiana, GNU/Linux, FreeBSD on NFS files.
5756 2020-08-02  Bruno Haible  <bruno@clisp.org>
5758         oset: Add an 'iterator_atleast' operation.
5759         * lib/gl_array_oset.c (gl_array_indexof_atleast): New function,
5760         extracted from gl_array_search_atleast.
5761         (gl_array_search_atleast): Use it.
5762         (gl_array_iterator_atleast): New function.
5763         (gl_array_oset_implementation): Use it.
5764         * lib/gl_anytree_oset.h (gl_tree_iterator_atleast): New function.
5765         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Use it.
5766         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Likewise.
5767         * lib/gl_oset.h (struct gl_oset_implementation): Add 'iterator_atleast'
5768         member.
5769         (gl_oset_iterator_atleast): New function.
5770         * lib/gl_oset.hh (gl_OSet): Add 'begin_atleast' member.
5771         (gl_OSet::iterator): Add another auxiliary constructor.
5772         * tests/test-array_oset.c (is_at_least, gl_sortedlist_indexof_atleast):
5773         New functions.
5774         (main): Test also gl_oset_iterator_atleast.
5775         * tests/test-avltree_oset.c (is_at_least): New function.
5776         (main): Test also gl_oset_iterator_atleast.
5777         * tests/test-rbtree_oset.c (is_at_least): New function.
5778         (main): Test also gl_oset_iterator_atleast.
5779         * tests/test-oset-c++.cc (is_at_most): New function.
5780         (main): Test also gl_OSet::begin_atleast.
5782 2020-08-02  Bruno Haible  <bruno@clisp.org>
5784         oset-c++, omap-c++: Remove restriction for search_atleast method.
5785         * lib/gl_oset.hh (gl_OSet::search_atleast): Allow the threshold to be of
5786         a different type than the element.
5787         * lib/gl_omap.hh (gl_OMap::search_atleast): Allow the threshold to be of
5788         a different type than the key.
5790 2020-08-01  Paul Eggert  <eggert@cs.ucla.edu>
5792         gnumakefile: say ‘$(MAKE)’ not ‘make’
5793         * top/GNUmakefile (abort-due-to-no-makefile):
5794         Prefer ‘$(MAKE)’ to ‘make’ in a diagnostic.
5795         This change is backported from Autoconf.
5797 2020-08-01  Bruno Haible  <bruno@clisp.org>
5799         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
5800         * m4/autobuild.m4 (AB_INIT): Use m4_if instead of ifelse.
5801         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
5802         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
5803         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
5804         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Likewise.
5806 2020-08-01  Bruno Haible  <bruno@clisp.org>
5808         libtextstyle-optional: Update tests.
5809         * modules/libtextstyle-optional-tests (configure.ac): Invoke
5810         gl_LIBTEXTSTYLE_OPTIONAL.
5812 2020-08-01  Bruno Haible  <bruno@clisp.org>
5814         parse-datetime: Fix wrong #line statements.
5815         * modules/parse-datetime (Makefile.am): Correct #line statements also in
5816         parse-datetime-gen.h.
5818 2020-08-01  Bruno Haible  <bruno@clisp.org>
5820         libtextstyle[-optional]: Allow requesting a minimum version.
5821         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Allow an optional argument.
5822         (gl_LIBTEXTSTYLE_NEWEST_VERSION, gl_LIBTEXTSTYLE_INITIALIZE,
5823         gl_LIBTEXTSTYLE_SEARCH): New macros.
5824         * modules/libtextstyle (configure.ac): Don't invoke gl_LIBTEXTSTYLE.
5825         * m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Allow an
5826         optional argument. Invoke, not require, gl_LIBTEXTSTYLE.
5827         * modules/libtextstyle-optional (configure.ac): Don't invoke
5828         gl_LIBTEXTSTYLE_OPTIONAL.
5829         * NEWS: Mention the changes.
5831 2020-07-31  Bruno Haible  <bruno@clisp.org>
5833         _GL_CMP: Improve documentation.
5834         Reported by Paul Eggert in
5835         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00188.html>.
5836         * m4/gnulib-common.m4 (gl_COMMON_BODY): Clarify what arguments can be
5837         passed.
5839 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5841         largefile: sync with Autoconf master
5842         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
5843         Avoid undefined behavior on platforms where off_t is 32 bits.
5844         See: https://bugs.debian.org/742780
5846         alloca: sync with Autoconf master
5847         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
5848         Do not define if Autoconf 2.70 or later, since Autoconf master
5849         now matches us.
5851 2020-07-30  Bruno Haible  <bruno@clisp.org>
5853         unicodeio: Add comment.
5854         * lib/unicodeio.c (unicode_to_mb): Clarify why the code distinguishes
5855         different iconv behaviours.
5857 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5859         Work around some Oracle Studio attribute bugs
5860         These were discovered when building bleeding-edge Emacs with
5861         Oracle Studio.
5862         * m4/gnulib-common.m4 (_GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_MAY_ALIAS):
5863         Port to Oracle Studio 12.6, which mishandles __attribute__
5864         ((__cold__)) and __attribute__ ((__may_alias__)) even though
5865         __has_attribute says they work.
5867 2020-07-29  Bruno Haible  <bruno@clisp.org>
5869         unicodeio: Fix wrong result on musl libc.
5870         Reported by A. Wilcox <awilfox@adelielinux.org> in
5871         <https://www.openwall.com/lists/musl/2020/07/29/2>.
5872         * lib/unicodeio.c (unicode_to_mb): Handle asterisk fallback characters
5873         on musl libc.
5874         * m4/unicodeio.m4 (gl_UNICODEIO): Invoke gl_MUSL_LIBC.
5875         * modules/unicodeio (Files): Add m4/musl.m4.
5877 2020-07-29  Paul Eggert  <eggert@cs.ucla.edu>
5879         fsusage, regex, stat-size: remove Cray support
5880         As near as I can make out this is actually support for UNICOS/mp,
5881         last released 2005, and Cray hasn’t supported that for years.
5882         * config/srclist.txt: Comment out regex.h for now.
5883         * lib/fsusage.c (get_fs_usage):
5884         * lib/regex.h (re_comp, re_exec):
5885         * lib/stat-size.h (ST_NBLOCKSIZE):
5886         Don’t worry about _CRAY.
5888 2020-07-29  Bruno Haible  <bruno@clisp.org>
5890         parse-datetime: Fix compilation error with bison 3.7.
5891         * modules/parse-datetime (Makefile.am): Create a generated header file
5892         parse-datetime-gen.h in the source directory. Correct #include and
5893         #line statements during preprocessing.
5895 2020-07-28  Bruno Haible  <bruno@clisp.org>
5897         fopen-gnu: Create files correctly (regression from 2020-05-24).
5898         * lib/fopen.c (rpl_open): Pass a third argument to open().
5900 2020-07-27  Paul Eggert  <eggert@cs.ucla.edu>
5902         xalloc-die: don’t depend on xalloc
5903         This removes a circular dependency, as xalloc depends on xalloc-die.
5904         * modules/xalloc-die (Files): Add lib/xalloc.h.
5905         (Depends-on): Remove xalloc.
5906         Add extern-inline, stdint, xalloc-oversized (this is for xalloc.h).
5908         dfa-tests: port to MSVC
5909         Problem reported by Gisle Vanem in:
5910         https://lists.gnu.org/r/bug-gnulib/2020-07/msg00159.html
5911         Also, remove an unnecessary dependency on getprogname.
5912         * modules/dfa-tests (Depends-on): Remove getprogname.
5913         * tests/test-dfa-match-aux.c: Do not include getprogname.h.
5914         (exit_status): New static var.
5915         (dfawarn): Set it instead of exiting.
5916         Do not declare as _Noreturn, to pacify MSVC.
5917         (main): Return exit_status.
5919 2020-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5921         argz: pacify MSVC
5922         * lib/argz.in.h: Avoid "*/*" to pacify MSVC.
5923         Problem reported by Gisle Vanem.
5925         libgmp: remove dependency on havelib
5926         * m4/libgmp.m4 (gl_LIBGMP): If gl_HAVE_MODULE_HAVELIB is not defined,
5927         use the more-traditional AC_SEARCH_LIBS approach.
5928         This should work better with GNU Emacs configuration,
5929         which uses pkg-config instead of a havelib-style approach.
5930         * modules/havelib (gl_HAVE_MODULE_HAVELIB): New witness macro.
5931         * modules/libgmp (Depends-on): Remove havelib.
5933         libgmp: remove HAVE_GMP, LIB_GMP
5934         * m4/libgmp.m4 (gl_LIBGMP): Do not define HAVE_GMP and LIB_GMP, as
5935         they’re redundant.  I’ll adjust GNU Coreutils accordingly.
5937 2020-07-26  Bruno Haible  <bruno@clisp.org>
5939         inttypes: Remove support for AIX 4.
5940         * lib/inttypes.in.h: Assume that PRI_MACROS_BROKEN is 0.
5941         * m4/inttypes-pri.m4: Remove file.
5942         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Don't require gt_INTTYPES_PRI.
5943         (gl_INTTYPES_H_DEFAULTS): Don't initialize PRI_MACROS_BROKEN.
5944         * modules/inttypes-incomplete (Makefile.am): Don't substitute
5945         PRI_MACROS_BROKEN.
5946         * modules/inttypes (Files): Remove m4/inttypes-pri.m4.
5948 2020-07-26  Bruno Haible  <bruno@clisp.org>
5950         gettimeofday: Remove workaround for Mac OS X 10.0.
5951         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Remove macro.
5952         (gl_FUNC_GETTIMEOFDAY): Don't invoke it.
5953         * lib/gettimeofday.c: Don't include localtime-buffer.h.
5954         (gettimeofday): Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
5955         * lib/localtime.c: Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
5956         * modules/gettimeofday (Depends-on): Remove localtime-buffer.
5957         * modules/localtime-buffer: Remove file.
5958         * lib/localtime-buffer.h: Remove file.
5959         * lib/localtime-buffer.c: Remove file.
5960         * m4/localtime-buffer.m4: Remove file.
5961         * MODULES.html.sh (Date and time <time.h>): Remove localtime-buffer.
5963 2020-07-26  Bruno Haible  <bruno@clisp.org>
5965         tzset: Remove workaround for Solaris 2.6.
5966         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Remove macro.
5967         (gl_FUNC_TZSET): Don't invoke it. Don't define TZSET_CLOBBERS_LOCALTIME.
5968         Don't require gl_LOCALTIME_BUFFER_DEFAULTS.
5969         * lib/localtime-buffer.h: Don't test TZSET_CLOBBERS_LOCALTIME.
5970         * lib/localtime-buffer.c: Likewise.
5971         * lib/localtime.c: Likewise.
5972         * lib/tzset.c: Don't include localtime-buffer.h.
5973         (tzset): Don't test TZSET_CLOBBERS_LOCALTIME.
5974         * lib/nstrftime.c (__strftime_internal): Assume HAVE_RUN_TZSET_TEST
5975         is 1.
5976         * modules/tzset (Depends-on): Remove localtime-buffer.
5978 2020-07-26  Bruno Haible  <bruno@clisp.org>
5980         expl: Simplify autoconf test.
5981         * m4/expl.m4 (gl_FUNC_EXPL): Merge the "checking whether expl() breaks
5982         with small values..." test into the "checking whether expl works..."
5983         test.
5985 2020-07-26  Bruno Haible  <bruno@clisp.org>
5987         alloca: Remove Cray-2 and Cray Y-MP support.
5988         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Don't define CRAY_STACKSEG_END.
5989         Enable also on Autoconf >= 2.69.
5990         * lib/alloca.c (ADDRESS_FUNCTION, struct stack_control_header,
5991         struct stack_segment_linkage, struct stk_stat, struct stk_trailer,
5992         i00afunc): Remove.
5994 2020-07-25  Bruno Haible  <bruno@clisp.org>
5996         multiarch: Prepare for x86_64+arm64 universal binaries in macOS 11.
5997         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the ARM architectures.
5999 2020-07-25  Bruno Haible  <bruno@clisp.org>
6001         sigprocmask: Small autoconf macro improvement.
6002         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Make it possible for the
6003         user to override the value of gl_cv_func_sigprocmask.
6004         * m4/gnulib-common.m4 (gl_SILENT): New macro.
6006 2020-07-25  Bruno Haible  <bruno@clisp.org>
6008         Small autoconf macro improvements.
6009         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Make it possible for the user to
6010         override the value of gl_cv_func_working_mktime.
6011         * m4/multiarch.m4 (gl_MULTIARCH): Show a line "checking whether the
6012         compiler produces multi-arch binaries..." in the configure output.
6013         * m4/size_max.m4 (gl_SIZE_MAX): When not found, say "no".
6014         * m4/parse-datetime.m4 (gl_C_COMPOUND_LITERALS): Improve indentation.
6016 2020-07-25  Bruno Haible  <bruno@clisp.org>
6018         doc: Update for NetBSD 7.1, 8.0, 9.0.
6019         * doc/*/*.texi: Update.
6020         * m4/exp2l.m4: Update comments.
6021         * m4/expl.m4: Likewise.
6022         * m4/ilogb.m4: Likewise.
6023         * m4/ilogbf.m4: Likewise.
6024         * m4/log10l.m4: Likewise.
6025         * m4/logl.m4: Likewise.
6026         * m4/printf.m4: Likewise.
6027         * m4/rintl.m4: Likewise.
6028         * m4/wcwidth.m4: Likewise.
6030 2020-07-24  Bruno Haible  <bruno@clisp.org>
6032         doc: Update for Mac OS X 10.13.
6033         * doc/*/*.texi: Update.
6034         * m4/expm1l.m4: Update comments.
6035         * m4/getgroups.m4: Likewise.
6036         * m4/getlogin_r.m4: Likewise.
6037         * m4/linkat.m4: Likewise.
6038         * m4/printf.m4: Likewise.
6040 2020-07-24  Bruno Haible  <bruno@clisp.org>
6042         doc: Update for Cygwin 2.9.0.
6043         * doc/*/*.texi: Update.
6045 2020-07-24  Paul Eggert  <eggert@cs.ucla.edu>
6047         parse-datetime: modernize doc
6048         * doc/parse-datetime.texi: Use more-current examples.
6049         Don’t lead with 32-bit time_t, as it’s on its way out.
6050         Capitalize “Epoch” to be consistent with POSIX.
6052         timespec: remove dependence on ‘verify’
6053         * lib/timespec.h: Do not include verify.h; no longer needed.
6054         * modules/timespec (Depends-on): Remove ‘verify’.
6056         Optimize a few more three-valued comparisons
6057         * lib/timespec.h (timespec_cmp, timespec_sign):
6058         * lib/utimecmp.c (utimecmpat):
6059         Avoid conditional branches by using _GL_CMP.
6061         Fix _GL_CMP parenthesization typo
6062         * m4/gnulib-common.m4 (_GL_CMP): Properly parenthesize.
6064 2020-07-24  Bruno Haible  <bruno@clisp.org>
6066         dfa: Revert breaking gawk.
6067         Reported by Arnold Robbins <arnold@skeeve.com>.
6068         * lib/dfa.c (compare): Don't reference the _GL_CMP macro.
6070 2020-07-23  Bruno Haible  <bruno@clisp.org>
6072         Optimize three-valued comparison between integers.
6073         (a > b ? 1 : a < b ? -1 : 0) is the same as (a > b) - (a < b).
6074         * m4/gnulib-common.m4 (gl_COMMON): Define _GL_CMP.
6075         * lib/c-strcasecmp.c (c_strcasecmp): Use _GL_CMP.
6076         * lib/c-strncasecmp.c (c_strncasecmp): Likewise.
6077         * lib/dfa.c (compare): Likewise.
6078         * lib/fts.c (fts_compare_ino): Likewise.
6079         * lib/mbmemcasecmp.c (mbmemcasecmp): Likewise.
6080         * lib/mbscasecmp.c (mbscasecmp): Likewise.
6081         * lib/mbsncasecmp.c (mbsncasecmp): Likewise.
6082         * lib/memcasecmp.c (memcasecmp): Likewise.
6083         * lib/memcmp2.c (memcmp2): Likewise.
6084         * lib/savedir.c (direntry_cmp_inode): Likewise.
6085         * lib/strcasecmp.c (strcasecmp): Likewise.
6086         * lib/strncasecmp.c (strncasecmp): Likewise.
6087         * lib/unistr/u-cmp2.h (FUNC): Likewise.
6089 2020-07-23  Bruno Haible  <bruno@clisp.org>
6091         lchmod: Use /proc on Cygwin.
6092         * lib/lchmod.c (lchmod): Use /proc on Cygwin.
6094 2020-07-23  Ken Brown  <kbrown@cornell.edu>
6096         fchmodat: Use /proc on Cygwin
6097         * lib/fchmodat.c (fchmodat): Use /proc on Cygwin.
6099 2020-07-21  Bruno Haible  <bruno@clisp.org>
6101         aligned-malloc: Optionally use aligned_alloc.
6102         * lib/aligned-malloc.h: Verify the alignment.
6103         (aligned_malloc): Use aligned_alloc as an alternative.
6104         * modules/aligned-malloc (configure.ac): Test for aligned_alloc.
6105         * doc/posix-functions/aligned_alloc.texi: Mention the modules
6106         'aligned-malloc' and 'pagealign_alloc'.
6108 2020-07-21  Bruno Haible  <bruno@clisp.org>
6110         aligned-malloc: Add tests.
6111         * tests/test-aligned-malloc.c: New file.
6112         * modules/aligned-malloc-tests: New file.
6114         aligned-malloc: New module.
6115         * lib/aligned-malloc.h: New file.
6116         * m4/malloc-align.m4: New file.
6117         * modules/aligned-malloc: New file.
6118         * doc/posix-functions/posix_memalign.texi: Mention the new module.
6119         * doc/glibc-functions/memalign.texi: Likewise.
6121 2020-07-21  Bruno Haible  <bruno@clisp.org>
6123         inttypes: Fix PRI*PTR and SCN*PTR on 64-bit native Windows.
6124         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): On 64-bit native Windows, make
6125         sure PRIPTR_PREFIX is defined to "ll", not "l".
6127 2020-07-21  Bruno Haible  <bruno@clisp.org>
6129         printf-posix: Make an autoconf test more future-proof.
6130         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): Include <inttypes.h> before
6131         using uintptr_t.
6133 2020-07-20  Bruno Haible  <bruno@clisp.org>
6135         list, oset, omap: Relicense some of the container modules under LGPLv2+.
6136         * modules/list (License): Change to LGPLv2+.
6137         * modules/array-list (License): Likewise.
6138         * modules/carray-list (License): Likewise.
6139         * modules/linked-list (License): Likewise.
6140         * modules/avltree-list (License): Likewise.
6141         * modules/rbtree-list (License): Likewise.
6142         * modules/oset (License): Likewise.
6143         * modules/array-oset (License): Likewise.
6144         * modules/avltree-oset (License): Likewise.
6145         * modules/rbtree-oset (License): Likewise.
6146         * modules/omap (License): Likewise.
6147         * modules/array-omap (License): Likewise.
6148         * modules/avltree-omap (License): Likewise.
6149         * modules/rbtree-omap (License): Likewise.
6151 2020-07-20  Bruno Haible  <bruno@clisp.org>
6153         oset: Add an 'update' operation.
6154         * lib/gl_array_oset.c (gl_array_update): New function.
6155         (gl_array_oset_implementation): Use it.
6156         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6157         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6158         * lib/gl_avltree_ordered.h (gl_tree_add_node_before): New function,
6159         extracted from gl_tree_nx_add_before.
6160         (gl_tree_nx_add_before): Invoke it.
6161         (gl_tree_add_node_after): New function, extracted from
6162         gl_tree_nx_add_after.
6163         (gl_tree_nx_add_after): Invoke it.
6164         (gl_tree_remove_node_no_free): New function, extracted from
6165         gl_tree_remove_node.
6166         (gl_tree_remove_node): Invoke it.
6167         * lib/gl_rbtree_ordered.h (gl_tree_add_node_before): New function,
6168         extracted from gl_tree_nx_add_before.
6169         (gl_tree_nx_add_before): Invoke it.
6170         (gl_tree_add_node_after): New function, extracted from
6171         gl_tree_nx_add_after.
6172         (gl_tree_nx_add_after): Invoke it.
6173         (gl_tree_remove_node_no_free): New function, extracted from
6174         gl_tree_remove_node.
6175         (gl_tree_remove_node): Invoke it.
6176         * lib/gl_anytree_oset.h (gl_tree_next_node): New function, extracted
6177         from gl_tree_iterator_next.
6178         (gl_tree_iterator_next): Invoke it.
6179         (gl_tree_prev_node, gl_tree_update): New functions.
6180         * lib/gl_avltree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6181         (gl_avltree_oset_implementation): Use gl_tree_update.
6182         * lib/gl_rbtree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
6183         (gl_rbtree_oset_implementation): Use gl_tree_update.
6184         * lib/gl_oset.h (struct gl_oset_implementation): Add 'update' member.
6185         (gl_oset_update): New function.
6186         * lib/gl_oset.hh (gl_OSet): Add 'update' member.
6187         * modules/avltree-oset (configure.ac): Require AC_C_INLINE.
6188         * modules/rbtree-oset (configure.ac): Likewise.
6189         * tests/test-oset-update.h: New file.
6190         * tests/test-array_oset.c: Include test-oset-update.h.
6191         (main): Invoke test_update.
6192         * tests/test-avltree_oset.c: Likewise.
6193         * tests/test-rbtree_oset.c: Likewise.
6194         * modules/array-oset-tests (Files): Add tests/test-oset-update.h.
6195         * modules/avltree-oset-tests (Files): Likewise.
6196         * modules/rbtree-oset-tests (Files): Likewise.
6197         * tests/test-oset-c++.cc (action): New function.
6198         (main): Test the 'update' member function.
6200 2020-07-15  Paul Eggert  <eggert@cs.ucla.edu>
6202         md5, sha1, sha256, sha512: pacify Autoconf 2.70
6203         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Use m4_if rather than a
6204         shell if, so that the argument to AC_CHECK_HEADERS is
6205         a simple string that does not require shell evaluation.
6206         This fixes a warning generated by Autoconf 2.69b.
6208 2020-07-12  Bruno Haible  <bruno@clisp.org>
6210         libgmp: Avoid warning when --without-libgmp is used.
6211         * lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
6212         GCC >= 8, not for GCC >= 4.6.
6214 2020-07-12  Bruno Haible  <bruno@clisp.org>
6216         libgmp: Link to the correct shared library.
6217         * m4/libgmp.m4 (gl_LIBGMP): Invoke AC_LIB_HAVE_LINKFLAGS.
6218         * modules/libgmp (Depends-on): Add havelib.
6219         (Link): Mention $(LIBGMP) and $(LTLIBGMP).
6220         * modules/libgmp-tests (Makefile.am): Link test-libgmp with $(LIBGMP).
6222 2020-07-12  Bruno Haible  <bruno@clisp.org>
6224         libgmp tests: Add some safety checks.
6225         * modules/libgmp-tests (Depends-on): Add verify.
6226         * tests/test-libgmp.c: Verify GMP_NUMB_BITS value.
6227         (main): Verify that gmp.h and libgmp versions match.
6229 2020-07-10  Bruno Haible  <bruno@clisp.org>
6231         unicodeio: Fix wrong result on NetBSD.
6232         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
6233         characters also on NetBSD.
6235 2020-07-09  Bruno Haible  <bruno@clisp.org>
6237         unicodeio: Fix wrong result on Solaris 11.
6238         Reported by Kiyoshi Kanazawa <yoi_no_myoujou@yahoo.co.jp>
6239         via Akim Demaille <akim.demaille@gmail.com> in
6240         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00036.html>.
6241         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
6242         characters on Solaris.
6243         * tests/test-unicodeio.c (main): In the "C" locale, expect either the
6244         UTF-8 output or the specified fallback.
6246 2020-07-08  Bruno Haible  <bruno@clisp.org>
6248         unicodeio: Add tests.
6249         * tests/test-unicodeio.c: New file.
6250         * tests/test-unicodeio1.sh: New file.
6251         * tests/test-unicodeio2.sh: New file.
6252         * tests/test-unicodeio3.sh: New file.
6253         * modules/unicodeio-tests: New file.
6255 2020-07-08  Bruno Haible  <bruno@clisp.org>
6257         unicodeio: Document link requirements.
6258         * modules/unicodeio (Link): New section.
6260 2020-07-07  Bruno Haible  <bruno@clisp.org>
6262         doc: Remove support for some very old platforms.
6263         * doc/posix-functions/memcmp.texi: Don't mention "older platforms".
6264         * doc/posix-functions/memcpy.texi: Likewise.
6265         * doc/posix-functions/memmove.texi: Likewise.
6266         * doc/posix-functions/memset.texi: Likewise.
6267         * doc/posix-functions/getcwd.texi: Likewise.
6269         memchr: Remove support for some very old platforms.
6270         * m4/memchr-obsolete.m4: Remove file.
6271         * modules/memchr-obsolete: Remove file.
6272         * m4/memchr.m4 (gl_FUNC_MEMCHR): Assume module 'memchr-obsolete' is
6273         absent. Don't define HAVE_MEMCHR.
6274         * lib/string.in.h (memchr): Assume HAVE_MEMCHR is 1.
6275         * modules/memchr (Depends-on): Remove memchr-obsolete.
6276         (configure.ac): Assume HAVE_MEMCHR is 1.
6277         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
6278         HAVE_MEMCHR.
6279         * modules/string (Makefile.am): Don't substitute HAVE_MEMCHR.
6280         * doc/posix-functions/memchr.texi: Don't mention module
6281         'memchr-obsolete'.
6282         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Assume HAVE_MEMCHR is 1.
6283         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Assume HAVE_MEMCHR is 1.
6284         * modules/strnlen (Depends-on): Remove memchr-obsolete.
6286         dup2: Remove support for some very old platforms.
6287         * m4/dup2-obsolete.m4: Remove file.
6288         * modules/dup2-obsolete: Remove file.
6289         * m4/dup2.m4 (gl_FUNC_DUP2): Assume module 'dup2-obsolete' is absent.
6290         Don't define HAVE_DUP2.
6291         * lib/unistd.in.h (dup2): Assume HAVE_DUP2 is 1.
6292         * lib/dup2.c: Likewise.
6293         * modules/dup2 (Depends-on, configure.ac): Likewise.
6294         (Depends-on): Remove dup2-obsolete.
6295         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize HAVE_DUP2.
6296         * modules/unistd (Makefile.am): Don't substitute HAVE_DUP2.
6297         * doc/posix-functions/dup2.texi: Don't mention module 'dup2-obsolete'.
6299 2020-07-07  Bruno Haible  <bruno@clisp.org>
6301         canonicalize: Trim module dependencies.
6302         * lib/hash-triple.h: Group declarations.
6303         * lib/hash-triple-simple.c: New file, extracted from lib/hash-triple.c.
6304         * lib/hash-triple.c: Don't include <stdlib.h>, <string.h>, hash-pjw.h.
6305         (STREQ): Remove macro.
6306         (triple_hash, triple_compare_ino_str, triple_free): Remove functions.
6307         * modules/hash-triple-simple: New file, based on modules/hash-triple.
6308         * modules/hash-triple (Files): Remove lib/hash-triple.h.
6309         (Depends-on): Add hash-triple-simple. Remove hash-pjw.
6310         * modules/canonicalize (Depends-on): Remove hash-triple. Add
6311         hash-triple-simple.
6312         * modules/file-set (Depends-on): Likewise.
6314 2020-07-07  Bruno Haible  <bruno@clisp.org>
6316         Clarify dependencies to double-slash-root.
6317         * modules/canonicalize (Files): Remove m4/double-slash-root.m4.
6318         (Depends-on): Add double-slash-root.
6319         * modules/canonicalize-lgpl (Depends-on): Add double-slash-root.
6320         * modules/dirname-lgpl (Depends-on): Add double-slash-root.
6322 2020-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6324         libgmp: new module
6325         The idea is to let programs simply include <gmp.h>, and
6326         so long as they live within the mini-gmp subset they need
6327         not worry about whether the GMP libraries are installed.
6328         * MODULES.html.sh: Mention it.
6329         * config/srclist.txt: Mention files copied from GMP source.
6330         * config/srclistvars.sh (GMP): New var.
6331         * lib/mini-gmp-gnulib.c, m4/libgmp.m4, modules/libgmp:
6332         * modules/libgmp-tests, tests/test-libgmp.c: New files.
6333         * lib/mini-gmp.c, lib/mini-gmp.h: New files, copied from GMP.
6335 2020-07-05  Bruno Haible  <bruno@clisp.org>
6337         mkancesdirs: Trim module dependencies.
6338         * lib/mkancesdirs.c: Include filename.h instead of dirname.h.
6339         * modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.
6341 2020-07-05  Bruno Haible  <bruno@clisp.org>
6343         getprogname: Trim module dependencies.
6344         * lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
6345         * modules/getprogname (Depends-on): Remove dirname-lgpl. Add
6346         basename-lgpl.
6348 2020-07-05  Bruno Haible  <bruno@clisp.org>
6350         filenamecat-lgpl: Trim module dependencies.
6351         * lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
6352         dirname.h.
6353         * modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
6354         basename-lgpl, filename.
6356 2020-07-05  Bruno Haible  <bruno@clisp.org>
6358         backupfile, backup-rename: Trim module dependencies.
6359         * lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
6360         * modules/backupfile (Depends-on): Remove dirname-lgpl. Add
6361         basename-lgpl.
6362         * modules/backup-rename (Depends-on): Likewise.
6364 2020-07-05  Bruno Haible  <bruno@clisp.org>
6366         argp: Trim module dependencies.
6367         * lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
6368         * modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
6370 2020-07-05  Bruno Haible  <bruno@clisp.org>
6372         basename-lgpl: New module.
6373         * lib/basename-lgpl.h: New file, based on lib/dirname.h and
6374         lib/basename-lgpl.c.
6375         * lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
6376         <stdbool.h>, filename.h.
6377         (last_component): Rename a local variable.
6378         * lib/dirname.h: Include basename-lgpl.h.
6379         (DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
6380         (last_component, base_len): Remove declarations.
6381         * modules/basename-lgpl: New file.
6382         * modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
6383         (Depends-on): Add basename-lgpl. Remove double-slash-root.
6384         (Makefile.am): Don't compile basename-lgpl.c.
6385         * doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
6386         not 'dirname'.
6388 2020-07-05  Bruno Haible  <bruno@clisp.org>
6390         dirname, dirname-lgpl: Simplify.
6391         * m4/dirname.m4: Remove file.
6392         * modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
6393         * modules/dirname-lgpl (Files): Remove m4/dirname.m4.
6394         (configure.ac): Don't invoke gl_DIRNAME_LGPL.
6396 2020-07-05  Bernhard Voelker  <mail@bernhard-voelker.de>
6398         tests: avoid shadowing warning
6399         * tests/test-memchr.c (main): Give page_boundary variable a tight scope.
6401 2020-07-05  Bruno Haible  <bruno@clisp.org>
6403         supersede: Add tests.
6404         * tests/test-supersede.c: New file.
6405         * tests/test-supersede-open.h: New file.
6406         * tests/test-supersede-fopen.h: New file.
6407         * modules/supersede-tests: New file.
6409         supersede: New module.
6410         * lib/supersede.h: New file.
6411         * lib/supersede.c: New file.
6412         * m4/supersede.m4: New file.
6413         * modules/supersede: New file.
6415 2020-07-05  Bruno Haible  <bruno@clisp.org>
6417         Add some copyright headers.
6418         * lib/dev-ino.h: Add copyright header.
6419         * lib/di-set.h: Likewise.
6420         * lib/fchown-stub.c: Likewise.
6421         * lib/file-set.h: Likewise.
6422         * lib/hash-triple.h: Likewise.
6423         * lib/idcache.h: Likewise.
6424         * lib/ino-map.h: Likewise.
6425         * lib/mkancesdirs.h: Likewise.
6426         * lib/scratch_buffer.h: Likewise.
6427         * lib/se-context.in.h: Likewise.
6428         * lib/stdopen.h: Likewise.
6429         * lib/userspec.h: Likewise.
6431 2020-07-04  Bruno Haible  <bruno@clisp.org>
6433         getrandom: Relicense under LGPLv2+.
6434         Paul Eggert's approval is in
6435         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00023.html>.
6436         * modules/getrandom (License): Change to LGPLv2+.
6438 2020-07-04  Bruno Haible  <bruno@clisp.org>
6440         getumask: Add tests.
6441         * tests/test-getumask.c: New file.
6442         * modules/getumask-tests: New file.
6444         getumask: New module.
6445         * lib/sys_stat.in.h (getumask): New declaration.
6446         * lib/getumask.c: New file.
6447         * m4/getumask.m4: New file.
6448         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether getumask is
6449         declared.
6450         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_GETUMASK, HAVE_GETUMASK.
6451         * modules/sys_stat (Makefile.am): Substitute GNULIB_GETUMASK,
6452         HAVE_GETUMASK.
6453         * modules/getumask: New file.
6454         * tests/test-sys_stat-c++.cc (getumask): Check signature.
6455         * doc/glibc-functions/getumask.texi: New file.
6456         * doc/gnulib.texi (Glibc sys/stat.h): Include it.
6458 2020-07-04  Bruno Haible  <bruno@clisp.org>
6460         clean-temp: Add support for temporary files with given mode.
6461         * lib/clean-temp.h (gen_register_open_temp): Add mode argument.
6462         * lib/clean-temp.c (struct try_create_file_params): New type.
6463         (try_create_file): New function.
6464         (gen_register_open_temp): Add mode argument. Use try_tempname instead of
6465         gen_tempname.
6467 2020-07-04  Bruno Haible  <bruno@clisp.org>
6469         clean-temp: Document limitations.
6470         * lib/clean-temp.h: Document limitations.
6472 2020-07-04  Bruno Haible  <bruno@clisp.org>
6474         clean-temp: Add support for temporary files with unpredictable names.
6475         * lib/clean-temp.h (gen_register_open_temp): New declaration.
6476         * lib/clean-temp.c: Include tempname.h.
6477         (gen_register_open_temp): New function.
6478         * modules/tempname (configure.ac): Define a module indicator.
6480 2020-07-04  Bruno Haible  <bruno@clisp.org>
6482         clean-temp: Add support for temporary files anywhere in the file system.
6483         * lib/clean-temp.h (register_temporary_file, unregister_temporary_file,
6484         cleanup_temporary_file): New declarations.
6485         * lib/clean-temp.c (file_cleanup_list_lock, file_cleanup_list): New
6486         variables.
6487         (dir_cleanup_list_lock): Renamed from cleanup_list_lock.
6488         (dir_cleanup_list): Renamed from cleanup_list.
6489         (cleanup_action): Process the file_cleanup_list as well.
6490         (do_init_clean_temp): New function.
6491         (clean_temp_once): New variable.
6492         (init_clean_temp): New function.
6493         (create_temp_dir): Invoke it.
6494         (register_temporary_file, unregister_temporary_file,
6495         cleanup_temporary_file): New functions.
6496         (do_unlink, do_rmdir): Remove 'dir' argument. Add 'cleanup_verbose'
6497         argument.
6499 2020-07-04  Bruno Haible  <bruno@clisp.org>
6501         clean-temp: Improve comments.
6502         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
6503         fwriteerror_temp, close_stream_temp): Clarify intended use.
6504         * lib/clean-temp.c: Likewise.
6506 2020-07-04  Bruno Haible  <bruno@clisp.org>
6508         clean-temp: Make multithread-safe, part 2.
6509         * lib/fatal-signal.h: Include <signal.h>.
6510         (get_fatal_signal_set): New declaration.
6511         * lib/fatal-signal.c (get_fatal_signal_set): New function.
6512         * lib/clean-temp.c: Include asyncsafe-spin.h, gl_linked_list.h.
6513         (struct closeable_fd): New type.
6514         (fatal_signal_set): New variable.
6515         (init_fatal_signal_set): New function.
6516         (asyncsafe_close, asyncsafe_fclose_variant): New functions.
6517         (cleanup_action): Invoke asyncsafe_close instead of close.
6518         (create_temp_dir): Invoke init_fatal_signal_set.
6519         (register_fd): Use a plain linked list. Add a 'struct closeable_fd *'
6520         element.
6521         (unregister_fd): Remove function.
6522         (close_temp): Cleanup descriptors list on the fly. Invoke
6523         init_fatal_signal_set. Invoke asyncsafe_close instead of close.
6524         (fclose_variant_temp): New function.
6525         (fclose_temp, fwriteerror_temp, close_stream_temp): Use it.
6526         * modules/clean-temp (Depends-on): Add asyncsafe-spin, linked-list.
6528 2020-07-04  Bruno Haible  <bruno@clisp.org>
6530         clean-temp: Make multithread-safe, part 1.
6531         * lib/clean-temp.c: Include glthread/lock.h.
6532         (cleanup_list_lock): New variable.
6533         (register_temp_file, unregister_temp_file, register_temp_subdir,
6534         unregister_temp_subdir, cleanup_temp_dir_contents): Use it.
6535         (create_temp_dir): Likewise. Don't free the old array.
6536         (descriptors_lock): New variable.
6537         (register_fd, unregister_fd): Use it.
6538         * modules/clean-temp (Depends-on): Add lock.
6540 2020-07-04  Bruno Haible  <bruno@clisp.org>
6542         fatal-signal: Make multithread-safe.
6543         * lib/fatal-signal.c (init_fatal_signals): Add comment.
6544         (do_init_fatal_signal_set): New function, extracted from
6545         init_fatal_signal_set.
6546         (fatal_signal_set_once): New variable.
6547         (init_fatal_signal_set): Use gl_once.
6549 2020-07-03  Bruno Haible  <bruno@clisp.org>
6551         getrandom: Fix compilation error on native Windows (regr. 2020-06-28).
6552         * lib/getrandom.c: Don't include <ntdef.h>. Instead, define NTSTATUS.
6553         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Include <windows.h> before
6554         <bcrypt.h>.
6556 2020-07-03  Bruno Haible  <bruno@clisp.org>
6558         dfa tests: Follow common file naming conventions.
6559         * tests/test-dfa-match-aux.c: Renamed from tests/dfa-match-aux.c.
6560         * tests/test-dfa-match.sh: Renamed from tests/dfa-match.sh. Update.
6561         * tests/test-dfa-invalid-char-class.sh: Renamed from
6562         tests/dfa-invalid-char-class.sh. Update.
6563         * modules/dfa-tests (Files, Makefile.am): Update.
6565 2020-07-03  Bruno Haible  <bruno@clisp.org>
6567         asyncsafe-spin: Use GCC extended asm syntax for SunStudio 12 compiler.
6568         * lib/asyncsafe-spin.c (memory_barrier, atomic_compare_and_swap): Use
6569         the GCC extended asm syntax also for the Sun Studio 12 compilers.
6571 2020-07-03  Bruno Haible  <bruno@clisp.org>
6573         asyncsafe-spin: Reduce code duplication.
6574         * lib/asyncsafe-spin.c (do_lock, do_unlock): New functions.
6575         (asyncsafe_spin_lock, asyncsafe_spin_unlock): Use them.
6576         * modules/asyncsafe-spin (configure.ac): Require AC_C_INLINE.
6578 2020-07-03  Bruno Haible  <bruno@clisp.org>
6580         lchmod: Simplify after 2020-02-22 change.
6581         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Don't require AC_C_INLINE.
6583 2020-07-03  Bruno Haible  <bruno@clisp.org>
6585         gen-uni-tables: Make sure the compiler does not barf on 'inline'.
6586         * modules/gen-uni-tables (configure.ac): Require AC_C_INLINE.
6588 2020-07-03  Bruno Haible  <bruno@clisp.org>
6590         dfa: Make sure the compiler does not barf on 'inline'.
6591         * modules/dfa (configure.ac): Require AC_C_INLINE.
6593 2020-07-03  Bruno Haible  <bruno@clisp.org>
6595         bitset: Make sure the compiler does not barf on 'inline'.
6596         * modules/bitset (configure.ac): New section.
6598 2020-07-01  Paul Eggert  <eggert@cs.ucla.edu>
6600         manywarnings: improve port to GCC 10.1
6601         * build-aux/gcc-warning.spec: Also list warnings that are default
6602         or are enabled by already-given flags.  This lets us speed up
6603         checking for attributes, and makes the generated compilation
6604         commands shorter.  Add -Wanalyzer-too-complex (too much noise).
6605         * m4/manywarnings.m4 (gl_MANYWARN_COMPLEMENT)
6606         (gl_MANYWARN_ALL_GCC): Use gl_AS_VAR_APPEND to append
6607         to shell variables that may have long values.
6608         (gl_MANYWARN_ALL_GCC): Omit flags that are default or are
6609         consequences of other flags, to speed up checking and
6610         shorten commands.
6612         tests: pacify gcc -fanalyzer on zerosize_ptr
6613         * tests/test-memcasecmp.c (main):
6614         * tests/test-memchr.c (main):
6615         * tests/test-memchr2.c (main):
6616         * tests/test-memcmp.c (main):
6617         * tests/test-memmem.c (main):
6618         * tests/test-memrchr.c (main):
6619         * tests/unistr/test-chr.h (main):
6620         * tests/unistr/test-cmp.h (test_cmp):
6621         Check whether zerosize_ptr returns NULL before using it.
6622         This pacifies GCC 10.1’s new fanalyzer option, and matches
6623         other uses of zerosize_ptr.
6625 2020-07-01  Bruno Haible  <bruno@clisp.org>
6627         asyncsafe-spin: Add tests.
6628         * tests/test-asyncsafe-spin1.c: New file.
6629         * tests/test-asyncsafe-spin2.c: New file, based on tests/test-lock.c and
6630         tests/test-pthread-spin.c.
6631         * modules/asyncsafe-spin-tests: New file.
6633 2020-07-01  Bruno Haible  <bruno@clisp.org>
6635         asyncsafe-spin: New module.
6636         * lib/asyncsafe-spin.h: New file.
6637         * lib/asyncsafe-spin.c: New file, based on lib/pthread-spin.c.
6638         * modules/asyncsafe-spin: New file.
6640 2020-07-01  Bruno Haible  <bruno@clisp.org>
6642         windows-spin: Fix race condition on multiprocessor systems.
6643         * lib/windows-spin.c (glwthread_spin_init): Add a memory barrier.
6645 2020-07-01  Bruno Haible  <bruno@clisp.org>
6647         pthread-spin: Add optimized fallback for GCC versions >= 4.1, < 4.7.
6648         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
6649         pthread_spin_trylock, pthread_spin_unlock): For GCC >= 4.1, < 4.7, use
6650         an implementation based on other GCC built-ins.
6652 2020-07-01  Bruno Haible  <bruno@clisp.org>
6654         pthread-spin: Optimize fallback for GCC versions >= 4.7.
6655         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
6656         pthread_spin_trylock, pthread_spin_unlock): Use a lock word instead of a
6657         lock byte.
6659 2020-07-01  Bruno Haible  <bruno@clisp.org>
6661         pthread-spin: Add error checking.
6662         * lib/pthread-spin.c: Include <stdbool.h>.
6663         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock,
6664         pthread_spin_unlock) [GCC>=4.7]: Prefer an implementation that verifies
6665         the unlocks.
6666         * modules/pthread-spin (Depends-on): Add stdbool.
6668 2020-07-01  Bruno Haible  <bruno@clisp.org>
6670         pthread-spin: Add tests.
6671         * tests/test-pthread-spin.c: New file, based on tests/test-lock.c.
6672         * modules/pthread-spin-tests: New file.
6674 2020-07-01  Bruno Haible  <bruno@clisp.org>
6676         tests: Reduce code duplication.
6677         * tests/atomic-int-posix.h: New file, extracted from
6678         tests/test-pthread-mutex.c.
6679         * tests/test-pthread-mutex.c: Include it. Remove the corresponding code.
6680         * tests/test-pthread-rwlock.c: Likewise.
6681         * modules/pthread-mutex-tests (Files): Add tests/atomic-int-posix.h.
6682         * modules/pthread-rwlock-tests (Files): Likewise.
6684 2020-07-01  Bruno Haible  <bruno@clisp.org>
6686         tests: Refactor.
6687         * tests/atomic-int-isoc.h: New file, extracted from tests/test-mtx.c.
6688         * tests/test-mtx.c: Include it. Remove the corresponding code.
6689         * modules/mtx-tests (Files): Add tests/atomic-int-isoc.h.
6691 2020-07-01  Bruno Haible  <bruno@clisp.org>
6693         tests: Refactor.
6694         * tests/atomic-int-gnulib.h: New file, extracted from tests/test-lock.c.
6695         * tests/test-lock.c: Include it. Remove the corresponding code.
6696         * modules/lock-tests (Files): Add tests/atomic-int-gnulib.h.
6698 2020-06-29  Bruno Haible  <bruno@clisp.org>
6700         sys_socket: Don't define socklen_t if it is already defined on mingw.
6701         Reported by Keith Marshall <keith.d.marshall@ntlworld.com> in
6702         <https://savannah.gnu.org/bugs/?57725>,
6703         by Rahul Das <bokul_4u@yahoo.com> in
6704         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00081.html>,
6705         and by Eli Zaretskii <eliz@gnu.org> in
6706         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00068.html>.
6707         * lib/sys_socket.in.h (socklen_t): Remove definition.
6709 2020-06-29  Bruno Haible  <bruno@clisp.org>
6711         alloca-opt: Fix warning on mingw.
6712         Reported and solution by Eli Zaretskii <eliz@gnu.org> in
6713         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00069.html>.
6714         * lib/alloca.in.h: On mingw, include <alloca.h> and then test again
6715         whether alloca is defined.
6717 2020-06-28  Paul Eggert  <eggert@cs.ucla.edu>
6719         getrandom: do not depend on ‘open’ on mingw
6720         Similarly for at-internal, getloadavg.  These modules do not call
6721         the ‘open’ function when they are compiled on mingw.  On mingw,
6722         this avoids having to compile open.c when building Emacs, which
6723         does its own thing with ‘open’.
6724         * modules/at-internal, modules/getloadavg, modules/getrandom:
6725         (Depends-on): Don’t depend on ‘open’ on mingw.
6726         (Depends-on): Require AC_CANONICAL_HOST, for host_os.
6727         * modules/getloadavg (Depends-on):
6728         Depend on intprops, open, stdbool, stdlib only if compiling
6729         getloadavg.c.
6731 2020-06-28  Bruno Haible  <bruno@clisp.org>
6733         doc: Add a note about sigprocmask vs. pthread_sigmask.
6734         * doc/posix-functions/sigprocmask.texi: Add note.
6736 2020-06-28  Bruno Haible  <bruno@clisp.org>
6738         getrandom: Fix compilation errors on older versions of mingw.
6739         Reported by Eli Zaretskii <eliz@gnu.org> in
6740         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00059.html>.
6741         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Test whether <bcrypt.h> exists.
6742         * lib/getrandom.c: If <bcrypt.h> is not available, include <ntdef.h> and
6743         define/declare BCRYPT_ALG_HANDLE, BCRYPT_USE_SYSTEM_PREFERRED_RNG,
6744         BCryptGenRandom ourselves.
6746 2020-06-28  Bruno Haible  <bruno@clisp.org>
6748         clean-temp: Fix wrong errno in error message.
6749         * lib/clean-temp.c (create_temp_dir): Save errno around
6750         unblock_fatal_signals call.
6752 2020-06-27  Bruno Haible  <bruno@clisp.org>
6754         fatal-signal: Make multithread-safe.
6755         * lib/fatal-signal.c (at_fatal_signal): Don't free the old actions array.
6757 2020-06-27  Bruno Haible  <bruno@clisp.org>
6759         clean-temp: Don't force deletion of temporary files on native Windows.
6760         * lib/clean-temp.h (open_temp, fopen_temp): Add delete_on_close
6761         argument.
6762         * lib/clean-temp.c (open_temp, fopen_temp): Likewise.
6763         * NEWS: Mention the change.
6764         * lib/javacomp.c (write_temp_file): Update.
6766 2020-06-27  Bruno Haible  <bruno@clisp.org>
6768         fatal-signal: Make multithread-safe.
6769         * lib/fatal-signal.c: Include glthread/lock.h.
6770         (at_fatal_signal_lock): New variable.
6771         (at_fatal_signal): Use it.
6772         (fatal_signals_block_lock, fatal_signals_block_counter): New variables.
6773         (block_fatal_signals, unblock_fatal_signals): Use them.
6774         * modules/fatal-signal (Depends-on): Add lock.
6776 2020-06-27  Paul Eggert  <eggert@cs.ucla.edu>
6778         getloadavg: don’t depend on fopen-gnu
6779         This is for Emacs, which does not need fopen-gnu for anything else,
6780         and which would need it only on a NetBSD platform where getloadavg
6781         does not work (does that even happen?).
6782         * lib/getloadavg.c (getloadavg) [__NetBSD__]: Use open, not fopen.
6783         * modules/getloadavg (Depends-on): Remove fopen-gnu.
6785         * tests/test-getloadavg.c (main): Fix typo.
6787 2020-06-27  Bruno Haible  <bruno@clisp.org>
6789         tempname et al.: Fix link errors on MSVC (regression from 2020-05-31).
6790         * modules/tempname (Link): New section.
6791         * modules/mkdtemp (Link): Likewise.
6792         * modules/clean-temp (Link): Likewise.
6793         * modules/mkstemp (Link): Likewise.
6794         * modules/stdlib-safer (Link): Likewise.
6795         * modules/mkstemps (Link): Likewise.
6796         * modules/mkostemp (Link): Likewise.
6797         * modules/mkostemps (Link): Likewise.
6798         * modules/tmpfile (Link): Likewise.
6799         * modules/tmpfile-safer (Link): Likewise.
6800         * modules/javacomp (Link): Add $(LIB_GETRANDOM).
6801         * modules/argv-iter-tests (Makefile.am): Link test-argv-iter with
6802         $(LIB_GETRANDOM).
6803         * NEWS: Mention the changes.
6805 2020-06-27  Bruno Haible  <bruno@clisp.org>
6807         fopen-gnu: Simplify code.
6808         * lib/fopen.c: Include <stdbool.h>.
6809         (rpl_fopen): Use a single variable open_flags instead of
6810         open_flags_standard and open_flags_gnu. Make open_flags_gnu a bool.
6811         * modules/fopen (Depends-on): Add stdbool.
6813 2020-06-26  Bruno Haible  <bruno@clisp.org>
6815         canonicalize: Improve documentation.
6816         * lib/canonicalize.h (canonicalize_filename_mode): Document the failure
6817         return convention.
6819 2020-06-26  Bruno Haible  <bruno@clisp.org>
6821         xgetcwd: Improve documentation.
6822         * lib/xgetcwd.c (xgetcwd): Document the failure return convention.
6824 2020-06-26  Bruno Haible  <bruno@clisp.org>
6826         getcwd: Improve documentation.
6827         * lib/getcwd.c (__getcwd): Document the failure return convention.
6829 2020-06-26  Bruno Haible  <bruno@clisp.org>
6831         fchdir: Improve documentation.
6832         * lib/fchdir.c (get_name, _gl_register_fd): Document the failure return
6833         convention.
6835 2020-06-26  Bruno Haible  <bruno@clisp.org>
6837         filenamecat-lgpl: Set errno upon failure.
6838         * lib/filenamecat-lgpl.c (mfile_name_concat): Document the failure
6839         return convention.
6840         * modules/filenamecat-lgpl (Depends-on): Add malloc-posix.
6842 2020-06-26  Bruno Haible  <bruno@clisp.org>
6844         areadlink-with-size: Set errno upon failure.
6845         * lib/areadlink-with-size.c (areadlink_with_size): Set errno when malloc
6846         fails.
6847         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Add comment.
6849 2020-06-26  Bruno Haible  <bruno@clisp.org>
6851         copy-file: Shrink dependencies.
6852         * modules/copy-file (Depends-on): Remove acl. Add acl-permissions,
6853         qcopy-acl.
6855 2020-06-26  Bruno Haible  <bruno@clisp.org>
6857         doc: Mention declaration fixes implemented by some modules.
6858         * doc/posix-functions/chdir.texi: Mention the module 'chdir'.
6859         * doc/posix-functions/close.texi: Mention that Gnulib makes the function
6860         declaration appear in <unistd.h>.
6861         * doc/posix-functions/dup.texi: Likewise.
6862         * doc/posix-functions/dup2.texi: Likewise.
6863         * doc/posix-functions/gethostname.texi: Likewise.
6864         * doc/posix-functions/isatty.texi: Likewise.
6865         * doc/posix-functions/lseek.texi: Likewise.
6866         * doc/posix-functions/unlink.texi: Likewise.
6867         * doc/posix-functions/read.texi: Mention the module 'read'.
6868         * doc/posix-functions/write.texi: Mention the effects of the module
6869         'write'.
6871 2020-06-25  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
6873         c-dtoastr, c-ldtoastr: new modules
6874         These modules provide the same functionality as the modules
6875         dtoastr and ldtoastr except for the formatting taking place in the
6876         C locale.
6877         * MODULES.html.sh: Add c-dtoastr and c-ldtoastr.
6878         * lib/c-dtoastr.c, lib/c-ldtoastr.c: New files.
6879         * lib/ftoastr.c: Prefix exported functions when the macro C_LOCALE is
6880         defined.  Use c_snprintf and c_strtod/c_strtold instead of
6881         snprintf and strtod/strtold whhen the macro C_LOCALE is defined.
6882         * lib/ftoastr.h: Add prototypes for c_dtoastr and c_ldtoastr.
6883         * modules/c-dtoastr, modules/c-dtoastr-tests, modules/c-ldtoastr,
6884         modules/c-ldtoastr-tests: New files.
6885         * tests/test-c-dtoastr.c, tests/test-c-dtoastr.sh,
6886         tests-c-ldtoastr.c tests-c-ldtoastr.sh: New files.
6888 2020-06-21  Bruno Haible  <bruno@clisp.org>
6890         tzset: Fix compilation warnings on mingw (regression from 2017-05-01).
6891         * lib/tzset.c: Include <stdlib.h>, <string.h>.
6893 2020-06-16  Bruno Haible  <bruno@clisp.org>
6895         thread: Avoid possible compiler warnings in uses of gl_thread_exit.
6896         * lib/glthread/thread.h (gl_thread_exit): Add a cast to void.
6898 2020-06-16  Bruno Haible  <bruno@clisp.org>
6900         thread, thrd: Avoid a compiler warning.
6901         * lib/windows-thread.h (glwthread_thread_exit): Mark as non-returning.
6903 2020-06-16  Biswapriyo Nath  <nathbappai@gmail.com>  (tiny change)
6905         windows-thread: Avoid a compiler warning.
6906         * lib/windows-thread.h (glwthread_thread_exit): Change return type to
6907         void.
6908         * lib/windows-thread.c (glwthread_thread_exit): Likewise.
6910 2020-06-15  Bruno Haible  <bruno@clisp.org>
6912         unictype/joininggroup-name: Fix warning on 64-bit mingw.
6913         Reported by Biswapriyo Nath <nathbappai@gmail.com> in
6914         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00036.html>.
6915         * lib/unictype/joininggroup_name.c (ELEM): Cast struct offset to size_t
6916         first.
6918 2020-06-06  Bruno Haible  <bruno@clisp.org>
6920         calloc-gnu tests: Avoid a test failure with clang.
6921         * tests/test-calloc-gnu.c (main): Mark the pointer variable as
6922         'volatile', to defeat compiler optimizations.
6924 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6926         getloadavg: fix double-increment bug
6927         * lib/getloadavg.c (getloadavg): Fix double-increment typo on
6928         Linux without glibc, Android, Cygwin.  This fixes a bug I
6929         introduced in 2011-02-08T20:23:29Z!eggert@cs.ucla.edu.
6930         Problem and fix reported by Semen Verchenko in:
6931         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00007.html
6933         tempname: use getrandom, not getentropy
6934         This removes a dependency, as getentropy depends on getrandom.
6935         * lib/tempname.c: Include sys/random.h instead of unistd.h.
6936         (RANDOM_BITS) [!_LIBC]: Use getrandom, not getentropy.
6937         * modules/tempname (Depends-on): Depend on getrandom, not getentropy.
6939 2020-06-01  Bruno Haible  <bruno@clisp.org>
6941         doc: New chapter 'Multithreading'.
6942         * doc/multithread.texi: New file.
6943         * doc/gnulib.texi: Include it.
6945 2020-06-01  Bruno Haible  <bruno@clisp.org>
6947         doc: Move 'Running self-tests under valgrind' section.
6948         * doc/gnulib.texi (Build Infrastructure Modules): Include
6949         valgrind-tests.texi here...
6950         (Miscellaneous Notes): ... not here.
6952 2020-06-01  Bruno Haible  <bruno@clisp.org>
6954         doc: Move 'Visual Studio Compatibility' section.
6955         * doc/gnulib.texi (Native Windows Support): Include ld-output-def.texi
6956         here...
6957         (Build Infrastructure Modules): ... not here.
6959 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6961         doc: improve randomness discussion
6962         Inspired by comments from Jeffrey Walton in:
6963         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00002.html
6964         * doc/glibc-functions/getentropy.texi (getentropy):
6965         * doc/glibc-functions/getrandom.texi (getrandom):
6966         Improve discussion of problems with "random" data,
6967         and cite Ristenpart & Yilek.  Also, mention GRND_INSECURE.
6969 2020-06-01  Bruno Haible  <bruno@clisp.org>
6971         doc: Fix Texinfo syntax error.
6972         * doc/glibc-functions/getrandom.texi: Add missing '@item'.
6974 2020-06-01  Asher Gordon  <AsDaGo@posteo.net>
6976         doc: Change '.' to '@.' where appropriate.
6977         * doc/c-ctype.texi: Change '.' to '@.' where appropriate.
6978         * doc/glibc-functions/fstatfs.texi: Likewise.
6979         * doc/glibc-functions/fts_children.texi: Likewise.
6980         * doc/glibc-functions/fts_read.texi: Likewise.
6981         * doc/glibc-functions/getdirentries.texi: Likewise.
6982         * doc/glibc-functions/mkostemp.texi: Likewise.
6983         * doc/glibc-functions/mkostemps.texi: Likewise.
6984         * doc/glibc-functions/mkstemps.texi: Likewise.
6985         * doc/glibc-functions/preadv.texi: Likewise.
6986         * doc/glibc-functions/pwritev.texi: Likewise.
6987         * doc/glibc-functions/sendfile.texi: Likewise.
6988         * doc/glibc-functions/statfs.texi: Likewise.
6989         * doc/gnulib-intro.texi: Likewise.
6990         * doc/gnulib-tool.texi: Likewise.
6991         * doc/intprops.texi: Likewise.
6992         * doc/lib-symbol-visibility.texi: Likewise.
6993         * doc/licenses-texi.texi: Likewise.
6994         * doc/pastposix-functions/bcmp.texi: Likewise.
6995         * doc/pastposix-functions/bcopy.texi: Likewise.
6996         * doc/pastposix-functions/bzero.texi: Likewise.
6997         * doc/pastposix-functions/ecvt.texi: Likewise.
6998         * doc/pastposix-functions/fcvt.texi: Likewise.
6999         * doc/pastposix-functions/ftime.texi: Likewise.
7000         * doc/pastposix-functions/gcvt.texi: Likewise.
7001         * doc/pastposix-functions/getwd.texi: Likewise.
7002         * doc/pastposix-functions/index.texi: Likewise.
7003         * doc/pastposix-functions/mktemp.texi: Likewise.
7004         * doc/pastposix-functions/rindex.texi: Likewise.
7005         * doc/pastposix-functions/wcswcs.texi: Likewise.
7006         * doc/posix-functions/aio_cancel.texi: Likewise.
7007         * doc/posix-functions/aio_error.texi: Likewise.
7008         * doc/posix-functions/aio_fsync.texi: Likewise.
7009         * doc/posix-functions/aio_read.texi: Likewise.
7010         * doc/posix-functions/aio_return.texi: Likewise.
7011         * doc/posix-functions/aio_suspend.texi: Likewise.
7012         * doc/posix-functions/aio_write.texi: Likewise.
7013         * doc/posix-functions/creat.texi: Likewise.
7014         * doc/posix-functions/ctime.texi: Likewise.
7015         * doc/posix-functions/daylight.texi: Likewise.
7016         * doc/posix-functions/fgetpos.texi: Likewise.
7017         * doc/posix-functions/fopen.texi: Likewise.
7018         * doc/posix-functions/freopen.texi: Likewise.
7019         * doc/posix-functions/fseeko.texi: Likewise.
7020         * doc/posix-functions/fsetpos.texi: Likewise.
7021         * doc/posix-functions/fstatat.texi: Likewise.
7022         * doc/posix-functions/fstatvfs.texi: Likewise.
7023         * doc/posix-functions/ftello.texi: Likewise.
7024         * doc/posix-functions/ftruncate.texi: Likewise.
7025         * doc/posix-functions/getrlimit.texi: Likewise.
7026         * doc/posix-functions/lio_listio.texi: Likewise.
7027         * doc/posix-functions/localtime.texi: Likewise.
7028         * doc/posix-functions/lseek.texi: Likewise.
7029         * doc/posix-functions/mkstemp.texi: Likewise.
7030         * doc/posix-functions/mktime.texi: Likewise.
7031         * doc/posix-functions/open.texi: Likewise.
7032         * doc/posix-functions/openat.texi: Likewise.
7033         * doc/posix-functions/opendir.texi: Likewise.
7034         * doc/posix-functions/pread.texi: Likewise.
7035         * doc/posix-functions/pwrite.texi: Likewise.
7036         * doc/posix-functions/readdir.texi: Likewise.
7037         * doc/posix-functions/readdir_r.texi: Likewise.
7038         * doc/posix-functions/scandir.texi: Likewise.
7039         * doc/posix-functions/seekdir.texi: Likewise.
7040         * doc/posix-functions/setrlimit.texi: Likewise.
7041         * doc/posix-functions/statvfs.texi: Likewise.
7042         * doc/posix-functions/strftime.texi: Likewise.
7043         * doc/posix-functions/telldir.texi: Likewise.
7044         * doc/posix-functions/timezone.texi: Likewise.
7045         * doc/posix-functions/tmpfile.texi: Likewise.
7046         * doc/posix-functions/truncate.texi: Likewise.
7047         * doc/posix-functions/tzname.texi: Likewise.
7048         * doc/posix-functions/wcsftime.texi: Likewise.
7049         * doc/windows-sockets.texi: Likewise.
7051 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
7053         getrandom-tests: do not assume GRND_RANDOM yields short read
7054         * tests/test-getrandom.c (main): Omit assertion that
7055         getrandom (b, sizeof b, GRND_RANDOM | GRND_NONBLOCK) < sizeof b
7056         when b’s size is 100000.  This assertion fails with Linux kernel
7057         5.6.13, as that kernel ignores the GRND_RANDOM flag.
7058         The separate blocking pool is going away in the Linux kernel, and
7059         they’ve added a flag GRND_INSECURE instead; see:
7060         https://lore.kernel.org/linux-api/705c5a091b63cc5da70c99304bb97e0109be0a26.1577088521.git.luto@kernel.org/
7061         The assertion was iffy anyway; what’s to prevent a kernel from
7062         lazily filling a large buffer with random bytes?
7064         read-file-test: pacify --enable-gcc-warnings
7065         * tests/test-read-file.c (test_read_file): Now static.
7067         tempname: merge from glibc and coreutils
7068         Also, merge in Gnulib’s more-recent methods of making it easier
7069         to share between Gnulib and glibc, and fix a few randomness
7070         glitches.
7071         * lib/tempname.c: Include libc-config.h, not config.h, if !_LIBC.
7072         (__set_errno): Remove; libc-config.h does that for us.
7073         Do not include <sys/time.h>.
7074         (__secure_getenv) [_LIBC]: New macro.
7075         (__try_tempname, __getpid, __gettimeofday) [!_LIBC]: Remove macros.
7076         (RANDOM_BITS): Rewrite.
7077         (RANDOM_VALUE_MAX, BASE_62_DIGITS, BASE_62_POWER): New macros.
7078         (random_value): New typedef.
7079         (try_file, try_dir, try_nocreate): Move up.
7080         (gen_tempname_len, try_tempname_len): New functions.
7081         (gen_tempname_len): Use a constant array rather than a switch.
7082         (try_tempname_len): Don’t assume string length fits in int.
7083         Generalize use of RANDOM_BITS.  If _LIBC, don’t assume RANDOM_BITS
7084         has enough entropy (it’s a bit short).
7085         (__gen_tempname): Rewrite in terms of gen_tempname_len.
7086         (__try_tempname): Rewrite in terms of try_tempname_len.
7087         * lib/tempname.h (gen_tempname_len, try_tempname_len): New decls.
7088         * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
7089         Add getentropy, libc-config.
7091 2020-05-31  Bruno Haible  <bruno@clisp.org>
7093         getrandom, getentropy: Mention the crypto/gc-random module.
7094         Suggested by Simon Josefsson in
7095         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00400.html>.
7096         * doc/glibc-functions/getrandom.texi: Mention the quality issues and the
7097         crypto/gc-random module.
7098         * doc/glibc-functions/getentropy.texi: Likewise.
7100 2020-05-31  Bruno Haible  <bruno@clisp.org>
7102         getentropy: Enhance tests.
7103         * tests/test-getentropy.c (main): Add one more test.
7104         * tests/test-unistd-c++.cc: Check the signature of getentropy.
7106 2020-05-31  Bruno Haible  <bruno@clisp.org>
7108         getentropy: Work around a macOS and Solaris problem.
7109         * lib/unistd.in.h: Include <sys/random.h>, when needed for the
7110         'getentropy' module.
7111         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7112         UNISTD_H_HAVE_SYS_RANDOM_H.
7113         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Set
7114         UNISTD_H_HAVE_SYS_RANDOM_H.
7115         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_SYS_RANDOM_H.
7116         * doc/glibc-functions/getentropy.texi: Document the macOS and Solaris
7117         problem. List more platforms.
7119 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
7121         fnmatch: merge from glibc
7122         Also, merge in Gnulib’s more-recent methods of making it easier
7123         to share between Gnulib and glibc.
7124         * lib/fnmatch.c: Reorder includes to match glibc better.
7125         Include libc-config.h instead of config.h.
7126         Include alloca.h only if _LIBC || HAVE_ALLOCA.
7127         Do not include "../locale/elem-hash.h" if _LIBC.
7128         Define macros for btowc, etc. if _LIBC.  All uses simplified.
7129         Define FALLTHROUGH if _LIBC, instead of including attribute.h.
7130         Include intprops.h, since glibc has it now.
7131         (SIZE_MAX): Remove; use (size_t) -1 instead.
7132         Omit the "Comment out all this code" ifdef, since Gnulib
7133         has never really needed it.
7134         (STREQ): Remove; no longer used.
7135         (__libc_use_alloca, alloca, alloca_account): Define as
7136         needed if !_LIBC.
7137         (ISWCTYPE): Remove; all uses replaced by iswctype.
7138         (HANDLE_MULTIBYTE): Remove.  All uses removed by assuming true.
7139         (internal_function): Remove.  All uses removed.
7140         (STRUCT): New macro.
7141         (WIDE_CHAR_VERSION): Define to 0 instead of leaving undefined.
7142         (WMEMCMP): New macro.
7143         (FINDIDX): Define if _LIBC, and include <locale/weight.h>
7144         and <locale/weightwc.h>.
7145         (fnmatch): Prefer __glibc_likely and __glibc_unlikely to
7146         __builtin_expect.  Check for integer overflow more
7147         systematically.  Account for alloca storage better when
7148         recursive.  Use strnlen instead of strlen for efficiency.
7149         * lib/fnmatch_loop.c: Include stdint.h if _LIBC, for int32_t etc.
7150         (struct STRUCT): New type.
7151         (FCT, EXT): New ENDS and ALLOCA_USED args.
7152         All callers changed.
7153         (FCT): Prefer __glibc_unlikely to __builtin_expect.
7154         Simplify by assuming WIDE_CHAR_SUPPORT.
7155         Copy _LIBC code from glibc without worrying Gnulib compatibility.
7156         Cast cold to UCHAR to avoid signedness warning.
7157         (END): Check for invalid pattern.
7158         (EXT): Improve alloca/malloc checking (taken from glibc),
7159         and improve it some more by using intprops.h and checking
7160         for integer overflow and using bool for booleans.
7161         * lib/libc-config.h (compat_symbol): New macro.
7162         (versioned_symbol): Make it ‘extern int dummy’ so that it’s
7163         acceptable to non-GCC when a trailing semicolon is added.
7164         * modules/fnmatch (Depends-on): Add alloca-opt, intprops,
7165         libc-config, strnlen.  Remove alloca.
7167 2020-05-31  Bruno Haible  <bruno@clisp.org>
7169         getrandom: Doc and test tweaks.
7170         * lib/getrandom.c (getrandom): Mention that it never returns 0, and that
7171         it sets errno when failing.
7172         * tests/test-getrandom.c (main): Disable the high-quality check on those
7173         platforms on which it fails.
7174         * doc/glibc-functions/getrandom.texi: Add Minix, AIX, HP-UX, IRIX,
7175         Cygwin to the list of platforms that don't have the function. Add a note
7176         about the quality of the result.
7177         * doc/glibc-headers/sys_random.texi: Don't mention the 'getrandom'
7178         declaration; this is fixed by module 'getrandom'.
7180 2020-05-31  Bruno Haible  <bruno@clisp.org>
7182         getrandom: Add support for native Windows.
7183         * lib/getrandom.c: Include <errno.h>, <windows.h>, <bcrypt.h>,
7184         <wincrypt.h>.
7185         (CRYPT_VERIFY_CONTEXT): New macro.
7186         (LoadLibrary, CryptAcquireContext): Redirect to the variant with suffix
7187         'A'.
7188         (GetProcAddress): New macro.
7189         (BCryptGenRandomFuncType): New type.
7190         (BCryptGenRandomFunc, initialized): New variables.
7191         (initialize): New function.
7192         (getrandom): On native Windows, use <bcrypt.h> API when available, and
7193         <wincrypt.h> API as fallback.
7194         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set LIB_GETRANDOM.
7195         * modules/getrandom (Link): New section.
7196         * modules/getentropy (Link): Likewise.
7197         * modules/getrandom-tests (Makefile.am): Link test-getrandom against
7198         $(LIB_GETRANDOM).
7199         * modules/getentropy-tests (Makefile.am): Link test-getentropy against
7200         $(LIB_GETRANDOM).
7201         * modules/sys_random-c++-tests (Makefile.am): Link test-sys_random-c++
7202         against $(LIB_GETRANDOM).
7203         * doc/glibc-functions/getrandom.texi: Mention the native Windows
7204         support.
7206 2020-05-31  Bruno Haible  <bruno@clisp.org>
7208         getrandom: Simplify the determination of the random number devices.
7209         Suggested by Paul Eggert in
7210         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00383.html>.
7211         * lib/getrandom.c (NAME_OF_RANDOM_DEVICE, NAME_OF_NONCE_DEVICE): New
7212         macros.
7213         * modules/getrandom (Depends-on): Remove crypto/gc-random.
7215 2020-05-31  Bruno Haible  <bruno@clisp.org>
7217         crypto/gc-random: Fix list of crypto devices for Solaris.
7218         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case Solaris.
7220 2020-05-31  Akim Demaille  <akim@lrde.epita.fr>
7222         list: fix GCC warnings
7223         * lib/gl_anytree_list2.h (gl_tree_iterator_free)
7224         (gl_tree_next_node, gl_tree_node_nx_set_value)
7225         (gl_tree_previous_node, gl_tree_next_node):
7226         Mark unused arguments.
7227         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
7228         * lib/gl_anylinked_list2.h (gl_linked_node_value)
7229         (gl_linked_node_nx_set_value, gl_linked_iterator_free): Likewise.
7231         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Avoid using
7232         the same variable name in nested scopes.
7234 2020-05-31  Bruno Haible  <bruno@clisp.org>
7236         list-c++, set-c++, oset-c++, map-c++, omap-c++: Don't fool the compiler.
7237         Reported by Akim Demaille in
7238         <https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00102.html>.
7239         * lib/gl_list.hh (gl_List::iterator::next): Avoid a reinterpret_cast.
7240         * lib/gl_set.hh (gl_Set::iterator::next): Likewise.
7241         * lib/gl_oset.hh (gl_OSet::iterator::next): Likewise.
7242         * lib/gl_map.hh (gl_Map::iterator::next): Likewise.
7243         * lib/gl_omap.hh (gl_OMap::iterator::next): Likewise.
7245 2020-05-30  Bruno Haible  <bruno@clisp.org>
7247         wmemchr: Relicense under LGPLv2+.
7248         * modules/wmemchr (License): Set to LGPLv2+.
7250 2020-05-30  Bruno Haible  <bruno@clisp.org>
7252         wmempcpy: New module.
7253         Reported by Paul Eggert in
7254         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00387.html>.
7255         * lib/wchar.in.h (wmempcpy): New declaration.
7256         * lib/wmempcpy.c: New file.
7257         * m4/wmempcpy.m4: New file.
7258         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmempcpy is declared.
7259         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMPCPY, HAVE_WMEMPCPY.
7260         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMPCPY,
7261         HAVE_WMEMPCPY.
7262         * modules/wmempcpy: New file.
7263         * tests/test-wchar-c++.cc: Check the signature of wmempcpy.
7264         * doc/glibc-functions/wmempcpy.texi: Mention the new module.
7265         * modules/mempcpy (Description): Fix typo.
7267 2020-05-30  Bruno Haible  <bruno@clisp.org>
7269         crypto/gc-random: Fix list of crypto devices for NetBSD, OpenBSD.
7270         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case NetBSD and OpenBSD.
7272 2020-05-30  Bruno Haible  <bruno@clisp.org>
7274         sys_random: Work around macOS bug.
7275         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Include <sys/types.h> and
7276         <stdlib.h> before <sys/random.h>.
7277         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
7278         * lib/sys_random.in.h: On macOS, include <sys/types.h> and <stdlib.h>
7279         first.
7280         * doc/glibc-headers/sys_random.texi: Mention the macOS problem.
7282 2020-05-30  Bruno Haible  <bruno@clisp.org>
7284         getrandom: Override incompatible system function on Solaris 11.
7285         * lib/sys_random.in.h (getrandom): Override if REPLACE_GETRANDOM is 1.
7286         * lib/getrandom.c (getrandom): When the system has getrandom, just
7287         invoke it.
7288         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set REPLACE_GETRANDOM if the
7289         system's getrandom function's prototype is not the expected one.
7290         * m4/sys_random_h.m4 (gl_SYS_RANDOM_H_DEFAULTS): Initialize
7291         REPLACE_GETRANDOM.
7292         * modules/sys_random (Makefile.am): Substitute REPLACE_GETRANDOM.
7293         * modules/getrandom (modules/getrandom): Consider REPLACE_GETRANDOM.
7294         * tests/test-getrandom.c (main): Allow error EINVAL as an alternative to
7295         EAGAIN.
7296         * doc/glibc-functions/getrandom.texi: Mention the new module and the
7297         Solaris problem.
7299 2020-05-30  Bruno Haible  <bruno@clisp.org>
7301         sys_random: Add C++ tests.
7302         * tests/test-sys_random-c++.cc: New file.
7303         * modules/sys_random-c++-tests: New file.
7304         * modules/sys_random-tests (Depends-on): Depend on it.
7306         sys_random: Add tests.
7307         * tests/test-sys_random.c: New file.
7308         * modules/sys_random-tests: New file.
7310         sys_random: New module.
7311         * lib/sys_random.in.h: Use the common idioms for overridable header
7312         files.
7313         * m4/sys_random_h.m4: New file.
7314         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Require gl_SYS_RANDOM_H_DEFAULTS.
7315         * modules/sys_random: New file.
7316         * modules/getrandom (Files): Remove lib/sys_random.in.h.
7317         (Depends-on): Add sys_random.
7318         (configure.ac): Use gl_SYS_RANDOM_MODULE_INDICATOR, not
7319         gl_UNISTD_MODULE_INDICATOR.
7320         (Makefile.am): Don't generate sys/random.h here.
7321         * doc/glibc-headers/sys_random.texi: New file.
7322         * doc/gnulib.texi: Include it.
7324 2020-05-30  Bruno Haible  <bruno@clisp.org>
7326         unistd: Remove conflicting declaration of getrandom().
7327         * lib/unistd.in.h (getrandom): Remove declaration.
7328         * m4/unistd_h.m4 (gl_UNISTD_H): Don't test whether getrandom is
7329         declared.
7330         (gl_UNISTD_H_DEFAULTS): Don't initialize GNULIB_GETRANDOM,
7331         HAVE_GETRANDOM.
7332         * modules/unistd (Makefile.am): Don't substitute GNULIB_GETRANDOM,
7333         HAVE_GETRANDOM.
7335 2020-05-30  Bruno Haible  <bruno@clisp.org>
7337         getrandom: Add tests.
7338         * tests/test-getrandom.c: New file.
7339         * modules/getrandom-tests: New file.
7341 2020-05-30  Bruno Haible  <bruno@clisp.org>
7343         crypto/gc-random: Fix link error on MSVC.
7344         * m4/gc-random.m4 (gl_GC_RANDOM): Set LIB_GC_RANDOM.
7345         * modules/crypto/gc-random (Link): New section.
7346         * modules/crypto/gc-tests (Makefile.am): Link test-gc against
7347         $(LIB_GC_RANDOM).
7349 2020-05-30  Bruno Haible  <bruno@clisp.org>
7351         Don't assume that UNICODE is not defined.
7352         Many Windows API functions are defined differently (redirecting to a
7353         function with suffix 'W') if the application defines the macro UNICODE
7354         than by default (redirecting to a function with suffix 'A').
7355         * lib/clean-temp.c (OSVERSIONINFO, GetVersionEx): Redirect to the
7356         variant with suffix 'A'.
7357         * lib/dirent-private.h (WIN32_FIND_DATA): Likewise.
7358         * lib/gc-gnulib.c (CryptAcquireContext): Likewise.
7359         * lib/getaddrinfo.c (GetModuleHandle): Likewise.
7360         * lib/getlogin.c (GetUserName): Likewise.
7361         * lib/getlogin_r.c (GetUserName): Likewise.
7362         * lib/gettimeofday.c (LoadLibrary): Likewise.
7363         * lib/isatty.c (LoadLibrary, QueryFullProcessImageName): Likewise.
7364         * lib/link.c (GetModuleHandle, CreateHardLink): Likewise.
7365         * lib/localename.c (GetLocaleInfo, EnumSystemLocales): Likewise.
7366         * lib/mountlist.c (GetDriveType): Likewise.
7367         * lib/nonblocking.c (GetNamedPipeHandleState): Likewise.
7368         * lib/opendir.c (WIN32_FIND_DATA, GetFullPathName, FindFirstFile):
7369         Likewise.
7370         * lib/physmem.c (GetModuleHandle): Likewise.
7371         * lib/poll.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
7372         PeekMessage, DispatchMessage): Likewise.
7373         * lib/progreloc.c (GetModuleFileName): Likewise.
7374         * lib/putenv.c (SetEnvironmentVariable): Likewise.
7375         * lib/read.c (GetNamedPipeHandleState): Likewise.
7376         * lib/readdir.c (FindNextFile): Likewise.
7377         * lib/relocatable.c (GetModuleFileName): Likewise.
7378         * lib/rename.c (MoveFileEx): Likewise.
7379         * lib/rewinddir.c (FindFirstFile): Likewise.
7380         * lib/select.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
7381         PeekMessage, DispatchMessage): Likewise.
7382         * lib/sethostname.c (GetComputerNameEx, SetComputerNameEx): Likewise.
7383         * lib/socket.c (WSASocket): Likewise.
7384         * lib/stat-w32.c (LoadLibrary, GetFinalPathNameByHandle): Likewise.
7385         * lib/stat.c (WIN32_FIND_DATA, CreateFile, FindFirstFile): Likewise.
7386         * lib/stdio-read.c (GetNamedPipeHandleState): Likewise.
7387         * lib/stdio-write.c (GetNamedPipeHandleState): Likewise.
7388         * lib/tmpdir.c (GetTempPath): Likewise.
7389         * lib/tmpfile.c (OSVERSIONINFO, GetVersionEx, GetTempPath): Likewise.
7390         * lib/uname.c (OSVERSIONINFO, GetVersionEx): Likewise.
7391         * lib/utime.c (CreateFile, GetFileAttributes): Likewise.
7392         * lib/windows-cond.c (CreateEvent): Likewise.
7393         * lib/windows-rwlock.c (CreateEvent): Likewise.
7394         * lib/windows-timedmutex.c (CreateEvent): Likewise.
7395         * lib/windows-timedrecmutex.c (CreateEvent): Likewise.
7396         * lib/windows-timedrwlock.c (CreateEvent): Likewise.
7397         * lib/write.c (GetNamedPipeHandleState): Likewise.
7399 2020-05-30  Bruno Haible  <bruno@clisp.org>
7401         physmem: Fix compilation errors on MSVC.
7402         * lib/physmem.c (PFN_MS_EX): Use BOOL, not WINBOOL.
7403         * modules/physmem (Depends-on): Add unistd.
7405 2020-05-29  Bruno Haible  <bruno@clisp.org>
7407         gnulib-tool: Fix link errors with a particular set of modules on mingw.
7408         * gnulib-tool (func_emit_tests_Makefile_am): Add ../lib/libgnu.a to
7409         LDADD a second time, after the second occurrence of libtests.a.
7410         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
7412 2020-05-29  Bruno Haible  <bruno@clisp.org>
7414         fnmatch: Rely on more gnulib modules.
7415         * modules/fnmatch (Depends-on): Add btowc, isblank, iswctype, wmemchr,
7416         wmempcpy, mempcpy.
7417         * lib/fnmatch.c: Assume that HAVE_WCTYPE_H, HAVE_BTOWC, HAVE_ISWCTYPE,
7418         HAVE_WMEMCHR, HAVE_WMEMPCPY, HAVE_ISBLANK, HAVE_DECL_ISBLANK,
7419         HAVE_MEMPCPY are all 1.
7420         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't test for btowc, isblank,
7421         iswctype, mempcpy, wmemchr, wmemcpy, wmempcpy, <wctype.h>.
7423 2020-05-29  Bruno Haible  <bruno@clisp.org>
7425         Avoid dynamic lookup of Windows API functions when possible.
7426         * lib/getaddrinfo.c (GetProcAddress, getaddrinfo_func,
7427         freeaddrinfo_func, getnameinfo_func, getaddrinfo_ptr, freeaddrinfo_ptr,
7428         getnameinfo_ptr): Don't define in a build for Windows XP or higher.
7429         (use_win32_p): Define differently.
7430         * lib/link.c (GetProcAddress, CreateHardLinkFuncType,
7431         CreateHardLinkFunc, initialized, initialize): Don't define in a build
7432         for Windows XP or higher.
7434 2020-05-29  Daiki Ueno  <ueno@gnu.org>
7436         read-file: disable buffering if RF_SENSITIVE is set
7437         * lib/read-file.c (read_file): Call setvbuf if RF_SENSITIVE.
7438         Suggested by Glenn Strauss.
7439         (fread_file): Suggest calling setvbuf before calling this
7440         function.  Suggested by Bruno Haible.
7442 2020-05-29  Bruno Haible  <bruno@clisp.org>
7444         wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset: Fix autoconf test.
7445         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Link, not only compile, the test
7446         program.
7447         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
7448         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
7449         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
7450         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
7452 2020-05-29  Bruno Haible  <bruno@clisp.org>
7454         Fix compilation error on native Windows (regression from 2020-05-28).
7455         Reported by Daiki Ueno.
7456         * lib/gettimeofday.c (GetSystemTimePreciseAsFileTimeFunc): Define as
7457         macro when not using dynamic loading.
7458         * lib/isatty.c (GetNamedPipeClientProcessIdFunc,
7459         QueryFullProcessImageNameFunc): Likewise.
7460         * lib/stat-w32.c (GetFileInformationByHandleExFunc,
7461         GetFinalPathNameByHandleFunc): Likewise.
7463 2020-05-29  Daiki Ueno  <ueno@gnu.org>
7465         fopen-gnu-tests: fix "\x" escape usage
7466         * tests/test-fopen-gnu.c (DATA): Use safer escape sequence.
7468 2020-05-28  Bruno Haible  <bruno@clisp.org>
7470         Avoid dynamic loading of Windows API functions when possible.
7471         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
7472         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00182.html>.
7473         * lib/gettimeofday.c (GetProcAddress,
7474         GetSystemTimePreciseAsFileTimeFuncType,
7475         GetSystemTimePreciseAsFileTimeFunc, initialized, initialize): Don't
7476         define in a build for Windows 8 or higher.
7477         * lib/isatty.c (GetProcAddress, GetNamedPipeClientProcessIdFuncType,
7478         GetNamedPipeClientProcessIdFunc, QueryFullProcessImageNameFuncType,
7479         QueryFullProcessImageNameFunc, initialized, initialize): Don't define
7480         in a build for Windows Vista or higher.
7481         * lib/stat-w32.c (GetProcAddress, GetFileInformationByHandleExFuncType,
7482         GetFileInformationByHandleExFunc, GetFinalPathNameByHandleFuncType,
7483         GetFinalPathNameByHandleFunc, initialized, initialize): Likewise.
7485 2020-05-28  Paul Eggert  <eggert@cs.ucla.edu>
7487         explicit_bzero-tests: improve -Wmissing-declarations pacification
7488         * tests/test-explicit_bzero.c: Now noinline.
7489         Suggested by Bruno Haible in:
7490         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00300.html
7492 2020-05-28  Bruno Haible  <bruno@clisp.org>
7494         Fix build errors due to read-file changes (regression from 2020-05-27).
7495         * lib/git-merge-changelog.c (read_changelog_file): Update read_file
7496         invocation.
7497         * tests/test-sameacls.c (main): Likewise.
7498         * tests/test-pipe-filter-gi1.c (main): Call read_file instead of
7499         read_binary_file.
7500         * tests/test-pipe-filter-ii1.c (main): Likewise.
7502 2020-05-28  Bruno Haible  <bruno@clisp.org>
7504         fts: Make more robust in multithreaded applications.
7505         * lib/fts.c (fts_open): Pass an O_CLOEXEC flag to open().
7506         * modules/fts (Depends-on): Add 'open'.
7508 2020-05-28  Bruno Haible  <bruno@clisp.org>
7510         relocatable-prog: Make more robust in multithreaded applications.
7511         * lib/progreloc.c (O_CLOEXEC): Define fallback to 0 when use from module
7512         relocatable-prog-wrapper.
7513         (find_executable): Pass an O_CLOEXEC flag to open().
7514         * modules/relocatable-prog (Depends-on): Add 'open'.
7516 2020-05-28  Bruno Haible  <bruno@clisp.org>
7518         getloadavg: Make more robust in multithreaded applications.
7519         * lib/getloadavg.c (getloadavg): Pass an O_CLOEXEC flag to open().
7520         Simplify use of O_CLOEXEC.
7521         * modules/getloadavg (Depends-on): Add 'open'.
7523 2020-05-28  Bruno Haible  <bruno@clisp.org>
7525         vma-iter: Make more robust in multithreaded applications.
7526         * lib/vma-iter.c (rof_open, vma_iterate): Pass an O_CLOEXEC flag to
7527         open().
7528         * modules/vma-iter (Depends-on): Add 'open'.
7530 2020-05-28  Bruno Haible  <bruno@clisp.org>
7532         truncate: Make more robust in multithreaded applications.
7533         * lib/truncate.c (truncate): Pass an O_CLOEXEC flag to open().
7535 2020-05-28  Bruno Haible  <bruno@clisp.org>
7537         pagealign_alloc: Make more robust in multithreaded applications.
7538         * lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
7539         open().
7540         * modules/pagealign_alloc (Depends-on): Add 'open'.
7542 2020-05-28  Bruno Haible  <bruno@clisp.org>
7544         openat: Make more robust in multithreaded applications.
7545         * lib/openat.c (openat_needs_fchdir): Pass an O_CLOEXEC flag to open().
7547 2020-05-28  Bruno Haible  <bruno@clisp.org>
7549         at-internal: Make more robust in multithreaded applications.
7550         * lib/openat-proc.c (openat_proc_name): Pass an O_CLOEXEC flag to
7551         open().
7553 2020-05-28  Bruno Haible  <bruno@clisp.org>
7555         mountlist: Make more robust in multithreaded applications.
7556         * lib/mountlist.c (read_file_system_list): Pass an O_CLOEXEC flag to
7557         open().
7558         * modules/mountlist (Depends-on): Add 'open'.
7560 2020-05-28  Bruno Haible  <bruno@clisp.org>
7562         login_tty: Make more robust in multithreaded applications.
7563         * lib/login_tty.c (login_tty): Pass an O_CLOEXEC flag to open().
7564         * modules/login_tty (Depends-on): Add 'open'.
7566 2020-05-28  Bruno Haible  <bruno@clisp.org>
7568         javacomp: Make more robust in multithreaded applications.
7569         * lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to
7570         open().
7571         * modules/javacomp (Depends-on): Add 'open'.
7573 2020-05-28  Bruno Haible  <bruno@clisp.org>
7575         getprogname: Make more robust in multithreaded applications.
7576         * lib/getprogname.c (getprogname): Pass an O_CLOEXEC flag to open().
7577         * modules/getprogname (Depends-on): Add 'open'.
7579 2020-05-28  Bruno Haible  <bruno@clisp.org>
7581         get_progname_of: Make more robust in multithreaded applications.
7582         * lib/get_progname_of.c (get_progname_of): Pass an O_CLOEXEC flag to
7583         open().
7584         * modules/get_progname_of (Depends-on): Add 'open'.
7586 2020-05-28  Bruno Haible  <bruno@clisp.org>
7588         get_ppid_of: Make more robust in multithreaded applications.
7589         * lib/get_ppid_of.c (get_ppid_of): Pass an O_CLOEXEC flag to open().
7590         * modules/get_ppid_of (Depends-on): Add 'open'.
7592 2020-05-28  Bruno Haible  <bruno@clisp.org>
7594         get-rusage-as: Make more robust in multithreaded applications.
7595         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Pass an O_CLOEXEC
7596         flag to open().
7597         * modules/get-rusage-as (Depends-on): Add 'open'.
7599 2020-05-28  Bruno Haible  <bruno@clisp.org>
7601         crypto/gc: Make more robust in multithreaded applications.
7602         * lib/gc-gnulib.c (randomize): Pass an O_CLOEXEC flag to open().
7603         * modules/crypto/gc (Depends-on): Add 'open'.
7605 2020-05-28  Bruno Haible  <bruno@clisp.org>
7607         copy-file: Make more robust in multithreaded applications.
7608         * lib/copy-file.c (qcopy_file_preserving): Pass an O_CLOEXEC flag to
7609         open().
7611 2020-05-28  Bruno Haible  <bruno@clisp.org>
7613         chown: Make more robust in multithreaded applications.
7614         * lib/chown.c (rpl_chown): Pass an O_CLOEXEC flag to open().
7616 2020-05-28  Bruno Haible  <bruno@clisp.org>
7618         doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).
7619         * doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.
7621 2020-05-28  Daiki Ueno  <ueno@gnu.org>
7623         fopen-gnu: make 'b' flag can be used with 'e' on Windows
7624         * lib/fopen.c (rpl_fopen): Pass O_BINARY to open, if a 'b' flag is
7625         specified on Windows.
7626         * tests/test-fopen-gnu.c (DATA): New define.
7627         (main): Add test for reading binary files with an 'e' flag.
7629 2020-05-27  Bruno Haible  <bruno@clisp.org>
7631         Don't assume that UNICODE is not defined.
7632         Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined
7633         differently if the application defines the macro UNICODE.
7634         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
7635         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00184.html>.
7636         * lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR.
7637         * lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR.
7638         * lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise.
7640 2020-05-27  Bruno Haible  <bruno@clisp.org>
7642         Improve pattern for defining _WIN32_WINNT.
7643         Newer versions of the Windows API may not only add, but also remove API
7644         functions. Therefore, when the user is e.g. building for Windows 10, we
7645         should not set _WIN32_WINNT to e.g. Windows 8, as this may enable the
7646         use of APIs that were present in Windows 8 but removed in Windows 10.
7647         Suggested by Steve Lhomme <robux4@ycbcr.xyz> in
7648         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00318.html>.
7649         * lib/ftruncate.c (_WIN32_WINNT): Don't set to a smaller value.
7650         * lib/sethostname.c (_WIN32_WINNT): Likewise.
7651         * lib/stat-w32.c (_WIN32_WINNT): Likewise.
7653 2020-05-27  Bruno Haible  <bruno@clisp.org>
7655         javacomp: Make more robust in multithreaded applications.
7656         * lib/javacomp.c (write_temp_file): Pass an 'e' flag to fopen_temp.
7657         * modules/javacomp (Depends-on): Add fopen-gnu.
7659 2020-05-27  Bruno Haible  <bruno@clisp.org>
7661         mountlist: Make more robust in multithreaded applications.
7662         * lib/mountlist.c (setmntent, read_file_system_list): Pass an 'e' flag
7663         to fopen.
7664         * modules/mountlist (Depends-on): Add fopen-gnu.
7666 2020-05-27  Bruno Haible  <bruno@clisp.org>
7668         sethostname: Make more robust in multithreaded applications.
7669         * lib/sethostname.c (sethostname): Pass an 'e' flag to fopen.
7670         * modules/sethostname (Depends-on): Add fopen-gnu.
7672 2020-05-27  Bruno Haible  <bruno@clisp.org>
7674         readutmp: Make more robust in multithreaded applications.
7675         * lib/readutmp.c (read_utmp): Pass an 'e' flag to fopen.
7676         * modules/readutmp (Depends-on): Add fopen-gnu.
7678 2020-05-27  Bruno Haible  <bruno@clisp.org>
7680         getpass: Make more robust in multithreaded applications.
7681         * lib/getpass.c (getpass): Pass an 'e' flag to fopen.
7682         * modules/getpass (Depends-on): Add fopen-gnu.
7684 2020-05-27  Bruno Haible  <bruno@clisp.org>
7686         getloadavg: Make more robust in multithreaded applications.
7687         * lib/getloadavg.c (getloadavg): Pass an 'e' flag to fopen.
7688         * modules/getloadavg (Depends-on): Add fopen-gnu.
7690 2020-05-27  Bruno Haible  <bruno@clisp.org>
7692         exclude: Make more robust in multithreaded applications.
7693         * lib/exclude.c (add_exclude_file): Pass an 'e' flag to fopen.
7694         * modules/exclude (Depends-on): Add fopen-gnu.
7696 2020-05-27  Bruno Haible  <bruno@clisp.org>
7698         bitset: Make more robust in multithreaded applications.
7699         * lib/bitset/stats.c (bitset_stats_read, bitset_stats_write): Pass an
7700         'e' flag to fopen.
7701         * modules/bitset (Depends-on): Add fopen-gnu.
7703 2020-05-27  Daiki Ueno  <ueno@gnu.org>
7705         read-file: add RF_SENSITIVE flag
7706         * lib/read-file.h (RF_SENSITIVE): New define.
7707         * lib/read-file.c (fread_file, read_file): Take into account of
7708         RF_SENSITIVE flag.
7709         * modules/read-file (Depends-on): Add explicit_bzero.
7710         This adds an alternative behavior of those functions to explicitly
7711         clear the internal memory block when it becomes unused.  This is
7712         useful for reading sensitive information from a file.
7714 2020-05-27  Daiki Ueno  <ueno@gnu.org>
7716         read-file: add flags to modify reading behavior
7717         * lib/read-file.h (RF_BINARY): New define.
7718         (fread_file, read_file): Take FLAGS argument.
7719         (read_binary_file): Remove.
7720         * lib/read-file.c (internal_read_file): Merge into ...
7721         (read_file): ... here.
7722         * modules/read-file-tests (Files): Add "tests/macros.h".
7723         * tests/test-read-file.c (main): Refactor using ASSERT macro.
7724         * NEWS: Mention this change.
7726 2020-05-26  Bernhard Voelker  <mail@bernhard-voelker.de>
7728         doc/gnulib-intro.texi: add missing "to" in sentence
7729         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
7730         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00316.html>.
7731         * doc/gnulib-intro.texi (Collaborative Development): Add "to".
7733 2020-05-26  Bruno Haible  <bruno@clisp.org>
7735         count-one-bits: Fix MSVC specific code.
7736         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7737         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00309.html>.
7738         * lib/count-one-bits.h (COUNT_ONE_BITS_GENERIC): Don't define if we're
7739         using GCC.
7740         [_MSC_VER]: Use correct syntax for #pragma intrinsic.
7741         (__popcnt64): In 32-bit mode, define as an inline function.
7742         (COUNT_ONE_BITS): Rename first argument to GCC_BUILTIN.
7744 2020-05-26  Bruno Haible  <bruno@clisp.org>
7746         argz: Avoid name clashes through argz.h.
7747         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7748         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00308.html>.
7749         * lib/argz.h: Don't use __ prefixed identifiers.
7750         (const): Remove definition.
7751         (argz_next): Remove inline definitions.
7753 2020-05-26  Daiki Ueno  <ueno@gnu.org>
7755         read-file: make use of fopen-gnu
7756         * lib/read-file.c (read_file): Pass an 'e' flag to fopen.
7757         (read_binary_file): Likewise.
7758         * modules/read-file (Depends-on): Add fopen-gnu.
7760 2020-05-25  Paul Eggert  <eggert@cs.ucla.edu>
7762         getentropy, getrandom: new modules
7763         * MODULES.html.sh (func_all_modules):
7764         * lib/unistd.in.h (getentropy, getrandom):
7765         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS):
7766         * modules/unistd (unistd.h):
7767         Add support for getentropy, getrandom.
7768         * doc/glibc-functions/getentropy.texi (getentropy):
7769         * doc/glibc-functions/getrandom.texi (getrandom):
7770         These are now fixed on some platforms.
7771         * lib/getentropy.c, lib/getrandom.c, lib/sys_random.in.h:
7772         * m4/getentropy.m4, m4/getrandom.m4:
7773         * modules/getentropy, modules/getentropy-tests:
7774         * modules/getrandom, modules/getrandom-tests:
7775         * tests/test-getentropy.c, tests/test-getrandom.c:
7776         New files.
7778 2020-05-25  Bruno Haible  <bruno@clisp.org>
7780         Add missing C99 dependencies.
7781         Reported by Paul Smith <psmith@gnu.org> in
7782         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00290.html>.
7783         * modules/assert (Depends-on): Add c99.
7784         * modules/filenamecat-lgpl (Depends-on): Likewise.
7785         * modules/libc-config (Depends-on): Likewise.
7786         * modules/mktime (Depends-on): Likewise.
7787         * modules/random_r (Depends-on): Likewise.
7788         * modules/regex (Depends-on): Likewise.
7789         * modules/scratch_buffer (Depends-on): Likewise.
7790         * modules/timespec-add (Depends-on): Likewise.
7791         * modules/timespec-sub (Depends-on): Likewise.
7792         * modules/verify (Depends-on): Likewise.
7794 2020-05-24  Paul Eggert  <eggert@cs.ucla.edu>
7796         explicit_bzero-tests: pacify -Wmissing-declarations
7797         * tests/test-explicit_bzero.c (do_secret_stuff, test_stack):
7798         Now static.
7800 2020-05-24  Bruno Haible  <bruno@clisp.org>
7802         fopen-gnu: Add tests.
7803         * tests/test-fopen-gnu.c: New file.
7804         * modules/fopen-gnu-tests: New file.
7806         fopen-gnu: New module.
7807         Suggested by Tim Rühsen <tim.ruehsen@gmx.de> in
7808         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00119.html>.
7809         * lib/fopen.c (rpl_fopen): When the fopen-gnu module is enabled and the
7810         mode contains an 'x' or 'e' flag, use open() followed by fdopen().
7811         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): New macro.
7812         * modules/fopen-gnu: New file.
7813         * doc/posix-functions/fopen.texi: Document the 'fopen-gnu' module.
7815 2020-05-24  Bruno Haible  <bruno@clisp.org>
7817         open, openat: Really support O_CLOEXEC.
7818         * lib/open.c (open): When have_cloexec is still undecided, do pass a
7819         O_CLOEXEC flag to orig_open.
7820         * lib/openat.c (rpl_openat): When have_cloexec is still undecided, do
7821         pass a O_CLOEXEC flag to orig_openat.
7822         * tests/test-open.h (test_open): Verify that O_CLOEXEC is honoured.
7823         * modules/open-tests (Depends-on): Add fcntl.
7824         * modules/openat-tests (Depends-on): Likewise.
7825         * modules/fcntl-safer-tests (Depends-on): Likewise.
7827 2020-05-24  Bruno Haible  <bruno@clisp.org>
7829         fopen: Fix the trailing slash workaround.
7830         * lib/fopen.c (rpl_fopen): Parse the mode string. Recognize "r+" as a
7831         write access. Pass the right flags to open().
7832         * tests/test-fopen.h (test_fopen): Add a few more tests on directories.
7834 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7836         assure: new macro ‘affirm’
7837         * lib/assure.h: Include verify.h.
7838         (affirm): New macro, after a suggestion by Marc Nieper-Wißkirchen in:
7839         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00263.html
7840         and commentary by Bruno Haible in:
7841         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00278.html
7842         * modules/assure (Depends-on:): Add verify.
7844 2020-05-23  Bruno Haible  <bruno@clisp.org>
7846         calloc-gnu: Make test work in non-flat address spaces.
7847         Uses code by Paul Eggert.
7848         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Allow a calloc() implementation
7849         to return more than SIZE_MAX bytes, but only without wrap-around bugs.
7851 2020-05-23  Bruno Haible  <bruno@clisp.org>
7853         calloc-gnu: Avoid wrong configure results with GCC's AddressSanitizer.
7854         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Split the AC_RUN_IFELSE into two
7855         AC_RUN_IFELSE invocations.
7857 2020-05-23  Bruno Haible  <bruno@clisp.org>
7859         isnanf, isnanl, isnan: Don't use nonexistent builtins with clang.
7860         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM,
7861         gl_ISNANF_WORKS): Don't use __builtin_isnanf on clang versions that
7862         don't have it.
7863         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
7864         gl_FUNC_ISNANL_WORKS): Don't use __builtin_isnanl on clang versions that
7865         don't have it.
7866         * lib/isnanf-nolibm.h (__has_builtin): New macro.
7867         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
7868         it.
7869         * lib/isnanl-nolibm.h (__has_builtin): New macro.
7870         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
7871         it.
7872         * lib/math.in.h (__has_builtin): New macro.
7873         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
7874         it.
7875         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
7876         it.
7877         (isnan): Don't use the builtins on clang versions that don't have
7878         __builtin_isnanf and __builtin_isnanl.
7880 2020-05-23  Bruno Haible  <bruno@clisp.org>
7882         calloc-gnu: Avoid wrong configure results with clang.
7883         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Mark the pointer variable as
7884         'volatile', to defeat compiler optimizations.
7886 2020-05-23  Bruno Haible  <bruno@clisp.org>
7888         isnanl, isnanl-nolibm: Make a test work better with "gcc -O2" on x86_64.
7889         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Pass the
7890         'long double' values by reference, with values taken from a statically
7891         allocated array.
7893 2020-05-23  Bruno Haible  <bruno@clisp.org>
7895         findprog-in: Ignore directories.
7896         Reported by Frederick Eaton via Dmitry Goncharov in
7897         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
7898         * lib/findprog-in.c (find_in_given_path): When the file found is a
7899         directory, set errno to EACCES and, during a PATH search, continue
7900         searching.
7901         * modules/findprog-in (Depends-on): Add sys_stat, stat.
7903 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7905         verify: document ‘assume’ better
7906         * lib/verify.h (assume): Say it’s for static analysis, not dynamic.
7908 2020-05-22  Asher Gordon  <AsDaGo@posteo.net>
7910         gendocs: Clarify licenses for templates.
7911         * doc/gendocs_template: Add a GNU All-Permissive license notice
7912         and bump Parent-Version.
7913         * doc/gendocs_template_min: Add a GNU All-Permissive license
7914         notice and copy the explanatory comment about the license notice
7915         at the bottom from gendocs_template.
7917 2020-05-21  Bruno Haible  <bruno@clisp.org>
7919         group-member: Relicense under LGPLv2+.
7920         Jim Meyering's approval is in
7921         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00218.html>.
7922         Paul Eggert's approval is in
7923         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00225.html>.
7924         Eric Blake's approval is in
7925         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00217.html>.
7926         * modules/group-member (License): Change to LGPLv2+.
7928 2020-05-21  Bruno Haible  <bruno@clisp.org>
7930         memmem: Avoid wrong configure results with "clang -fsanitize=undefined".
7931         Reported by Tim Rühsen in
7932         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7933         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Use NULL + 1, not NULL.
7935 2020-05-21  Bruno Haible  <bruno@clisp.org>
7937         regex: Avoid wrong configure results with "clang -fsanitize=leak".
7938         Reported by Tim Rühsen in
7939         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7940         * m4/regex.m4 (gl_REGEX): Free compiled regexes and allocated registers
7941         before returning with status 0.
7943 2020-05-21  Bruno Haible  <bruno@clisp.org>
7945         glob: Avoid wrong configure results with "clang -fsanitize=leak".
7946         Reported by Tim Rühsen in
7947         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7948         * m4/glob.m4 (gl_GLOB): Free allocated memory before returning.
7950 2020-05-21  Bruno Haible  <bruno@clisp.org>
7952         fchownat: Support clang -fsanitize=implicit-integer-sign-change better.
7953         Reported by Tim Rühsen in
7954         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7955         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
7956         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t,
7957         respectively.
7959 2020-05-18  Tim Rühsen  <tim.ruehsenqgmx.de>
7961         getdelim: Avoid wrong configure results with gcc -fsanitize=address.
7962         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Fix memleak.
7964 2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7966         ftoastr: fix ifndef typo
7967         * lib/ftoastr.h (_GL_FTOASTR_H): Define.
7969 2020-05-19  Bruno Haible  <bruno@clisp.org>
7971         havelib: Tweak documentation.
7972         * doc/havelib.texi (Searching for Libraries): Fix typo.
7974 2020-05-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>
7976         vcs-to-changelog: Rename vcs_to_changelog.py to use hyphens.
7977         This was needed earlier because modules had to import the main script,
7978         but that is no longer true.  Rename the script so that it is
7979         consistent with all other scripts in gnulib and uses hyphens.
7980         * build-aux/vcs_to_changelog.py: Rename to...
7981         * build-aux/vcs-to-changelog.py: ... this.
7982         * doc/vcs-to-changelog.texi (VCS To ChangeLog): Update reference.
7983         * modules/vcs-to-changelog: Likewise.
7985 2020-05-17  Bruno Haible  <bruno@clisp.org>
7987         Clarify intended usage of the license file modules.
7988         Reported by Asher Gordon <AsDaGo@posteo.net> in
7989         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00126.html>.
7990         * doc/licenses-texi.texi (License Texinfo sources): Mention the
7991         GNU AGPL. Explain the intended usage of the modules.
7992         * modules/fdl (Notice): Discourage use as a module.
7993         * modules/fdl-1.3 (Notice): Likewise.
7995 2020-05-17  Akim Demaille  <akim@lrde.epita.fr>
7997         hash: add hash_xinsert
7998         * lib/hash.h, lib/xhash.c (hash_xinsert): New.
8000 2020-05-16  Bruno Haible  <bruno@clisp.org>
8002         findprog-lgpl: Fix link error (existing since 2008-09-02).
8003         * modules/findprog-lgpl (Makefile.am): Arrange to compile
8004         findprog-lgpl.c, not findprog.c.
8005         * lib/findprog.c (find_in_path): Add LGPLed replacement code for
8006         XNMALLOC.
8008 2020-05-15  Paul Eggert  <eggert@cs.ucla.edu>
8010         c-stack: pacify -Wunused-result when DEBUG
8011         Problem reported by Marc Nieper-Wißkirchen in:
8012         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00132.html
8013         * lib/c-stack.c (segv_handler, overflow_handler, segv_handler) [DEBUG]:
8014         Explicitly ignore write failures.
8016 2020-05-13  Jim Meyering  <meyering@fb.com>
8018         announce-gen: improve a comment
8019         * build-aux/announce-gen: Improve comment.
8021 2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>
8023         xalloc: pacify -Wanalyzer-possible-null-argument
8024         Problem reported for GCC 10.1.0 by Bruno Haible in:
8025         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00118.html
8026         * lib/xmalloc.c (HAVE_GNU_MALLOC, HAVE_GNU_REALLOC): New constants.
8027         (xmalloc): Suppress unnecessary check if HAVE_GNU_MALLOC.
8028         (xrealloc): Suppress unnecssary check if HAVE_GNU_REALLOC.
8030 2020-05-11  Paul Eggert  <eggert@cs.ucla.edu>
8032         careadlinkat: fix GCC 10 workaround
8033         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
8034         Massage the code so that it’s closer to what it was before
8035         the GCC 10.1.0 workaround was introduced.  This fixes
8036         a loop when !buffer and the bug workaround is in effect.
8037         Remove unnecessary casts.  Defend in a different way
8038         against (buffer && !buffer_size), by adding at least 1
8039         to buf_size each time through the loop.
8041 2020-05-10  Bruno Haible  <bruno@clisp.org>
8043         doc: Mark HP-UX as unsupported.
8044         * doc/gnulib-intro.texi (Target Platforms): List HP-UX as unsupported.
8046 2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>
8048         careadlinkat: limit GCC workaround
8049         * lib/careadlinkat.c (careadlinkat): Limit workaround to GCC
8050         10.1.0 and later, since the workaround is pretty bad and the GCC
8051         bug should get fixed.
8053 2020-05-10  Bruno Haible  <bruno@clisp.org>
8055         havelib: Enhance documentation.
8056         * doc/havelib.texi (Searching for Libraries): Mention the bad
8057         consequences of using LIBxxx instead of LTLIBxxx and vice versa.
8059 2020-05-10  Bruno Haible  <bruno@clisp.org>
8061         attribute: Clarify list of attributes.
8062         * lib/attribute.h: Reorder the list of attributes, and group them by
8063         purpose.
8065 2020-05-10  Bruno Haible  <bruno@clisp.org>
8067         string: Fix compilation error in C++ mode.
8068         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): In C mode, use plain
8069         _GL_WARN_ON_USE.
8070         * lib/string.in.h (strchr, strpbrk, strrchr): Use _GL_WARN_ON_USE_CXX
8071         instead of _GL_WARN_ON_USE.
8073 2020-05-10  Akim Demaille  <akim@lrde.epita.fr>
8075         announce-gen: add support for dist-lzip
8076         * build-aux/announce-gen (@archive_suffixes): Add tar.lz.
8078 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
8080         manywarnings: port to GCC 10.1
8081         * build-aux/gcc-warning.spec:
8082         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
8083         Add GCC 10.1.0 warnings.
8085         careadlinkat: pacify -Wreturn-local-addr
8086         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
8087         Pacify gcc 10’s -Wreturn-local-addr option.
8088         Simplify some of the later code.
8090 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
8092         attribute: remove ATTRIBUTE_DEPRECATED
8093         * lib/attribute.h: Improve recently-added comments, mostly
8094         by shortening them (use active voice, etc.).
8095         (ATTRIBUTE_DEPRECATED): Remove, as it duplicates DEPRECATED.
8096         Problem reported by Bruno Haible in:
8097         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00089.html
8099 2020-05-09  Bruno Haible  <bruno@clisp.org>
8101         attribute: Add comments.
8102         * lib/attribute.h: Document each macro.
8104 2020-05-09  Akim Demaille  <akim@lrde.epita.fr>
8106         bitset: use the attribute module
8107         * modules/bitset: Depend on 'attribute'.
8108         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Remove.
8109         * lib/bitset.c, lib/bitset/array.c, lib/bitset/list.c,
8110         * lib/bitset/stats.c, lib/bitset/table.c, lib/bitset/vector.c:
8111         Use MAYBE_UNUSED instead of ATTRIBUTE_UNUSED.
8113 2020-05-09  Bruno Haible  <bruno@clisp.org>
8115         c-stack: Fix warning when DEBUG is enabled.
8116         Patch suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
8117         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00081.html>.
8118         * lib/c-stack.c: Include <stdio.h>.
8120 2020-05-09  Bruno Haible  <bruno@clisp.org>
8122         Remove redundant definitions of _GL_ATTRIBUTE_FORMAT.
8123         * lib/argp.h (_GL_ATTRIBUTE_FORMAT): Remove macro.
8124         * lib/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8125         * lib/c-snprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8126         * lib/c-vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8127         * lib/c-vasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8128         * lib/c-vsnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8129         * lib/c-xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8130         * lib/error.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8131         * lib/parse-datetime.y (_GL_ATTRIBUTE_FORMAT): Likewise.
8132         * lib/vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8133         * lib/xprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8134         * lib/xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8136 2020-05-09  Bruno Haible  <bruno@clisp.org>
8138         Remove redundant definitions of _GL_ATTRIBUTE_ALLOC_SIZE.
8139         Reported by Akim Demaille in
8140         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00077.html>.
8141         * lib/eealloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Remove macro.
8142         * lib/pagealign_alloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
8143         * lib/xalloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
8145 2020-05-09  Bruno Haible  <bruno@clisp.org>
8147         stdio, monetary: Don't redefine _GL_ATTRIBUTE_FORMAT.
8148         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Don't override the definition
8149         that usually comes from m4/gnulib-common.m4.
8150         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
8152 2020-05-09  Bruno Haible  <bruno@clisp.org>
8154         dirent, stdlib, wchar, string: Don't redefine _GL_ATTRIBUTE_PURE.
8155         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Don't override the definition
8156         that usually comes from m4/gnulib-common.m4.
8157         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
8158         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
8159         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
8161 2020-05-09  Bruno Haible  <bruno@clisp.org>
8163         uchar: Work around incorrect char16_t, char32_t types on Haiku 2020.
8164         * lib/uchar.in.h (char16_t): Define as macro if
8165         GNULIB_OVERRIDES_CHAR16_T.
8166         (char32_t): Define as macro if GNULIB_OVERRIDES_CHAR32_T.
8167         * m4/uchar.m4 (gl_TYPE_CHAR16_T, gl_TYPE_CHAR32_T): New macros.
8168         (gl_UCHAR_H): Invoke them.
8169         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_OVERRIDES_CHAR16_T,
8170         GNULIB_OVERRIDES_CHAR32_T.
8171         * m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Require
8172         gl_TYPE_CHAR32_T and test GNULIB_OVERRIDES_CHAR32_T.
8173         * modules/uchar (Makefile.am): Substitute GNULIB_OVERRIDES_CHAR16_T,
8174         GNULIB_OVERRIDES_CHAR32_T.
8176 2020-05-09  Bruno Haible  <bruno@clisp.org>
8178         Macro tweaks.
8179         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Correct config.h comment.
8180         * m4/wint_t.m4 (gt_TYPE_WINT_T): Correct indentation.
8182 2020-05-08  Bruno Haible  <bruno@clisp.org>
8184         c32rtomb: Avoid compilation failure on Haiku.
8185         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Test for c32rtomb without excluding
8186         inline definitions.
8187         * doc/posix-functions/c32rtomb.texi: Mention the Haiku problem.
8189 2020-05-08  Bruno Haible  <bruno@clisp.org>
8191         mbrtoc32: Avoid compilation failure on Haiku.
8192         * m4/mbrtoc32.m4 (gl_CHECK_FUNC_MBRTOC32): New macro.
8193         (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Use it instead of
8194         AC_CHECK_FUNCS_ONCE.
8195         * doc/posix-functions/mbrtoc32.texi: Mention the Haiku problem.
8197 2020-05-08  Bruno Haible  <bruno@clisp.org>
8199         limits-h: Define LONG_BIT correctly on Haiku/x86_64.
8200         * lib/limits.in.h: Define and test _GL_ALREADY_INCLUDING_LIMITS_H.
8202 2020-05-08  Bruno Haible  <bruno@clisp.org>
8204         list: Update documentation.
8205         Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
8206         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00062.html>.
8207         * doc/containers.texi (Container data types): Document the new list
8208         operations and their complexity.
8210 2020-05-08  Bruno Haible  <bruno@clisp.org>
8212         ignore-value tests: Use module 'attribute'.
8213         * m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a typo.
8214         * tests/test-ignore-value.c: Include attribute.h.
8215         (_GL_ATTRIBUTE_RETURN_CHECK): Remove macro. Use NODISCARD instead.
8216         * modules/ignore-value-tests (Depends-on): Add attribute.
8218 2020-05-08  Bruno Haible  <bruno@clisp.org>
8220         uniname/uniname: Use module 'attribute'.
8221         * lib/uniname/gen-uninames.lisp: Emit a reference to ATTRIBUTE_PACKED.
8222         * lib/uniname/uninames.h: Regenerated.
8223         * lib/uniname/uniname.c: Include attribute.h.
8224         * modules/uniname/uniname (Depends-on): Add attribute.
8226 2020-05-08  Bruno Haible  <bruno@clisp.org>
8228         c32rtomb: Use module 'attribute'.
8229         * lib/c32rtomb.c: Include attribute.h.
8230         (FALLTHROUGH): Remove macro.
8231         * modules/c32rtomb (Depends-on): Add attribute.
8233 2020-05-08  Bruno Haible  <bruno@clisp.org>
8235         xsize: Use module 'attribute'.
8236         * lib/xsize.h: Include attribute.h. Use ATTRIBUTE_PURE.
8237         * modules/xsize (Depends-on): Add attribute.
8239 2020-05-06  Paul Eggert  <eggert@cs.ucla.edu>
8241         * m4/gnulib-common.m4 (gl_COMMON_BODY): Minor style fixes.
8243         * lib/attribute.h: Minor style fixes.
8245         Fix version-etc glitch on OpenIndiana
8246         Problem reported by Mats Erik Andersson in:
8247         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00067.html
8248         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Remove defn
8249         that now clashes with gnulib-common.h.  All uses changed.
8251 2020-05-03  Paul Eggert  <eggert@cs.ucla.edu>
8253         attribute: new module
8254         This simplifies use of GCC and C2X attributes like ‘deprecated’.
8255         * MODULES.html.sh: Add attribute.
8256         * doc/attribute.texi, lib/attribute.h, modules/attribute: New files.
8257         * doc/gnulib.texi (Particular Modules): Add Attributes.
8258         * lib/backupfile.c, lib/fnmatch.c, lib/freopen-safer.c:
8259         * lib/mbrtoc32.c, lib/mbrtowc.c, lib/nstrftime.c, lib/quotearg.c:
8260         * lib/savewd.c, lib/unistr/u8-uctomb-aux.c, lib/unistr/u8-uctomb.c:
8261         * lib/vasnprintf.c:
8262         Include attribute.h, and let it define FALLTHROUGH.
8263         * lib/bitset/base.h, lib/c-stack.c (__attribute__): Remove macro.
8264         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Define in terms of
8265         _GL_ATTRIBUTE_MAYBE_UNUSED, for forwards compatibility to C2X.
8266         * lib/dfa.c (FALLTHROUGH): Define consistently with gl_COMMON_BODY.
8267         This is a copy since Gawk doesn’t use Gnulib.
8268         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Remove definition that
8269         is incompatible with gl_COMMON_BODY’s.  All uses changed.
8270         * lib/fts.c: Include attribte.h, for FALLTHROUGH.
8271         Keep the existing FALLTHROUGH definition since Glibc might use it,
8272         and it does no harm to Gnulib’s FALLTHROUGH.
8273         * lib/fts_.h, lib/inttostr.h:
8274         (__GNUC_PREREQ): Remove; no longer needed.
8275         (__attribute_warn_unused_result__): Remove.  All uses
8276         replaced by _GL_ATTRIBUTE_NODISCARD.
8277         * lib/gl_list.h, lib/gl_map.h, lib/gl_omap.h, lib/gl_oset.h:
8278         * lib/gl_set.h: Prefer _GL_ATTRIBUTE_NODISCARD to an ifdeffed
8279         __attribute__ ((__warn_unused_result__)), for forward
8280         compatibility to C2X.
8281         * lib/hash.h (_GL_ATTRIBUTE_WUR): Remove.  All uses replaced by
8282         _GL_ATTRIBUTE_NODISCARD.
8283         (_GL_ATTRIBUTE_DEPRECATED): Remove, since gl_COMMON_BODY defines it.
8284         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Remove.  All uses
8285         replaced by gl_COMMON_BODY’s implementation, which has a
8286         slightly different signature.
8287         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK):
8288         Remove.  All uses replaced by _GL_ATTRIBUTE_NODISCARD.
8289         * lib/unused-parameter.h (_GL_UNUSED_PARAMETER):
8290         Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED.
8291         No doubt all uses should be replaced, at some point.
8292         * m4/gnulib-common.m4 (_GL_GNUC_PREREQ): New macro.
8293         (_Noreturn): Use it.
8294         (_GL_HAS_ATTRIBUTE, _GL_ATTRIBUTE_ALLOC_SIZE)
8295         (_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL)
8296         (_GL_ATTRIBUTE_COLD)
8297         (_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR)
8298         (_GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE)
8299         (_GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT)
8300         (_GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MAY_ALIAS)
8301         (_GL_ATTRIBUTE_MAYBE_UNUSED)
8302         (_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE)
8303         (_GL_ATTRIBUTE_NONNULL, _GL_ATTRIBUTE_NONSTRING)
8304         (_GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, _GL_ATTRIBUTE_PURE)
8305         (_GL_ATTRIBUTE_RETURNS_NONNULL)
8306         (_GL_ATTRIBUTE_SENTINEL): New macros.
8307         * modules/backup-rename, modules/backupfile, modules/c-vasnprintf:
8308         * modules/fnmatch, modules/freopen-safer, modules/fts:
8309         * modules/mbrtoc32, modules/mbrtowc, modules/nstrftime:
8310         * modules/quotearg, modules/savewd:
8311         * modules/unistdio/u16-u16-vasnprintf:
8312         * modules/unistdio/u16-vasnprintf:
8313         * modules/unistdio/u32-u32-vasnprintf:
8314         * modules/unistdio/u32-vasnprintf:
8315         * modules/unistdio/u8-u8-vasnprintf:
8316         * modules/unistdio/u8-vasnprintf:
8317         * modules/unistdio/ulc-vasnprintf:
8318         * modules/unistr/u8-uctomb, modules/vasnprintf:
8319         (Depends-on:): Add attribute module.
8321 2020-05-03  Bruno Haible  <bruno@clisp.org>
8323         bison: Fix today's commit.
8324         * m4/bison.m4 (gl_PROG_BISON): Set ac_verc_fail to 'yes', not 'true'.
8326 2020-05-03  Bruno Haible  <bruno@clisp.org>
8328         list-c++: Add get_first, get_last, set_first, set_last operations.
8329         * lib/gl_list.hh (class gl_List): Add methods get_first, get_last,
8330         set_first, set_last.
8331         * lib/gl_list.h: Tweak comments.
8333 2020-05-03  Akim Demaille  <akim@lrde.epita.fr>
8335         bison: rely on bison's %require to check a version requirement
8336         See https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00021.html.
8337         * m4/bison.m4 (gl_PROG_BISON): Let bison itself decide if it it recent
8338         enough of not.
8339         So far it is the only know Yacc tool that supports '%require'.
8340         Other yaccs will actually even choke on seeing the -o option after the
8341         input file name.
8342         * m4/parse-datetime.m4: Simplify gl_PROG_BISON invocation.
8344 2020-05-02  Bruno Haible  <bruno@clisp.org>
8346         list: Add get_first, get_last, set_first, set_last operations.
8347         * lib/gl_list.h (gl_list_get_first, gl_list_get_last,
8348         gl_list_nx_set_first, gl_list_nx_set_last): New functions.
8349         * lib/gl_xlist.h (gl_list_set_first, gl_list_set_last): New functions.
8351 2020-05-02  Bruno Haible  <bruno@clisp.org>
8353         list: Remove redundant code for remove_first and remove_last operations.
8354         * lib/gl_list.h (struct gl_list_implementation): Remove fields
8355         remove_first, remove_last.
8356         (gl_list_remove_first, gl_list_remove_last): Implement in a generic way.
8357         * lib/gl_array_list.c: Revert last change.
8358         * lib/gl_carray_list.c: Likewise.
8359         * lib/gl_anylinked_list2.h: Likewise.
8360         * lib/gl_linked_list.c: Likewise.
8361         * lib/gl_linkedhash_list.c: Likewise.
8362         * lib/gl_anytree_list2.h: Likewise.
8363         * lib/gl_avltree_list.c: Likewise.
8364         * lib/gl_avltreehash_list.c: Likewise.
8365         * lib/gl_rbtree_list.c: Likewise.
8366         * lib/gl_rbtreehash_list.c: Likewise.
8367         * lib/gl_sublist.c: Likewise.
8369 2020-05-02  Bruno Haible  <bruno@clisp.org>
8371         bison-i18n: Add support for cross-compilation.
8372         Reported by Hongxu Jia <hongxu.jia@windriver.com> in
8373         <https://lists.gnu.org/archive/html/bison-patches/2016-02/msg00000.html>
8374         via Akim Demaille <akim@lrde.epita.fr>.
8375         * m4/bison-i18n.m4 (BISON_I18N): Accept a configure option
8376         --with-bison-prefix=PREFIX and use it to determine BISON_LOCALEDIR.
8377         Don't use bison's --print-localedir option when cross-compiling.
8378         Also, fix an error message and a comment.
8380 2020-05-01  Bruno Haible  <bruno@clisp.org>
8382         list: Add remove_first and remove_last operations.
8383         Suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
8384         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00092.html>.
8385         * lib/gl_list.h (struct gl_list_implementation): Add fields
8386         remove_first, remove_last.
8387         (gl_list_remove_first, gl_list_remove_last): New functions.
8388         * lib/gl_array_list.c (gl_array_remove_first, gl_array_remove_last): New
8389         functions, based on gl_array_remove_at.
8390         (gl_array_list_implementation): Implement the new operations.
8391         * lib/gl_carray_list.c (gl_carray_remove_first, gl_carray_remove_last):
8392         New functions, based on gl_carray_remove_at.
8393         (gl_carray_list_implementation): Implement the new operations.
8394         * lib/gl_anylinked_list2.h (gl_linked_remove_first,
8395         gl_linked_remove_last): New functions, based on gl_linked_remove_at.
8396         * lib/gl_linked_list.c (gl_linked_list_implementation): Implement the
8397         new operations.
8398         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation):
8399         Likewise.
8400         * lib/gl_anytree_list2.h (gl_tree_remove_first, gl_tree_remove_last):
8401         New functions, based on gl_tree_remove_at.
8402         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Implement the
8403         new operations.
8404         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
8405         Likewise.
8406         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Likewise.
8407         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation):
8408         Likewise.
8409         * lib/gl_sublist.c (gl_sublist_remove_first, gl_sublist_remove_last):
8410         New functions, based on gl_sublist_remove_at.
8411         (gl_sublist_list_implementation): Implement the new operations.
8412         * lib/gl_list.hh (class gl_List): Add methods remove_first,
8413         remove_last.
8414         * tests/test-array_list.c (main): Test also gl_list_remove_first and
8415         gl_list_remove_last.
8416         * tests/test-avltree_list.c (main): Likewise.
8417         * tests/test-avltreehash_list.c (main): Likewise.
8418         * tests/test-carray_list.c (main): Likewise.
8419         * tests/test-linked_list.c (main): Likewise.
8420         * tests/test-linkedhash_list.c (main): Likewise.
8421         * tests/test-rbtree_list.c (main): Likewise.
8422         * tests/test-rbtreehash_list.c (main): Likewise.
8424 2020-05-01  Bruno Haible  <bruno@clisp.org>
8426         parse-datetime: Fix a build failure with an older bison version.
8427         * modules/parse-datetime (Makefile.am): Don't do the post-processing of
8428         parse-datetime.tab.c if a suitable version of bison was not found.
8430 2020-05-01  Bruno Haible  <bruno@clisp.org>
8432         bison: New module.
8433         * m4/bison.m4 (gl_PROG_BISON): New macro, extracted from
8434         m4/parse-datetime.m4.
8435         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Invoke gl_PROG_BISON.
8436         * modules/bison: New file.
8437         * modules/parse-datetime (Files): Remove m4/bison.m4.
8438         (Depends-on): Add bison.
8440 2020-05-01  Jose E. Marchesi  <jemarch@gnu.org>
8442         Update users.txt.
8443         * users.txt: Add poke.
8445 2020-04-28  Bruno Haible  <bruno@clisp.org>
8447         posix_spawn_file_actions_addfchdir tests: Enhance test.
8448         * tests/test-posix_spawn5.c: Include findprog.h.
8449         (test): New function, extracted from main.
8450         (main): Invoke it. Also, invoke it with a program name such as
8451         "bin/pwd".
8452         * modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add
8453         findprog.
8455 2020-04-28  Bruno Haible  <bruno@clisp.org>
8457         posix_spawn_file_actions_addchdir tests: Enhance test.
8458         * tests/test-posix_spawn4.c: Include findprog.h.
8459         (test): New function, extracted from main.
8460         (main): Invoke it. Also, invoke it with a program name such as
8461         "bin/pwd".
8462         * modules/posix_spawn_file_actions_addchdir-tests (Depends-on): Add
8463         findprog.
8465 2020-04-28  Bruno Haible  <bruno@clisp.org>
8467         posix_spawn_file_actions_destroy: Fix a crash (bug from 2019-06-10).
8468         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Don't
8469         access elements of the wrong union member.
8471 2020-04-27  Bruno Haible  <bruno@clisp.org>
8473         getdate: Remove deprecated module.
8474         * modules/getdate: Remove file.
8475         * doc/getdate.texi: Remove file.
8476         * lib/getdate.h: Remove file.
8477         * NEWS: Mention the removal.
8479 2020-04-27  Bruno Haible  <bruno@clisp.org>
8481         realloc: Remove deprecated module.
8482         * modules/realloc: Remove file.
8483         * NEWS: Mention the removal.
8485 2020-04-27  Bruno Haible  <bruno@clisp.org>
8487         calloc: Remove deprecated module.
8488         * modules/calloc: Remove file.
8489         * NEWS: Mention the removal.
8491 2020-04-27  Bruno Haible  <bruno@clisp.org>
8493         malloc: Remove deprecated module.
8494         * modules/malloc: Remove file.
8495         * NEWS: Mention the removal.
8497 2020-04-27  Bruno Haible  <bruno@clisp.org>
8499         fnmatch-posix: Remove deprecated module.
8500         * modules/fnmatch-posix: Remove file.
8501         * MODULES.html.sh (Enhancements for POSIX:2008 functions): Update.
8502         * NEWS: Mention the removal.
8504 2020-04-27  Bruno Haible  <bruno@clisp.org>
8506         pipe: Remove deprecated module.
8507         * modules/pipe: Remove file.
8508         * lib/pipe.h: Remove file.
8509         * NEWS: Mention the removal.
8511 2020-04-27  Bruno Haible  <bruno@clisp.org>
8513         getopt: Remove deprecated module.
8514         * modules/getopt: Remove file.
8515         * NEWS: Mention the removal.
8517 2020-04-27  Bruno Haible  <bruno@clisp.org>
8519         remove-dest-slash: Remove deprecated module.
8520         * modules/rename-dest-slash: Remove file.
8521         * MODULES.html.sh (Compatibility checks for POSIX:2008 functions):
8522         Update.
8523         * NEWS: Mention the removal.
8525 2020-04-27  Bruno Haible  <bruno@clisp.org>
8527         unictype/bidicategory-*: Remove deprecated modules.
8528         * modules/unictype/bidicategory-all: Remove file.
8529         * modules/unictype/bidicategory-byname: Remove file.
8530         * modules/unictype/bidicategory-name: Remove file.
8531         * modules/unictype/bidicategory-of: Remove file.
8532         * modules/unictype/bidicategory-test: Remove file.
8533         * MODULES.html.sh (Unicode string functions): Update.
8534         * NEWS: Mention the removals.
8536 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
8538         Tune fts for FTS_LOGICAL+FTS_NOSTAT
8539         From a suggestion by Askar Safin in:
8540         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00074.html
8541         * lib/fts.c (fts_build): If file types are known, optimize
8542         FTS_LOGICAL+FTS_NOSTAT for non-symlinks and non-directories the
8543         same way that we already optimize FTS_PHYSICAL+FTS_NOSTAT for
8544         non-directories.
8546 2020-04-19  Bruno Haible  <bruno@clisp.org>
8548         vasnprintf: Add support for printing wide characters using escapes.
8549         * lib/vasnprintf.c (ENABLE_WCHAR_FALLBACK): Document optional macro.
8550         (wctomb_fallback): New function.
8551         (local_wctomb): New function.
8552         (local_wcrtomb): New function or macro.
8553         (MAX_ROOM_NEEDED): Adjust estimate for %lc.
8554         (VASNPRINTF): Simplify %ls code by use of local_wcrtomb. Add code for
8555         %lc.
8557 2020-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8559         fts: remove NOSTAT_LEAF_OPTIMIZATION
8560         It caused ‘find’ and ‘du’ to dump core, and it was useful
8561         only for obsolescent Linux filesystems anyway.  Problem reported in:
8562         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
8563         Quite possibly there is still a serious underlying fts bug with
8564         tight-loop-check and mutating file systems, but if so this patch
8565         should cause the bug to be triggered less often.
8566         * lib/fts.c (enum leaf_optimization): Remove
8567         NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
8568         (S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
8569         (leaf_optimization): Remove special cases for ReiserFS and XFS.
8570         (fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
8571         * lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
8572         Remove.  All uses removed.
8574 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8576         explicit_bzero: Improve code style.
8577         * lib/explicit_bzero.c (explicit_bzero): Use '\0' instead of 0.
8579 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8581         explicit_bzero: On native Windows, use SecureZeroMemory().
8582         * lib/explicit_bzero.c: Include <windows.h>.
8583         (explicit_bzero): On native Windows, use SecureZeroMemory.
8585 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8587         explicit_bzero: Use memset_s() when available.
8588         * lib/explicit_bzero.c (__STDC_WANT_LIB_EXT1__): Define.
8589         (explicit_bzero): Use memset_s when available.
8590         * m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Test for memset_s.
8592 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8594         explicit_bzero tests: Fix test failure on OpenBSD 6.5.
8595         * tests/test-explicit_bzero.c (test_heap): Handle implementations of
8596         free() that overwrite the memory with canaries.
8598 2020-04-13  Akim Demaille  <akim@lrde.epita.fr>
8600         bootstrap: recommend git submodule update --init
8601         Reported by Bruno Haible.
8602         <https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html>
8603         * build-aux/bootstrap: recommand "git submodule update --init"
8604         rather than "git submodule init".
8606 2020-04-12  Bruno Haible  <bruno@clisp.org>
8608         explicit_bzero: Add tests.
8609         * tests/test-explicit_bzero.c: New file.
8610         * modules/explicit_bzero-tests: New file.
8612 2020-04-11  Bruno Haible  <bruno@clisp.org>
8614         explicit_bzero: Relicense under LGPLv2+.
8615         Approved by Paul Eggert.
8616         * modules/explicit_bzero (License): Change to LGPLv2+.
8618 2020-04-10  Bruno Haible  <bruno@clisp.org>
8620         findprog, relocatable-prog: Ignore directories during PATH search.
8621         Reported by Frederick Eaton via Dmitry Goncharov in
8622         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
8624         * lib/findprog.c (find_in_path): When the file found in a PATH element
8625         is a directory, continue searching.
8626         * modules/findprog (Depends-on): Add sys_stat, stat.
8627         * modules/findprog-lgpl (Depends-on): Likewise.
8629         * lib/progreloc.c (maybe_executable): When the file found in a PATH
8630         element is a directory, continue searching.
8631         * lib/relocwrapper.c: Update comments.
8632         * modules/relocatable-prog-wrapper (Files): Add m4/largefile.m4.
8633         (configure.ac-early): New section.
8635 2020-04-10  Bruno Haible  <bruno@clisp.org>
8637         MODULES.html.sh: Support for reproducible builds from git-less tarballs.
8638         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
8639         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00061.html>.
8640         * MODULES.html.sh: In a git-less tarball, use the date of the first
8641         ChangeLog entry.
8643 2020-04-04  Bruno Haible  <bruno@clisp.org>
8645         Fix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.
8646         * m4/gettext.m4: Fix comments regarding the gettext library.
8647         * m4/intl-thread-locale.m4: Likewise.
8648         * m4/intlmacosx.m4: Likewise.
8649         * m4/lcmessage.m4: Likewise.
8650         * m4/nls.m4: Likewise.
8651         * m4/po.m4: Likewise.
8652         * m4/progtest.m4: Likewise.
8654 2020-04-04  Jim Meyering  <meyering@fb.com>
8656         maint: remove a stray inter-word space in a 6x-repeated comment
8657         Induce the changes by running this:
8658           re='by  perl'; git grep -l "$re"|xargs perl -pi -e "s/$re/by perl/"
8659         * build-aux/announce-gen: Change "by  perl" to "by perl".
8660         * build-aux/gitlog-to-changelog: Likewise.
8661         * build-aux/prefix-gnulib-mk: Likewise.
8662         * build-aux/update-copyright: Likewise.
8663         * build-aux/useless-if-before-free: Likewise.
8664         * tests/test-update-copyright.sh: Likewise.
8666 2020-03-28  Bruno Haible  <bruno@clisp.org>
8668         Use module 'filename' instead of module 'dosname'.
8670         * lib/at-func.c: Include filename.h instead of dosname.h.
8671         * lib/unlinkat.c: Likewise.
8672         * modules/areadlinkat (Depends-on): Add filename. Remove dosname.
8673         * modules/areadlinkat-with-size (Depends-on): Likewise.
8674         * modules/faccessat (Depends-on): Likewise.
8675         * modules/fchmodat (Depends-on): Likewise.
8676         * modules/fchownat (Depends-on): Likewise.
8677         * modules/fstatat (Depends-on): Likewise.
8678         * modules/mkdirat (Depends-on): Likewise.
8679         * modules/mkfifoat (Depends-on): Likewise.
8680         * modules/readlinkat (Depends-on): Likewise.
8681         * modules/selinux-at (Depends-on): Likewise.
8682         * modules/symlinkat (Depends-on): Likewise.
8683         * modules/unlinkat (Depends-on): Likewise.
8684         * modules/utimensat (Depends-on): Likewise.
8686         * lib/at-func2.c: Include filename.h instead of dosname.h.
8687         * modules/linkat (Depends-on): Add filename. Remove dosname.
8688         * modules/renameatu (Depends-on): Likewise.
8690         * lib/canonicalize.c: Include filename.h instead of dosname.h.
8691         * lib/canonicalize-lgpl.c: Likewise.
8692         * modules/canonicalize (Depends-on): Add filename.
8693         * modules/canonicalize-lgpl (Depends-on): Likewise.
8695         * lib/dirname.h: Include filename.h instead of dosname.h.
8696         * modules/dirname-lgpl (Depends-on): Add filename. Remove dosname.
8698         * lib/fchdir.c: Include filename.h instead of dosname.h.
8699         * modules/fchdir (Depends-on): Add filename. Remove dosname.
8701         * lib/openat.c: Include filename.h instead of dosname.h.
8702         * modules/openat (Depends-on): Add filename. Remove dosname.
8704         * lib/rmdir.c: Include filename.h instead of dosname.h.
8705         * modules/rmdir (Depends-on): Add filename. Remove dosname.
8707         * lib/savewd.c: Include filename.h instead of dosname.h.
8708         * modules/savewd (Depends-on): Add filename. Remove dosname.
8710         * lib/unlink.c: Include filename.h instead of dosname.h.
8711         * modules/unlink (Depends-on): Add filename. Remove dosname.
8713         * modules/relocatable-prog-wrapper (Depends-on): Add filename.
8714         * lib/relocwrapper.c: Update comments.
8716         * modules/lstat (Depends-on): Remove dosname.
8718 2020-03-28  Bruno Haible  <bruno@clisp.org>
8720         dosname: Redirect to 'filename'.
8721         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8722         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00042.html>.
8723         * lib/dosname.h: Remove all definitions. Just include filename.h.
8724         * modules/dosname (Status, Notice): Mark as deprecated.
8725         (Depends-on): Add 'filename'.
8727 2020-03-28  Bruno Haible  <bruno@clisp.org>
8729         dosname: Change IS_RELATIVE_FILE_NAME.
8730         * lib/dosname.h (IS_RELATIVE_FILE_NAME): On native Windows, OS/2, DOS,
8731         change the definition so that IS_RELATIVE_FILE_NAME("c:") is false.
8732         * NEWS: Mention the change.
8734 2020-03-28  Bruno Haible  <bruno@clisp.org>
8736         filename: Copy some definitions from module 'dosname'.
8737         * lib/filename.h: Include <string.h>, for IS_FILE_NAME_WITH_DIR.
8738         (HAS_DEVICE): Document macro.
8739         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New macro.
8740         (IS_ABSOLUTE_FILE_NAME): Consider
8741         FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
8742         (IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New macros.
8743         (IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Define as deprecated aliases.
8744         * lib/relocatable.c (IS_FILE_NAME_WITH_DIR): Renamed from
8745         IS_PATH_WITH_DIR.
8746         (DllMain): Update.
8747         * lib/progreloc.c (IS_FILE_NAME_WITH_DIR): Renamed from
8748         IS_PATH_WITH_DIR.
8749         (find_executable): Update.
8750         * NEWS: Document the deprecations.
8752 2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>
8754         getopt-posix: port __GETOPT_PREFIX to macOS
8755         * lib/getopt-pfx-core.h (_GETOPT) [__APPLE__ && __GETOPT_PREFIX]:
8756         Define to work around a problem with asm on macOS (Bug#40205).
8758 2020-03-22  Bruno Haible  <bruno@clisp.org>
8760         MODULES.html.sh: Add support for reproducible builds.
8761         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
8762         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00024.html>.
8763         * MODULES.html.sh: Print the date of the last gnulib commit, not the
8764         current date.
8766 2020-03-22  Bruno Haible  <bruno@clisp.org>
8768         Several modules: Depend on stat.
8769         * modules/acl-permissions (Depends-on): Add stat.
8770         * modules/canonicalize (Depends-on): Likewise.
8771         * modules/file-has-acl (Depends-on): Likewise.
8772         * modules/fstat (Depends-on): Likewise.
8773         * modules/fstatat (Depends-on): Likewise.
8774         * modules/glob (Depends-on): Likewise.
8775         * modules/javacomp (Depends-on): Likewise.
8776         * modules/linkat (Depends-on): Likewise.
8777         * modules/mkdir (Depends-on): Likewise.
8778         * modules/pt_chown (Depends-on): Likewise.
8779         * modules/ptsname_r (Depends-on): Likewise.
8780         * modules/readlinkat (Depends-on): Likewise.
8781         * modules/rename (Depends-on): Likewise.
8782         * modules/renameatu (Depends-on): Likewise.
8783         * modules/tmpdir (Depends-on): Likewise.
8784         * modules/utimens (Depends-on): Likewise.
8785         * modules/relocatable-prog-wrapper (Depends-on): Add largefile.
8786         * modules/same (Depends-on): Remove stat.
8788 2020-03-22  Bruno Haible  <bruno@clisp.org>
8790         acl-permissions: Improve autoconf macro.
8791         * m4/acl.m4 (gl_FUNC_ACL): Test the value of gl_need_lib_has_acl
8792         more reliably.
8794 2020-03-22  Bruno Haible  <bruno@clisp.org>
8796         file-has-acl: Fix module description.
8797         * modules/file-has-acl (Files): Add lib/acl-internal.h, m4/acl.m4.
8798         (Depends-on): Depend on acl-permissions unconditionally.
8800 2020-03-21  Bruno Haible  <bruno@clisp.org>
8802         unlink: Ensure errno also on native Windows.
8803         * modules/unlink (Depends-on): Add malloc-posix.
8805 2020-03-21  Paul Eggert  <eggert@cs.ucla.edu>
8807         unlink: fix malloc errno typo
8808         Problem reported by Tim Rühsen in:
8809         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00044.html
8810         * lib/unlink.c (rpl_unlink): Don’t mask malloc errno.
8812 2020-03-16  Bruno Haible  <bruno@clisp.org>
8814         *printf-posix: Fix m4 error (regression from 2020-03-08).
8815         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): Enable interpretation of
8816         brackets in AC_COMPILE_IFELSE invocation.
8818 2020-03-08  Bruno Haible  <bruno@clisp.org>
8820         crypto/af_alg, renameatu, same, term-style-control: Depend on fstat.
8821         * modules/crypto/af_alg (Depends-on): Add fstat.
8822         * modules/renameatu (Depends-on): Likewise.
8823         * modules/same (Depends-on): Likewise.
8824         * modules/term-style-control (Depends-on): Likewise.
8826 2020-03-08  Bruno Haible  <bruno@clisp.org>
8828         *printf-posix: Document why it's overridden on some glibc systems.
8829         Reported by Adrian Bunk <bunk@stusta.de> in
8830         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00011.html>.
8831         * doc/posix-functions/*printf.texi: Document the problem with the %n
8832         directive on some glibc systems.
8833         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Adjust
8834         the cross-compilation guesses accordingly.
8836 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8838         open, openat: port to (O_RDWR | O_RDONLY) != 0
8839         Potential portability problem reported by Dan Gohman in:
8840         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
8841         * lib/open.c (open):
8842         * lib/openat.c (rpl_openat):
8843         Don’t assume O_RDONLY is disjoint from O_RDWR.
8845 2020-03-07  Bruno Haible  <bruno@clisp.org>
8847         openat: Fix theoretically possible issue on GNU/Hurd.
8848         Reported by Dan Gohman <sunfish@mozilla.com> in
8849         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00000.html>.
8850         * lib/openat.c (rpl_openat): When testing whether flags contains O_RDWR,
8851         ignore the bits that are also set in O_RDONLY.
8853 2020-02-24  Bruno Haible  <bruno@clisp.org>
8855         getloadavg: Don't use /usr/local when cross-compiling on AIX.
8856         Reported by Jens Rehsack <sno@netbsd.org> in
8857         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>.
8858         * m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when
8859         cross-compiling.
8861 2020-02-24  Bruno Haible  <bruno@clisp.org>
8863         fcntl: Add witness of gnulib override.
8864         Reported by Jens Rehsack <sno@netbsd.org> in
8865         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>.
8866         * lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New
8867         macros.
8869 2020-02-23  Assaf Gordon  <assafgordon@gmail.com>
8871         Update users.txt.
8872         * users.txt: Add datamash, time.
8874 2020-02-23  Bruno Haible  <bruno@clisp.org>
8876         uni*/base: Use 'restrict'.
8877         * lib/unitypes.in.h (_UC_RESTRICT): New macro, based on '_Restrict_'
8878         from lib/regex.h.
8879         * lib/unistr.in.h (u8_cpy, u16_cpy, u32_cpy, u8_strcpy, u16_strcpy,
8880         u32_strcpy, u8_stpcpy, u16_stpcpy, u32_stpcpy, u8_strncpy, u16_strncpy,
8881         u32_strncpy, u8_stpncpy, u16_stpncpy, u32_stpncpy, u8_strcat,
8882         u16_strcat, u32_strcat, u8_strncat, u16_strncat, u32_strncat, u8_strtok,
8883         u16_strtok, u32_strtok): Use '_UC_RESTRICT'.
8884         * lib/uninorm.in.h (u8_normalize, u16_normalize, u32_normalize): Use
8885         '_UC_RESTRICT'.
8886         * lib/uniconv.in.h (u8_conv_to_encoding, u16_conv_to_encoding,
8887         u32_conv_to_encoding): Use '_UC_RESTRICT'.
8888         * lib/unicase.in.h (u8_toupper, u16_toupper, u32_toupper, u8_tolower,
8889         u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle,
8890         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
8891         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
8892         u32_ct_totitle, u8_casefold, u16_casefold, u32_casefold, u8_ct_casefold,
8893         u16_ct_casefold, u32_ct_casefold, u8_casexfrm, u16_casexfrm,
8894         u32_casexfrm, ulc_casexfrm): Use '_UC_RESTRICT'.
8895         * lib/unilbrk.in.h (u8_possible_linebreaks, u16_possible_linebreaks,
8896         u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
8897         u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks): Use
8898         '_UC_RESTRICT'.
8899         * lib/uniwbrk.in.h (ulc_wordbreaks): Use '_UC_RESTRICT'.
8900         * lib/unistdio.in.h (ulc_sprintf, ulc_snprintf, ulc_asnprintf,
8901         ulc_vsprintf, ulc_vsnprintf, ulc_vasnprintf, u8_u8_sprintf,
8902         u8_u8_snprintf, u8_u8_asnprintf, u8_u8_vsprintf, u8_u8_vsnprintf,
8903         u8_u8_vasnprintf, u16_u16_sprintf, u16_u16_snprintf, u16_u16_asnprintf,
8904         u16_u16_vsprintf, u16_u16_vsnprintf, u16_u16_vasnprintf,
8905         u32_u32_sprintf, u32_u32_snprintf, u32_u32_asnprintf, u32_u32_vsprintf,
8906         u32_u32_vsnprintf, u32_u32_vasnprintf): Use '_UC_RESTRICT'.
8908 2020-02-23  Bruno Haible  <bruno@clisp.org>
8910         glob, spawn: Use improved '_Restrict_' definition.
8911         * lib/glob.in.h (_Restrict_): Use same definition as in lib/regex.h.
8912         * lib/spawn.in.h (_Restrict_, _Restrict_arr_): Likewise.
8914 2020-02-23  Bruno Haible  <bruno@clisp.org>
8916         crypto/gc: Use 'restrict'.
8917         * lib/gc.h (gc_pbkdf2_hmac, gc_pbkdf2_sha1): Use 'restrict'.
8918         * m4/gc.m4 (gl_GC): Require AC_C_RESTRICT.
8920         crypto/hmac-*: Use 'restrict'.
8921         * lib/hmac.h (hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512): Use
8922         'restrict'.
8923         * modules/crypto/hmac-md5 (configure.ac): Require AC_C_RESTRICT.
8924         * modules/crypto/hmac-sha1 (configure.ac): Likewise.
8925         * modules/crypto/hmac-sha256 (configure.ac): Likewise.
8926         * modules/crypto/hmac-sha512 (configure.ac): Likewise.
8928         crypto/sm3: Use 'restrict'.
8929         * lib/sm3.h (sm3_finish_ctx, sm3_read_ctx, sm3_buffer): Use 'restrict'.
8930         * m4/sm3.m4 (gl_SM3): Require AC_C_RESTRICT.
8932         crypto/*-buffer: Use 'restrict'.
8933         * lib/gl_openssl.h (GL_CRYPTO_FN (_finish_ctx), GL_CRYPTO_FN (_buffer),
8934         GL_CRYPTO_FN (_read_ctx)): Use 'restrict'.
8936         crypto/sha512-buffer: Use 'restrict'.
8937         * lib/sha512.h (sha512_finish_ctx, sha384_finish_ctx, sha512_read_ctx,
8938         sha384_read_ctx, sha512_buffer, sha384_buffer): Use 'restrict'.
8939         * modules/crypto/sha512-buffer (configure.ac): Require AC_C_RESTRICT.
8941         crypto/sha256-buffer: Use 'restrict'.
8942         * lib/sha256.h (sha256_finish_ctx, sha224_finish_ctx, sha256_read_ctx,
8943         sha224_read_ctx, sha256_buffer, sha224_buffer): Use 'restrict'.
8944         * modules/crypto/sha256-buffer (configure.ac): Require AC_C_RESTRICT.
8946         crypto/sha1-buffer: Use 'restrict'.
8947         * lib/sha1.h (sha1_finish_ctx, sha1_read_ctx, sha1_buffer): Use
8948         'restrict'.
8949         * modules/crypto/sha1-buffer (configure.ac): Require AC_C_RESTRICT.
8951         crypto/md5-buffer: Use 'restrict'.
8952         * lib/md5.h (__md5_finish_ctx, __md5_read_ctx, __md5_buffer): Use
8953         'restrict'.
8954         * modules/crypto/md5-buffer (configure.ac): Require AC_C_RESTRICT.
8956         crypto/md4: Use 'restrict'.
8957         * lib/md4.h (md4_finish_ctx, md4_read_ctx, md4_buffer): Use 'restrict'.
8958         * modules/crypto/md4 (configure.ac): Require AC_C_RESTRICT.
8960         crypto/md2: Use 'restrict'.
8961         * lib/md2.h (md2_finish_ctx, md2_read_ctx, md2_buffer): Use 'restrict'.
8962         * modules/crypto/md2 (configure.ac): Require AC_C_RESTRICT.
8964         crypto/rijndael: Use 'restrict'.
8965         * lib/rijndael-api-fst.h (rijndaelBlockEncrypt, rijndaelPadEncrypt,
8966         rijndaelBlockDecrypt, rijndaelPadDecrypt): Use 'restrict'.
8967         * modules/crypto/rijndael (configure.ac): Require AC_C_RESTRICT.
8969         crypto/arctwo: Use 'restrict'.
8970         * lib/arctwo.h (arctwo_encrypt, arctwo_decrypt): Use 'restrict'.
8971         * modules/crypto/arctwo (configure.ac): Require AC_C_RESTRICT.
8973         crypto/arcfour: Use 'restrict'.
8974         * lib/arcfour.h (arcfour_stream): Use 'restrict'.
8975         * modules/crypto/arcfour (configure.ac): Require AC_C_RESTRICT.
8977         careadlinkat: Use 'restrict'.
8978         * lib/careadlinkat.h (careadlinkat): Use 'restrict'.
8979         * modules/careadlinkat (configure.ac): Require AC_C_RESTRICT.
8980         * modules/relocatable-prog-wrapper (configure.ac): Likewise.
8982         regex-quote: Use 'restrict'.
8983         * lib/regex-quote.h (regex_quote_copy): Use 'restrict'.
8984         * modules/regex-quote (configure.ac): Require AC_C_RESTRICT.
8986         system-quote: Use 'restrict'.
8987         * lib/system-quote.h (system_quote_copy): Use 'restrict'.
8988         * modules/system-quote (configure.ac): Require AC_C_RESTRICT.
8990         sh-quote: Use 'restrict'.
8991         * lib/sh-quote.h (shell_quote_copy): Use 'restrict'.
8992         * modules/sh-quote (configure.ac): Require AC_C_RESTRICT.
8994         quotearg: Use 'restrict'.
8995         * lib/quotearg.h (quotearg_buffer): Use 'restrict'.
8996         * m4/quotearg.m4 (gl_QUOTEARG): Require AC_C_RESTRICT.
8998         parse-datetime: Use 'restrict'.
8999         * lib/parse-datetime.h (parse_datetime, parse_datetime2): Use
9000         'restrict'.
9001         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Require AC_C_RESTRICT.
9003         nstrftime: Use 'restrict'.
9004         * lib/strftime.h (nstrftime): Use 'restrict'.
9005         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Require AC_C_RESTRICT.
9007         mbstok_r: Use 'restrict'.
9008         * lib/string.in.h (mbstok_r): Use 'restrict'.
9010         xmemcoll: Use 'restrict'.
9011         * lib/xmemcoll.h (xmemcoll): Use 'restrict'.
9012         * modules/xmemcoll (configure.ac): Require AC_C_RESTRICT.
9014         memcoll: Use 'restrict'.
9015         * lib/memcoll.h (memcoll): Use 'restrict'.
9016         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_C_RESTRICT.
9018         vasnprintf: Use 'restrict'.
9019         * lib/vasnprintf.h (asnprintf, vasnprintf): Use 'restrict'.
9020         * modules/vasnprintf (configure.ac): Require AC_C_RESTRICT.
9022         c-vasnprintf: Use 'restrict'.
9023         * lib/c-vasnprintf.h (c_vasnprintf): Use 'restrict'.
9024         * modules/c-vasnprintf (configure.ac): Require AC_C_RESTRICT.
9026         c-vsnprintf: Use 'restrict'.
9027         * lib/c-vsnprintf.h (c_vsnprintf): Use 'restrict'.
9028         * modules/c-vsnprintf (configure.ac): Require AC_C_RESTRICT.
9030         c-snprintf: Use 'restrict'.
9031         * lib/c-snprintf.h (c_snprintf): Use 'restrict'.
9032         * modules/c-snprintf (configure.ac): Require AC_C_RESTRICT.
9034         astrxfrm: Use 'restrict'.
9035         * lib/astrxfrm.h (astrxfrm): Use 'restrict'.
9036         * modules/astrxfrm (configure.ac): Require AC_C_RESTRICT.
9038         amemxfrm: Use 'restrict'.
9039         * lib/amemxfrm.h (amemxfrm): Use 'restrict'.
9040         * modules/amemxfrm (configure.ac): Require AC_C_RESTRICT.
9042 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
9044         fchmodat, lchmod: simplify
9045         It appears that we may have overengineered lchmod and fchmodat,
9046         in that the code was prepared for some hypothetical platforms but
9047         was so complicated that it was hard to understand.  I attempted to
9048         improve the situation by simplifying the code when this
9049         simplification should not hurt on real platforms; we can re-add
9050         complexity later to port to platforms I didn’t know about.
9051         * lib/fchmodat.c (fchmodat):
9052         * lib/lchmod.c (lchmod):
9053         Put the ‘defined __linux__ || defined __ANDROID__’ #ifdef only
9054         around the /proc code that needs it.
9055         * lib/fchmodat.c (fchmodat): Coalese calls to orig_fchmodat.
9056         * lib/lchmod.c (__need_system_sys_stat_h): Omit; no longer needed.
9057         Do not include <config.h> twice.
9058         (orig_lchmod) [HAVE_LCHMOD]: Remove, since we need not wrap
9059         lchmod on any known hosts.
9060         (lchmod): Do not defer to fchmodat, so that the lchmod module
9061         need not depend on the fchmodat module (which is a circular
9062         dependency).  Do not use openat, since ‘open’ suffices.
9063         Coalesce calls to lchmod/chmod.
9064         * lib/lchmod.c, lib/sys_stat.in.h (lchmod):
9065         * m4/sys_stat_h.m4 (REPLACE_FSTAT):
9066         * modules/lchmod (Depends-on, configure.ac):
9067         * modules/sys_stat (Depends-on):
9068         Do not worry about replacing lchmod, since that shouldn’t happen.
9069         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not check for fchmodat.
9070         Do not worry about whether lchmod works on non-symlinks,
9071         since every known lchmod works on non-symlinks.
9072         * modules/lchmod (Depends-on):
9073         Remove circular dependency on fchmodat.
9075 2020-02-22  Bruno Haible  <bruno@clisp.org>
9077         lchmod: Fix link error on Solaris 10 (regression from 2020-02-16).
9078         * lib/lchmod.c (lchmod): Use the code with lstat and chmod also when
9079         NEED_LCHMOD_NONSYMLINK_FIX is not defined.
9081 2020-02-22  Bruno Haible  <bruno@clisp.org>
9083         Use 'restrict' in all POSIX function declarations.
9084         * lib/iconv.in.h (iconv): Use 'restrict'.
9085         * lib/inttypes.in.h (strtoimax, strtoumax): Likewise.
9086         * lib/monetary.in.h (strfmon_l): Likewise.
9087         * lib/pthread.in.h (pthread_create, pthread_mutex_init,
9088         pthread_mutexattr_gettype, pthread_mutexattr_getrobust,
9089         pthread_mutex_timedlock, pthread_rwlock_init,
9090         pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
9091         pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise.
9092         * lib/search.in.h (tdelete): Likewise.
9093         * lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise.
9094         * lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen,
9095         fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf,
9096         vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf):
9097         Likewise.
9098         * lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll,
9099         strtoull): Likewise.
9100         * lib/string.in.h (strncat): Likewise.
9101         * lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt,
9102         recvfrom): Likewise.
9103         * lib/sys_stat.in.h (fstatat, lstat, stat): Likewise.
9104         * lib/time.in.h (strftime): Likewise.
9105         * lib/unistd.in.h (readlink, readlinkat): Likewise.
9106         * lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb,
9107         wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy,
9108         wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise.
9109         * m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT.
9110         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise.
9111         * m4/monetary_h.m4 (gl_MONETARY_H): Likewise.
9112         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
9113         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
9114         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
9115         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
9116         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
9117         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
9118         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
9119         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
9120         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the
9121         other *_h.m4 files.
9122         * m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.
9124 2020-02-22  Bruno Haible  <bruno@clisp.org>
9126         Update NEWS.
9127         * NEWS: Mention the last change.
9129 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
9131         chmodat, chownat: new modules
9132         These are split from fchmodat, fchownat.  GNU Emacs needs the
9133         POSIX-specified fchmodat, but not the gnulib-specified chmodat and
9134         lchmodat.  Split the latter two into a new module chmodat.
9135         Similarly for fchownat.  This the same basic idea for why statat
9136         was split from fstatat on 2013-01-23.
9137         * lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
9138         Rename from FCHMODAT_INLINE.  All uses changed.
9139         * lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
9140         Rename from FCHOWNAT_INLINE.  All uses changed.
9141         * lib/openat.h:
9142         (chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
9143         (chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
9144         * modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
9145         * modules/fchmodat (Files:): Remove lib/fchmodat.c.
9146         (configure.ac): Remove fchmodat module indicator.
9147         (Makefile.am): Omit chmodat.c.
9148         (Maintainer): Add self.
9149         * modules/fchownat: Similarly, but for chown.
9150         * tests/test-fchownat.c (BASE): Don't define if already defined.
9151         (do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.
9153 2020-02-22  Bruno Haible  <bruno@clisp.org>
9155         users.txt: Add groff.
9156         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
9157         * users.txt: Add groff.
9159 2020-02-22  Bruno Haible  <bruno@clisp.org>
9161         gnulib-tool: Ensure copied files are writable.
9162         Reported by Benno Fünfstück <benno.fuenfstueck@gmail.com> in
9163         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00101.html>.
9164         * gnulib-tool (func_ensure_writable): New function.
9165         (func_ln_s, func_hardlink, func_lookup_file, func_import,
9166         func_create_testdir, copy-file): Invoke it after copying a file.
9168 2020-02-22  Bruno Haible  <bruno@clisp.org>
9170         users.txt: Update.
9171         * users.txt: Update URLs to projects that have moved or switched to git.
9172         Use canonical host names. Prefer gitweb over cgit. Prefer the tree view
9173         over the summary view. Add gawk.
9175 2020-02-21  Paul Eggert  <eggert@cs.ucla.edu>
9177         largefile: remove _DARWIN_USE_64_BIT_INODE
9178         It’s not needed in currently-supported macOS versions, and was
9179         problematic anyway in MacOS X 10.5 which was the only version that
9180         could use it.  Problem reported by Peter Eisentraut in:
9181         https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
9182         * m4/largefile.m4 (AC_SYS_LARGEFILE):
9183         Don’t define _DARWIN_USE_64_BIT_INODE.
9184         This syncs with Autoconf master.
9186         Add ‘extern "C"’ to count-one-bits.h etc.
9187         This ports these .h files to C++.
9188         Problem reported by Simon Marchi in:
9189         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00110.html
9190         * lib/count-leading-zeros.h, lib/count-one-bits.h:
9191         * lib/count-trailing-zeros.h: Add ‘extern "C"’.
9193 2020-02-19  Bruno Haible  <bruno@clisp.org>
9195         uninorm/decompose-internal: Avoid "no previous prototype" warning.
9196         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9197         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>.
9198         * lib/array-mergesort.h: Accept an optional macro definition
9199         STATIC_FROMTO.
9200         * lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro.
9202 2020-02-16  Bruno Haible  <bruno@clisp.org>
9204         fchmodat: Make more future-proof.
9205         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Define
9206         NEED_FCHMODAT_NONSYMLINK_FIX.
9207         (gl_PREREQ_FCHMODAT): New macro.
9208         * lib/fchmodat.c (fchmodat): Test NEED_FCHMODAT_NONSYMLINK_FIX. Access
9209         /proc only on Linux. Return EOPNOTSUPP only on Linux and on platforms
9210         without lchmod function.
9211         * modules/fchmodat (configure.ac): Invoke gl_PREREQ_FCHMODAT.
9213 2020-02-16  Bruno Haible  <bruno@clisp.org>
9215         lchmod: Make more future-proof.
9216         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Define NEED_LCHMOD_NONSYMLINK_FIX.
9217         (gl_PREREQ_LCHMOD): New macro.
9218         * lib/lchmod.c (orig_lchmod): New function.
9219         (lchmod): Test NEED_LCHMOD_NONSYMLINK_FIX. Access /proc only on Linux.
9220         Return EOPNOTSUPP only on Linux and on platforms without lchmod
9221         function.
9222         * modules/lchmod (configure.ac): Invoke gl_PREREQ_LCHMOD.
9224         lchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).
9225         * modules/lchmod (Makefile.am): Don't add lchmod.c to lib_SOURCES.
9227 2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>
9229         xnanosleep: prefer pause, and get remaining time
9230         Problem reported by Vladimir Panteleev in:
9231         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00052.html
9232         * lib/xnanosleep.c: Include intprops.h, unistd.h.
9233         (xnanosleep) [HAVE_PAUSE]: Prefer pause when sleeping infinitely.
9234         (xnanosleep): Obtain remaining time when nanosleep is interrupted.
9235         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Check for 'pause'.
9236         * modules/xnanosleep (Depends-on): Add intprops, unistd.
9238 2020-02-16  Bruno Haible  <bruno@clisp.org>
9240         lchmod: Improve cross-compilation guess.
9241         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require AC_CANONICAL_HOST. When
9242         cross-compiling, guess depending on the platform.
9244 2020-02-16  Bruno Haible  <bruno@clisp.org>
9246         fstrcmp: Add API to clean up resources.
9247         Reported by Akim Demaille <akim@lrde.epita.fr> in
9248         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00080.html>.
9249         * lib/fstrcmp.h (fstrcmp_free_resources): New declaration.
9250         * lib/fstrcmp.c (fstrcmp_free_resources): New function.
9252 2020-02-14  Bruno Haible  <bruno@clisp.org>
9254         wctype-h: Fix compilation errors in C++ (regression from 2020-01-25).
9255         Reported by Christian Biesinger in
9256         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00064.html>.
9257         * lib/wctype.in.h (iswdigit, iswxdigit): Don't declare if the
9258         corresponding module is not enabled.
9259         * tests/test-wctype-h-c++.cc (iswdigit, iswxdigit): Don't check the
9260         prototype if the corresponding module is not enabled.
9262 2020-02-13  Paul Eggert  <eggert@cs.ucla.edu>
9264         fchmodat, lchmod: port to buggy Linux filesystems
9265         Problem reported by Florian Weimer in:
9266         https://www.sourceware.org/ml/libc-alpha/2020-02/msg00534.html
9267         * lib/fchmodat.c (fchmodat):
9268         * lib/lchmod.c (lchmod):
9269         Don’t assume that chmod on the O_PATH-opened fd will do
9270         the right thing on a symbolic link.
9271         * lib/fchmodat.c (fchmodat):
9272         Don’t attempt to special-case
9273         any flag value other than AT_SYMLINK_NOFOLLOW.
9275 2020-02-11  Paul Eggert  <eggert@cs.ucla.edu>
9277         lchmod: pacify Coverity CID 1491216
9278         * lib/lchmod.c (lchmod): Redo #if nesting so that Coverity does
9279         not complain about unreachable code at the ‘struct stat st;’
9280         declaration.
9282 2020-02-10  Bruno Haible  <bruno@clisp.org>
9284         copysignf: Fix link error on HP-UX with cc.
9285         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Require AC_CANONICAL_HOST. On
9286         HP-UX, set COPYSIGNF_LIBM to -lm.
9288 2020-02-10  Bruno Haible  <bruno@clisp.org>
9290         pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
9291         * modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
9292         with $(LIB_SEMAPHORE).
9293         * modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
9294         with $(LIB_SEMAPHORE).
9296 2020-02-10  Bruno Haible  <bruno@clisp.org>
9298         ptsname_r-tests: Avoid unused function warning.
9299         * tests/test-ptsname_r.c: Don't include null-ptr.h if we don't need it.
9301 2020-02-08  Bruno Haible  <bruno@clisp.org>
9303         lchmod: Add tests.
9304         * tests/test-lchmod.c: New file.
9305         * modules/lchmod-tests: New file.
9307 2020-02-08  Bruno Haible  <bruno@clisp.org>
9309         lchmod: Ensure declaration on HP-UX.
9310         * lib/sys_stat.in.h (lchown): Declare also on HP-UX.
9311         * doc/glibc-functions/lchmod.texi: Mention the HP-UX problem.
9313 2020-02-08  Bruno Haible  <bruno@clisp.org>
9315         fchmodat: Strengthen tests.
9316         * tests/test-fchmodat.c (BASE): New macro.
9317         (main): Use it, to avoid conflicts with other unit tests. Verify that
9318         fchmodat changed the file permission bits.
9320 2020-02-08  Bruno Haible  <bruno@clisp.org>
9322         fchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).
9323         * lib/fchmodat.c (orig_fchmodat): Move definition to immediately after
9324         '#undef __need_system_sys_stat_h'.
9326 2020-02-08  Bruno Haible  <bruno@clisp.org>
9328         fchmodat: Improve cross-compilation guesses.
9329         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Require AC_CANONICAL_HOST. When
9330         cross-compiling, guess depending on the platform.
9331         * doc/posix-functions/fchmodat.texi: Clarify.
9333 2020-02-08  Bruno Haible  <bruno@clisp.org>
9335         Fix compilation errors in a testdir created with --with-c++-tests.
9336         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Do not use __typeof__ (func),
9337         since it does not work any more with g++ >= 4.4.
9339 2020-02-08  Bruno Haible  <bruno@clisp.org>
9341         doc: Update for glibc 2.31.
9342         * doc/glibc-functions/pthread_clockjoin_np.texi: New file.
9343         * doc/gnulib.texi: Include it.
9344         * doc/pastposix-functions/h_errno.texi: Update.
9345         * doc/posix-functions/*.texi: Likewise.
9347 2020-02-08  Kenneth D'souza  <kdsouza@redhat.com>
9349         mountlist: consider smb3 file systems as remote
9350         * lib/mountlist.c (ME_REMOTE): Recognize file systems of type
9351         "smb3" as remote.
9353 2020-02-07  Paul Eggert  <eggert@cs.ucla.edu>
9355         fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks
9356         Fix lchmod, and fchmodat with AT_SYMLINK_NOFOLLOW, so that
9357         they act like chmod on non-symlinks.
9358         * NEWS:
9359         * doc/glibc-functions/lchmod.texi (lchmod):
9360         * doc/posix-functions/fchmodat.texi (fchmodat):
9361         Mention this.
9362         * lib/fchmodat.c: Define __need_system_sys_stat_h before including
9363         config.h, and undef it after including sys/stat.h the first time.
9364         Include fcntl.h, stdio.h, unistd.h, intprops.h, and include
9365         sys/stat.h a second time after defining orig_fchmodat.
9366         (orig_fchmodat) [HAVE_FCHMODAT]: New function.
9367         (fchmodat) [HAVE_FCHMODAT]: Work around the AT_SYMLINK_NOFOLLOW bug.
9368         * lib/lchmod.c: New file.
9369         * lib/sys_stat.in.h (fchmodat, lchmod):
9370         Support replacing these functions.
9371         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): If fchmodat exists,
9372         test that AT_SYMLINK_NOFOLLOW works on non-symlinks.
9373         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Check for lstat.
9374         Test that lchmod works on non-symlinks.
9375         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS):
9376         Default REPLACE_FCHMODAT and REPLACE_LCHMOD to 0.
9377         * modules/fchmodat (Depends-on): Add fstatat, intprops, lchmod, unistd.
9378         (Depends-on, configure.ac): Check REPLACE_FCHMODAT too.
9379         * modules/lchmod (Files): Add lib/lchmod.c.
9380         (Depends-on): Add errno, fcntl-h, fchmodat, intprops, lstat, unistd.
9381         (configure.ac): Compile lchmod.c if needed.
9382         (lib_SOURCES): Add lchmod.c.
9383         * modules/sys_stat (sys/stat.h): Substitute REPLACE_FCHMODAT
9384         and REPLACE_LCHMOD.
9385         * tests/test-fchmodat.c: Include fcntl.h, sys/stat.h.
9386         (main): Test fchmodat with AT_SYMLINK_NOFOLLOW on non-symlinks.
9388 2020-02-05  Marc Dionne  <marc.dionne@auristor.com>  (tiny change)
9390         mountlist: Consider AFS filesystems as remote
9391         df --local relies on the ME_REMOTE macro to determine if a given
9392         mount entry should be considered "local".  There is special logic
9393         for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
9394         kernel's kafs module or AuriStorFS is treated as a local mount.
9395         * lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
9396         (OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.
9398 2020-02-04  Paul Eggert  <eggert@cs.ucla.edu>
9400         Port _Noreturn to older Clang
9401         Problem reported by Jeffery Walton in:
9402         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00013.html
9403         * lib/_Noreturn.h (_Noreturn):
9404         * m4/gnulib-common.m4 (gl_COMMON_BODY):
9405         Assume _Noreturn works in Clang 3.5 and later.
9406         It is documented to work in Clang 3.5:
9407         http://releases.llvm.org/3.5.0/tools/clang/docs/AttributeReference.html
9408         and is not documented in Clang 3.4:
9409         https://releases.llvm.org/3.4/tools/clang/docs/LanguageExtensions.html
9410         Apple sets __clang_version__ to a different value, so use
9411         __apple_build_version__ there.  See:
9412         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00017.html
9414 2020-02-04  Pádraig Brady  <P@draigBrady.com>
9416         test-canonicalize: avoid unused function warning
9417         * tests/test-canonicalize.c: Protect the inclusion of null-ptr.h
9418         with the same guard as that used to protect usage of the null_ptr
9419         function, so that one doesn't get a -Wunused warning.
9420         * tests/test-canonicalize-lgpl.c: Likewise.
9422 2020-02-03  Paul Eggert  <eggert@cs.ucla.edu>
9424         libc-config: port to Apple’s Clang variant
9425         * lib/libc-config.h (__glibc_clang_prereq):
9426         Port to Apple’s Clang variant, which uses a different
9427         numbering scheme for __clang_major__.
9429 2020-02-02  Bruno Haible  <bruno@clisp.org>
9431         Document the new modules list-c++, set-c++, oset-c++, map-c++, omap-c++.
9432         * doc/containers.texi: Document these new modules.
9434 2020-02-02  Bruno Haible  <bruno@clisp.org>
9436         omap-c++: Add tests.
9437         * tests/test-omap-c++.cc: New file.
9438         * modules/omap-c++-tests: New file.
9440         omap-c++: New module.
9441         * lib/gl_omap.hh: New file, based on lib/gl_omap.h.
9442         * modules/omap-c++: New file.
9444 2020-02-02  Bruno Haible  <bruno@clisp.org>
9446         map-c++: Add tests.
9447         * tests/test-map-c++.cc: New file.
9448         * modules/map-c++-tests: New file.
9450         map-c++: New module.
9451         * lib/gl_map.hh: New file, based on lib/gl_map.h.
9452         * modules/map-c++: New file.
9454 2020-02-02  Bruno Haible  <bruno@clisp.org>
9456         oset-c++: Add tests.
9457         * tests/test-oset-c++.cc: New file.
9458         * modules/oset-c++-tests: New file.
9460         oset-c++: New module.
9461         * lib/gl_oset.hh: New file, based on lib/gl_oset.h.
9462         * modules/oset-c++: New file.
9464 2020-02-02  Bruno Haible  <bruno@clisp.org>
9466         set-c++: Add tests.
9467         * tests/test-set-c++.cc: New file.
9468         * modules/set-c++-tests: New file.
9470         set-c++: New module.
9471         * lib/gl_set.hh: New file, based on lib/gl_set.h.
9472         * modules/set-c++: New file.
9474 2020-02-02  Bruno Haible  <bruno@clisp.org>
9476         list-c++: Add tests.
9477         * tests/test-list-c++.cc: New file.
9478         * modules/list-c++-tests: New file.
9480         list-c++: New module.
9481         * lib/gl_list.hh: New file, based on lib/gl_list.h.
9482         * modules/list-c++: New file.
9484 2020-02-02  Bruno Haible  <bruno@clisp.org>
9486         xalloc: Fix compilation error in C++ mode on FreeBSD 12.
9487         * lib/xalloc.h (xalloc_die): Comment out 'extern' keyword before
9488         '_Noreturn'.
9489         * lib/sigpipe-die.h (sigpipe_die): Likewise.
9491 2020-02-02  Pádraig Brady  <P@draigBrady.com>
9493         read-file: reduce max size from SIZE_MAX to PTRDIFF_MAX
9494         On x86_64 with glibc-2.30, gcc 9.2 is giving:
9495           error: argument 2 value '18446744073709551615'
9496           exceeds maximum object size 9223372036854775807
9497           [-Werror=alloc-size-larger-than=]
9498         The details of this restriction are discussed at:
9499         https://stackoverflow.com/q/42574890/4421
9500         * lib/read-file.c: s/SIZE_MAX/PTRDIFF_MAX/
9502 2020-02-02  Pádraig Brady  <P@draigBrady.com>
9504         sysctl.h: avoid including on glibc
9505         * lib/nproc.c: Avoid including deprecated and unneeded header on GLIBC.
9506         * lib/physmem.c: Likewise.
9508 2020-02-02  Bruno Haible  <bruno@clisp.org>
9510         list, set, oset, map, omap: Avoid imperative voice in documentation.
9511         * lib/gl_list.h: Use descriptive sentences instead of imperative voice
9512         in the specification of functions.
9513         * lib/gl_set.h: Likewise.
9514         * lib/gl_oset.h: Likewise.
9515         * lib/gl_map.h: Likewise.
9516         * lib/gl_omap.h: Likewise.
9517         * lib/gl_*.h: Likewise.
9519 2020-02-01  Bruno Haible  <bruno@clisp.org>
9521         ansi-c++-opt: Set CXXFLAGS to "-g -O2" by default.
9522         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Determine CXXFLAGS like AC_PROG_CXX
9523         does.
9525 2020-01-29  Bruno Haible  <bruno@clisp.org>
9527         array-map, hash-map, linkedhash-map: Fix module description.
9528         * modules/array-map (Description): Fix description.
9529         * modules/hash-map (Description): Likewise.
9530         * modules/linkedhash-map (Description): Likewise.
9532 2020-01-29  Paul Eggert  <eggert@cs.ucla.edu>
9534         dfa: do not depend on isblank
9535         This removes a difference between Gawk dfa.c and Gnulib dfa.c.
9536         * lib/dfa.c (isblank): Define if neither system nor Gnulib does.
9537         * modules/dfa (Depends-on): Remove isblank.
9538         * modules/isblank: Add a module indicator, for lib/dfa.c.
9540         dfa: do not assume 64-bit int
9541         Problem reported for VAX/VMS C (!) by Arnold Robbins in:
9542         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00173.html
9543         * lib/dfa.c (CHARCLASS_PAIR): Bring back this macro.
9544         (CHARCLASS_WORD_BITS, charclass_word) [!UINT_LEAST64_MAX]:
9545         Fall back to 32-bit words.
9546         (CHARCLASS_INIT): Go back to having 8 32-bit args instead
9547         of 4 64-bit args.  All uses changed.
9549 2020-01-27  Paul Eggert  <eggert@cs.ucla.edu>
9551         regex: remove limits-h dependency
9552         * modules/regex (Depends-on): Remove limits-h, since the
9553         code no longer depends on ULONG_WIDTH already being defined.
9555         regex: port to non-GCC pre-IEC-60559
9556         Problem reported by Arnold Robbins in:
9557         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00154.html
9558         * lib/regex_internal.h (ULONG_WIDTH): Make this usable in #if.
9560 2020-01-25  Bruno Haible  <bruno@clisp.org>
9562         c32isxdigit: Add tests.
9563         * tests/test-c32isxdigit.c: New file, based on tests/test-iswxdigit.c.
9564         * tests/test-c32isxdigit.sh: New file.
9565         * modules/c32isxdigit-tests: New file.
9567         c32isxdigit: New module.
9568         * lib/c32isxdigit.c: New file.
9569         * modules/c32isxdigit: New file.
9570         * doc/posix-functions/iswxdigit.texi: Mention the new module.
9572 2020-01-25  Bruno Haible  <bruno@clisp.org>
9574         c32isupper: Add tests.
9575         * tests/test-c32isupper.c: New file.
9576         * tests/test-c32isupper.sh: New file.
9577         * modules/c32isupper-tests: New file.
9579         c32isupper: New module.
9580         * lib/c32isupper.c: New file.
9581         * modules/c32isupper: New file.
9582         * doc/posix-functions/iswupper.texi: Mention the new module.
9584 2020-01-25  Bruno Haible  <bruno@clisp.org>
9586         c32isspace: Add tests.
9587         * tests/test-c32isspace.c: New file.
9588         * tests/test-c32isspace.sh: New file.
9589         * modules/c32isspace-tests: New file.
9591         c32isspace: New module.
9592         * lib/c32isspace.c: New file.
9593         * modules/c32isspace: New file.
9594         * doc/posix-functions/iswspace.texi: Mention the new module.
9596 2020-01-25  Bruno Haible  <bruno@clisp.org>
9598         c32ispunct: Add tests.
9599         * tests/test-c32ispunct.c: New file.
9600         * tests/test-c32ispunct.sh: New file.
9601         * modules/c32ispunct-tests: New file.
9603         c32ispunct: New module.
9604         * lib/c32ispunct.c: New file.
9605         * modules/c32ispunct: New file.
9606         * doc/posix-functions/iswpunct.texi: Mention the new module.
9608 2020-01-25  Bruno Haible  <bruno@clisp.org>
9610         c32isprint: Add tests.
9611         * tests/test-c32isprint.c: New file.
9612         * tests/test-c32isprint.sh: New file.
9613         * modules/c32isprint-tests: New file.
9615         c32isprint: New module.
9616         * lib/c32isprint.c: New file.
9617         * modules/c32isprint: New file.
9618         * doc/posix-functions/iswprint.texi: Mention the new module.
9620 2020-01-25  Bruno Haible  <bruno@clisp.org>
9622         c32islower: Add tests.
9623         * tests/test-c32islower.c: New file.
9624         * tests/test-c32islower.sh: New file.
9625         * modules/c32islower-tests: New file.
9627         c32islower: New module.
9628         * lib/c32islower.c: New file.
9629         * modules/c32islower: New file.
9630         * doc/posix-functions/iswlower.texi: Mention the new module.
9632 2020-01-25  Bruno Haible  <bruno@clisp.org>
9634         c32isgraph: Add tests.
9635         * tests/test-c32isgraph.c: New file.
9636         * tests/test-c32isgraph.sh: New file.
9637         * modules/c32isgraph-tests: New file.
9639         c32isgraph: New module.
9640         * lib/c32isgraph.c: New file.
9641         * modules/c32isgraph: New file.
9642         * doc/posix-functions/iswgraph.texi: Mention the new module.
9644 2020-01-25  Bruno Haible  <bruno@clisp.org>
9646         c32isdigit: Add tests.
9647         * tests/test-c32isdigit.c: New file, based on tests/test-iswdigit.c.
9648         * tests/test-c32isdigit.sh: New file.
9649         * modules/c32isdigit-tests: New file.
9651         c32isdigit: New module.
9652         * lib/c32isdigit.c: New file.
9653         * modules/c32isdigit: New file.
9654         * doc/posix-functions/iswdigit.texi: Mention the new module.
9656 2020-01-25  Bruno Haible  <bruno@clisp.org>
9658         c32iscntrl: Add tests.
9659         * tests/test-c32iscntrl.c: New file.
9660         * tests/test-c32iscntrl.sh: New file.
9661         * modules/c32iscntrl-tests: New file.
9663         c32iscntrl: New module.
9664         * lib/c32iscntrl.c: New file.
9665         * modules/c32iscntrl: New file.
9666         * doc/posix-functions/iswcntrl.texi: Mention the new module.
9668 2020-01-25  Bruno Haible  <bruno@clisp.org>
9670         c32isblank: Add tests.
9671         * tests/test-c32isblank.c: New file.
9672         * tests/test-c32isblank.sh: New file.
9673         * modules/c32isblank-tests: New file.
9675         c32isblank: New module.
9676         * lib/c32isblank.c: New file.
9677         * modules/c32isblank: New file.
9678         * doc/posix-functions/iswblank.texi: Mention the new module.
9680 2020-01-25  Bruno Haible  <bruno@clisp.org>
9682         c32isalpha: Add tests.
9683         * tests/test-c32isalpha.c: New file.
9684         * tests/test-c32isalpha.sh: New file.
9685         * modules/c32isalpha-tests: New file.
9687         c32isalpha: New module.
9688         * lib/c32isalpha.c: New file.
9689         * modules/c32isalpha: New file.
9690         * doc/posix-functions/iswalpha.texi: Mention the new module.
9692 2020-01-25  Bruno Haible  <bruno@clisp.org>
9694         c32isalnum: Add tests.
9695         * tests/test-c32isalnum.c: New file.
9696         * tests/test-c32isalnum.sh: New file.
9697         * modules/c32isalnum-tests: New file.
9699         c32isalnum: New module.
9700         * lib/c32isalnum.c: New file.
9701         * lib/c32is-impl.h: New file.
9702         * modules/c32isalnum: New file.
9703         * doc/posix-functions/iswalnum.texi: Mention the new module.
9705 2020-01-25  Bruno Haible  <bruno@clisp.org>
9707         uchar: Preparations for modules c32isalnum, ..., c32isxdigit.
9708         * lib/uchar.in.h (c32isalnum, c32isalpha, c32isblank, c32iscntrl,
9709         c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace,
9710         c32isupper, c32isxdigit): New declarations.
9711         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32ISALNUM,
9712         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
9713         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
9714         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
9715         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
9716         * modules/uchar (Makefile.am): Substitute GNULIB_C32ISALNUM,
9717         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
9718         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
9719         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
9720         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
9721         * tests/test-uchar-c++.cc: Test the signature of c32isalnum, c32isalpha,
9722         c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
9723         c32ispunct, c32isspace, c32isupper, c32isxdigit.
9725 2020-01-25  Bruno Haible  <bruno@clisp.org>
9727         mbchar, wctype: Use the corrected iswxdigit function.
9728         * modules/mbchar (Depends-on): Add iswxdigit.
9729         * modules/wctype (Depends-on): Likewise.
9731         iswxdigit: Add tests.
9732         * tests/test-iswxdigit.c: New file.
9733         * tests/test-iswxdigit.sh: New file.
9734         * modules/iswxdigit-tests: New file.
9736         iswxdigit: New module.
9737         * m4/iswxdigit.m4: New file.
9738         * lib/wctype.in.h (iswxdigit): Potentially override.
9739         (iswxdigit, rpl_iswxdigit): Test REPLACE_ISWXDIGIT, not
9740         REPLACE_ISWCNTRL. Rely on ISO C compliant definition.
9741         * lib/iswxdigit.c: New file.
9742         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWXDIGIT,
9743         REPLACE_ISWXDIGIT.
9744         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWXDIGIT,
9745         REPLACE_ISWXDIGIT.
9746         * modules/iswxdigit: New file.
9747         * doc/posix-functions/iswxdigit.texi: Mention the portability problem.
9749 2020-01-25  Bruno Haible  <bruno@clisp.org>
9751         lseek: Fix the override to not undo the effects of AC_SYS_LARGEFILE.
9752         Reported by John Donoghue <john.david.donoghue@gmail.com> in
9753         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00146.html>.
9754         * lib/lseek.c (rpl_lseek): When AC_SYS_LARGEFILE has enabled a 64-bit
9755         off_t on mingw, invoke _lseeki64 instead of lseek.
9757 2020-01-25  Bruno Haible  <bruno@clisp.org>
9759         iswdigit tests: Avoid test failure on Cygwin.
9760         * tests/test-iswdigit.c (for_character): If mbrtowc cannot convert the
9761         byte sequence, return 0.
9763         iswdigit: Fix test failure on native Windows.
9764         * lib/wctype.in.h (rpl_iswdigit): Rely on ISO C compliant definition.
9766         mbchar, wctype: Use the corrected iswdigit function.
9767         * modules/mbchar (Depends-on): Add iswdigit.
9768         * modules/wctype (Depends-on): Likewise.
9770         iswdigit: Add tests.
9771         * tests/test-iswdigit.c: New file.
9772         * tests/test-iswdigit.sh: New file.
9773         * modules/iswdigit-tests: New file.
9775         iswdigit: New module.
9776         * m4/iswdigit.m4: New file.
9777         * lib/wctype.in.h (iswdigit): Potentially override.
9778         (iswdigit, rpl_iswdigit): Test REPLACE_ISWDIGIT, not REPLACE_ISWCNTRL.
9779         * lib/iswdigit.c: New file.
9780         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWDIGIT,
9781         REPLACE_ISWDIGIT.
9782         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWDIGIT,
9783         REPLACE_ISWDIGIT.
9784         * modules/iswdigit: New file.
9785         * doc/posix-functions/iswdigit.texi: Mention the portability problem.
9787 2020-01-25  Bruno Haible  <bruno@clisp.org>
9789         hard-locale tests: Make it easy to reuse the musl test.
9790         * m4/musl.m4: New file, extracted from modules/hard-locale-tests.
9791         * modules/hard-locale-tests (Files): Add it.
9792         (configure.ac): Invoke gl_MUSL_LIBC.
9794 2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>
9796         regex: port to Gawk on nonstandard platforms
9797         * lib/regex_internal.h (ULONG_WIDTH): Define if not already defined.
9798         This is useful for Gawk, which does not use the Gnulib stdlib-h
9799         module.  Problem reported by Arnold Robbins in:
9800         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00138.html
9802 2020-01-21  Paul Eggert  <eggert@cs.ucla.edu>
9804         regex: fix bug with >=16 subexpressions
9805         * lib/regex_internal.h (struct re_backref_cache_entry):
9806         Use bitset_word_t as the type of eps_reachable_subexps_map,
9807         instead of unsigned short int.  This fixes a bug I introduced
9808         to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit
9809         2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302).
9810         Remove unused member 'unused'.
9812         regex: simplify definition of BITSET_WORD_BITS
9813         * config/srclist.txt: Remove regex.c, regex_internal.h temporarily.
9814         * lib/regex.c (__STDC_WANT_IEC_60559_BFP_EXT__): Define.
9815         * lib/regex_internal.h (BITSET_WORD_BITS):
9816         * modules/regex (Depends-on): Add limits-h.
9817         Simplify now that we can use ULONG_WIDTH.
9819 2020-01-20  Bruno Haible  <bruno@clisp.org>
9821         mbrtoc32: Add note about FreeBSD 12.
9822         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Guess no also on FreeBSD.
9823         * doc/posix-functions/mbrtoc32.texi: Mention that FreeBSD 12 is also
9824         affected.
9826 2020-01-20  Bruno Haible  <bruno@clisp.org>
9828         unistr/u8-uctomb: Fix warning.
9829         Reported by Andreas Schwab <schwab@suse.de> in
9830         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00127.html>.
9831         * lib/unistr/u8-uctomb.c (FALLTHROUGH): New macro.
9832         (u8_uctomb): Add FALLTHROUGH markers.
9834 2020-01-20  Bruno Haible  <bruno@clisp.org>
9836         lock: Fix test-once1 failure on FreeBSD 11 (regression from 2020-01-19).
9837         * lib/glthread/lock.c (glthread_once_multithreaded): New function.
9838         * lib/glthread/lock.h (glthread_once_multithreaded): New declaration.
9839         (glthread_once): Use it.
9841 2020-01-19  Bruno Haible  <bruno@clisp.org>
9843         threadlib: Disable use of weak symbols on FreeBSD 11.
9844         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9845         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00061.html>.
9846         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): Require AC_CANONICAL_HOST. Test
9847         against a bug in FreeBSD 11.
9849 2020-01-19  Bruno Haible  <bruno@clisp.org>
9851         iconv_open: Improve z/OS support.
9852         * lib/iconv_open-zos.gperf: Choose better aliases. Add mapping for
9853         ISO-8859-3, KOI8-R, KOI8-U, CP775, CP857, CP865, CP1129, CP1131, CP1257.
9854         Remove mapping for EUC-TW.
9856 2020-01-18  Bruno Haible  <bruno@clisp.org>
9858         Rename ~~gnulib.m4 to zzgnulib.m4.
9859         Suggested by Paul Eggert.
9860         * m4/zzgnulib.m4: Renamed from m4/~~gnulib.m4.
9861         * gnulib-tool (func_get_filelist): Update.
9862         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
9864 2020-01-18  Bruno Haible  <bruno@clisp.org>
9866         doc: Update license notices.
9867         * doc/*.texi: Reference the GFDL 1.3 through a URL, rather than by
9868         reference to a section or to a "file as part of this distribution".
9870 2020-01-18  Bruno Haible  <bruno@clisp.org>
9872         Avoid error "m4_require: circular dependency of AC_LANG_COMPILER(C)".
9873         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
9874         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00109.html>.
9875         * m4/00gnulib.m4 (gl_COMPILER_CLANG): Use _AC_COMPILE_IFELSE, not
9876         AC_EGREP_CPP.
9878 2020-01-18  Bruno Haible  <bruno@clisp.org>
9880         Ensure Automake does not drop ~~gnulib.m4.
9881         * m4/~~gnulib.m4 (gl_ZZGNULIB): New macro.
9882         * m4/gnulib-common.m4 (gl_COMMON): Require it.
9884 2020-01-18  Bruno Haible  <bruno@clisp.org>
9886         Fix major regression from 2020-01-10.
9887         Reported by Paul Eggert in
9888         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00079.html>.
9889         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
9890         Don't AC_REQUIRE anything.
9891         (gl_COMPILER_PREPARE_CHECK_DECL): Define through AC_DEFUN, not
9892         AC_DEFUN_ONCE. Use _AC_COMPILE_IFELSE, not AC_COMPILE_IFELSE.
9893         (_AC_CHECK_DECL_BODY): If ac_compile_for_check_decl has not been set,
9894         use ac_compile instead.
9895         (AC_CHECK_DECL): Remove override.
9896         * m4/~~gnulib.m4: New file.
9897         * gnulib-tool (func_get_filelist): Add also ~~gnulib.m4.
9898         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
9900 2020-01-17  Bruno Haible  <bruno@clisp.org>
9901             Paul Eggert  <eggert@cs.ucla.edu>
9903         glob: Fix use-after-free bug.
9904         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9905         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00102.html>.
9906         * lib/glob.c (__glob): Delay freeing dirname until after the use of
9907         end_name.
9909 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9911         vcs-to-changelog: Fix parsing of fndecl without args.
9912         * build-aux/vcstocl/frontend_c.py (FNDECL_RE): Fix regular expression
9913         for empty arguments.
9915 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9917         vcs-to-changelog: Add documentation.
9918         * doc/vcs-to-changelog.texi: New file.
9919         * doc/gnulib.texi (Build Infrastructure Modules): Add vcs-to-changelog
9920         section.
9922 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9924         vcs-to-changelog: Allow loading of custom quirks file.
9925         * build-aux/vcs_to_changelog.py: New commandline option -q.
9927 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9929         vcs-to-changelog: Fix formatting of ChangeLog output.
9930         * build-aux/vcstocl/vcs_git.py (list_changes): Add newline in print
9931         output.
9933 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9935         vcs-to-changelog: Drop python3 shebang from frontend_c.py.
9936         Reported in
9937         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00050.html>.
9938         * build-aux/vcstocl/frontend_c.py: Remove shebang.
9940 2020-01-15  Simon Josefsson  <simon@josefsson.org>
9942         crypto/gc-pbkdf2: New module.
9943         * MODULES.html.sh (func_all_modules): Add gc-pbkdf2.
9944         * NEWS: Deprecated gc-pbkdf2-sha1 in favor of gc-pbkdf2.
9945         * lib/gc-pbkdf2.c: New file.
9946         * lib/gc-pbkdf2-sha1.c: Use new interface.
9947         * lib/gc.h (GC_MAX_DIGEST_SIZE, gc_pbkdf2_hmac): Add.
9948         * modules/crypto/gc-pbkdf2: New file.
9949         * modules/crypto/gc-pbkdf2-tests: New file.
9950         * tests/test-gc-pbkdf2.c: New file.
9952 2020-01-12  Bruno Haible  <bruno@clisp.org>
9954         c32stombs: Add tests.
9955         * tests/test-c32stombs.c: New file, based on tests/test-c32srtombs.c.
9956         * tests/test-c32stombs-1.sh: New file, based on
9957         tests/test-c32srtombs-1.sh.
9958         * tests/test-c32stombs-2.sh: New file, based on
9959         tests/test-c32srtombs-2.sh.
9960         * tests/test-c32stombs-3.sh: New file, based on
9961         tests/test-c32srtombs-3.sh.
9962         * tests/test-c32stombs-4.sh: New file, based on
9963         tests/test-c32srtombs-4.sh.
9964         * modules/c32stombs-tests: New file, based on modules/c32srtombs-tests.
9966         c32stombs: New module.
9967         * lib/uchar.in.h (c32stombs): New declaration.
9968         * lib/c32stombs.c: New file.
9969         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32STOMBS.
9970         * modules/uchar (Makefile.am): Substitute GNULIB_C32STOMBS.
9971         * modules/c32stombs: New file.
9972         * tests/test-uchar-c++.cc: Test the signature of c32stombs.
9973         * doc/posix-functions/wcstombs.texi: Mention the new module.
9975 2020-01-11  Jim Meyering  <meyering@fb.com>
9977         perl: require the "warnings" module
9978         * m4/perl.m4: Also "use warnings", so we reject the perl found
9979         on at least one IRIX 6.5 system. Reported by Bruno Haible in
9980         https://lists.gnu.org/r/sed-devel/2020-01/msg00004.html
9982 2020-01-10  Bruno Haible  <bruno@clisp.org>
9984         Fix major regression from 2020-01-04.
9985         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
9986         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00072.html>.
9987         * m4/00gnulib.m4 (gl_COMPILER_PREPARE_CHECK_DECL): Define through
9988         AC_DEFUN_ONCE.
9989         (AC_CHECK_DECL): Invoke, not require, it.
9991 2020-01-10  Bruno Haible  <bruno@clisp.org>
9993         c32snrtombs: Add tests.
9994         * tests/test-c32snrtombs.c: New file, based on tests/test-wcsnrtombs.c.
9995         * tests/test-c32snrtombs-1.sh: New file, based on
9996         tests/test-wcsnrtombs1.sh.
9997         * tests/test-c32snrtombs-2.sh: New file, based on
9998         tests/test-wcsnrtombs2.sh.
9999         * tests/test-c32snrtombs-3.sh: New file, based on
10000         tests/test-wcsnrtombs3.sh.
10001         * tests/test-c32snrtombs-4.sh: New file, based on
10002         tests/test-wcsnrtombs4.sh.
10003         * modules/c32snrtombs-tests: New file, based on
10004         modules/wcsnrtombs-tests.
10006         c32snrtombs: New module.
10007         * lib/uchar.in.h (c32snrtombs): New declaration.
10008         * lib/wcsnrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
10009         INTERNAL_STATE, WCRTOMB.
10010         * lib/wcsnrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
10011         * lib/c32snrtombs.c: New file.
10012         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SNRTOMBS.
10013         * modules/uchar (Makefile.am): Substitute GNULIB_C32SNRTOMBS.
10014         * modules/c32snrtombs: New file.
10015         * tests/test-uchar-c++.cc: Test the signature of c32snrtombs.
10016         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
10018 2020-01-09  Bruno Haible  <bruno@clisp.org>
10020         c32srtombs: Add tests.
10021         * tests/test-c32srtombs.c: New file, based on tests/test-wcsrtombs.c.
10022         * tests/test-c32srtombs-1.sh: New file, based on
10023         tests/test-wcsrtombs1.sh.
10024         * tests/test-c32srtombs-2.sh: New file, based on
10025         tests/test-wcsrtombs2.sh.
10026         * tests/test-c32srtombs-3.sh: New file, based on
10027         tests/test-wcsrtombs3.sh.
10028         * tests/test-c32srtombs-4.sh: New file, based on
10029         tests/test-wcsrtombs4.sh.
10030         * modules/c32srtombs-tests: New file, based on modules/wcsrtombs-tests.
10032         c32srtombs: New module.
10033         * lib/uchar.in.h (c32srtombs): New declaration.
10034         * lib/wcsrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
10035         INTERNAL_STATE, WCRTOMB.
10036         * lib/wcsrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
10037         * lib/c32srtombs.c: New file.
10038         * lib/c32srtombs-state.c: New file, based on lib/wcsrtombs-state.c.
10039         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SRTOMBS.
10040         * modules/uchar (Makefile.am): Substitute GNULIB_C32SRTOMBS.
10041         * modules/c32srtombs: New file.
10042         * tests/test-uchar-c++.cc: Test the signature of c32srtombs.
10043         * doc/posix-functions/wcsrtombs.texi: Mention the new module.
10045 2020-01-08  Bruno Haible  <bruno@clisp.org>
10047         c32tob: Make consistent with mbrtoc32.
10048         * lib/c32tob.c: Include <stdio.h>, <string.h>, <wchar.h>.
10049         (c32tob): If the char32_t encoding and the wchar_t encoding may differ,
10050         use c32rtomb, not wctob.
10051         * modules/c32tob (Files): Add m4/mbrtoc32.m4.
10052         (Depends-on): Add c32rtomb.
10053         (configure.ac): Require gl_MBRTOC32_SANITYCHECK.
10055 2020-01-08  Bruno Haible  <bruno@clisp.org>
10057         c32rtomb: Add tests.
10058         * tests/test-c32rtomb.c: New file, based on tests/test-wcrtomb.c.
10059         * tests/test-c32rtomb.sh: New file, based on tests/test-wcrtomb.sh.
10060         * tests/test-c32rtomb-w32.c: New file, based on
10061         tests/test-wcrtomb-w32.c.
10062         * tests/test-c32rtomb-w32-1.sh: New file, based on
10063         tests/test-wcrtomb-w32-1.sh.
10064         * tests/test-c32rtomb-w32-2.sh: New file, based on
10065         tests/test-wcrtomb-w32-2.sh.
10066         * tests/test-c32rtomb-w32-3.sh: New file, based on
10067         tests/test-wcrtomb-w32-3.sh.
10068         * tests/test-c32rtomb-w32-4.sh: New file, based on
10069         tests/test-wcrtomb-w32-4.sh.
10070         * tests/test-c32rtomb-w32-5.sh: New file, based on
10071         tests/test-wcrtomb-w32-5.sh.
10072         * tests/test-c32rtomb-w32-6.sh: New file, based on
10073         tests/test-wcrtomb-w32-6.sh.
10074         * tests/test-c32rtomb-w32-7.sh: New file, based on
10075         tests/test-wcrtomb-w32-7.sh.
10076         * modules/c32rtomb-tests: New file.
10078         c32rtomb: New module.
10079         * lib/uchar.in.h (c32rtomb): New declaration.
10080         * lib/c32rtomb.c: New file, based on lib/unistr/u8-uctomb-aux.c.
10081         * m4/c32rtomb.m4: New file.
10082         * m4/uchar.m4 (gl_UCHAR_H): Test whether c32rtomb is declared.
10083         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32RTOMB, HAVE_C32RTOMB,
10084         REPLACE_C32RTOMB.
10085         * modules/uchar (Makefile.am): Substitute GNULIB_C32RTOMB,
10086         HAVE_C32RTOMB, REPLACE_C32RTOMB.
10087         * modules/c32rtomb: New file.
10088         * tests/test-uchar-c++.cc: Test the signature of c32rtomb.
10089         * doc/posix-functions/c32rtomb.texi: Document the new module.
10090         * doc/posix-functions/wcrtomb.texi: Mention the new module.
10092 2020-01-08  Bruno Haible  <bruno@clisp.org>
10094         mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.
10095         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): New macro.
10096         (gl_FUNC_MBRTOC32): Require it. Set REPLACE_MBRTOC32 if mbrtoc32 exists
10097         but is not working.
10098         * lib/mbrtoc32.c: Include hard-locale.h, <locale.h>.
10099         (mbrtoc32): If the char32_t encoding and the wchar_t encoding may
10100         differ, use the system's mbrtoc32, adding workarounds.
10101         * modules/mbrtoc32 (Depends-on): Add hard-locale.
10102         * doc/posix-functions/mbrtoc32.texi: Mention the Solaris and native
10103         Windows problem.
10104         * lib/btoc32.c: Include <stdio.h>, <string.h>.
10105         (btoc32): If the char32_t encoding and the wchar_t encoding may differ,
10106         use mbrtoc32, not btowc.
10107         * modules/btoc32 (Depends-on): Add mbrtoc32.
10108         * lib/mbsrtoc32s.c (mbsrtoc32s): If the char32_t encoding and the
10109         wchar_t encoding may differ, use mbrtoc32, not mbsrtowcs.
10110         * modules/mbsrtoc32s (Depends-on): Update conditions.
10111         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
10112         * lib/mbsnrtoc32s.c (mbsnrtoc32s): If the char32_t encoding and the
10113         wchar_t encoding may differ, use mbrtoc32, not mbsnrtowcs.
10114         * modules/mbsnrtoc32s (Depends-on): Update conditions.
10115         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
10117 2020-01-07  Bruno Haible  <bruno@clisp.org>
10119         wcrtomb: Make multithread-safe, except possibly on IRIX.
10120         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Don't set REPLACE_WCRTOMB to 1 when
10121         REPLACE_MBSTATE_T is set. Define WCRTOMB_C_LOCALE_BUG and
10122         WCRTOMB_RETVAL_BUG.
10123         * lib/wcrtomb.c (wcrtomb): Use original wcrtomb whenever available. Use
10124         wctomb only on IRIX.
10126 2020-01-05  Jim Meyering  <meyering@fb.com>
10128         tests: skip thread-using tests when threading is disabled
10129         sed's configure.ac specifies gl_DISABLE_THREADS, and that caused three
10130         thread-using gnulib tests to fail. Add an #if-guarded exit (77) to each
10131         of those, so they are skipped in this case.
10132         * tests/test-nl_langinfo-mt.c (main): Exit 77 when threading is disabled.
10133         * tests/test-setlocale_null-mt-all.c (main): Likewise.
10134         * tests/test-setlocale_null-mt-one.c (main): Likewise.
10136 2020-01-05  Bruno Haible  <bruno@clisp.org>
10138         tests: Avoid GCC over-optimization caused by _GL_ARG_NONNULL attributes.
10139         Reported by Jim Meyering in
10140         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00040.html>.
10141         * lib/stdlib.in.h (GNULIB_defined_canonicalize_file_name): New macro.
10142         (GNULIB_defined_ptsname_r): New macro.
10143         * tests/test-canonicalize.c (_GL_ARG_NONNULL): Define to empty.
10144         (main): Disable the NULL argument test if canonicalize_file_name does
10145         not come from gnulib.
10146         * tests/test-canonicalize-lgpl.c (_GL_ARG_NONNULL): Define to empty.
10147         (main): Disable the NULL argument test if canonicalize_file_name does
10148         not come from gnulib.
10149         * tests/test-ptsname_r.c (_GL_ARG_NONNULL): Define to empty.
10150         (test_errors): Disable the NULL argument test if ptsname_r does not come
10151         from gnulib.
10153 2020-01-04  Jim Meyering  <meyering@fb.com>
10155         update-copyright: reenable its always-skipped test
10156         * tests/test-update-copyright.sh: Restore the "-pi" options removed
10157         on 2019-06-15. Without those, an internal preliminary test would
10158         fail, causing this test always to be skipped.
10159         Verify that the test is now run and passes via this:
10160           ./gnulib-tool --test --dir /tmp/x --with-tests update-copyright
10162 2020-01-05  Bruno Haible  <bruno@clisp.org>
10164         mbstoc32s: Add tests.
10165         * tests/test-mbstoc32s.c: New file, based on tests/test-mbsrtoc32s.c.
10166         * tests/test-mbstoc32s-1.sh: New file, based on
10167         tests/test-mbsrtoc32s-1.sh.
10168         * tests/test-mbstoc32s-2.sh: New file, based on
10169         tests/test-mbsrtoc32s-2.sh.
10170         * tests/test-mbstoc32s-3.sh: New file, based on
10171         tests/test-mbsrtoc32s-3.sh.
10172         * tests/test-mbstoc32s-4.sh: New file, based on
10173         tests/test-mbsrtoc32s-4.sh.
10174         * modules/mbstoc32s-tests: New file, based on modules/mbsrtoc32s-tests.
10176         mbstoc32s: New module.
10177         * lib/uchar.in.h (mbstoc32s): New declaration.
10178         * lib/mbstoc32s.c: New file.
10179         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSTOC32S.
10180         * modules/uchar (Makefile.am): Substitute GNULIB_MBSTOC32S.
10181         * modules/mbstoc32s: New file.
10182         * tests/test-uchar-c++.cc: Test the signature of mbstoc32s.
10183         * doc/posix-functions/mbstowcs.texi: Mention the new module.
10185 2020-01-05  Bruno Haible  <bruno@clisp.org>
10187         Tweak recently added tests.
10188         * tests/test-mbrtoc32.c: Make signature consistent with uchar.in.h.
10189         * tests/test-mbsrtoc32s.c: Likewise.
10190         * tests/test-mbsnrtoc32s.c: Likewise.
10192 2020-01-04  Bruno Haible  <bruno@clisp.org>
10194         mbsnrtoc32s: Add tests.
10195         * tests/test-mbsnrtoc32s.c: New file, based on tests/test-mbsnrtowcs.c.
10196         * tests/test-mbsnrtoc32s-1.sh: New file, based on
10197         tests/test-mbsnrtowcs1.sh.
10198         * tests/test-mbsnrtoc32s-2.sh: New file, based on
10199         tests/test-mbsnrtowcs2.sh.
10200         * tests/test-mbsnrtoc32s-3.sh: New file, based on
10201         tests/test-mbsnrtowcs3.sh.
10202         * tests/test-mbsnrtoc32s-4.sh: New file, based on
10203         tests/test-mbsnrtowcs4.sh.
10204         * modules/mbsnrtoc32s-tests: New file, based on
10205         modules/mbsnrtowcs-tests.
10207         mbsnrtoc32s: New module.
10208         * lib/uchar.in.h (mbsnrtoc32s): New declaration.
10209         * lib/mbsnrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
10210         INTERNAL_STATE, MBRTOWC.
10211         * lib/mbsnrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
10212         * lib/mbsnrtoc32s.c: New file.
10213         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOC32S.
10214         * modules/uchar (Makefile.am): Substitute GNULIB_MBSNRTOC32S.
10215         * modules/mbsnrtoc32s: New file.
10216         * tests/test-uchar-c++.cc: Test the signature of mbsnrtoc32s.
10217         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module.
10219 2020-01-04  Bruno Haible  <bruno@clisp.org>
10221         mbsrtoc32s tests: Enhance test.
10222         * tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
10223         test strings for UTF-8 and GB18030.
10225 2020-01-04  Bruno Haible  <bruno@clisp.org>
10227         mbsrtoc32s: Fix bug.
10228         * modules/mbsrtoc32s (configure.ac): Require gl_UCHAR_H, to make sure
10229         that SMALL_WCHAR_T is defined.
10231 2020-01-04  Bruno Haible  <bruno@clisp.org>
10233         mbsrtoc32s: Add tests.
10234         * tests/test-mbsrtoc32s.c: New file, based on tests/test-mbsrtowcs.c.
10235         * tests/test-mbsrtoc32s-1.sh: New file, based on
10236         tests/test-mbsrtowcs1.sh.
10237         * tests/test-mbsrtoc32s-2.sh: New file, based on
10238         tests/test-mbsrtowcs2.sh.
10239         * tests/test-mbsrtoc32s-3.sh: New file, based on
10240         tests/test-mbsrtowcs3.sh.
10241         * tests/test-mbsrtoc32s-4.sh: New file, based on
10242         tests/test-mbsrtowcs4.sh.
10243         * modules/mbsrtoc32s-tests: New file, based on modules/mbsrtowcs-tests.
10245         mbsrtoc32s: New module.
10246         * lib/uchar.in.h (mbsrtoc32s): New declaration.
10247         * lib/mbsrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
10248         INTERNAL_STATE, MBRTOWC.
10249         * lib/mbsrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
10250         * lib/mbsrtoc32s.c: New file.
10251         * lib/mbsrtoc32s-state.c: New file, based on lib/mbsrtowcs-state.c.
10252         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOC32S.
10253         * modules/uchar (Makefile.am): Substitute GNULIB_MBSRTOC32S.
10254         * modules/mbsrtoc32s: New file.
10255         * tests/test-uchar-c++.cc: Test the signature of mbsrtoc32s.
10256         * doc/posix-functions/mbsrtowcs.texi: Mention the new module.
10258 2020-01-04  Bruno Haible  <bruno@clisp.org>
10260         mbrtowc, mbrtoc32: Tighten dependendies.
10261         * modules/mbrtowc (Depends-on): Disable hard-locale, mbsinit if
10262         REPLACE_MBSTATE_T is 1.
10263         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
10264         REPLACE_MBSTATE_T is 0.
10265         * modules/mbrtoc32 (Depends-on): Remove hard-locale, mbsinit. Disable
10266         mbrtowc dependency if REPLACE_MBSTATE_T is 1.
10267         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
10268         REPLACE_MBSTATE_T is 0.
10270 2020-01-04  Bruno Haible  <bruno@clisp.org>
10272         uchar: Decide about _GL_LARGE_CHAR32_T at configure time.
10273         * m4/uchar.m4 (gl_UCHAR_H): Set SMALL_WCHAR_T.
10274         * modules/uchar (Files): Add stdint.m4.
10275         (Makefile.am): Substitute SMALL_WCHAR_T.
10276         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): Rely on SMALL_WCHAR_T.
10278 2020-01-04  Bruno Haible  <bruno@clisp.org>
10280         Fix AC_CHECK_DECL so that it deactivates clang's built-in declarations.
10281         Reported by Martin Storsjö <martin@martin.st> in
10282         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00016.html>.
10283         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
10284         New macros.
10285         (_AC_CHECK_DECL_BODY, AC_CHECK_DECL): Augment.
10287 2020-01-04  Bruno Haible  <bruno@clisp.org>
10289         btoc32: Add tests.
10290         * tests/test-btoc32.c: New file, based on tests/test-btowc.c.
10291         * tests/test-btoc32-1.sh: New file, based on tests/test-btowc1.sh.
10292         * tests/test-btoc32-2.sh: New file, based on tests/test-btowc2.sh.
10293         * modules/btoc32-tests: New file, based on modules/btowc-tests.
10295         btoc32: New module.
10296         * lib/uchar.in.h (btoc32): New declaration.
10297         * lib/btoc32.c: New file.
10298         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_BTOC32.
10299         * modules/uchar (Makefile.am): Substitute GNULIB_BTOC32.
10300         * modules/btoc32: New file.
10301         * tests/test-uchar-c++.cc: Test the signature of btoc32.
10302         * doc/posix-functions/btowc.texi: Mention the new module.
10304 2020-01-03  Bruno Haible  <bruno@clisp.org>
10306         uchar tests: Avoid compilation error with HP cc.
10307         * tests/test-uchar.c: Disable a test when HP cc is in use.
10309 2020-01-03  Bruno Haible  <bruno@clisp.org>
10311         mbrtoc32: Add tests.
10312         * tests/test-mbrtoc32.c: New file, based on tests/test-mbrtowc.c.
10313         * tests/test-mbrtoc32-1.sh: New file, based on tests/test-mbrtowc1.sh.
10314         * tests/test-mbrtoc32-2.sh: New file, based on tests/test-mbrtowc2.sh.
10315         * tests/test-mbrtoc32-3.sh: New file, based on tests/test-mbrtowc3.sh.
10316         * tests/test-mbrtoc32-4.sh: New file, based on tests/test-mbrtowc4.sh.
10317         * tests/test-mbrtoc32-5.sh: New file, based on tests/test-mbrtowc5.sh.
10318         * tests/test-mbrtoc32-w32.c: New file, based on tests/test-mbrtowc-w32.c.
10319         * tests/test-mbrtoc32-w32-1.sh: New file, based on
10320         tests/test-mbrtowc-w32-1.sh.
10321         * tests/test-mbrtoc32-w32-2.sh: New file, based on
10322         tests/test-mbrtowc-w32-2.sh.
10323         * tests/test-mbrtoc32-w32-3.sh: New file, based on
10324         tests/test-mbrtowc-w32-3.sh.
10325         * tests/test-mbrtoc32-w32-4.sh: New file, based on
10326         tests/test-mbrtowc-w32-4.sh.
10327         * tests/test-mbrtoc32-w32-5.sh: New file, based on
10328         tests/test-mbrtowc-w32-5.sh.
10329         * tests/test-mbrtoc32-w32-6.sh: New file, based on
10330         tests/test-mbrtowc-w32-6.sh.
10331         * tests/test-mbrtoc32-w32-7.sh: New file, based on
10332         tests/test-mbrtowc-w32-7.sh.
10333         * modules/mbrtoc32-tests: New file, based on modules/mbrtowc-tests.
10335         mbrtoc32: New module.
10336         * lib/uchar.in.h (mbrtoc32): New declaration.
10337         * lib/mbrtoc32.c: New file, based on lib/mbrtowc.c.
10338         * m4/mbrtoc32.m4: New file, based on m4/mbrtowc.m4.
10339         * m4/uchar.m4 (gl_UCHAR_H): Test whether mbrtoc32 is declared.
10340         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOC32, HAVE_MBRTOC32,
10341         REPLACE_MBRTOC32.
10342         * modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC32,
10343         HAVE_MBRTOC32, REPLACE_MBRTOC32.
10344         * modules/mbrtoc32: New file, based on modules/mbrtowc.
10345         * tests/test-uchar-c++.cc (mbrtoc32): Verify the signature.
10346         * modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
10347         $(LIB_MBRTOWC).
10348         * doc/posix-functions/mbrtoc32.texi: Document the new module.
10349         * doc/posix-functions/mbrtowc.texi: Mention the new module.
10351 2020-01-03  Bruno Haible  <bruno@clisp.org>
10353         mbrtowc: Refactor to share code with mbrtoc32.
10354         * lib/mbrtowc-impl.h: New file, extracted from lib/mbrtowc.c.
10355         * lib/mbrtowc-impl-utf8.h: Likewise.
10356         * lib/mbrtowc.c (mbrtowc): Define macro FITS_IN_CHAR_TYPE. Include
10357         mbrtowc-impl.h.
10358         * modules/mbrtowc (Files): Add the new files.
10360 2020-01-03  Jim Meyering  <meyering@fb.com>
10362         doc: fix time.texi wording
10363         * doc/posix-headers/time.texi (time.h): Typo.
10365 2020-01-03  Bruno Haible  <bruno@clisp.org>
10367         mbrtowc: Refactor locale charset dispatching.
10368         * lib/lc-charset-dispatch.h: New file, extracted from lib/mbrtowc.c.
10369         * lib/lc-charset-dispatch.c: New file, extracted from lib/mbrtowc.c.
10370         * lib/mbrtowc.c: Include lc-charset-dispatch.h. Don't include
10371         localcharset.h, streq.h.
10372         (enc_t): Remove type.
10373         (locale_enc): Remove function.
10374         (cached_locale_enc): Remove variable.
10375         (locale_enc_cached): Remove function.
10376         (mbrtowc): Invoke locale_encoding_classification.
10377         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Update comment.
10378         * modules/mbrtowc (Files): Add lc-charset-dispatch.h,
10379         lc-charset-dispatch.c.
10380         (configure.ac): Arrange to compile lc-charset-dispatch.c.
10382 2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>
10384         doc: mention 32-bit time_t issue
10385         * doc/posix-headers/sys_stat.texi (sys/stat.h):
10386         * doc/posix-headers/time.texi (time.h): Mention 2038.
10388 2020-01-03  Bruno Haible  <bruno@clisp.org>
10390         mbrtowc: Ensure the mbtowc_lock is unique.
10391         * lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c.
10392         * lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and
10393         lib/setlocale_null.c.
10394         * lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include
10395         glthread/lock.h. Include mbtowc-lock.h.
10396         (mbtowc_lock): Remove declaration.
10397         (mbrtowc): Use mbtowc_with_lock.
10398         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for
10399         threads.h. Set LIB_MBRTOWC.
10400         (gl_PREREQ_MBTOWC_LOCK): New macro.
10401         * modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c,
10402         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
10403         (Depends-on): Remove lock.
10404         (configure.ac): Arrange to compile mbtowc-lock.c.
10405         (Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD).
10406         * modules/acl (Link): Likewise.
10407         * modules/argmatch (Link): Likewise.
10408         * modules/backup-rename (Link): Likewise.
10409         * modules/backupfile (Link): Likewise.
10410         * modules/closein (Link): Likewise.
10411         * modules/closeout (Link): Likewise.
10412         * modules/copy-file (Link): Likewise.
10413         * modules/csharpcomp (Link): Likewise.
10414         * modules/csharpexec (Link): Likewise.
10415         * modules/dfa (Link): Likewise.
10416         * modules/exclude (Link): Likewise.
10417         * modules/fnmatch (Link): Likewise.
10418         * modules/fnmatch-gnu (Link): Likewise.
10419         * modules/fnmatch-posix (Link): Likewise.
10420         * modules/glob (Link): Likewise.
10421         * modules/human (Link): Likewise.
10422         * modules/javacomp (Link): Likewise.
10423         * modules/javaexec (Link): Likewise.
10424         * modules/javaversion (Link): Likewise.
10425         * modules/mbfile (Link): Likewise.
10426         * modules/mbiter (Link): Likewise.
10427         * modules/mbmemcasecmp (Link): Likewise.
10428         * modules/mbmemcasecoll (Link): Likewise.
10429         * modules/mbrlen (Link): Likewise.
10430         * modules/mbscasecmp (Link): Likewise.
10431         * modules/mbscasestr (Link): Likewise.
10432         * modules/mbschr (Link): Likewise.
10433         * modules/mbscspn (Link): Likewise.
10434         * modules/mbsinit (Link): Likewise.
10435         * modules/mbslen (Link): Likewise.
10436         * modules/mbsncasecmp (Link): Likewise.
10437         * modules/mbsnlen (Link): Likewise.
10438         * modules/mbsnrtowcs (Link): Likewise.
10439         * modules/mbspbrk (Link): Likewise.
10440         * modules/mbspcasecmp (Link): Likewise.
10441         * modules/mbsrchr (Link): Likewise.
10442         * modules/mbsrtowcs (Link): Likewise.
10443         * modules/mbssep (Link): Likewise.
10444         * modules/mbsspn (Link): Likewise.
10445         * modules/mbsstr (Link): Likewise.
10446         * modules/mbstok_r (Link): Likewise.
10447         * modules/mbswidth (Link): Likewise.
10448         * modules/mbuiter (Link): Likewise.
10449         * modules/mkdir-p (Link): Likewise.
10450         * modules/propername (Link): Likewise.
10451         * modules/quote (Link): Likewise.
10452         * modules/quotearg (Link): Likewise.
10453         * modules/quotearg-simple (Link): Likewise.
10454         * modules/regex-quote (Link): Likewise.
10455         * modules/rpmatch (Link): Likewise.
10456         * modules/sh-quote (Link): Likewise.
10457         * modules/system-quote (Link): Likewise.
10458         * modules/trim (Link): Likewise.
10459         * modules/unistdio/ulc-asnprintf (Link): Likewise.
10460         * modules/unistdio/ulc-fprintf (Link): Likewise.
10461         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
10462         * modules/unistdio/ulc-vasprintf (Link): Likewise.
10463         * modules/unistdio/ulc-vfprintf (Link): Likewise.
10464         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
10465         * modules/unistdio/ulc-vsprintf (Link): Likewise.
10466         * modules/xfreopen (Link): Likewise.
10467         * modules/xmemcoll (Link): Likewise.
10468         * modules/yesno (Link): Likewise.
10469         * modules/regex (Link): Add $(LIB_MBRTOWC).
10470         * modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC)
10471         instead of $(LIBTHREAD).
10472         * modules/argmatch-tests (Makefile.am): Likewise.
10473         * modules/closein-tests (Makefile.am): Likewise.
10474         * modules/copy-file-tests (Makefile.am): Likewise.
10475         * modules/dfa-tests (Makefile.am): Likewise.
10476         * modules/fnmatch-tests (Makefile.am): Likewise.
10477         * modules/glob-tests (Makefile.am): Likewise.
10478         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
10479         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
10480         * modules/mbrtowc-tests (Makefile.am): Likewise.
10481         * modules/mbscasecmp-tests (Makefile.am): Likewise.
10482         * modules/mbscasestr-tests (Makefile.am): Likewise.
10483         * modules/mbschr-tests (Makefile.am): Likewise.
10484         * modules/mbscspn-tests (Makefile.am): Likewise.
10485         * modules/mbsinit-tests (Makefile.am): Likewise.
10486         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
10487         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
10488         * modules/mbspbrk-tests (Makefile.am): Likewise.
10489         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
10490         * modules/mbsrchr-tests (Makefile.am): Likewise.
10491         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
10492         * modules/mbsspn-tests (Makefile.am): Likewise.
10493         * modules/mbsstr-tests (Makefile.am): Likewise.
10494         * modules/quotearg-simple-tests (Makefile.am): Likewise.
10495         * modules/quotearg-tests (Makefile.am): Likewise.
10496         * modules/readtokens-tests (Makefile.am): Likewise.
10497         * modules/sh-quote-tests (Makefile.am): Likewise.
10498         * modules/system-quote-tests (Makefile.am): Likewise.
10499         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
10500         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
10501         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
10502         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
10503         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
10504         * modules/yesno-tests (Makefile.am): Likewise.
10505         * modules/exclude-tests (Makefile.am): Link the programs with
10506         $(LIB_MBRTOWC).
10507         * modules/regex-tests (Makefile.am): Likewise.
10508         * modules/regex-quote-tests (Makefile.am): Likewise.
10510 2020-01-03  Bruno Haible  <bruno@clisp.org>
10512         getopt-posix: Fix compilation failure in testdirs.
10513         * lib/unistd.in.h: Include <getopt-cdefs.h> and <getopt-pfx-core.h> only
10514         when the gnulib module 'getopt-posix' is enabled.
10515         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETOPT_POSIX.
10516         * modules/getopt-posix (configure.ac): Set GNULIB_GETOPT_POSIX as a
10517         module indicator.
10518         * modules/unistd (Makefile.am): Substitute GNULIB_GETOPT_POSIX.
10520 2020-01-03  Bruno Haible  <bruno@clisp.org>
10522         doc: Mention the 64-bit inode number problem.
10523         * m4/largefile.m4 (AC_SYS_LARGEFILE): Mention that this macro fixes the
10524         64-bit inode number problem.
10525         * doc/posix-functions/stat.texi: Mention that this module fixes the
10526         64-bit inode number problem.
10527         * doc/posix-functions/lstat.texi: Likewise.
10528         * doc/posix-functions/fstat.texi: Likewise.
10529         * doc/posix-functions/readdir.texi: Add more details.
10530         * doc/posix-functions/readdir_r.texi: Likewise.
10532 2020-01-02  Bruno Haible  <bruno@clisp.org>
10534         wcrtomb: Add more tests.
10535         * tests/test-wcrtomb-w32.c: Include localcharset.h.
10536         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
10537         locale_charset() returns the expected value; otherwise, skip the test.
10538         * tests/test-wcrtomb-w32-6.sh: Remove old comment.
10539         * tests/test-wcrtomb-w32-7.sh: Likewise.
10540         * modules/wcrtomb-tests (Files): Add these files.
10541         (Depends-on): Add localcharset.
10542         (TESTS): Add test-wcrtomb-w32-6.sh, test-wcrtomb-w32-7.sh.
10544 2020-01-02  Bruno Haible  <bruno@clisp.org>
10546         mbrtowc: Add more tests.
10547         * tests/test-mbrtowc-w32.c: Include localcharset.h.
10548         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
10549         locale_charset() returns the expected value; otherwise, skip the test.
10550         * tests/test-mbrtowc-w32-6.sh: Remove old comment.
10551         * tests/test-mbrtowc-w32-7.sh: Likewise.
10552         * modules/mbrtowc-tests (Files): Add these files.
10553         (Depends-on): Add localcharset.
10554         (TESTS): Add test-mbrtowc-w32-6.sh, test-mbrtowc-w32-7.sh.
10556 2020-01-02  Bruno Haible  <bruno@clisp.org>
10558         mbrtowc: Fix test failures on MSVC (regression by previous commit).
10559         * m4/mbrtowc.m4 (gl_MBRTOWC_STORES_INCOMPLETE): New macro.
10560         (gl_FUNC_MBRTOWC): Invoke it. Define MBRTOWC_STORES_INCOMPLETE_BUG.
10561         * lib/mbrtowc.c (rpl_mbrtowc): Add workaround for
10562         MBRTOWC_STORES_INCOMPLETE_BUG.
10563         * doc/posix-functions/mbrtowc.texi: Mention the MSVC bug.
10565 2020-01-02  Paul Eggert  <eggert@cs.ucla.edu>
10567         doc: mention glibc bug 24269
10568         * doc/regex.texi (Back-reference Operator): Add glibc bug 24269.
10569         Reformat slightly so that it looks nicer in the Grep manual.
10571 2020-01-02  Bruno Haible  <bruno@clisp.org>
10573         mbrtowc: Don't replace mbstate_t on MSVC.
10574         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore
10575         a missing mbsinit function on native Windows.
10576         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Likewise.
10577         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Strengthen the test, to detect an
10578         MSVC bug.
10579         * doc/posix-functions/wcrtomb.texi: Mention the MSVC bug.
10581 2020-01-02  Bruno Haible  <bruno@clisp.org>
10583         setlocale-null: Avoid crashing the MSVC linker.
10584         * lib/setlocale-lock.c: Don't define IMP(gl_get_setlocale_null_lock) on
10585         MSVC.
10587 2020-01-02  Bruno Haible  <bruno@clisp.org>
10589         wchar: Make the HP-UX workaround work on HP-UX 11.31.
10590         * modules/wchar (Depends-on): Add inttypes-incomplete.
10591         * lib/inttypes.in.h: Define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H.
10592         * lib/wchar.in.h: Test _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H instead
10593         of strtoimax.
10595 2020-01-02  Bruno Haible  <bruno@clisp.org>
10597         mbrtowc: Fix compilation error on IRIX (regression from 2019-12-26).
10598         * lib/mbrtowc.c: Include <stdint.h>.
10599         * modules/mbrtowc (Depends-on): Add stdint.
10601 2020-01-01  Pádraig Brady  <P@draigBrady.com>
10603         md5, sha1, sha256, sha512: support --with-openssl=auto-gpl-compat
10604         * m4/gl-openssl.m4: Add a new "auto-gpl-compat" mode,
10605         which will auto enable use of openssl, only for >= version 3,
10606         which is newly licensed under the Apache Software License.
10608 2020-01-01  Bruno Haible  <bruno@clisp.org>
10610         mbrtowc: Include function name in macro names.
10611         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Define
10612         MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not C_LOCALE_MAYBE_EILSEQ.
10613         (gl_MBRTOWC_C_LOCALE): Change cache variable name to
10614         gl_cv_func_mbrtowc_C_locale_sans_EILSEQ.
10615         * lib/mbrtowc.c: Test MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not
10616         C_LOCALE_MAYBE_EILSEQ.
10618 2020-01-01  Bruno Haible  <bruno@clisp.org>
10620         c32tob: New module.
10621         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): New macro.
10622         (c32tob): New declaration.
10623         * lib/c32tob.c: New file.
10624         * m4/uchar.m4 (gl_UCHAR_MODULE_INDICATOR, gl_UCHAR_H_DEFAULTS): New
10625         macros.
10626         (gl_UCHAR_H): Require gl_UCHAR_H_DEFAULTS.
10627         * modules/uchar (Depends-on): Add snippet/c++defs.
10628         (Makefile.am): Include c++defs.h and substitute GNULIB_C32TOB in
10629         uchar.h.
10630         * modules/c32tob: New file.
10631         * tests/test-uchar.c: Verify that _GL_LARGE_CHAR32_T is correctly
10632         defined.
10633         * tests/test-uchar-c++.cc: Include signature.h. Test the signature of
10634         c32tob.
10635         * modules/uchar-c++-tests (Files): Add tests/signature.h.
10636         * doc/posix-functions/wctob.texi: Mention the new module.
10638 2020-01-01  Bruno Haible  <bruno@clisp.org>
10640         locale C++ tests: Fix link error on AIX (regression from 2019-12-18).
10641         * modules/locale-c++-tests (Makefile.am): Link test-locale-c++ with
10642         $(LIB_SETLOCALE).
10644 2020-01-01  Bruno Haible  <bruno@clisp.org>
10646         hard-locale tests: Fix a conflict with the C++ tests.
10647         * modules/hard-locale-tests (Makefile.am): Build a program named
10648         'current-locale', not 'locale'.
10650 2020-01-01  Bruno Haible  <bruno@clisp.org>
10652         doc: Update documentation about wchar_t.
10653         * doc/*/*wc*.texi: Clarify that 64-bit AIX does not have a too small
10654         wchar_t type.
10656 2020-01-01  Bruno Haible  <bruno@clisp.org>
10658         mbrtowc tests: Fix typos.
10659         * tests/test-mbrtowc.c (main): Fix typo.
10660         * tests/test-mbrtowc-w32.c (test_one_locale): Likewise.
10662 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
10664         maint: update copyright notices
10665         Before doing the following changes done by hand, I also ran ‘make
10666         update-copyright’ and ‘config/srclist-update <config/srclist.txt’
10667         to do most of the copyright years automatically.  A few upstream
10668         sources are still in 2019 but these should eventually be changed
10669         automatically too.
10670         * build-aux/declared.sh (func_version):
10671         * build-aux/libtool-next-version (func_version):
10672         * build-aux/run-test (func_version):
10673         Update these notices by hand.  Put just the last year
10674         in output of programs, as per GNU coding standards.
10676 2019-12-31  Bruno Haible  <bruno@clisp.org>
10678         uchar: Add C++ tests.
10679         * tests/test-uchar-c++.cc: New file.
10680         * tests/test-uchar-c++2.cc: New file.
10681         * modules/uchar-c++-tests: New file.
10683         uchar: Add tests.
10684         * tests/test-uchar.c: New file.
10685         * modules/uchar-tests: New file.
10687         uchar: New module.
10688         * lib/uchar.in.h: New file.
10689         * m4/uchar.m4: New file.
10690         * modules/uchar: New file.
10691         * doc/posix-headers/uchar.texi: Mention the new module.
10693 2019-12-30  Jim Meyering  <meyering@fb.com>
10695         localeinfo: ->simple would be wrong for LC_ALL=C
10696         That would lead to using unnecessary and expensive code paths in dfa.c.
10697         * lib/localeinfo.c (using_simple_locale): Fix recently-introduced logic
10698         error that would have made grep many times slower in the C locale.
10699         With this change, and a file created like this:
10700           yes 00 | head -10000000 > in
10701         Running grep as follows becomes more than 40 times faster:
10702           LC_ALL=C grep -Fw 0 in
10704 2019-12-30  Paul Eggert  <eggert@cs.ucla.edu>
10706         doc: document trouble with back-references
10707         * doc/regex.texi (Back-reference Operator): Mention bugs etc.
10709 2019-12-29  Paul Eggert  <eggert@cs.ucla.edu>
10711         doc: use “back-reference” for \1 etc.
10712         * doc/regex.texi: Consistently spell “back-reference” with
10713         a hyphen, since that’s how POSIX does it.
10715 2019-12-26  Jim Meyering  <meyering@fb.com>
10717         test-framework-sh: tighten an internal grep regexp
10718         * tests/init.sh (gl_shell_test_script_): Tighten the grep regexp
10719         that helps test for a working printf.
10721 2019-12-26  Bruno Haible  <bruno@clisp.org>
10723         test-framework-sh: Avoid /bin/sh on AIX 7.2 due to its printf built-in.
10724         Reported by Paul Eggert in
10725         <https://lists.gnu.org/archive/html/grep-devel/2019-12/msg00020.html>.
10726         Simplification by Jim Meyering.
10727         * tests/init.sh (gl_shell_test_script_): Add a test of printf of an
10728         octal escape sequence in a UTF-8 locale.
10730 2019-12-26  Paul Eggert  <eggert@cs.ucla.edu>
10732         mbrtowc: port better to narrow-wchar_t platforms
10733         * lib/mbrtowc.c (mbrtowc): On platforms like AIX 7.2, where
10734         wchar_t is too narrow to represent all the Unicode characters,
10735         consider a byte sequence for an out-of-wchar_t-range character to
10736         be an encoding error.  This fixes grep’s surrogate-pair test
10737         failure on AIX 7.2.
10739 2019-12-24  Bruno Haible  <bruno@clisp.org>
10741         localcharset: Avoid referencing rpl_setlocale on native Windows.
10742         * lib/localcharset.c (setlocale): Undefine.
10744 2019-12-24  Bruno Haible  <bruno@clisp.org>
10746         lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
10747         * m4/semaphore.m4: New file.
10748         * modules/lock-tests (Files): Add it.
10749         (configure.ac): Require gl_SEMAPHORE.
10750         (Makefile.am): Link test-lock with $(LIB_SEMAPHORE).
10752 2019-12-24  Paul Eggert  <eggert@cs.ucla.edu>
10754         strptime: fix typo in previous patch
10755         Problem and fix reported by Bruno Haible in:
10756         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00202.html
10757         * lib/strptime.c (day_of_the_week): Fix paren bug.
10759 2019-12-24  Bruno Haible  <bruno@clisp.org>
10761         setlocale-null: Make it easy to rely on the lock in another library.
10762         * lib/setlocale-lock.c: Do not define anything if OMIT_SETLOCALE_LOCK is
10763         defined.
10765 2019-12-23  Paul Eggert  <eggert@cs.ucla.edu>
10767         gethrxtime, mktime, nstrftime, strptime: tweak division performance
10768         Performanced analyzed by Bruno Haible in:
10769         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00200.html
10770         * config/srclist.txt: Do not sync mktime.c for now.
10771         * lib/mktime.c (shr, ydhms_diff):
10772         * lib/nstrftime.c (SHR, tm_diff, __strftime_internal):
10773         * lib/strptime.c (day_of_the_week):
10774         * lib/xtime.h (xtime_sec):
10775         Redo with neither ‘%’ nor conditional branches.
10777 2019-12-23  Bruno Haible  <bruno@clisp.org>
10779         setlocale-null: Export the lock function also on non-Windows platforms.
10780         * lib/setlocale-lock.c (DLL_EXPORTED): New macro.
10781         (gl_get_setlocale_null_lock): Declare as DLL_EXPORTED.
10782         * m4/setlocale_null.m4 (gl_PREREQ_SETLOCALE_LOCK): New macro.
10783         * modules/setlocale-null (configure.ac): Invoke it.
10784         (Files): Add m4/visibility.m4.
10786 2019-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10788         gethrxtime: fix rounding bug with negative args
10789         Problem reported by Bruno Haible in:
10790         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00192.html
10791         * lib/xtime.h (xtime_sec): Simplify calculation and correct bug
10792         with negative rounding.  Common platforms can compute / and % with
10793         a single instruction, so the simplified code should be shorter and
10794         faster on these platforms anyway.
10796 2019-12-22  Bruno Haible  <bruno@clisp.org>
10798         gethrxtime: remove incorrect overflow detection
10799         * lib/xtime.h (xtime_make): Remove attempt to prevent internal
10800         integer overflow, as it didn’t suffice.  This reverts the xtime.h
10801         part of 2018-10-12T04:46:09Z!akim.demaille@gmail.com, which I
10802         cannot now see the need for anyway (even in cases where it works),
10803         as the patch is helpful only when the signs of S and NS disagree,
10804         and all callers pass nonnegative values for S and NS.
10806 2019-12-22  Bruno Haible  <bruno@clisp.org>
10808         setlocale-null: Add standalone include file.
10809         * lib/setlocale_null.h: New file, extracted from lib/locale.in.h.
10810         * lib/locale.in.h: Include setlocale_null.h.
10811         (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX, setlocale_null_r,
10812         setlocale_null): Remove declarations.
10813         * lib/setlocale_null.c: Include setlocale_null.h.
10814         * lib/localename.c: Likewise.
10815         * modules/setlocale-null (Files): Add lib/setlocale_null.h.
10816         (Depends-on): Add snippet/arg-nonnull.
10817         (Include): Allow either "setlocale_null.h" or <locale.h>.
10819 2019-12-22  Bruno Haible  <bruno@clisp.org>
10821         strfmon_l: Fix test failures on FreeBSD and Cygwin.
10822         * m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Require gt_LOCALE_FR_UTF8. Add an
10823         AC_RUN_IFELSE test.
10824         * modules/strfmon_l (Files): Add locale-fr.m4, codeset.m4.
10825         * doc/posix-functions/strfmon_l.texi: Mention the FreeBSD and Cygwin
10826         problem.
10828 2019-12-22  Bruno Haible  <bruno@clisp.org>
10830         Prefer lib_SOURCES to unconditional AC_LIBOBJ.
10831         * modules/at-internal: Prefer a lib_SOURCES augmentation to an
10832         unconditional AC_LIBOBJ.
10833         * modules/selinux-at: Likewise.
10834         * modules/xmemdup0: Likewise.
10835         * modules/xstrtoll: Likewise.
10837 2019-12-22  Bruno Haible  <bruno@clisp.org>
10839         longlong: Mark module obsolete.
10840         * modules/longlong (Status, Notice): New sections.
10842         stdint: Assume that the compiler supports 'long long'.
10843         * lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
10844         UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
10845         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10846         * m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
10847         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10848         * modules/stdint (Files): Remove longlong.m4.
10849         (Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
10850         HAVE_UNSIGNED_LONG_LONG_INT.
10852         inttypes-incomplete: Assume that the compiler supports 'long long'.
10853         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
10854         _SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
10855         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10856         * m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
10857         HAVE_LONG_LONG_INT to be 1.
10858         * modules/inttypes-incomplete (Makefile.am): Don't substitute
10859         HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.
10861         malloca: Assume that the compiler supports 'long long'.
10862         * lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
10863         * m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
10864         * modules/malloca (Files): Remove longlong.m4.
10865         * modules/relocatable-prog-wrapper (Files): Likewise.
10867         atoll: Assume that the compiler supports 'long long'.
10868         * m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
10869         * modules/atoll (Files): Remove longlong.m4.
10871         strtoll: Assume that the compiler supports 'long long'.
10872         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
10873         * modules/strtoll (Files): Remove longlong.m4.
10875         strtoull: Assume that the compiler supports 'long long'.
10876         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
10877         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10878         * modules/strtoull (Files): Remove longlong.m4.
10880         strtoimax, strtoumax: Assume that the compiler supports 'long long'.
10881         * lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
10882         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10883         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
10884         AC_TYPE_LONG_LONG_INT.
10885         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
10886         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10887         * modules/strtoimax (Files): Remove longlong.m4.
10888         * modules/strtoumax (Files): Likewise.
10890         xstrtoll: Assume that the compiler supports 'long long'.
10891         * lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
10892         * modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.
10894         vasnprintf: Assume that the compiler supports 'long long'.
10895         * lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
10896         * lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
10897         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
10898         * lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
10899         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
10900         require AC_TYPE_LONG_LONG_INT.
10901         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
10902         gl_PREREQ_VASNPRINTF): Likewise.
10903         * modules/vasnprintf (Files): Remove longlong.m4.
10904         * modules/c-vasnprintf (Files): Likewise.
10905         * modules/unistdio/u8-vasnprintf (Files): Likewise.
10906         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
10907         * modules/unistdio/u16-vasnprintf (Files): Likewise.
10908         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
10909         * modules/unistdio/u32-vasnprintf (Files): Likewise.
10910         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
10911         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
10913         gethrxtime: Assume that the compiler supports 'long long'.
10914         * lib/xtime.h (xtime_t): Define to 'long long int' always.
10915         (XTIME_PRECISION): Define to 1000000000 always.
10916         (xtime_make, xtime_sec): Optimize accordingly.
10917         * m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
10918         * modules/gethrxtime (Files): Remove longlong.m4.
10920         integer_length*: Assume that the compiler supports 'long long'.
10921         * lib/integer_length.h (integer_length_ll): Declare unconditionally.
10922         * modules/integer_length (Files): Remove longlong.m4.
10923         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10924         * modules/integer_length_l (Files): Remove longlong.m4.
10925         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10926         * modules/integer_length_ll (Files): Remove longlong.m4.
10927         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10929         count-one-bits: Assume that the compiler supports 'long long'.
10930         * lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
10931         * m4/count-one-bits.m4: Remove file.
10932         * modules/count-one-bits (Files): Remove it.
10933         (configure.ac): Don't invoke gl_COUNT_ONE_BITS.
10934         * tests/test-count-one-bits.c (main): Test count_one_bits_ll
10935         unconditionally.
10937         count-trailing-zeros: Assume that the compiler supports 'long long'.
10938         * lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
10939         unconditionally.
10940         * m4/count-trailing-zeros.m4: Remove file.
10941         * modules/count-trailing-zeros (Files): Remove it.
10942         (configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
10943         * tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
10944         unconditionally.
10946         count-leading-zeros: Assume that the compiler supports 'long long'.
10947         * lib/count-leading-zeros.h (count_leading_zeros_ll): Define
10948         unconditionally.
10949         * m4/count-leading-zeros.m4: Remove file.
10950         * modules/count-leading-zeros (Files): Remove it.
10951         (configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
10952         * tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
10953         unconditionally.
10955 2019-12-22  Bruno Haible  <bruno@clisp.org>
10957         localcharset: Update support for OpenBSD.
10958         * lib/localcharset.c (alias_table): Map "US-ASCII" to "ASCII".
10960 2019-12-21  Bruno Haible  <bruno@clisp.org>
10962         pthread_sigmask: Avoid test failure on NetBSD 8.0.
10963         * tests/test-pthread_sigmask2.c (main): Skip the error handling test on
10964         NetBSD.
10965         * doc/posix-functions/pthread_sigmask.texi: Mention the NetBSD problem.
10967 2019-12-21  Bruno Haible  <bruno@clisp.org>
10969         threadlib: Improve code structure.
10970         * m4/threadlib.m4: Reorder macros. Add comments.
10972 2019-12-21  Bruno Haible  <bruno@clisp.org>
10974         threadlib: Fix LIBMULTITHREAD on FreeBSD with --enable-threads=isoc.
10975         * m4/threadlib.m4 (gl_STDTHREADLIB_BODY): New macro (some code moved
10976         here from m4/threads.m4).
10977         (gl_THREADLIB_BODY): Don't test whether mtx_lock and cnd_timedwait exist
10978         in libc. Instead, rely on gl_STDTHREADLIB_BODY.
10979         (gl_STDTHREADLIB): New macro.
10980         * m4/threads.m4 (gl_THREADS_H): Require gl_STDTHREADLIB instead of
10981         gl_THREADLIB_BODY and gl_YIELD. Don't set LIBSTDTHREAD here.
10983 2019-12-21  Bruno Haible  <bruno@clisp.org>
10985         sched_yield: Don't depend on threadlib and yield.
10986         * m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
10987         LIB_SCHED_YIELD.
10988         (gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
10989         m4/yield.m4).
10990         * m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
10991         gl_THREADLIB and gl_YIELD.
10992         * m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
10993         based on $(LIB_SCHED_YIELD).
10994         * m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
10995         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
10996         * modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
10997         (Depends-on): Remove threadlib.
10998         (Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
10999         * modules/threads-h (Files): Remove m4/yield.m4.
11000         * modules/pthread-cond-tests (Makefile.am): Link the programs against
11001         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
11002         * modules/pthread-mutex-tests (Makefile.am): Likewise.
11003         * modules/pthread-once-tests (Makefile.am): Likewise.
11004         * modules/pthread-rwlock-tests (Makefile.am): Likewise.
11005         * modules/pthread-tss-tests (Makefile.am): Likewise.
11007 2019-12-21  Bruno Haible  <bruno@clisp.org>
11009         threads-h: Don't depend on threadlib.
11010         * modules/threads-h (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY,
11011         not gl_THREADLIB_EARLY.
11013 2019-12-21  Bruno Haible  <bruno@clisp.org>
11015         nl_langinfo tests: Fix link error (regression from 2019-12-18).
11016         * modules/nl_langinfo-tests (Makefile.am): Link also test-nl_langinfo
11017         with $(LIB_SETLOCALE).
11019 2019-12-21  Bruno Haible  <bruno@clisp.org>
11021         threadlib: Remove unused dependency (left over from 2019-07-06).
11022         * modules/threadlib (Depends-on): Remove havelib.
11024 2019-12-21  Bruno Haible  <bruno@clisp.org>
11026         New convention for multithread-safety tests.
11027         * tests/test-setlocale_null-mt-one.c: Renamed from
11028         tests/test-setlocale_null-one.c.
11029         * tests/test-setlocale_null-mt-all.c: Renamed from
11030         tests/test-setlocale_null-all.c.
11031         * modules/setlocale-null-tests (Files, Makefile.am): Update.
11033 2019-12-21  Bruno Haible  <bruno@clisp.org>
11035         quotearg tests: Fix conflict with hard-locale tests.
11036         * tests/testlocale: Renamed from tests/locale.
11037         * modules/quotearg-tests (Files): Update.
11038         * tests/test-quotearg.sh (LOCALEDIR): Likewise.
11040 2019-12-21  Bruno Haible  <bruno@clisp.org>
11042         pthread-thread, lock: On z/OS, use PTHREAD_RWLOCK_INITIALIZER_NP.
11043         Reported by Daniel Richard G. in
11044         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>
11045         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00167.html>
11046         * lib/pthread.in.h (PTHREAD_RWLOCK_INITIALIZER): Define to
11047         PTHREAD_RWLOCK_INITIALIZER_NP when possible.
11048         * lib/glthread/lock.h: Allow PTHREAD_RWLOCK_INITIALIZER_NP as an
11049         alternative to PTHREAD_RWLOCK_INITIALIZER.
11050         * lib/glthread/lock.c: Likewise.
11052 2019-12-21  Bruno Haible  <bruno@clisp.org>
11054         memcmp tests: Work around the clang bug.
11055         * tests/test-memcmp.c (main): Use a volatile function pointer to disable
11056         the clang optimization.
11058 2019-12-20  Bruno Haible  <bruno@clisp.org>
11060         localcharset: Add support for z/OS encoding names.
11061         * lib/localcharset.h: Mention which encodings are used as locale
11062         encodings on z/OS.
11064 2019-12-20  Bruno Haible  <bruno@clisp.org>
11066         iconv_open: Add support for z/OS encoding names.
11067         Reported by Daniel Richard G. in
11068         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00172.html>.
11069         * lib/iconv_open-zos.gperf: New file.
11070         * modules/iconv_open (Files): Add iconv_open-zos.gperf.
11071         (Makefile.am): Add rules for generating iconv_open-zos.h from it.
11072         * lib/iconv_open.c (ICONV_FLAVOR_ZOS): New macro.
11073         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): On z/OS, use ICONV_FLAVOR_ZOS.
11074         * doc/posix-functions/iconv_open.texi: Mention z/OS.
11076 2019-12-20  Bruno Haible  <bruno@clisp.org>
11078         doc: Document the problem of the per-thread locale functions on z/OS.
11079         * doc/posix-functions/uselocale.texi: Document the z/OS problem.
11080         * doc/posix-functions/newlocale.texi: Likewise.
11081         * doc/posix-functions/duplocale.texi: Likewise.
11082         * doc/posix-functions/freelocale.texi: Likewise.
11084 2019-12-20  Bruno Haible  <bruno@clisp.org>
11086         localename, gettext: Fix host_os value for z/OS.
11087         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Fix host_os value in
11088         cross-configuration code.
11090 2019-12-19  Jim Meyering  <meyering@fb.com>
11092         nstrftime: avoid a shadowing warning
11093         * lib/nstrftime.c (libc_hidden_def): Rename inner "i" to "j",
11094         to avoid shadowing an "i" declared hundreds of lines above.
11096 2019-12-19  Paul Eggert  <eggert@cs.ucla.edu>
11098         dfa: struct dfamust now uses flexible array
11099         * lib/dfa.c: Include flexmember.h.
11100         (dfamust, dfamustfree): Adjust to struct dfamust change.
11101         This saves a call to malloc+free.
11102         * lib/dfa.h (struct dfamust): Make the final member a
11103         flexible array member.
11104         * modules/dfa (Depends-on): Add flexmember.
11106         dfa: fast->small for array elements
11107         * lib/dfa.c (charclass_word): Use uint_least64_t not uint_fast64_t,
11108         since this type is used in arrays.  This change is more for
11109         documentation than for any practical effect, since the two types
11110         are the same on all known platforms.
11112 2019-12-19  Bruno Haible  <bruno@clisp.org>
11114         iconv tests: Test canonicalized, not system-dependent, encoding names.
11115         * tests/test-iconv.c (main): Revert part of the 2016-08-17 patch.
11116         * modules/iconv-tests (Depends-on): Add iconv_open.
11118 2019-12-18  Bruno Haible  <bruno@clisp.org>
11120         localename: Fix test failure on AIX 7.2.
11121         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Enable nameless
11122         locales on AIX.
11123         * lib/localename.c (gl_locale_name_thread_unsafe): Handle nameless
11124         locales on AIX.
11126 2019-12-18  Paul Eggert  <eggert@cs.ucla.edu>
11128         Improve port of AC_C_RESTRICT to Oracle C++
11129         Problem reported by Christian Biesinger in:
11130         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
11131         * m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
11132         Oracle Developer Studio C++ 12.5 or later.
11134 2019-12-18  Bruno Haible  <bruno@clisp.org>
11136         wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
11137         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
11139 2019-12-18  Bruno Haible  <bruno@clisp.org>
11141         localename: Ensure multithread-safety in future changes.
11142         * lib/localename.c (setlocale): Reference the system's setlocale().
11143         (get_locale_t_name): Invoke setlocale_null instead of setlocale.
11144         (gl_locale_name_posix): Likewise.
11145         * modules/localename (Depends-on): Add setlocale-null.
11147 2019-12-18  Bruno Haible  <bruno@clisp.org>
11149         setlocale-null: Make API more useful.
11150         * lib/locale.in.h (setlocale_null_r): Renamed from setlocale_null. All
11151         callers changed.
11152         (setlocale_null): New declaration.
11153         * lib/setlocale_null.c (setlocale_null_androidfix): New function,
11154         extracted from setlocale_null_unlocked.
11155         (setlocale_null_unlocked): Invoke it.
11156         (setlocale_null_r): Renamed from setlocale_null.
11157         (setlocale_null): New function, extracted from setlocale_mtsafe in
11158         setlocale.c.
11159         * lib/setlocale.c: Don't include <errno.h>.
11160         (setlocale_mtsafe): Invoke setlocale_null.
11161         * lib/setlocale-lock.c: Update comments.
11162         * doc/posix-functions/setlocale.texi: Mention both functions.
11164 2019-12-18  Bruno Haible  <bruno@clisp.org>
11166         localename: Optimize code for native Windows.
11167         * lib/localename.c (gl_locale_name_posix): Remove handling of LC_ALL
11168         category (not allowed here).
11170 2019-12-18  Bruno Haible  <bruno@clisp.org>
11172         setlocale: Make calls with NULL argument multithread-safe.
11173         * lib/setlocale.c: Include <errno.h>.
11174         (setlocale_mtsafe): New function.
11175         (setlocale_unixlike): Invoke setlocale_mtsafe instead of setlocale.
11176         (setlocale_improved): Renamed from rpl_setlocale.
11177         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Require gl_FUNC_SETLOCALE_NULL.
11178         Set and define NEED_SETLOCALE_IMPROVED and NEED_SETLOCALE_MTSAFE. Set
11179         LIB_SETLOCALE.
11180         * modules/setlocale (Depends-on): Add setlocale-null. Update conditions.
11181         (Link): New section.
11182         * tests/locale.c: Undefine setlocale.
11183         * tests/test-setlocale_null-one.c: Likewise.
11184         * tests/test-setlocale_null-all.c: Likewise.
11185         * modules/setlocale-tests (Makefile.am): Link the test programs with
11186         $(LIB_SETLOCALE).
11187         * modules/astrxfrm-tests (Makefile.am): Likewise.
11188         * modules/btowc-tests (Makefile.am): Likewise.
11189         * modules/c-ctype-tests (Makefile.am): Likewise.
11190         * modules/c-snprintf-tests (Makefile.am): Likewise.
11191         * modules/c-strcase-tests (Makefile.am): Likewise.
11192         * modules/c-vasprintf-tests (Makefile.am): Likewise.
11193         * modules/c-vsnprintf-tests (Makefile.am): Likewise.
11194         * modules/c-xvasprintf-tests (Makefile.am): Likewise.
11195         * modules/dfa-tests (Makefile.am): Likewise.
11196         * modules/duplocale-tests (Makefile.am): Likewise.
11197         * modules/hard-locale-tests (Makefile.am): Likewise.
11198         * modules/localcharset-tests (Makefile.am): Likewise.
11199         * modules/localename-tests (Makefile.am): Likewise.
11200         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
11201         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
11202         * modules/mbrtowc-tests (Makefile.am): Likewise.
11203         * modules/mbscasecmp-tests (Makefile.am): Likewise.
11204         * modules/mbscasestr-tests (Makefile.am): Likewise.
11205         * modules/mbschr-tests (Makefile.am): Likewise.
11206         * modules/mbscspn-tests (Makefile.am): Likewise.
11207         * modules/mbsinit-tests (Makefile.am): Likewise.
11208         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
11209         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
11210         * modules/mbspbrk-tests (Makefile.am): Likewise.
11211         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
11212         * modules/mbsrchr-tests (Makefile.am): Likewise.
11213         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
11214         * modules/mbsspn-tests (Makefile.am): Likewise.
11215         * modules/mbsstr-tests (Makefile.am): Likewise.
11216         * modules/nl_langinfo-tests (Makefile.am): Likewise.
11217         * modules/quotearg-tests (Makefile.am): Likewise.
11218         * modules/regex-tests (Makefile.am): Likewise.
11219         * modules/strfmon_l-tests (Makefile.am): Likewise.
11220         * modules/strtod-tests (Makefile.am): Likewise.
11221         * modules/strtold-tests (Makefile.am): Likewise.
11222         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
11223         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
11224         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
11225         * modules/unigbrk/ulc-grapheme-breaks-tests (Makefile.am): Likewise.
11226         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
11227         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
11228         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
11229         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
11230         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
11231         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
11232         * modules/wcrtomb-tests (Makefile.am): Likewise.
11233         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
11234         * modules/wcsrtombs-tests (Makefile.am): Likewise.
11235         * modules/wcwidth-tests (Makefile.am): Likewise.
11236         * doc/posix-functions/setlocale.texi: Mention that the multithread-
11237         safety fix is also available in module 'setlocale'.
11239 2019-12-18  Bruno Haible  <bruno@clisp.org>
11241         hard-locale: Make multithread-safe.
11242         * lib/hard-locale.h (hard_locale): Move documentation to here.
11243         * lib/hard-locale.c: Don't include <stdlib.h>.
11244         (GLIBC_VERSION): Remove macro.
11245         (hard_locale): Assume that all systems name the "C" and "POSIX" locales
11246         "C" or "POSIX". Invoke setlocale_null instead of setlocale.
11247         * modules/hard-locale (Depends-on): Remove strdup. Add setlocale-null.
11248         (configure.ac): Require gl_FUNC_SETLOCALE_NULL. Set LIB_HARD_LOCALE.
11249         (Link): New section.
11250         * modules/hard-locale-tests (Makefile.am): Link test-hard-locale against
11251         $(LIB_HARD_LOCALE).
11253 2019-12-18  Bruno Haible  <bruno@clisp.org>
11255         hard-locale: Avoid test failure on Haiku.
11256         * tests/test-hard-locale.c (test_one): Treat Haiku like recent OpenBSD.
11258 2019-12-18  Bruno Haible  <bruno@clisp.org>
11260         setlocale-null: Handle NULL result from setlocale.
11261         * lib/locale.in.h (setlocale_null): Document EINVAL return value.
11262         * lib/setlocale_null.c (setlocale_null_unlocked): Handle NULL result
11263         from setlocale or _wsetlocale.
11265 2019-12-18  Bruno Haible  <bruno@clisp.org>
11267         hard-locale: Add test.
11268         * tests/test-hard-locale.c: New file.
11269         * tests/locale.c: New file.
11270         * modules/hard-locale-tests: New file.
11272 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
11274         dfa: do not match invalid UTF-8
11275         * lib/dfa.c (struct dfa): Grow utf8_anychar_classes member array
11276         from 5 to 9 tokens; this is needed due to the changes to
11277         add_utf8_anychar.
11278         (charclass_index): 2nd arg is now pointer-to-const.
11279         (add_utf8_anychar): Match only valid UTF-8 byte sequences
11280         instead of allowing overlong encodings or surrogate halves.
11282         dfa: simplify charclass by assuming C99
11283         * lib/dfa.c (CHARCLASS_WORD_BITS): Now always 64.
11284         (charclass_word): Now always uint_fast64_t.
11285         (CHARCLASS_PAIR): Remove.
11286         (CHARCLASS_INIT): Take 4 arguments instead of 8.  All uses changed.
11288         fts: tune via calloc
11289         * lib/fts.c (fts_open): Prefer calloc to malloc + memset.
11291         dfa: tune via xzalloc
11292         * lib/dfa.c (dfaoptimize): Prefer xzalloc to xmalloc + memset.
11294 2019-12-17  Bruno Haible  <bruno@clisp.org>
11296         localcharset: Fix multithread-safety bug on Windows and OS/2.
11297         * lib/localcharset.h (locale_charset): Clarify when the result becomes
11298         invalid.
11299         * lib/localcharset.c (locale_charset): Use a stack-allocated buffer to
11300         assemble the result.
11302 2019-12-17  Bruno Haible  <bruno@clisp.org>
11304         localcharset: Optimize code for native Windows.
11305         * lib/localcharset.c (locale_charset): Don't bother calling
11306         setlocale (LC_ALL, NULL) since we're not interested in its result.
11308 2019-12-17  Bruno Haible  <bruno@clisp.org>
11310         nl_langinfo: Fix multithread-safety bug on OpenBSD 3.8.
11311         * lib/nl_langinfo.c (ctype_codeset): Invoke setlocale_null instead of
11312         setlocale.
11313         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require
11314         gl_FUNC_SETLOCALE_NULL. Set LIB_NL_LANGINFO.
11315         * modules/nl_langinfo (Depends-on): Add setlocale-null.
11317 2019-12-17  Bruno Haible  <bruno@clisp.org>
11319         nl_langinfo: Fix multithread-safety bug on mingw and MSVC.
11320         * lib/nl_langinfo.c (ctype_codeset, rpl_nl_langinfo): Use a
11321         stack-allocated buffer to assemble each result and different static
11322         buffers to return it.
11323         * tests/test-nl_langinfo-mt.c: New file.
11324         * modules/nl_langinfo-tests (Files): Add it.
11325         (Depends-on): Add thread, nanosleep.
11326         (Makefile.am): Build test-nl_langinfo-mt test.
11328 2019-12-17  Bruno Haible  <bruno@clisp.org>
11330         langinfo: Document more details.
11331         * doc/posix-headers/langinfo.texi: List platform details.
11332         * doc/posix-functions/nl_langinfo.texi: Likewise.
11334 2019-12-17  Bruno Haible  <bruno@clisp.org>
11336         mbsinit: Fix compilation error in mingw-w64 7.0 with _UCRT defined.
11337         Reported by Tom Kacvinsky <tom.kacvinsky@vector.com>
11338         and Martin Storsjö <martin@martin.st>
11339         in <https://savannah.gnu.org/bugs/?57406>.
11340         * lib/mbsinit.c: Accommodate an MSVC-like mbstate_t definition with
11341         mingw.
11343 2019-12-17  Bruno Haible  <bruno@clisp.org>
11345         glob: Avoid warning on mingw.
11346         Reported by Christian Biesinger <cbiesinger@google.com> in
11347         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00122.html>.
11348         * lib/glob.c (__stat64): Undefine first.
11350 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
11352         xalloc: tune xzalloc for fresh allocations
11353         * lib/xmalloc.c (xzalloc): Use xcalloc rather than xmalloc+memset,
11354         because when the memory is freshly allocated from the OS via sbrk
11355         or mmap, calloc can avoid doing the memset.
11357         dfa: new function dfacopysyntax
11358         * lib/dfa.c (struct dfa): Move syntax member later so
11359         that dfacopysyntax can easily clear earlier members.
11360         (dfacopysyntax): New function, used by Gawk.
11362 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
11364         dfa: port _GL_ATTRIBUTE_MALLOC to Gawk
11365         Gawk does not use Gnulib, and does not define _GL_ATTRIBUTE_MALLOC.
11366         * lib/dfa.h (_GL_ATTRIBUTE_MALLOC): Define to empty
11367         if not already defined.
11369         dfa: remove one dependency on MB_CUR_MAX
11370         * lib/dfa.c (dfamust): No need to refer to MB_CUR_MAX here.
11372         dfa: remove struct lexer_state.cur_mb_len
11373         * lib/dfa.c (struct lexer_state): Remove cur_mb_len member,
11374         as it’s not needed and the code is simpler without it.
11375         All uses removed.
11377 2019-12-16  Bruno Haible  <bruno@clisp.org>
11379         setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku.
11380         Reported by Arnold Robbins <arnold@skeeve.com>.
11381         * lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
11382         copied from lib/glthread/lock.h.
11383         (pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
11384         (setlocale_null_with_lock): If pthread_in_use() is false, use
11385         setlocale_null_unlocked directly.
11386         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
11387         gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
11388         (gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
11389         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
11390         Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
11391         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.
11393 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
11395         dfa: make dfasyntax thread-safe
11396         Problem reported by Bruno Haible in:
11397         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00099.html
11398         * lib/dfa.c: Do not include locale.h.
11399         (struct dfa): Remove simple_locale member.
11400         All uses replaced by localeinfo.simple.
11401         (using_simple_locale): Remove; now present (with some
11402         changes) in localeinfo.c.
11403         (dfasyntax): No need to initialize removed member.
11405         localeinfo: record whether locale is simple
11406         * lib/localeinfo.c (using_simple_locale): New function,
11407         copied here from lib/dfa.c but with a change: it uses
11408         strcoll for its heuristic, instead of using setlocale.
11409         This lets it be thread-safe.
11410         * lib/localeinfo.h (struct localeinfo): New member ‘simple’.
11412 2019-12-15  Bruno Haible  <bruno@clisp.org>
11414         duplocale: Fix multithread-safety bug on AIX.
11415         * lib/duplocale.c: Don't include <stdlib.h>.
11416         (rpl_duplocale): Invoke setlocale_null instead of setlocale.
11417         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Require gl_FUNC_SETLOCALE_NULL.
11418         Set LIB_DUPLOCALE.
11419         * modules/duplocale (Depends-on): Add setlocale-null.
11420         (Link): New section.
11421         * modules/duplocale-tests (Makefile.am): Link test-duplocale with
11422         $(LIB_DUPLOCALE).
11424 2019-12-15  Bruno Haible  <bruno@clisp.org>
11426         setlocale-null: Add tests.
11427         * tests/test-setlocale_null.c: New file.
11428         * tests/test-setlocale_null-one.c: New file.
11429         * tests/test-setlocale_null-all.c: New file.
11430         * modules/setlocale-null-tests: New file.
11432         setlocale-null: New module.
11433         * lib/locale.in.h (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX,
11434         setlocale_null): New declarations.
11435         * lib/setlocale_null.c: New file.
11436         * lib/setlocale-lock.c: New file.
11437         * m4/threadlib.m4 (gl_PTHREADLIB_BODY): Define C macro HAVE_PTHREAD_API.
11438         * m4/setlocale_null.m4: New file.
11439         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
11440         GNULIB_SETLOCALE_NULL.
11441         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE_NULL.
11442         * modules/setlocale-null: New file.
11443         * doc/posix-functions/setlocale.texi: Mention the new module.
11445 2019-12-15  Bruno Haible  <bruno@clisp.org>
11447         lock tests: Skip test when no multithreading is enabled.
11448         * tests/test-rwlock1.c: Skip the test when no multithreading is enabled.
11450 2019-12-14  Bruno Haible  <bruno@clisp.org>
11452         locale, duplocale, localename: Fix last patch.
11453         Reported by Daniel Richard G. in
11454         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00093.html>.
11455         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE):
11456         Don't define if locale_t does not exist.
11458 2019-12-13  Bruno Haible  <bruno@clisp.org>
11460         locale, duplocale, localename: Fix errors if locale_t does not exist.
11461         Reported by Daniel Richard G. in
11462         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
11463         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
11464         macros.
11465         * tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
11466         HAVE_NEWLOCALE.
11467         * tests/test-localename.c: Likewise.
11468         * tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
11469         HAVE_DUPLOCALE.
11470         * tests/test-locale-c++.cc: Likewise.
11472 2019-12-13  Bruno Haible  <bruno@clisp.org>
11474         wcstok: Fix test failure on HP-UX.
11475         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Set REPLACE_WCSTOK to 1 on HP-UX.
11476         * doc/posix-functions/wcstok.texi: Mention the HP-UX bug.
11478 2019-12-12  Bruno Haible  <bruno@clisp.org>
11480         strtod, strtold tests: Avoid test failure on AIX 7.2.
11481         * tests/test-strtod1.c (main): Allow implementations in which ',' and
11482         '.' both are radix characters.
11483         * tests/test-strtold1.c (main): Likewise.
11485 2019-12-12  Paul Eggert  <eggert@cs.ucla.edu>
11487         dfa: prefer ptrdiff_t for API, too
11488         Also, use ‘idx_t’ for ptrdiff_t values that must be nonnegative,
11489         but do this only for internal use for now.
11490         * NEWS: Mention the API change.
11491         * lib/dfa.c (idx_t, IDX_MAX): New type and max value, for internal
11492         use for now.  Use them instead of ptrdiff_t and PTRDIFF_MAX for
11493         values known to be nonnegative.
11494         (dfaparse, dfaexec_mb, dfaexec_sb, dfaexec_noop, dfaexec):
11495         Prefer idx_t or ptrdiff_t to size_t for API.
11496         * lib/dfa.h (dfaparse, dfacomp, dfaexec):
11497         Prefer ptrdiff_t to size_t for API.
11499         stdalign: port to xlclang 16.01
11500         Problem reportd by Bruno Haible in:
11501         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00064.html
11502         * lib/stdalign.in.h (_Alignas): Do not use __attribute__
11503         ((__aligned__ (...))) with xlclang, as a top-level
11504         ‘char __attribute__ ((__aligned__ (8))) c;’ does not work with
11505         xlclang version 16.01.0000.0001; the alignment directive is ignored.
11507 2019-12-12  Bruno Haible  <bruno@clisp.org>
11509         duplocale: Fix test failure on AIX 7.2 with xlclang.
11510         * lib/duplocale.c: Include <stdlib.h>.
11511         (rpl_duplocale): Use a heap-allocated copy of the first setlocale return
11512         value.
11514 2019-12-12  Bruno Haible  <bruno@clisp.org>
11516         stddef: Document the AIX xlc issue.
11517         * doc/posix-headers/stddef.texi: Document the NULL issue with AIX xlc.
11519 2019-12-12  Bruno Haible  <bruno@clisp.org>
11521         duplocale: Don't attempt to override if locale_t does not exist.
11522         Reported by Daniel Richard G. in
11523         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00039.html>.
11524         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): If locale_t does not exist, set
11525         HAVE_DUPLOCALE to 0.
11527 2019-12-12  Bruno Haible  <bruno@clisp.org>
11529         wcwidth: Avoid test failure on AIX 7.2.
11530         * tests/test-wcwidth.c (main): Don't fail if wcwidth(0x200B) is
11531         negative.
11532         * doc/posix-functions/wcwidth.texi: Mention the AIX issue.
11534 2019-12-12  Bruno Haible  <bruno@clisp.org>
11536         ilogbl: Work around Cygwin bug.
11537         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test whether ilogbl(0.0L) is
11538         correct.
11539         * doc/posix-functions/ilogbl.texi: Mention the Cygwin bug.
11541 2019-12-12  Bruno Haible  <bruno@clisp.org>
11543         strtold: Work around Cygwin bug.
11544         * m4/strtold.m4 (gl_FUNC_STRTOLD): Add test for the underflow problem.
11545         If it is present, define STRTOLD_HAS_UNDERFLOW_BUG.
11546         * lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 if
11547         STRTOLD_HAS_UNDERFLOW_BUG is defined.
11548         * doc/posix-functions/strtold.texi: Mention the Cygwin bug.
11550 2019-12-12  Bruno Haible  <bruno@clisp.org>
11552         strtold: Fix autoconf test.
11553         * m4/strtold.m4 (gl_FUNC_STRTOLD): Test strtold, not strtod.
11555 2019-12-11  Bruno Haible  <bruno@clisp.org>
11557         fsync tests: Skip test that is known to fail.
11558         * doc/posix-functions/fsync.texi: Update list of platforms.
11559         * tests/test-fsync.c (main): Skip test with read-only file descriptors
11560         that is known to fail on AIX and Cygwin.
11562 2019-12-11  Bruno Haible  <bruno@clisp.org>
11564         getaddrinfo: Fix calling convention in 32-bit mode on native Windows.
11565         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a
11566         non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define
11567         HAVE_GETADDRINFO as a C macro.
11568         * lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO,
11569         declare as replacement functions.
11570         * lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO,
11571         define as no-op overrides.
11572         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO.
11573         * modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO.
11574         * modules/getaddrinfo (Depends-on, configure.ac): Test
11575         REPLACE_GETADDRINFO.
11576         * doc/posix-functions/getaddrinfo.texi: Mention calling convention
11577         problem.
11578         * doc/posix-functions/freeaddrinfo.texi: Mention header file and calling
11579         convention problems.
11581 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
11583         dfa: prefer signed integers for internals
11584         Signed integers can be checked more easily for integer overflow.
11585         * lib/dfa.c (position, struct lexer_state, struct parser_state)
11586         (struct dfa, mbs_to_wchar, fetch_wc, parse_bracket_exp)
11587         (struct lexptr, lex, addtok_mb, add_utf8_anychar, atom)
11588         (nsubtoks, copytoks, closure, alloc_position_set, delete)
11589         (replace, state_index, epsclosure, charclass_context)
11590         (state_separate_contexts, merge_nfa_state, dfaoptimize)
11591         (dfaanalyze, build_state, dfaexec_main, dfa_supported)
11592         (maybe_disable_superset_dfa, dfassbuild, dfafree, enlist)
11593         (comsubs, inboth, allocmust):
11594         Prefer a signed to an unsigned integer when calculating indexes,
11595         unless the integer is part of the external API (a bigger deal,
11596         and to be done later).
11598         dfa: fix index overflow
11599         * lib/dfa.c (compare): Avoid integer overflow when analyzing
11600         very large regular expressions.
11602         dfa: update commentary for previous change
11603         * NEWS: Mention the change.
11604         * lib/dfa.c, lib/dfa.h (dfaparse, dfamust, dfacomp): Update comments.
11606 2019-12-11  Norihiro Tanaka  <noritnk@kcn.ne.jp>
11608         dfa: separate parse and compile phase
11609         ‘dfamust’ must be called after parsing and before tokens are
11610         reordered, but both are executed in the compilation phase.
11611         Token reordering was introduced in Gnulib commit
11612         2018-10-22T15:01:08Z!noritnk@kcn.ne.jp
11613         (5c7a0371823876cca7a1347fa09ca26bbbff0c98).
11614         * lib/dfa.c (dfaparse): Change it to global function.
11615         (dfacomp): If first argument is NULL, skip parse.
11616         * lib/dfa.h: (dfaparse): Add a prototype.
11618 2019-12-11  Bruno Haible  <bruno@clisp.org>
11620         unistd tests: Fix link error on MSVC.
11621         * modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ against
11622         $(LIB_GETLOGIN).
11624 2019-12-11  Bruno Haible  <bruno@clisp.org>
11626         doc: Document that ISO C or POSIX substitutes are supported in C++ mode.
11627         * doc/gnulib-intro.texi (Various Kinds of Modules): Document that ISO C
11628         and POSIX substitutes are supported in C++ mode.
11629         * NEWS: Likewise.
11631 2019-12-11  Bruno Haible  <bruno@clisp.org>
11633         stddef: Fix compilation error in C++ mode on MSVC.
11634         * lib/stddef.in.h (max_align_t): With MSVC in C++ mode, don't define it;
11635         instead, include <cstddef>.
11637 2019-12-11  Bruno Haible  <bruno@clisp.org>
11639         unistd: Fix compilation error in C++ mode on MSVC.
11640         * lib/unistd.in.h: Don't do include[_next] <unistd.h> if the platform
11641         does not have <unistd.h>.
11643 2019-12-11  Bruno Haible  <bruno@clisp.org>
11645         locale: Fix compilation error in C++ mode on MSVC.
11646         * m4/locale_h.m4 (gl_LOCALE_H): Don't set REPLACE_STRUCT_LCONV on MSVC.
11647         * lib/locale.in.h (int_p_cs_precedes, int_p_sign_posn,
11648         int_p_sep_by_space, int_n_cs_precedes, int_n_sign_posn,
11649         int_n_sep_by_space): Define as macros on MSVC.
11651 2019-12-11  Bruno Haible  <bruno@clisp.org>
11653         wchar: Fix compilation error in C++ mode on MSVC.
11654         * lib/wchar.in.h (mbstate_t): Don't override on MSVC.
11656 2019-12-11  Bruno Haible  <bruno@clisp.org>
11658         pthread-thread: Fix compilation error in C++ mode on MSVC.
11659         * lib/pthread.in.h (pthread_exit): Don't use _Noreturn in the
11660         _GL_CXXALIAS_RPL invocation.
11662 2019-12-08  Bruno Haible  <bruno@clisp.org>
11664         Fix compilation errors in C++ mode on Haiku.
11665         * lib/stdio.in.h (vdprintf): Disable _GL_CXXALIASWARN invocation on
11666         non-glibc systems.
11667         * lib/spawn.in.h (posix_spawnattr_getschedpolicy,
11668         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
11669         posix_spawnattr_setschedparam): Likewise.
11670         * lib/stdlib.in.h (random, initstate_r, setstate_r): Use
11671         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
11672         * lib/unistd.in.h (usleep): Likewise.
11674 2019-12-08  Bruno Haible  <bruno@clisp.org>
11676         Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64.
11677         * m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): New macro.
11678         * modules/fseeko (configure.ac-early): Require it instead of
11679         AC_FUNC_FSEEKO.
11680         * modules/ftello (configure.ac-early): Likewise.
11681         * modules/fflush (configure.ac-early): Likewise.
11683 2019-12-08  Bruno Haible  <bruno@clisp.org>
11685         Fix compilation error in C++ mode on HP-UX 11.
11686         * lib/unistd.in.h (getpagesize): Declare on HP-UX.
11687         * doc/glibc-functions/getpagesize.texi: Mention the HP-UX problem.
11689 2019-12-08  Bruno Haible  <bruno@clisp.org>
11691         Fix compilation errors on HP-UX 11/ia64.
11692         * lib/math.in.h (copysignf, fmaf, fma): Undefine before
11693         _GL_FUNCDECL_SYS.
11695 2019-12-08  Bruno Haible  <bruno@clisp.org>
11697         Fix compilation error in C++ mode on OpenBSD.
11698         * lib/signal.in.h (signal): Declare on OpenBSD.
11700 2019-12-08  Bruno Haible  <bruno@clisp.org>
11702         math tests: Don't fail if isfinite, isinf, isnan, signbit is a macro.
11703         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Use #warning
11704         instead of #error.
11706 2019-12-08  Bruno Haible  <bruno@clisp.org>
11708         Fix compilation errors in C++ mode on FreeBSD.
11709         * lib/pthread.in.h (pthread_exit): Remove _Noreturn from prototype.
11710         * tests/test-pthread-c++.cc (GNULIB_NAMESPACE::pthread_exit): Likewise.
11711         * lib/threads.in.h (thrd_exit): Likewise.
11712         * tests/test-threads-c++.cc (GNULIB_NAMESPACE::thrd_exit): Likewise.
11714 2019-12-08  Bruno Haible  <bruno@clisp.org>
11716         Fix compilation errors in C++ mode on macOS and FreeBSD.
11717         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on macOS
11718         or FreeBSD with clang, use the approach without C preprocessor macro.
11720 2019-12-07  Bruno Haible  <bruno@clisp.org>
11722         Fix compilation errors in C++ mode on AIX with xlclang++.
11723         Reported by Christian Biesinger <cbiesinger@google.com> in
11724         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
11725         * lib/wchar.in.h (mbstate_t): Don't override on AIX.
11727 2019-12-07  Bruno Haible  <bruno@clisp.org>
11729         Document compilation error in C++ mode on NetBSD 8.0.
11730         * doc/posix-headers/monetary.texi: Mention the NetBSD bug.
11732 2019-12-07  Bruno Haible  <bruno@clisp.org>
11734         Fix compilation errors in C++ mode on Solaris 10.
11735         * m4/stdbool.m4 (AM_STDBOOL_H): Require AC_CANONICAL_HOST. Set STDBOOL_H
11736         to non-empty on Solaris with a non-GCC compiler.
11737         * doc/posix-headers/stdbool.texi: Mention the Solaris issue.
11739 2019-12-07  Bruno Haible  <bruno@clisp.org>
11741         Reword NEWS entry.
11742         * NEWS: Reword the latest NEWS entry.
11744 2019-12-05  Pino Toscano  <ptoscano@redhat.com>
11746         Move xstrtol_fatal to a new xstrtol-error module.
11747         * lib/xstrtol.h: Stop including <getopt.h>.
11748         (xstrtol_fatal): Move ...
11749         * lib/xstrtol-error.h: ... here.  New file.
11750         * lib/xstrtol-error.c: Include xstrtol-error.h instead of xstrtol.h.
11751         * tests/test-xstrtol.c: Likewise.
11752         * modules/xstrtol (Files): Remove lib/xstrtol-error.c.
11753         (Depends-on): Remove exitfail, error, getopt-gnu, and gettext-h.
11754         (Makefile.am): Remove xstrtol-error.c from lib_SOURCES.
11755         * modules/xstrtol-error: New file.
11756         * modules/xstrtol-tests (Depends-on): Add xstrtol-error.
11757         * MODULES.html.sh: Add xstrtol-error.
11758         * NEWS: Document the change.
11760 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
11762         nstrftime: better width support for %N, %z
11763         * lib/nstrftime.c (width_add, width_add1, width_cpy):
11764         New macros, which generalize ‘add’, ‘add1’, ‘cpy’ by adding
11765         a new WIDTH parameter.
11766         (add, add1, cpy): Use these macros.
11767         (width_add): Do not treat digits == 0 as a special case,
11768         do not pad if padding is ‘-’, and do not use a negative width.
11769         (__strftime_internal): Redo formatting of nanoseconds and numeric
11770         timezones to avoid buffer misuse in unusual cases, and so that
11771         widths make more sense.  Add support for widths greater than 9 to
11772         the %N format; they are zero filled on the right.
11773         * tests/test-nstrftime.c (posixtm_test): Add a %12N test.
11775 2019-12-05  Bruno Haible  <bruno@clisp.org>
11777         Fix compilation errors in C++ mode on Solaris 10 and Solaris 11.
11778         * m4/isfinite.m4 (gl_ISFINITE): Require AC_CANONICAL_HOST. On Solaris,
11779         set REPLACE_ISFINITE to 1.
11780         * m4/isinf.m4 (gl_ISINF): Require AC_CANONICAL_HOST. On Solaris, set
11781         REPLACE_ISINF to 1.
11782         * m4/signbit.m4 (gl_SIGNBIT): On Solaris, set REPLACE_SIGNBIT to 1.
11783         * lib/pthread.in.h (pthread_create, pthread_once, pthread_key_create):
11784         Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
11785         * lib/threads.in.h (call_once): Likewise.
11786         * lib/iconv.in.h (iconv): Likewise.
11788 2019-12-05  Bruno Haible  <bruno@clisp.org>
11790         wchar: Add more C++ tests.
11791         Reported by Christian Biesinger <cbiesinger@google.com> in
11792         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
11793         * tests/test-wchar-c++3.cc: New file.
11794         * modules/wchar-c++-tests (Files): Add it.
11795         (Makefile.am): Compile it.
11797 2019-12-05  Bruno Haible  <bruno@clisp.org>
11799         Add more C++ tests.
11801         assert-h: Add C++ tests.
11802         * tests/test-assert-h-c++.cc: New file.
11803         * tests/test-assert-h-c++2.cc: New file.
11804         * modules/assert-h-c++-tests: New file.
11805         * modules/assert-h-tests: New file.
11807         ctype: Add C++ tests.
11808         * tests/test-ctype-c++.cc: New file.
11809         * tests/test-ctype-c++2.cc: New file.
11810         * modules/ctype-c++-tests: New file.
11811         * modules/ctype-tests (Depends-on): Add ctype-c++-tests.
11813         errno: Add C++ tests.
11814         * tests/test-errno-c++.cc: New file.
11815         * tests/test-errno-c++2.cc: New file.
11816         * modules/errno-c++-tests: New file.
11817         * modules/errno-tests (Depends-on): Add errno-c++-tests.
11819         float: Add C++ tests.
11820         * tests/test-float-c++.cc: New file.
11821         * tests/test-float-c++2.cc: New file.
11822         * modules/float-c++-tests: New file.
11823         * modules/float-tests (Depends-on): Add float-c++-tests.
11825         inttypes: Add more C++ tests.
11826         * tests/test-inttypes-c++2.cc: New file.
11827         * modules/inttypes-c++-tests (Files): Add it.
11828         (Makefile.am): Compile it.
11830         limits-h: Add C++ tests.
11831         * tests/test-limits-h-c++.cc: New file.
11832         * tests/test-limits-h-c++2.cc: New file.
11833         * modules/limits-h-c++-tests: New file.
11834         * modules/limits-h-tests (Depends-on): Add limits-h-c++-tests.
11836         stdarg: Add C++ tests.
11837         * tests/test-stdarg-c++.cc: New file.
11838         * tests/test-stdarg-c++2.cc: New file.
11839         * modules/stdarg-c++-tests: New file.
11840         * modules/stdarg-tests: New file.
11842         stdbool: Add C++ tests.
11843         * tests/test-stdbool-c++.cc: New file.
11844         * tests/test-stdbool-c++2.cc: New file.
11845         * modules/stdbool-c++-tests: New file.
11846         * modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.
11848         stddef: Add C++ tests.
11849         * tests/test-stddef-c++.cc: New file.
11850         * tests/test-stddef-c++2.cc: New file.
11851         * modules/stddef-c++-tests: New file.
11852         * modules/stddef-tests (Depends-on): Add stddef-c++-tests.
11854         stdint: Add C++ tests.
11855         * tests/test-stdint-c++.cc: New file.
11856         * tests/test-stdint-c++2.cc: New file.
11857         * modules/stdint-c++-tests: New file.
11858         * modules/stdint-tests (Depends-on): Add stdint-c++-tests.
11860         wchar: Add more C++ tests.
11861         * tests/test-wchar-c++2.cc: New file.
11862         * modules/wchar-c++-tests (Files): Add it.
11863         (Makefile.am): Compile it.
11865         wctype-h: Add more C++ tests.
11866         * tests/test-wctype-h-c++2.cc: New file.
11867         * modules/wctype-h-c++-tests (Files): Add it.
11868         (Makefile.am): Compile it.
11870 2019-12-04  Bruno Haible  <bruno@clisp.org>
11872         Fix compilation errors in C++ mode with xlclang++ on AIX.
11873         * lib/math.in.h (expm1l, fmal, remainderl, roundl): Don't redeclare in
11874         C++ mode on AIX.
11875         (isfinite, signbit): In C++ mode on AIX with clang, use the approach
11876         without C preprocessor macro.
11877         * lib/pthread.in.h (pthread_exit): Use _GL_CXXALIAS_SYS_CAST instead of
11878         _GL_CXXALIAS_SYS.
11879         * lib/threads.in.h (thrd_exit): Likewise.
11881 2019-12-04  Bruno Haible  <bruno@clisp.org>
11883         Fix compilation error in C++ mode on Solaris 11 OpenIndiana.
11884         * lib/wchar.in.h (wcsnrtombs): Force declaration in C++ mode on Solaris.
11885         * doc/posix-functions/wcsnrtombs.texi: Mention the issue.
11887 2019-12-04  Bruno Haible  <bruno@clisp.org>
11889         Disable more _GL_CXXALIASWARN on all platforms other than glibc systems.
11890         * lib/wchar.in.h (wcsnrtombs, wcwidth, wcswidth): Disable
11891         _GL_CXXALIASWARN invocation on non-glibc systems.
11892         * lib/wctype.in.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph,
11893         iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, wctype,
11894         iswctype, towlower, towupper): Likewise.
11896 2019-12-03  Bruno Haible  <bruno@clisp.org>
11898         Avoid hassles caused by [[noreturn]] in C++.
11899         Reported by Christian Biesinger <cbiesinger@google.com> in
11900         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00010.html>.
11901         * m4/gnulib-common.m4 (gl_COMMON_BODY): Disable the use of [[noreturn]].
11902         * lib/_Noreturn.h: Likewise.
11904 2019-12-02  Bruno Haible  <bruno@clisp.org>
11906         Fix mistakes in --enable-threads=isoc fixes from 2019-12-01.
11907         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Use LIBPMULTITHREAD, not
11908         LIBMULTITHREAD.
11909         * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
11910         * m4/pthread-thread.m4 (gl_PTHREAD_THREAD): Likewise.
11911         * m4/timer_time.m4 (gl_TIMER_TIME): Likewise. Require gl_PTHREADLIB, not
11912         gl_THREADLIB.
11913         * modules/timer-time (Depends-on): Add pthread-h. Remove threadlib.
11915 2019-12-02  Bruno Haible  <bruno@clisp.org>
11917         Fix some more link errors with --enable-threads=isoc.
11918         * modules/pthread-mutex (Depends-on): Test $gl_threads_api differently.
11919         * modules/pthread-rwlock (Depends-on): Likewise.
11921 2019-12-02  Bruno Haible  <bruno@clisp.org>
11923         Fix link errors with --enable-threads=posix on AIX.
11924         * modules/string-c++-tests (Makefile.am): Link the test-string-c++
11925         program with $(LIBTHREAD).
11926         * modules/wchar-c++-tests (Makefile.am): Link the test-wchar-c++
11927         program with $(LIBTHREAD).
11929 2019-12-02  Bruno Haible  <bruno@clisp.org>
11931         Fix link errors with --enable-threads=posix on AIX.
11932         * modules/mbrtowc (Link): New section.
11933         * modules/acl (Link): Likewise.
11934         * modules/argmatch (Link): Likewise.
11935         * modules/backup-rename (Link): Likewise.
11936         * modules/backupfile (Link): Likewise.
11937         * modules/closein (Link): Likewise.
11938         * modules/closeout (Link): Likewise.
11939         * modules/copy-file (Link): Likewise.
11940         * modules/csharpcomp (Link): Likewise.
11941         * modules/csharpexec (Link): Likewise.
11942         * modules/dfa (Link): Likewise.
11943         * modules/exclude (Link): Likewise.
11944         * modules/fnmatch (Link): Likewise.
11945         * modules/fnmatch-gnu (Link): Likewise.
11946         * modules/fnmatch-posix (Link): Likewise.
11947         * modules/glob (Link): Likewise.
11948         * modules/human (Link): Likewise.
11949         * modules/javacomp (Link): Likewise.
11950         * modules/javaexec (Link): Likewise.
11951         * modules/javaversion (Link): Likewise.
11952         * modules/mbfile (Link): Likewise.
11953         * modules/mbiter (Link): Likewise.
11954         * modules/mbmemcasecmp (Link): Likewise.
11955         * modules/mbmemcasecoll (Link): Likewise.
11956         * modules/mbrlen (Link): Likewise.
11957         * modules/mbscasecmp (Link): Likewise.
11958         * modules/mbscasestr (Link): Likewise.
11959         * modules/mbschr (Link): Likewise.
11960         * modules/mbscspn (Link): Likewise.
11961         * modules/mbsinit (Link): Likewise.
11962         * modules/mbslen (Link): Likewise.
11963         * modules/mbsncasecmp (Link): Likewise.
11964         * modules/mbsnlen (Link): Likewise.
11965         * modules/mbsnrtowcs (Link): Likewise.
11966         * modules/mbspbrk (Link): Likewise.
11967         * modules/mbspcasecmp (Link): Likewise.
11968         * modules/mbsrchr (Link): Likewise.
11969         * modules/mbsrtowcs (Link): Likewise.
11970         * modules/mbssep (Link): Likewise.
11971         * modules/mbsspn (Link): Likewise.
11972         * modules/mbsstr (Link): Likewise.
11973         * modules/mbstok_r (Link): Likewise.
11974         * modules/mbswidth (Link): Likewise.
11975         * modules/mbuiter (Link): Likewise.
11976         * modules/mkdir-p (Link): Likewise.
11977         * modules/propername (Link): Likewise.
11978         * modules/quote (Link): Likewise.
11979         * modules/quotearg (Link): Likewise.
11980         * modules/quotearg-simple (Link): Likewise.
11981         * modules/regex-quote (Link): Likewise.
11982         * modules/rpmatch (Link): Likewise.
11983         * modules/sh-quote (Link): Likewise.
11984         * modules/system-quote (Link): Likewise.
11985         * modules/trim (Link): Likewise.
11986         * modules/unistdio/ulc-asnprintf (Link): Likewise.
11987         * modules/unistdio/ulc-fprintf (Link): Likewise.
11988         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
11989         * modules/unistdio/ulc-vasprintf (Link): Likewise.
11990         * modules/unistdio/ulc-vfprintf (Link): Likewise.
11991         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
11992         * modules/unistdio/ulc-vsprintf (Link): Likewise.
11993         * modules/xfreopen (Link): Likewise.
11994         * modules/xmemcoll (Link): Likewise.
11995         * modules/yesno (Link): Likewise.
11996         * modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD).
11997         * modules/argmatch-tests (Makefile.am): Likewise.
11998         * modules/closein-tests (Makefile.am): Likewise.
11999         * modules/copy-file-tests (Makefile.am): Likewise.
12000         * modules/dfa-tests (Makefile.am): Likewise.
12001         * modules/fnmatch-tests (Makefile.am): Likewise.
12002         * modules/glob-tests (Makefile.am): Likewise.
12003         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
12004         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
12005         * modules/mbrtowc-tests (Makefile.am): Likewise.
12006         * modules/mbscasecmp-tests (Makefile.am): Likewise.
12007         * modules/mbscasestr-tests (Makefile.am): Likewise.
12008         * modules/mbschr-tests (Makefile.am): Likewise.
12009         * modules/mbscspn-tests (Makefile.am): Likewise.
12010         * modules/mbsinit-tests (Makefile.am): Likewise.
12011         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
12012         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
12013         * modules/mbspbrk-tests (Makefile.am): Likewise.
12014         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
12015         * modules/mbsrchr-tests (Makefile.am): Likewise.
12016         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
12017         * modules/mbsspn-tests (Makefile.am): Likewise.
12018         * modules/mbsstr-tests (Makefile.am): Likewise.
12019         * modules/quotearg-tests (Makefile.am): Likewise.
12020         * modules/quotearg-simple-tests (Makefile.am): Likewise.
12021         * modules/readtokens-tests (Makefile.am): Likewise.
12022         * modules/regex-quote-tests (Makefile.am): Likewise.
12023         * modules/sh-quote-tests (Makefile.am): Likewise.
12024         * modules/system-quote-tests (Makefile.am): Likewise.
12025         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
12026         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
12027         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
12028         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
12029         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
12030         * modules/yesno-tests (Makefile.am): Likewise.
12032 2019-12-02  Bruno Haible  <bruno@clisp.org>
12034         Simplify link sections.
12035         * modules/threadlib (Link): Stop mentioning LTLIBTHREAD.
12036         * modules/lock (Link): Likewise.
12037         * modules/cond (Link): Likewise.
12038         * modules/tls (Link): Likewise.
12039         * modules/yield (Link): Likewise.
12040         * modules/regex (Link): Likewise.
12041         * modules/localename (Link): Likewise.
12042         * modules/unicase/locale-language (Link): Likewise.
12043         * modules/thread (Link): Stop mentioning LTLIBMULTITHREAD.
12045 2019-12-02  Bruno Haible  <bruno@clisp.org>
12047         thread tests: Avoid link error with --enable-threads=isoc+posix on AIX.
12048         * tests/test-thread_self.c (main): Disable test on AIX.
12050 2019-12-01  Bruno Haible  <bruno@clisp.org>
12052         pthread-h: Fix link errors with --enable-threads=isoc on AIX.
12053         * m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
12054         gl_THREADLIB_EARLY_BODY.
12055         (gl_THREADLIB_EARLY_BODY): Invoke it.
12056         (gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
12057         (gl_THREADLIB_BODY): Invoke it.
12058         (gl_PTHREADLIB): New macro.
12059         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
12060         gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
12061         present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
12062         * modules/pthread-h (Files): Add threadlib.m4.
12063         (Depends-on): Remove threadlib.
12064         (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
12065         and _THREAD_SAFE here.
12066         (Link): Use LIBPTHREAD, not LIBTHREAD.
12067         * modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
12068         LIBMULTITHREAD.
12069         * modules/pthread-once (Link): Likewise.
12070         * modules/pthread-mutex (Link): Likewise.
12071         * modules/pthread-rwlock (Link): Likewise.
12072         * modules/pthread-cond (Link): Likewise.
12073         * modules/pthread-tss (Link): Likewise.
12074         * modules/pthread-spin (Link): Likewise.
12075         * modules/pthread (Link): Likewise.
12076         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
12077         * modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
12078         * modules/pthread-once-tests (test_pthread_once1_LDADD,
12079         test_pthread_once2_LDADD): Likewise.
12080         * modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
12081         * modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
12082         * modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
12083         * modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.
12085 2019-12-01  Bruno Haible  <bruno@clisp.org>
12087         cond: State linking requirements.
12088         * modules/cond (Link): New section.
12090 2019-12-01  Bruno Haible  <bruno@clisp.org>
12092         threadlib: Remove unnecessary file (left over from 2019-07-06).
12093         * modules/threadlib (Files): Remove config.rpath.
12095 2019-11-29  Tim Rühsen  <tim.ruehsen@gmx.de>
12097         gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.
12098         Reported by Dagobert Michelsen <dam@opencsw.org> in
12099         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>.
12100         * pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a
12101         list of strings instead of one string.
12102         * pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly.
12103         * pygnulib/GLImport.py (execute): Likewise.
12105 2019-11-27  Bruno Haible  <bruno@clisp.org>
12107         openpty, forkpty: Fix build error on Solaris 11.4.
12108         * m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
12109         also in <termios.h>.
12110         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
12111         of the function also in <termios.h>.
12112         * doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
12113         * doc/glibc-functions/forkpty.texi: Likewise.
12115 2019-11-27  Bruno Haible  <bruno@clisp.org>
12117         New options --enable-threads=isoc and --enable-threads=isoc+posix.
12118         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Accept the options
12119         --enable-threads=isoc and --enable-threads=isoc+posix.
12120         (gl_THREADLIB_BODY): Test whether the ISO C threads API is available.
12121         When both the ISO C and the POSIX threads API are available, choose
12122         USE_ISOC_AND_POSIX_THREADS instead of USE_POSIX_THREADS if
12123         --enable-threads=isoc+posix was specified. When only the ISO C threads
12124         API is available and --enable-threads=iso was specified, choose
12125         USE_ISOC_THREADS.
12126         * lib/glthread/lock.h: Add new code for USE_ISOC_THREADS ||
12127         USE_ISOC_AND_POSIX_THREADS.
12128         * lib/glthread/lock.c: Likewise.
12129         * lib/glthread/cond.h: Likewise.
12130         * lib/glthread/cond.c: Likewise.
12131         * lib/glthread/tls.h: Likewise.
12132         * lib/glthread/tls.c: Likewise.
12133         * lib/glthread/yield.h: Likewise.
12134         * lib/glthread/thread.h: Add new code for USE_ISOC_THREADS. Treat
12135         USE_ISOC_AND_POSIX_THREADS like USE_POSIX_THREADS.
12136         * lib/glthread/thread.c: Likewise.
12137         * lib/glthread/threadlib.c: Likewise.
12138         * tests/test-lock.c: Save and restore the values of USE_ISOC_THREADS and
12139         USE_ISOC_AND_POSIX_THREADS.
12140         * tests/test-cond.c: Consider USE_ISOC_THREADS and
12141         USE_ISOC_AND_POSIX_THREADS.
12142         * tests/test-tls.c: Likewise.
12143         * tests/test-thread_create.c (main): Likewise.
12144         * tests/test-pthread-cond.c: Likewise.
12145         * tests/test-pthread-mutex.c: Likewise.
12146         * tests/test-pthread-once2.c: Likewise.
12147         * tests/test-pthread-rwlock.c: Likewise.
12148         * tests/test-pthread-tss.c: Likewise.
12149         * tests/test-pthread_sigmask2.c: Treat USE_ISOC_AND_POSIX_THREADS like
12150         USE_POSIX_THREADS.
12152 2019-11-24  Bruno Haible  <bruno@clisp.org>
12154         mbrtowc: Modernize autoconf test.
12155         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Require
12156         gt_LOCALE_FR_UTF8. If a traditional Japanese locale is not available,
12157         try a UTF-8 locale.
12158         * doc/posix-functions/mbrtowc.texi: Update info about AIX.
12160 2019-11-24  Bruno Haible  <bruno@clisp.org>
12162         Fix errors in C++ mode on mingw.
12163         * lib/arpa_inet.in.h (inet_ntop, inet_pton): Use _GL_CXXALIAS_SYS_CAST
12164         instead of _GL_CXXALIAS_SYS.
12165         * lib/signal.in.h (pthread_sigmask): Likewise.
12166         * lib/spawn.in.h (posix_spawn_file_actions_addopen,
12167         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
12168         Likewise.
12169         * lib/wchar.in.h (btowc): Likewise.
12171 2019-11-24  Bruno Haible  <bruno@clisp.org>
12173         sys_time: Fix errors in C++ mode on mingw.
12174         * lib/sys_time.in.h (timeval): Restore the redirection
12175         '#define timeval rpl_timeval', for when the symbol timeval is being used
12176         outside the 'gnulib' namespace.
12177         * lib/sys_select.in.h (select): In C++, write 'timeval', not
12178         'struct timeval'.
12180 2019-11-24  Bruno Haible  <bruno@clisp.org>
12182         iswctype: Fix errors in C++ mode on mingw.
12183         * lib/wctype.in.h (rpl_iswctype): Override if GNULIB_OVERRIDES_WINT_T
12184         is 1.
12185         * lib/iswctype.c (iswctype): Add another implementation, for the
12186         GNULIB_defined_wint_t case.
12187         * modules/iswctype (configure.ac): Compile iswctype.c also if
12188         GNULIB_OVERRIDES_WINT_T is 1.
12190 2019-11-24  Bruno Haible  <bruno@clisp.org>
12192         windows-timedmutex: Fix errors in C++ mode on mingw.
12193         * lib/windows-timedmutex.h: Add closing brace.
12195 2019-11-24  Bruno Haible  <bruno@clisp.org>
12197         Fix errors in C++ mode on Cygwin.
12198         * lib/sys_wait.in.h (waitpid): Use _GL_CXXALIAS_SYS_CAST instead of
12199         _GL_CXXALIAS_SYS.
12201 2019-11-24  Bruno Haible  <bruno@clisp.org>
12203         time_r: Fix for mingw (regression from 2019-11-16).
12204         * m4/time_r.m4 (gl_TIME_R): Revert to using AC_CHECK_FUNCS_ONCE. Use the
12205         AC_LINK_IFELSE test only if the function does not appear to exist.
12207 2019-11-24  Bruno Haible  <bruno@clisp.org>
12209         wcstok: Add tests.
12210         * tests/test-wcstok.c: New file.
12211         * modules/wcstok-tests: New file.
12213 2019-11-24  Bruno Haible  <bruno@clisp.org>
12215         wcstok: Work around wrong signature on native Windows.
12216         * lib/wchar.in.h (wcstok): Override when REPLACE_WCSTOK is 1.
12217         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Check for signature of wcstok. Set
12218         REPLACE_WCSTOK.
12219         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSTOK.
12220         * modules/wchar (Makefile.am): Substitute REPLACE_WCSTOK.
12221         * modules/wcstok (Depends-on, configure.ac): Consider REPLACE_WCSTOK.
12222         * doc/posix-functions/wcstok.texi: Mention the problem.
12224 2019-11-22  Paul Eggert  <eggert@cs.ucla.edu>
12226         intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
12227         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 8.x where 4 <= x,
12228         remove workaround for GCC bug 91450 as the bug should be fixed
12229         there too.
12231 2019-11-21  Bruno Haible  <bruno@clisp.org>
12233         Disable many _GL_CXXALIASWARN on all platforms other than glibc systems.
12234         Reported by Christian Biesinger <cbiesinger@google.com> in
12235         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>.
12236         * lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on
12237         non-glibc systems.
12238         * lib/locale.in.h (localeconv, setlocale): Likewise.
12239         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
12240         frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder,
12241         rint, round, trunc): Likewise.
12242         * lib/monetary.in.h (strfmon_l): Likewise.
12243         * lib/pthread.in.h (pthread_mutexattr_getrobust,
12244         pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init,
12245         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock,
12246         pthread_spin_destroy): Likewise.
12247         * lib/signal.in.h (raise, signal): Likewise.
12248         * lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc,
12249         fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar,
12250         perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf,
12251         tmpfile, vfprintf, vprintf, vsprintf): Likewise.
12252         * lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb):
12253         Likewise.
12254         * lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror):
12255         Likewise.
12256         * lib/time.in.h (mktime, localtime, ctime, strftime): Likewise.
12257         * lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs,
12258         wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
12259         wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll,
12260         wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok,
12261         wcsftime): Likewise.
12262         * lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.
12264 2019-11-21  Bruno Haible  <bruno@clisp.org>
12266         Fix various errors in _GL_CXXALIAS_SYS invocations.
12267         * lib/locale.in.h (freelocale): Use _GL_CXXALIAS_SYS_CAST instead of
12268         _GL_CXXALIAS_SYS.
12269         * lib/pthread.in.h (pthread_mutexattr_gettype,
12270         pthread_mutexattr_getrobust): Likewise.
12271         * lib/stdlib.in.h (srandom, initstate, setstate): Likewise.
12272         * lib/sys_socket.in.h (recv, send): Likewise.
12273         * lib/unistd.in.h (getdtablesize): Likewise.
12274         * lib/sys_select.in.h (select): In C++, write 'timeval' instead of
12275         'struct timeval'.
12277 2019-11-21  Bruno Haible  <bruno@clisp.org>
12279         math tests: Update after 2019-08-28 change.
12280         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Expect a
12281         return type of 'bool', not 'int'.
12283 2019-11-21  Bruno Haible  <bruno@clisp.org>
12285         pthread-spin: Fix errors in C++ mode.
12286         * m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Mark the pthread_spin_*
12287         functions as nonexistent when <pthread.h> exists but does not define
12288         the pthread_spinlock_t type.
12290 2019-11-21  Bruno Haible  <bruno@clisp.org>
12292         pthread-mutex: Fix errors in C++ mode.
12293         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Test whether
12294         pthread_mutexattr_getrobust exists. If not, define
12295         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
12296         * lib/pthread-mutex.c (pthread_mutexattr_getrobust,
12297         pthread_mutexattr_setrobust): Define also if <pthread.h> exists but
12298         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
12299         * modules/pthread-mutex (configure.ac): Compile pthread-mutex.c also
12300         when <pthread.h> exists but pthread_mutexattr_getrobust needs a gnulib
12301         definition.
12303 2019-11-19  Bruno Haible  <bruno@clisp.org>
12305         threads-h tests: Fix typo.
12306         * tests/test-threads-c++.cc: Fix references to undefined type 'mtx'.
12308 2019-11-19  Bruno Haible  <bruno@clisp.org>
12310         pthread-thread: Fix prototype of pthread_attr_getdetachstate.
12311         * lib/pthread.in.h (pthread_attr_getdetachstate): Change first parameter
12312         to 'const pthread_attr_t *'.
12313         * lib/pthread-thread.c (pthread_attr_getdetachstate): Likewise.
12314         * tests/test-pthread-c++.cc (pthread_attr_getdetachstate): Likewise.
12316 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
12318         intprops: speed up INT_MULTIPLY_WRAPV in GCC 9.3
12319         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 9.3 or later, do not
12320         work around GCC bug 91450 as the bug should be fixed there.
12322 2019-11-18  Paul Eggert  <eggert@cs.ucla.edu>
12324         glob: get closer to glibc glob.c
12325         Omit differences from glibc when the differences don’t matter.
12326         * lib/glob.c [_LIBC]: Include shlib-compat.h.
12327         (__glob) [!_LIBC]: New macro.  All uses of glob changed to __glob.
12328         (glob_lstat): New function.
12329         (glob_in_dir): Use it.
12330         (GLOB_ATTRIBUTE): Define to empty if not already defined.
12331         Use changed.
12333 2019-11-18  Bruno Haible  <bruno@clisp.org>
12335         stdint: Define [u]intptr_t correctly on 64-bit native Windows.
12336         * lib/stdint.in.h (gl_intptr_t, gl_uintptr_t, INTPTR_MIN, INTPTR_MAX,
12337         UINTPTR_MAX): Consider _WIN64.
12338         * tests/test-stdint.c: Verify that [u]intptr_t is large enough to hold
12339         a pointer.
12341 2019-11-18  Bruno Haible  <bruno@clisp.org>
12343         stdint: Fix value of WINT_MAX when we override wint_t.
12344         * lib/stdint.in.h (WINT_MIN, WINT_MAX): Don't override a second time
12345         when GNULIB_OVERRIDES_WINT_T is 1.
12347 2019-11-18  Bruno Haible  <bruno@clisp.org>
12349         vcs-to-changelog: New module.
12350         * modules/vcs-to-changelog: New file.
12351         * MODULES.html.sh (func_all_modules): Add it.
12353 2019-11-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
12355         vcs-to-changelog: New script to generate ChangeLog-like output.
12356         Discussion:
12357         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00062.html>
12358         * build-aux/vcs_to_changelog.py: New file.
12359         * build-aux/vcstocl/frontend_c.py: New file.
12360         * build-aux/vcstocl/misc_util.py: New file.
12361         * build-aux/vcstocl/vcs_git.py: New file.
12363 2019-11-18  Bruno Haible  <bruno@clisp.org>
12365         stdint: Avoid triggering a "conflicting types" error on mingw 5.22.
12366         Reported by Keith Marshall <keith@users.osdn.me> in
12367         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00044.html>
12368         and <https://osdn.net/projects/mingw/ticket/39677>.
12369         * lib/stdint.in.h (intptr_t, uintptr_t): Don't define if the types have
12370         already been defined by mingw's <crtdefs.h>.
12372 2019-11-18  Bruno Haible  <bruno@clisp.org>
12374         gnulib-tool: Fix build error on macOS with --conditional-dependencies.
12375         * gnulib-tool (func_modules_add_dummy): Ignore modules that are
12376         conditionally enabled.
12378 2019-11-18  Bruno Haible  <bruno@clisp.org>
12380         gc: Mirror libgcrypt.m4 from libgcrypt.
12381         * config/srclistvars.sh (LIBGCRYPT): New variable.
12382         * config/srclist.txt: Use it to fetch m4/libgcrypt.m4.
12384 2019-11-17  Bruno Haible  <bruno@clisp.org>
12386         locale, localename: Improve z/OS support.
12387         Reported by Daniel Richard G. in
12388         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
12389         * m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
12390         gl_LOCALE_H.
12391         (gl_LOCALE_H): Require it.
12392         * m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
12393         defined, don't even check for newlocale, duplocale, freelocale.
12394         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
12395         locale_t is not defined.
12397 2019-11-17  Bruno Haible  <bruno@clisp.org>
12399         havelib: Make libdirstems processing more flexible.
12400         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Set 3 libdirstem
12401         variables: Consider 'lib' always, also on Solaris. Look for lib32 in
12402         addition to lib64. Don't invoke /usr/bin/gcc (reverting the second
12403         patch from 2017-02-19).
12404         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Consider up to 3 additional
12405         libdirs, even when the first one exists as a directory.
12407 2019-11-17  Bruno Haible  <bruno@clisp.org>
12409         havelib: Match the bitness when searching for libraries.
12410         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Define a function
12411         acl_is_expected_elfclass.
12412         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When testing whether a library
12413         file exists, in ELF, also test whether it has the ELF class that
12414         corresponds to the host's bitness.
12416 2019-11-17  Bruno Haible  <bruno@clisp.org>
12418         host-cpu-c-abi: Add support for unknown CPUs.
12419         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Set
12420         gl_cv_host_cpu_c_abi_32bit to 'unknown' if we don't know whether it's
12421         32-bit or 64-bit.
12423 2019-11-17  Bruno Haible  <bruno@clisp.org>
12425         havelib: Remove redundant code.
12426         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Remove Solaris specific
12427         test for 64-bit host. Use gl_HOST_CPU_C_ABI_32BIT result instead.
12429 2019-11-17  Bruno Haible  <bruno@clisp.org>
12431         havelib: Fix a bug in dependency processing.
12432         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): During dependency processing
12433         of .la files, don't overwrite the value of additional_libdir for the
12434         next rounds.
12436 2019-11-16  Bruno Haible  <bruno@clisp.org>
12438         wctype-h: When overriding wint_t, override also the related functions.
12439         Reported by Christian Biesinger <cbiesinger@google.com> in
12440         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00027.html>.
12441         * m4/wctype_h.m4 (gl_WCTYPE_H): When GNULIB_OVERRIDES_WINT_T is 1, set
12442         REPLACE_ISWCNTRL to 1.
12443         * lib/wctype.in.h (rpl_iswalnum, rpl_iswalpha, rpl_iswblank,
12444         rpl_iswcntrl, rpl_iswdigit, rpl_iswgraph, rpl_iswlower, rpl_iswprint,
12445         rpl_iswpunct, rpl_iswspace, rpl_iswupper, rpl_iswxdigit, rpl_towlower,
12446         rpl_towupper): New definitions when GNULIB_OVERRIDES_WINT_T is 1.
12447         * doc/posix-headers/wchar.texi: Mention that wint_t is also overridden
12448         on mingw.
12449         * doc/posix-headers/wctype.texi: Likewise.
12451 2019-11-16  Bruno Haible  <bruno@clisp.org>
12453         time_r: Fix for mingw.
12454         Reported by Christian Biesinger <cbiesinger@google.com> in
12455         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00014.html>.
12456         * lib/time.in.h: On mingw, include <unistd.h>.
12457         * m4/time_r.m4 (gl_TIME_R): On mingw, include <unistd.h> before
12458         <time.h>. Test for localtime_r in a way that works when it is defined
12459         as an inline function.
12461 2019-11-13  Bruno Haible  <bruno@clisp.org>
12463         havelib: Revert last change.
12464         * build-aux/config.rpath: Revert last change. We can add msys2 support
12465         when it has been added to libtool.m4 upstream.
12467 2019-11-09  Paul Eggert  <eggert@cs.ucla.edu>
12469         config: add msys support
12470         Requested by Arnold Robbins in:
12471         https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
12472         He also requested a change to config.guess, which I’ll forward
12473         upstream.
12474         * build-aux/ar-lib (func_file_conv):
12475         * build-aux/compile (func_file_conv):
12476         * build-aux/config.rpath (wl, with_gnu_ld)
12477         (hardcode_libdir_flag_spec, libext, shrext, library_names_spec):
12478         Treat msys like cygwin.
12480 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
12482         regex: now back in sync with glibc
12483         * config/srclist.txt: regcomp.c, regex_internal.c, regex_internal.h,
12484         regexec.c got merged into glibc and are now copies again.
12486 2019-10-27  Bruno Haible  <bruno@clisp.org>
12488         host-cpu-c-abi: Recognize i386 and a couple of other CPUs as 32-bit.
12489         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Include i386 in the case
12490         statement.
12491         (gl_HOST_CPU_C_ABI_32BIT): Likewise. Also recognize a couple of other
12492         32-bit CPUs.
12494 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
12496         timespec-add, timespec-sub: simplify
12497         * lib/timespec-add.c (timespec_add):
12498         * lib/timespec-sub.c (timespec_sub):
12499         Simplify, now that INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
12500         work on unsigned integers.
12502 2019-10-23  Paul Eggert  <eggert@cs.ucla.edu>
12504         nstrftime: speed up integer overflow checking
12505         * lib/nstrftime.c: Include intprops.h.
12506         (INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn.
12507         (__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV
12508         instead of doing it by hand.
12509         * modules/nstrftime (Depends-on): Add intprops.
12511         Port better to GCC under macOS
12512         Work around macOS header that has ‘#define __has_builtin(x) 0’
12513         when compiled by GCC.  Apple really, really doesn’t want you to
12514         use GCC, apparently.  Rroblem reported by Akim Demaille in:
12515         https://lists.gnu.org/r/bug-bison/2019-10/msg00071.html
12516         The fix is to not trust __has_builtin when being compiled by
12517         recent-enough GCC.
12518         * lib/intprops.h (__has_builtin)
12519         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
12520         * lib/verify.h (__has_builtin, _GL_HAS___builtin_unreachable)
12521         (_GL_HAS___builtin_trap, _GL_TEMPDEF___has_builtin):
12522         Remove.  All uses removed.
12523         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Use __has_builtin
12524         directly, if defined and if not newer GCC.
12525         * lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
12526         New macro, that use __has_builtin directly, if defined and if
12527         not newer GCC.
12528         (assume): Use them.
12530 2019-10-22  Akim Demaille  <akim@lrde.epita.fr>
12532         maintainer-makefile: update rule for argmatch.
12533         * top/maint.mk (sc_prohibit_argmatch_without_use): Add ARGMATCH_DEFINE_GROUP.
12535 2019-10-21  Akim Demaille  <akim@lrde.epita.fr>
12537         bitset: let freeing functions accept NULL.
12538         * lib/bitset.c (bitset_free, bitset_obstack_free): Do nothing if
12539         given NULL.
12540         * lib/bitset.h: Document that.
12541         * doc/bitset.texi: Fix the example, and demonstrate bitset_free.
12543 2019-10-15  Paul Eggert  <eggert@cs.ucla.edu>
12545         inttypes: use more-robust test for int range
12546         This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
12547         Problem reported by Dagobert Michelsen in:
12548         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
12549         * lib/inttypes.in.h: Rely only on limits.h when checking
12550         int range.
12552 2019-10-15  Bruno Haible  <bruno@clisp.org>
12554         libtextstyle-optional: Sync with current not-yet-released libtextstyle.
12555         * libtextstyle-optional (styled_ostream_get_hyperlink_ref,
12556         styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
12557         term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
12558         term_ostream_set_hyperlink): New functions.
12559         (term_styled_ostream_get_hyperlink_ref,
12560         term_styled_ostream_get_hyperlink_id,
12561         term_styled_ostream_set_hyperlink): New function aliases.
12563 2019-10-14  Paul Eggert  <eggert@cs.ucla.edu>
12565         update-copyright: use en dashes in .texi ranges
12566         * build-aux/update-copyright: Match year ranges like "1998--2019",
12567         which are used in the Autoconf manual.  Also, update ranges in
12568         .tex, .texi, and .texinfo files to use en dashes instead of
12569         hyphens.
12571 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12573         * config/srclist.txt: Remove posix/regex_internal.c for now.
12575 2019-10-13  Bruno Haible  <bruno@clisp.org>
12577         git-version-gen: Allow 'snapshot' as .tarball-version contents.
12578         * build-aux/git-version-gen: Don't map non-numeric .tarball-version
12579         contents to the empty string.
12581 2019-10-12  Bruno Haible  <bruno@clisp.org>
12583         intprops tests: Fix compilation errors on HP-UX/ia64 with cc.
12584         * tests/test-intprops.c (main): Disable two more tests when using
12585         HP-UX cc.
12587 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
12589         Simplify and regularize regex use of ‘assert’
12590         Also, tell GCC about the asserts even when compiling without
12591         debugging, to give it further optimization opportunities.
12592         * lib/regex_internal.h (DEBUG_ASSERT): New macro.
12593         * lib/regcomp.c (link_nfa_nodes, calc_eclosure)
12594         (parse_expression, parse_bracket_exp):
12595         * lib/regex_internal.c (build_wcs_buffer)
12596         (build_wcs_upper_buffer, re_string_reconstruct)
12597         (re_string_context_at):
12598         * lib/regexec.c (re_search_stub, re_copy_regs)
12599         (re_search_internal, prune_impossible_nodes, check_matching)
12600         (check_halt_state_context, set_regs, sift_states_backward)
12601         (build_sifted_states, transit_state_mb, transit_state_bkref)
12602         (check_arrival_add_next_nodes, check_arrival_expand_ecl)
12603         (match_ctx_add_subtop):
12604         Use it instead of plain ‘assert’.
12606 2019-10-09  Paul Eggert  <eggert@cs.ucla.edu>
12608         regex: omit debug assignment when not debugging
12609         * lib/regexec.c (re_search_internal) [!DEBUG]:
12610         Remove unnecessary assignment.
12612         regex: tell compiler there’s at most 256 arcs out
12613         Partly this is to help the reader (and maybe help GCC);
12614         partly this is to pacify Coverity.
12615         * lib/regex_internal.h: Include verify.h.
12616         * lib/regexec.c (group_nodes_into_DFAstates):
12617         Tell the compiler that ndests cannot exceed SBC_MAX.
12618         * modules/regex (Depends-on): Add ‘verify’.
12620         regex: simplify by assuming C99
12621         * config/srclist.txt: Comment out regex_internal.h and regexec.c
12622         temporarily.
12623         * lib/regex_internal.h (lock_define, re_match_context_t):
12624         Simplify by assuming C99 macros and const.
12625         * lib/regexec.c (re_search_internal): Simplify by assuming C99
12626         initializers.  Remove unnecessary assignment, as mctx is now
12627         safely initialized earlier.
12629         regex: avoid copying of uninitialized storage
12630         * config/srclist.txt: Comment out regcomp.c temporarily.
12631         * lib/regcomp.c (build_charclass_op, create_tree) [! (GCC_LINT||lint)]:
12632         Initialize even when not checking for lint, as the behavior is
12633         arguably undefined otherwise and Coverity warns about it.
12635 2019-10-06  Bruno Haible  <bruno@clisp.org>
12637         access tests: Fix test failure when run as root.
12638         * tests/test-access.c: Include root-uid.h.
12639         (geteuid): Define fallback.
12640         (main): Don't expect that writing to a read-only file would fail when
12641         running as root. Also, remove the created files at the end.
12642         * modules/access-tests (Depends-on): Add root-uid.
12643         (configure.ac): Test whether geteuid exists.
12645 2019-10-06  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
12647         users.txt: add GNU nano
12648         Nano has been making use of gnulib since March 2017, version 2.8.0.
12650 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12652         bootstrap: simplify debugging of wget failures
12653         Problem reported by Tim Rühsen in:
12654         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html
12655         * build-aux/bootstrap (po_download_command_format):
12656         Invoke wget with -nv instead of -q, to make debugging easier.
12658 2019-09-29  Bruno Haible  <bruno@clisp.org>
12660         avltree-list: Fix compilation warning (introduced on 2014-09-16).
12661         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Remove
12662         'const' attribute.
12664 2019-09-29  Bruno Haible  <bruno@clisp.org>
12666         fbufmode: Fix compilation error on glibc >= 2.28 systems.
12667         * lib/stdio-impl.h (_IO_UNBUFFERED): Define fallback on glibc >= 2.28.
12669 2019-09-28  Bruno Haible  <bruno@clisp.org>
12671         Update comments that refer to POSIX.
12672         * lib/creat.c, lib/fopen.c, lib/open.c, lib/openat.c: Cite the relevant
12673         sentence about trailing slashes.
12674         * lib/fflush.c: Clarify the reasoning.
12675         * tests/test-fflush2.c: Cite the relevant sentence.
12677 2019-09-28  Bruno Haible  <bruno@clisp.org>
12679         access: Document limitations on Windows.
12680         Suggested by Zaretskii <eliz@gnu.org>.
12681         * doc/posix-functions/access.texi: Mention two limitations on Windows.
12683 2019-09-28  Bruno Haible  <bruno@clisp.org>
12685         findprog-in: Fix comment.
12686         Reported by Eli Zaretskii <eliz@gnu.org>.
12687         * lib/findprog.h (find_in_given_path): Extend description of EACCES
12688         condition.
12689         * lib/stat.c (rpl_stat): Fix typo in comment.
12690         * lib/utime.c (_gl_utimens_windows): Likewise.
12692 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12694         Update URLs and associated text
12695         (Thanks to Bruno Haible for proofreading this patch.)
12696         Prefer https: to http: in URLs where either will do, for the usual
12697         security reasons.  I also updated broken and/or moved URLs
12698         discovered during the process. In a few places I had to resort to
12699         archive.org, since I didn't find the originals elsewhere.
12701 2019-09-15  Paul Smith  <psmith@gnu.org>
12702             Bruno Haible  <bruno@clisp.org>
12704         findprog-in: Set errno when the search fails.
12705         * lib/findprog-in.c: Include <errno.h>.
12706         (find_in_given_path): Set errno before returning NULL.
12707         * lib/findprog.h (find_in_given_path): Update comment accordingly.
12708         Define the term "slash".
12710 2019-09-15  Bruno Haible  <bruno@clisp.org>
12712         findprog, findprog-lgpl, findprog-in: Fix crash on MSVC.
12713         * modules/findprog (Depends-on): Add access.
12714         * modules/findprog-lgpl (Depends-on): Likewise.
12715         * modules/findprog-in (Depends-on): Likewise.
12717 2019-09-15  Bruno Haible  <bruno@clisp.org>
12719         access: Add tests.
12720         * tests/test-access.c: New file.
12721         * modules/access-tests: New file.
12723         access: New module.
12724         * lib/unistd.in.h (access): New declaration.
12725         * lib/access.c: New file.
12726         * m4/access.m4: New file.
12727         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether access is declared.
12728         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ACCESS, REPLACE_ACCESS.
12729         * modules/unistd (Makefile.am): Substitute GNULIB_ACCESS,
12730         REPLACE_ACCESS.
12731         * modules/access: New file.
12732         * tests/test-unistd-c++.cc (access): Check signature.
12733         * doc/posix-functions/access.texi: Mention the new module.
12735 2019-09-15  Bruno Haible  <bruno@clisp.org>
12737         fcntl-h: Fix compilation error of creat.c on MSVC.
12738         * lib/fcntl.in.h: Include <io.h> also when __need_system_fcntl_h is
12739         defined.
12741 2019-09-15  Bruno Haible  <bruno@clisp.org>
12743         creat: Add tests.
12744         * tests/test-creat.c: New file, based on tests/test-open.h.
12745         * modules/creat-tests: New file.
12747         creat: New module.
12748         * lib/fcntl.in.h (creat): New declaration.
12749         * lib/creat.c: New file, based on lib/open.c.
12750         * m4/creat.m4: New file.
12751         * m4/open-slash.m4: New file, extracted from m4/open.m4.
12752         * m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
12753         Invoke gl_OPEN_TRAILING_SLASH_BUG.
12754         * modules/open (Files): Add m4/open-slash.m4.
12755         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
12756         REPLACE_CREAT.
12757         * modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
12758         * modules/creat: New file.
12759         * tests/test-fcntl-h-c++.cc (creat): Check signature.
12760         * doc/posix-functions/creat.texi: Mention the new module.
12762 2019-09-15  Bruno Haible  <bruno@clisp.org>
12764         open tests: Enhance test.
12765         * tests/test-open.h (test_open): Test the creation of an executable
12766         regular file. Also improve initial cleanup.
12768 2019-09-15  Bruno Haible  <bruno@clisp.org>
12770         intprops tests: Avoid build failure with HP-UX cc.
12771         * tests/test-intprops.c: Disable a check that makes HP cc choke with
12772         "error 4018: Macro param too large after substitution - use -H option.".
12774 2019-09-14  Bruno Haible  <bruno@clisp.org>
12776         Make autoconf tests work with -Werror=implicit-function-declaration.
12777         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Include <wctype.h>, for
12778         towupper() declaration.
12779         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Include <stdlib.h>, for ptsname()
12780         declaration.
12782 2019-09-14  Bruno Haible  <bruno@clisp.org>
12784         findprog-in: Better mimic the system on native Windows.
12785         Reported by Paul Smith <psmith@gnu.org>.
12786         * lib/findprog-in.c (find_in_given_path): On native Windows, don't try
12787         non-empty suffixes when the file name already contains a '.'.
12789 2019-09-10  Bruno Haible  <bruno@clisp.org>
12791         wctob: Fix autoconf test.
12792         Based on patch by Florian Weimer <fweimer@redhat.com>.
12793         * m4/wctob.m4 (gl_FUNC_WCTOB): Include <stdlib.h> before using mbtowc.
12795 2019-09-09  Akim Demaille  <akim@lrde.epita.fr>
12797         xhash: provide hash_xinitialize.
12798         Suggested by Egor Pugin <egor.pugin@gmail.com>
12799         https://lists.gnu.org/archive/html/bison-patches/2019-09/msg00026.html
12800         * modules/xhash, lib/xhash.c: New.
12801         * lib/hash.h (hash_xinitialize): New.
12803 2019-09-09  Bruno Haible  <bruno@clisp.org>
12805         findprog-in: Make exec optimization optional.
12806         * lib/findprog.h: Add double-inclusion guard. Include <stdbool.h>.
12807         (find_in_given_path): Add optimize_for_exec parameter.
12808         * lib/findprog-in.c (find_in_given_path): Likewise.
12810 2019-09-08  Bruno Haible  <bruno@clisp.org>
12812         Add option to assume the best, not the worst, when cross-compiling.
12813         Suggested by Jonas Termansen <sortie@maxsi.org>.
12814         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add --enable-cross-guesses=...
12815         option. Set gl_cross_guess_normal and gl_cross_guess_inverted.
12816         * m4/argz.m4 (gl_FUNC_ARGZ): Obey --enable-cross-guesses for
12817         lt_cv_sys_argz_works.
12818         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Obey --enable-cross-guesses for
12819         ac_cv_func_calloc_0_nonnull.
12820         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Obey
12821         --enable-cross-guesses for gl_cv_func_realpath_works.
12822         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Obey --enable-cross-guesses for
12823         gl_cv_func_cbrtl_ieee.
12824         * m4/ceil.m4 (gl_FUNC_CEIL): Obey --enable-cross-guesses for
12825         gl_cv_func_ceil_ieee.
12826         * m4/ceilf.m4 (gl_FUNC_CEILF): Obey --enable-cross-guesses for
12827         gl_cv_func_ceilf_ieee.
12828         * m4/ceill.m4 (gl_FUNC_CEILL): Obey --enable-cross-guesses for
12829         gl_cv_func_ceill_ieee.
12830         * m4/chown.m4 (AC_FUNC_CHOWN): Obey --enable-cross-guesses for
12831         ac_cv_func_chown_works.
12832         (gl_FUNC_CHOWN): Obey --enable-cross-guesses for
12833         gl_cv_func_chown_slash_works, gl_cv_func_chown_ctime_works.
12834         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Obey
12835         --enable-cross-guesses for gl_cv_struct_dirent_d_ino.
12836         * m4/exp2l.m4 (gl_FUNC_EXP2L): Obey --enable-cross-guesses for
12837         gl_cv_func_exp2l_works, gl_cv_func_exp2l_ieee.
12838         * m4/expl.m4 (gl_FUNC_EXPL): Obey --enable-cross-guesses for
12839         gl_cv_func_expl_works.
12840         * m4/expm1.m4 (gl_FUNC_EXPM1): Obey --enable-cross-guesses for
12841         gl_cv_func_expm1_ieee.
12842         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Obey --enable-cross-guesses for
12843         gl_cv_func_expm1l_works.
12844         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Obey --enable-cross-guesses for
12845         gl_cv_func_open_directory_works.
12846         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Obey
12847         --enable-cross-guesses for gl_cv_func_fchownat_nofollow_works.
12848         (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Obey --enable-cross-guesses for
12849         gl_cv_func_fchownat_empty_filename_works.
12850         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Obey --enable-cross-guesses for
12851         gl_cv_func_fdopendir_works.
12852         * m4/floor.m4 (gl_FUNC_FLOOR): Obey --enable-cross-guesses for
12853         gl_cv_func_floor_ieee.
12854         * m4/floorf.m4 (gl_FUNC_FLOORF): Obey --enable-cross-guesses for
12855         gl_cv_func_floorf_ieee.
12856         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Obey --enable-cross-guesses for
12857         gl_cv_func_fma_works.
12858         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Obey --enable-cross-guesses for
12859         gl_cv_func_fmaf_works.
12860         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Obey --enable-cross-guesses for
12861         gl_cv_func_fmal_works.
12862         * m4/fmod.m4 (gl_FUNC_FMOD): Obey --enable-cross-guesses for
12863         gl_cv_func_fmod_ieee.
12864         * m4/fmodf.m4 (gl_FUNC_FMODF): Obey --enable-cross-guesses for
12865         gl_cv_func_fmodf_ieee.
12866         * m4/fmodl.m4 (gl_FUNC_FMODL): Obey --enable-cross-guesses for
12867         gl_cv_func_fmodl_ieee.
12868         * m4/fpurge.m4 (gl_FUNC_FPURGE): Obey --enable-cross-guesses for
12869         gl_cv_func_fpurge_works.
12870         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Obey
12871         --enable-cross-guesses for gl_cv_func_getcwd_path_max.
12872         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Obey --enable-cross-guesses for
12873         gl_cv_func_getcwd_null.
12874         (gl_FUNC_GETCWD): Update for getcwd-path-max.m4 change.
12875         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Obey --enable-cross-guesses for
12876         gl_cv_func_working_getdelim.
12877         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Obey --enable-cross-guesses for
12878         ac_cv_func_getgroups_works. Keep this macro also in Autoconf >= 2.70.
12879         (gl_FUNC_GETGROUPS): Obey --enable-cross-guesses for
12880         gl_cv_func_getgroups_works.
12881         * m4/getline.m4 (gl_FUNC_GETLINE): Obey --enable-cross-guesses for
12882         am_cv_func_working_getline.
12883         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Obey --enable-cross-guesses
12884         for gl_cv_func_getopt_gnu.
12885         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Obey
12886         --enable-cross-guesses for gl_cv_func_gettimeofday_clobber.
12887         * m4/hypot.m4 (gl_FUNC_HYPOT): Obey --enable-cross-guesses for
12888         gl_cv_func_hypot_ieee.
12889         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Obey --enable-cross-guesses for
12890         gl_cv_func_hypotf_ieee.
12891         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Obey --enable-cross-guesses for
12892         gl_cv_func_hypotl_ieee.
12893         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Obey
12894         --enable-cross-guesses for gl_cv_func_iconv_supports_utf.
12895         * m4/link.m4 (gl_FUNC_LINK): Obey --enable-cross-guesses for
12896         gl_cv_func_link_works.
12897         * m4/linkat.m4 (gl_FUNC_LINKAT): Obey --enable-cross-guesses for
12898         gl_cv_func_linkat_slash.
12899         * m4/log.m4 (gl_FUNC_LOG): Obey --enable-cross-guesses for
12900         gl_cv_func_log_ieee.
12901         * m4/logf.m4 (gl_FUNC_LOGF): Obey --enable-cross-guesses for
12902         gl_cv_func_logf_ieee.
12903         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Obey --enable-cross-guesses for
12904         gl_cv_func_logl_works.
12905         * m4/log10.m4 (gl_FUNC_LOG10): Obey --enable-cross-guesses for
12906         gl_cv_func_log10_ieee.
12907         * m4/log10f.m4 (gl_FUNC_LOG10F): Obey --enable-cross-guesses for
12908         gl_cv_func_log10f_ieee.
12909         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Obey --enable-cross-guesses for
12910         gl_cv_func_log10l_works.
12911         * m4/log1p.m4 (gl_FUNC_LOG1P): Obey --enable-cross-guesses for
12912         gl_cv_func_log1p_ieee.
12913         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Obey --enable-cross-guesses for
12914         gl_cv_func_log1pf_ieee.
12915         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Obey --enable-cross-guesses for
12916         gl_cv_func_log1pl_ieee.
12917         * m4/log2.m4 (gl_FUNC_LOG2): Obey --enable-cross-guesses for
12918         gl_cv_func_log2_ieee.
12919         * m4/log2f.m4 (gl_FUNC_LOG2F): Obey --enable-cross-guesses for
12920         gl_cv_func_log2f_ieee.
12921         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Obey
12922         --enable-cross-guesses for
12923         gl_cv_func_lstat_dereferences_slashed_symlink.
12924         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Obey --enable-cross-guesses for
12925         ac_cv_func_malloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
12926         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Obey --enable-cross-guesses for
12927         gl_cv_C_locale_sans_EILSEQ.
12928         * m4/memchr.m4 (gl_FUNC_MEMCHR): Obey --enable-cross-guesses for
12929         gl_cv_func_memchr_works.
12930         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Obey --enable-cross-guesses for
12931         gl_cv_func_memmem_works_always.
12932         (gl_FUNC_MEMMEM): Obey --enable-cross-guesses for
12933         gl_cv_func_memmem_works_fast.
12934         * m4/mkdir.m4 (gl_FUNC_MKDIR): Obey --enable-cross-guesses for
12935         gl_cv_func_mkdir_trailing_slash_works,
12936         gl_cv_func_mkdir_trailing_dot_works.
12937         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Obey --enable-cross-guesses for
12938         gl_cv_func_mkfifo_works.
12939         * m4/mknod.m4 (gl_FUNC_MKNOD): Obey --enable-cross-guesses for
12940         gl_cv_func_mknod_works.
12941         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Obey --enable-cross-guesses for
12942         gl_cv_func_working_mkstemp.
12943         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Obey --enable-cross-guesses for
12944         gl_cv_func_working_mktime.
12945         * m4/modf.m4 (gl_FUNC_MODF): Obey --enable-cross-guesses for
12946         gl_cv_func_modf_ieee.
12947         * m4/modff.m4 (gl_FUNC_MODFF): Obey --enable-cross-guesses for
12948         gl_cv_func_modff_ieee.
12949         * m4/modfl.m4 (gl_FUNC_MODFL): Obey --enable-cross-guesses for
12950         gl_cv_func_modfl_ieee.
12951         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Obey --enable-cross-guesses for
12952         gl_cv_func_nanosleep.
12953         * m4/perror.m4 (gl_FUNC_PERROR): Obey --enable-cross-guesses for
12954         gl_cv_func_perror_works.
12955         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Obey --enable-cross-guesses for
12956         gl_cv_func_printf_sizes_c99.
12957         (gl_PRINTF_INFINITE): Obey --enable-cross-guesses for
12958         gl_cv_func_printf_infinite.
12959         (gl_PRINTF_INFINITE_LONG_DOUBLE): Obey --enable-cross-guesses for
12960         gl_cv_func_printf_infinite_long_double.
12961         (gl_PRINTF_DIRECTIVE_A): Obey --enable-cross-guesses for
12962         gl_cv_func_printf_directive_a.
12963         (gl_PRINTF_DIRECTIVE_F): Obey --enable-cross-guesses for
12964         gl_cv_func_printf_directive_f.
12965         (gl_PRINTF_FLAG_ZERO): Obey --enable-cross-guesses for
12966         gl_cv_func_printf_flag_zero.
12967         (gl_PRINTF_ENOMEM): Obey --enable-cross-guesses for
12968         gl_cv_func_printf_enomem.
12969         (gl_SNPRINTF_TRUNCATION_C99): Obey --enable-cross-guesses for
12970         gl_cv_func_snprintf_truncation_c99.
12971         (gl_SNPRINTF_RETVAL_C99): Obey --enable-cross-guesses for
12972         gl_cv_func_snprintf_retval_c99.
12973         (gl_SNPRINTF_DIRECTIVE_N): Obey --enable-cross-guesses for
12974         gl_cv_func_snprintf_directive_n.
12975         (gl_VSNPRINTF_ZEROSIZE_C99): Obey --enable-cross-guesses for
12976         gl_cv_func_vsnprintf_zerosize_c99.
12977         * m4/pselect.m4 (gl_FUNC_PSELECT): Obey --enable-cross-guesses for
12978         gl_cv_func_pselect_detects_ebadf.
12979         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
12980         Obey --enable-cross-guesses for
12981         gl_cv_pthread_rwlock_rdlock_prefer_writer.
12982         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Obey --enable-cross-guesses for
12983         gl_cv_func_ptsname_sets_errno.
12984         * m4/putenv.m4 (gl_FUNC_PUTENV): Obey --enable-cross-guesses for
12985         gl_cv_func_svid_putenv.
12986         * m4/readlink.m4 (gl_FUNC_READLINK): Obey --enable-cross-guesses for
12987         gl_cv_func_readlink_works.
12988         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Obey --enable-cross-guesses for
12989         ac_cv_func_realloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
12990         * m4/regex.m4 (gl_REGEX): Obey --enable-cross-guesses for
12991         gl_cv_func_re_compile_pattern_working.
12992         * m4/remainder.m4 (gl_FUNC_REMAINDER): Obey --enable-cross-guesses for
12993         gl_cv_func_remainder_ieee.
12994         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Obey --enable-cross-guesses for
12995         gl_cv_func_remainderf_ieee.
12996         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Obey --enable-cross-guesses for
12997         gl_cv_func_remainderl_ieee.
12998         * m4/rintl.m4 (gl_FUNC_RINTL): Obey --enable-cross-guesses for
12999         gl_cv_func_rintl_works.
13000         * m4/rmdir.m4 (gl_FUNC_RMDIR): Obey --enable-cross-guesses for
13001         gl_cv_func_rmdir_works.
13002         * m4/round.m4 (gl_FUNC_ROUND): Obey --enable-cross-guesses for
13003         gl_cv_func_round_ieee.
13004         * m4/roundf.m4 (gl_FUNC_ROUNDF): Obey --enable-cross-guesses for
13005         gl_cv_func_roundf_ieee.
13006         * m4/roundl.m4 (gl_FUNC_ROUNDL): Obey --enable-cross-guesses for
13007         gl_cv_func_roundl_ieee.
13008         * m4/select.m4 (gl_FUNC_SELECT): Obey --enable-cross-guesses for
13009         gl_cv_func_select_detects_ebadf.
13010         * m4/setenv.m4 (gl_FUNC_SETENV): Obey --enable-cross-guesses for
13011         gl_cv_func_setenv_works.
13012         (gl_FUNC_UNSETENV): Obey --enable-cross-guesses for
13013         gl_cv_func_unsetenv_works.
13014         * m4/signbit.m4 (gl_SIGNBIT): Obey --enable-cross-guesses for
13015         gl_cv_func_signbit, gl_cv_func_signbit_gcc.
13016         * m4/sleep.m4 (gl_FUNC_SLEEP): Obey --enable-cross-guesses for
13017         gl_cv_func_sleep_works.
13018         * m4/stat.m4 (gl_FUNC_STAT): Obey --enable-cross-guesses for
13019         gl_cv_func_stat_file_slash.
13020         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Obey --enable-cross-guesses for
13021         gl_cv_func_stpncpy.
13022         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Obey
13023         --enable-cross-guesses for gl_cv_func_strcasestr_works_always.
13024         (gl_FUNC_STRCASESTR): Obey --enable-cross-guesses for
13025         gl_cv_func_strcasestr_linear.
13026         * m4/strerror.m4 (gl_FUNC_STRERROR): Obey --enable-cross-guesses for
13027         gl_cv_func_working_strerror.
13028         (gl_FUNC_STRERROR_0): Obey --enable-cross-guesses for
13029         gl_cv_func_strerror_0_works.
13030         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Obey
13031         --enable-cross-guesses for gl_cv_func_strerror_r_works.
13032         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Obey --enable-cross-guesses for
13033         gl_cv_func_strstr_works_always.
13034         (gl_FUNC_STRSTR): Obey --enable-cross-guesses for
13035         gl_cv_func_strstr_linear.
13036         * m4/strtod.m4 (gl_FUNC_STRTOD): Obey --enable-cross-guesses for
13037         gl_cv_func_strtod_works.
13038         * m4/strtold.m4 (gl_FUNC_STRTOLD): Obey --enable-cross-guesses for
13039         gl_cv_func_strtold_works.
13040         * m4/symlink.m4 (gl_FUNC_SYMLINK): Obey --enable-cross-guesses for
13041         gl_cv_func_symlink_works.
13042         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Obey --enable-cross-guesses for
13043         gl_cv_func_symlinkat_works.
13044         * m4/trunc.m4 (gl_FUNC_TRUNC): Obey --enable-cross-guesses for
13045         gl_cv_func_trunc_ieee.
13046         * m4/truncf.m4 (gl_FUNC_TRUNCF): Obey --enable-cross-guesses for
13047         gl_cv_func_truncf_ieee.
13048         * m4/truncl.m4 (gl_FUNC_TRUNCL): Obey --enable-cross-guesses for
13049         gl_cv_func_truncl_ieee.
13050         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Obey --enable-cross-guesses for
13051         gl_cv_func_tzset_clobber.
13052         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Obey --enable-cross-guesses for
13053         gl_cv_func_ungetc_works.
13054         * m4/unlink.m4 (gl_FUNC_UNLINK): Obey --enable-cross-guesses for
13055         gl_cv_func_unlink_honors_slashes, gl_cv_func_unlink_parent_fails.
13056         * m4/usleep.m4 (gl_FUNC_USLEEP): Obey --enable-cross-guesses for
13057         gl_cv_func_usleep_works.
13058         * m4/utimens.m4 (gl_UTIMENS): Obey --enable-cross-guesses for
13059         gl_cv_func_futimesat_works.
13060         * m4/utimes.m4 (gl_FUNC_UTIMES): Obey --enable-cross-guesses for
13061         gl_cv_func_working_utimes.
13062         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Obey --enable-cross-guesses for
13063         gl_cv_func_wcwidth_works.
13064         * m4/glob.m4 (gl_GLOB): When cross-compiling, don't create symlinks for
13065         testing. Obey --enable-cross-guesses for gl_cv_glob_lists_symlinks.
13066         * m4/rename.m4 (gl_FUNC_RENAME): When cross-compiling, don't create
13067         links for testing. Obey --enable-cross-guesses for
13068         gl_cv_func_rename_slash_dst_works, gl_cv_func_rename_slash_src_works,
13069         gl_cv_func_rename_link_works, gl_cv_func_rename_dest_works.
13071 2019-09-08  Bruno Haible  <bruno@clisp.org>
13073         Clarify that cross-compilation guesses are guesses.
13074         * m4/threads.m4 (gl_THREADS_H): Say "guessing yes" or "guessing no" when
13075         cross-compiling.
13077 2019-09-08  Bruno Haible  <bruno@clisp.org>
13079         chown: Fix configure output (regression from 2019-03-23).
13080         * m4/chown.m4 (gl_FUNC_CHOWN): Fix reference to
13081         gl_cv_func_chown_follows_symlink variable.
13083 2019-09-08  Bruno Haible  <bruno@clisp.org>
13085         findprog-in: New module.
13086         Suggested by Paul Smith <psmith@gnu.org>.
13087         * lib/findprog.h (find_in_given_path): New declaration.
13088         * lib/findprog-in.c: New file, based on lib/findprog.c.
13089         * m4/findprog-in.m4: New file, based on m4/findprog.m4.
13090         * modules/findprog-in: New file.
13092 2019-09-08  Bruno Haible  <bruno@clisp.org>
13094         findprog: Remove unused dependency.
13095         * modules/findprog (Depends-on): Remove strdup.
13097 2019-09-08  Bruno Haible  <bruno@clisp.org>
13099         findprog: Remove test that is obsolete since 2006-04-24.
13100         * m4/findprog.m4 (gl_FINDPROG): Don't test for unistd.h.
13102 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
13104         bitset: style changes
13105         * lib/bitset/vector.c (vbitset_resize): Factor computation.
13106         * lib/bitset.c, lib/bitset/stats.c, lib/bitsetv.c: Prefer
13107         xzalloc to xcalloc.
13108         Suggested by Paul Eggert.
13110 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
13112         bitset: check memory allocation
13113         Reported by 江 祖铭 (Zu-Ming Jiang).
13114         With help from Paul Eggert.
13115         https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00016.html
13116         * lib/bitset/table.c (tbitset_resize): When growing, use xrealloc
13117         instead of realloc.
13118         When shrinking, accept failures.
13119         * lib/bitset/vector.c (vbitset_resize): Likewise.
13121 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
13123         scratch_buffer: sync from glibc
13124         * config/srclist.txt: Add the scratch_buffer source
13125         code from glibc, since these should be in sync.
13126         Autoupdate.
13128 2019-09-07  Bruno Haible  <bruno@clisp.org>
13130         doc: Update for glibc 2.30.
13131         * doc/glibc-functions/gettid.texi: New file.
13132         * doc/glibc-functions/pthread_cond_clockwait.texi: New file.
13133         * doc/glibc-functions/pthread_mutex_clocklock.texi: New file.
13134         * doc/glibc-functions/pthread_rwlock_clockrdlock.texi: New file.
13135         * doc/glibc-functions/pthread_rwlock_clockwrlock.texi: New file.
13136         * doc/glibc-functions/sem_clockwait.texi: New file.
13137         * doc/glibc-functions/tgkill.texi: New file.
13138         * doc/glibc-functions/twalk_r.texi: New file.
13139         * doc/gnulib.texi: Include them.
13140         (Glibc semaphore.h): New section.
13141         * doc/pastposix-functions/h_errno.texi: Update.
13142         * doc/posix-functions/*.texi: Likewise.
13144 2019-09-06  Bruno Haible  <bruno@clisp.org>
13146         symlink tests: Avoid test failure on Linux with Lustre file system.
13147         Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
13148         at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
13149         * tests/test-symlink.h (test_symlink): Accept errno value ENOENT.
13151 2019-09-01  Bruno Haible  <bruno@clisp.org>
13153         gitsub.sh: Add support for shallow-cloning of subdirectories.
13154         * top/gitsub.sh (func_usage): Document allowed git options with
13155         'git pull'.
13156         (func_pull): Accept GIT_OPTIONS argument.
13157         (pull): Parse git options before complaining about too many arguments.
13158         Pass the git options to func_pull.
13160 2019-08-29  Bruno Haible  <bruno@clisp.org>
13162         lock: Fix cross-compilation guesses.
13163         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
13164         Require AC_CANONICAL_HOST. When cross-compiling, guess no on most
13165         platforms.
13167 2019-08-28  Bruno Haible  <bruno@clisp.org>
13169         isfinite, isinf, isnan, signbit: Fix error in C++ mode on mingw.
13170         Reported by Martin Storsjö <martin@martin.st> in
13171         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00075.html>.
13172         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Add more arguments.
13173         (isfinite, isinf, isnan, signbit): On platforms that use C++ include
13174         files from GCC 6 or newer, use an override through '#define', because
13175         the inline definitions in the platform's <cmath> cannot be overridden
13176         in another way.
13178 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
13180         Revert macOS INT_MULTIPLY_WRAPV patch
13181         Problem reported by Bruno Haible in:
13182         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
13183         * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
13184         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
13185         Go back to working around the Clang bug on macOS.
13187 2019-08-27  Bruno Haible  <bruno@clisp.org>
13189         libtool-next-version: Fix error output.
13190         * build-aux/libtool-next-version (func_fatal_error): Fix the program
13191         name.
13193 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
13195         Speed up INT_MULTIPLY_WRAPV on macOS
13196         Assume that __builtin_mul_overflow works OK with Clang on macOS.
13197         Mattias Engdegård says it’s safe to assume the relevant library
13198         is always available there.
13199         * lib/intprops.h (_GL_HAS___builtin_mul_overflow):
13200         New temporary internal macro.
13201         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
13202         No need to work around the Clang bug on macOS.
13204 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13206         intprops.h, verify.h: port better to clang
13207         Improve code generated by INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
13208         with Clang.  Problem reported privately by Mattias Engdegård.
13209         Also, insulate intprops.h and verify.h better against each other’s
13210         definitions of __has_builtin on non-Clang hosts.
13211         * lib/intprops.h (__has_builtin): Define a temporary substitute
13212         if __has_builtin is not already defined.
13213         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
13214         New temporary internal macros.
13215         (_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW):
13216         Now two separate macros, replacing the old
13217         _GL_HAS_BUILTIN_OVERFLOW, since we no longer assume that
13218         __builtin_mul_overflow is like the rest.  All uses changed.
13219         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV):
13220         Adjust to above changes.
13221         (_GL_INT_OP_WRAPV): Remove ‘builtin’ arg, since it’s no
13222         longer relevant.  All uses changed.
13223         * lib/verify.h (__has_builtin): Treat like intprops.h,
13224         so that the two .h files do not collide with each other.
13225         (_GL_HAS___builtin_unreachable, _GL_HAS___builtin_trap)
13226         (_GL_TEMPDEF___has_builtin): New temporary internal macros.
13228 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13230         intprops: say why not Clang __builtin_add_overflow
13231         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW):
13232         Mention Clang in comment, responding to a query from
13233         Mattias Engdegård.
13235 2019-08-24  Bruno Haible  <bruno@clisp.org>
13237         doc: Document most of the files outside of modules.
13238         * doc/gnulib.texi (Build Infrastructure Files,
13239         Release Management Files): New chapters.
13241 2019-08-24  Bruno Haible  <bruno@clisp.org>
13243         bootstrap: Keep in sync with the 'gettext' module.
13244         Reported by Assaf Gordon in
13245         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>.
13246         * build-aux/po/Makefile.in.in: Update to gettext 0.20.
13247         * build-aux/po/remove-potcdate.sin: Likewise.
13249 2019-08-24  Bruno Haible  <bruno@clisp.org>
13251         crypto/gc-sha512: Add tests.
13252         * tests/test-gc-sha512.c: New file, based on tests/test-gc-sha1.c.
13253         * modules/crypto/gc-sha512-tests: New file.
13255         crypto/gc-sha256: Add tests.
13256         * tests/test-gc-sha256.c: New file, based on tests/test-gc-sha1.c.
13257         * modules/crypto/gc-sha256-tests: New file.
13259         crypto/gc-sha256, crypto/gc-sha512: New modules.
13260         * lib/gc.h (gc_sha256, gc_sha512): New declarations.
13261         * lib/gc-gnulib.c: Include sha256.h, sha512.h.
13262         (MAX_DIGEST_SIZE): Set to 64.
13263         (_gc_hash_ctx, gc_hash_open, gc_hash_digest_length, gc_hash_write,
13264         gc_hash_read, gc_hash_buffer): Add support for sha256 and sha512.
13265         (gc_sha256, gc_sha512): New functions.
13266         * lib/gc-libgcrypt.c (gc_sha256, gc_sha512): New functions.
13267         * modules/crypto/gc-sha256: New file, based on modules/crypto/gc-sha1.
13268         * modules/crypto/gc-sha512: New file, based on modules/crypto/gc-sha1.
13270 2019-08-24  Bruno Haible  <bruno@clisp.org>
13272         crypto/gc-sha1 tests: Improve output when the test fails.
13273         * tests/test-gc-sha1.c (main): In case of mismatch, print the entire
13274         output.
13276 2019-08-24  Bruno Haible  <bruno@clisp.org>
13278         crypto/gc-sm3: Fix compilation error with --with-libgcrypt.
13279         * m4/gc-sm3.m4 (gl_GC_SM3): Test whether libgcrypt supports SM3. Define
13280         LIBGCRYPT_HAS_MD_SM3.
13281         * lib/gc-libgcrypt.c: Include sm3.h.
13282         (_gc_hash_ctx, gc_hash_open, gc_hash_hmac_setkey, gc_hash_write,
13283         gc_hash_read, gc_hash_close, gc_hash_buffer, gc_sm3): Use the gnulib
13284         implementation if libgcrypt does not support SM3.
13286 2019-08-24  Bruno Haible  <bruno@clisp.org>
13288         crypto/gc-md2: Optimize and clarify code.
13289         * lib/gc-gnulib.c (gc_hash_open): Comment out md2_init_ctx invocation.
13290         * lib/gc-libgcrypt.c (gc_hash_open): Clarify why md2_init_ctx invocation
13291         is not needed.
13293 2019-08-24  Bruno Haible  <bruno@clisp.org>
13295         crypto/gc-md2: Add comment.
13296         * lib/gc-libgcrypt.c: Add comment.
13298 2019-08-24  Bruno Haible  <bruno@clisp.org>
13300         crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
13301         * modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
13302         * modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
13303         * modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
13304         variable.
13306 2019-08-24  Bruno Haible  <bruno@clisp.org>
13308         crypto/gc: Fix link error with --with-libgcrypt.
13309         * m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
13310         AC_LIB_HAVE_LINKFLAGS invocation.
13312 2019-08-24  Bruno Haible  <bruno@clisp.org>
13314         crypto/gc: Access the module indicators correctly.
13315         * lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
13316         * lib/gc-libgcrypt.c: Likewise.
13318 2019-08-24  Bruno Haible  <bruno@clisp.org>
13320         crypto/gc: Fix configuration with --with-libgcrypt.
13321         * m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
13322         * modules/crypto/gc (Files): Add it.
13323         * m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.
13325 2019-08-24  Bruno Haible  <bruno@clisp.org>
13327         Remove unused file.
13328         * m4/stat-macros.m4: Remove file.
13330 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
13332         New strip-trailing-space option for srclist-update
13333         * config/srclist-update (fixfile): Support new option.
13334         * config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
13335         Use it.
13337 2019-08-20  Eric Blake  <eblake@redhat.com>
13339         accept4: Support SOCK_NONBLOCK, if defined
13340         * lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.
13342         accept4: Fix compilation when native accept4() exists.
13343         Reported by Richard W.M. Jones <rjones@redhat.com> in
13344         https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
13345         * lib/accept4.c (accept4): Match witness symbol to m4 file update.
13347 2019-08-18  Bruno Haible  <bruno@clisp.org>
13349         Defeat -flto GCC optimization in math autoconf tests.
13350         Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
13351         at <https://savannah.gnu.org/bugs/?56109>.
13352         * m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
13353         * m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
13354         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13355         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13356         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13357         * m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
13358         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13359         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
13360         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
13361         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13362         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13363         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13365 2019-08-17  Bruno Haible  <bruno@clisp.org>
13367         windows-spin: Implement declared functions.
13368         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
13369         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.
13370         * lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
13371         name.
13373 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
13375         intprops: port to Oracle Developer Studio 12.6
13376         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
13377         typos that were in a section not compiled by GCC.
13379 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
13381         intprops: support uchar, ushort _WRAPV dests
13382         * lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
13383         when __builtin_add_overflow etc. and _Generic are not used.
13384         (_GL_INT_OP_WRAPV): Use it to support destinations that
13385         are unsigned char or unsigned short, even in compilers
13386         that lack __typeof__ and are not C11-compatible.
13388         intprops: pacify picky GCC
13389         * lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
13390         Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
13391         possibly-incorrect result.
13392         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
13393         about (A) used as a boolean, when A is an expression like 3 * 4.
13395         intprops: support unsigned *_WRAPV results
13396         Add support for unsigned, unsigned long, and unsigned long long
13397         results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
13398         INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
13399         bug with unsigned inputs reported by Eli Zaretskii in:
13400         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
13401         * config/srclist.txt: Break the glibc connection for intprops.h
13402         temporarily, while more testing is done in Gnulib-using apps.
13403         * lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
13404         (INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
13405         Support unsigned results no narrower than unsigned int.  Report
13406         overflow correctly if some arguments are unsigned.
13407         (_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
13408         (_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
13409         the right thing with narrow args.
13410         (_GL_INT_OP_CALC1): Remove.  All callers removed.
13411         (_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
13412         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
13413         * tests/test-intprops.c: Check for bugs and test new behavior.
13415 2019-08-14  Bruno Haible  <bruno@clisp.org>
13417         get_progname_of: New module.
13418         * lib/get_progname_of.h: New file.
13419         * lib/get_progname_of.c: New file, based on lib/getprogname.c.
13420         * lib/getprogname.c (getprogname): Tweak coding style.
13421         * lib/vma-iter.c (vma_iterate_bsd): Update comment.
13422         * modules/get_progname_of: New file.
13424 2019-08-14  Bruno Haible  <bruno@clisp.org>
13426         get_ppid_of: New module.
13427         * lib/get_ppid_of.h: New file.
13428         * lib/get_ppid_of.c: New file.
13429         * modules/get_ppid_of: New file.
13431 2019-08-13  Bruno Haible  <bruno@clisp.org>
13433         libtextstyle-optional tests: Support the NO_COLOR environment variable.
13434         * tests/test-libtextstyle.c (main): Do not emit styling when the
13435         environment variable NO_COLOR is set.
13437 2019-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13439         verify: improve diagnostic quality in recent GCC
13440         If ‘verify’ fails in a deeply-nested macro, GCC does not output a
13441         useful line number containing the top-level caller of the macro.
13442         So, bring back the older way of issuing a diagnostic containing
13443         the top-level call’s arg, so that it is easier to diagnose
13444         ‘verify’ failures with recent GCC.
13445         * lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
13446         Bring back DIAGNOSTIC arg.  All callers changed.
13447         (verify): Just use _GL_VERIFY.
13449 2019-08-11  Bruno Haible  <bruno@clisp.org>
13451         localcharset: Add more aliases for OS/2.
13452         Based on patch by KO Myung-Hun <komh78@gmail.com> in
13453         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.
13454         * lib/localcharset.c (alias_table) [OS2]: Add more aliases.
13456 2019-08-10  Eric Blake  <eblake@redhat.com>
13458         configmake: Update advice on usage.
13459         * modules/configmake (Include): No longer necessary to include
13460         last, since configmake.h itself worries about collision avoidance.
13462 2019-08-10  Assaf Gordon <assafgordon@gmail.com>
13464         parse-datetime: fix 'T' military timezone handling
13465         * lib/parse-datetime.y (zone):
13466         follow-up to the previous commit: the 'T' case is handled outside the
13467         conversion table (used as either military timezone UTC-7 or ISO8601
13468         separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
13469         timezone letters.
13471 2019-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13473         parse-datetime: fix military timezone letters
13474         Problem and trivial fix reported by Neil Hoggarth in:
13475         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
13476         * lib/parse-datetime.y (military_table):
13477         Do it the right way, not the RFC 822 way.
13479 2019-08-08  Eric Blake  <eblake@redhat.com>
13481         configmake: Avoid namespace pollution issue on mingw.
13482         * modules/configmake (Makefile.am): If the project uses
13483         <winsock2.h>, include that header before defining DATADIR.
13485 2019-07-28  Bruno Haible  <bruno@clisp.org>
13487         mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).
13488         * tests/test-mbrtowc.c (main): Fix expected value of wc.
13490 2019-07-24  Bruno Haible  <bruno@clisp.org>
13492         pthread-h: Fix definitions of types and macros on mingw.
13493         * lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
13494         PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
13495         not in use.
13496         (pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
13497         'pthread-once' is not in use.
13498         (pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
13499         PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
13500         PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
13501         in use.
13502         (pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
13503         Define also when module 'pthread-rwlock' is not in use.
13504         (pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
13505         also when module 'pthread-cond' is not in use.
13506         (pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
13507         'pthread-tss' is not in use.
13508         (pthread_spinlock_t): Define also when module 'pthread-spin' is not in
13509         use.
13511 2019-07-24  Simon Josefsson  <simon@josefsson.org>
13513         crypto/gc: Cope with libgcrypt without SM3.
13514         * lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.
13516 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
13518         backupfile: fix resource leak on memory failure
13519         Problem found by Coverity (CID 1484214).
13520         * lib/backupfile.c (backupfile_internal): Don’t leak dirp.
13522 2019-07-22  Bruno Haible  <bruno@clisp.org>
13524         Avoid missing-declarations warning in various tests.
13525         * tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
13526         test6, test_optional, test7, test8, test9, test10, test11, test12,
13527         test13, test14, test15, test_fun): Declare static.
13528         * tests/test-cnd.c (test_cnd_wait): Likewise.
13529         * tests/test-cond.c (test_cond): Likewise.
13531 2019-07-22  Bernhard Voelker  <mail@bernhard-voelker.de>
13533         pthread tests: Avoid missing-declarations warning.
13534         * tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.
13536 2019-07-19  Bruno Haible  <bruno@clisp.org>
13538         parse-datetime: Avoid warnings from bison versions >= 3.3.
13539         Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
13540         * modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
13542 2019-07-19  Bruno Haible  <bruno@clisp.org>
13544         parse-datetime: Require Bison 2.4 or newer.
13545         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
13546         Code taken from gettext's intl.m4.
13547         * modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
13548         of YACC.
13550 2019-07-19  Bruno Haible  <bruno@clisp.org>
13552         areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
13553         * lib/areadlink-with-size.c: Include <string.h>.
13554         * lib/areadlinkat-with-size.c: Likewise.
13555         * lib/xgethostname.c: Likewise.
13556         * lib/xgetdomainname.c: Likewise.
13558 2019-07-19  Bernhard Voelker  <mail@bernhard-voelker.de>
13560         parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
13561         * lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
13562         "%pure-parser".  The former is available since Bison 2.3b (2008),
13563         while the latter is marked as obsolete since version 3.4 (May 2019).
13565 2019-07-16  Bruno Haible  <bruno@clisp.org>
13567         update-copyright: Make it work again (regression from 2019-06-15).
13568         Reported by Brian C. Lane <bcl@redhat.com>.
13569         * build-aux/update-copyright: Add back the -0777, -p, -i options.
13571 2019-07-14  Bruno Haible  <bruno@clisp.org>
13573         doc: Update info about <pthread.h>.
13574         * doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
13575         of 'pthread'.
13577 2019-07-14  Bruno Haible  <bruno@clisp.org>
13579         pthread_sigmask tests: Use new multithread modules.
13580         * tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
13581         glthread/thread.h.
13582         (main_thread, killer_thread): Change type to pthread_t.
13583         (main): Update accordingly.
13584         * modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
13585         thread.
13587 2019-07-14  Bruno Haible  <bruno@clisp.org>
13589         pthread-tss: Add tests.
13590         * tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
13591         tests/test-tss.c.
13592         * modules/pthread-tss-tests: New file.
13594 2019-07-14  Bruno Haible  <bruno@clisp.org>
13596         pthread-cond: Add tests.
13597         * tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
13598         tests/test-cnd.c.
13599         * modules/pthread-cond-tests: New file.
13601 2019-07-14  Bruno Haible  <bruno@clisp.org>
13603         pthread-rwlock: Add tests.
13604         * tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
13605         * modules/pthread-rwlock-tests: New file.
13607 2019-07-14  Bruno Haible  <bruno@clisp.org>
13609         pthread-mutex: Add tests.
13610         * tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
13611         tests/test-mtx.c.
13612         * modules/pthread-mutex-tests: New file.
13614 2019-07-14  Bruno Haible  <bruno@clisp.org>
13616         pthread-once: Add tests.
13617         * tests/test-pthread-once1.c: New file, based on tests/test-once.c and
13618         tests/test-call_once.c.
13619         * tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
13620         tests/test-mtx.c.
13621         * modules/pthread-once-tests: New file.
13623 2019-07-14  Bruno Haible  <bruno@clisp.org>
13625         pthread-thread: Add tests.
13626         * tests/test-pthread-thread.c: New file, based on
13627         tests/test-thread_create.c and tests/test-thrd_create.c.
13628         * modules/pthread-thread-tests: New file.
13630 2019-07-14  Bruno Haible  <bruno@clisp.org>
13632         pthread: Turn into a convenience module.
13633         * lib/pthread.in.h: Remove declarations for extern inline functions.
13634         * lib/pthread.c: Remove file.
13635         * modules/pthread (Files): Remove it.
13636         (Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
13637         pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
13638         (configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
13639         * m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
13640         GNULIB_PTHREAD.
13641         * modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.
13643 2019-07-14  Bruno Haible  <bruno@clisp.org>
13645         pthread-spin: New module.
13646         * lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
13647         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
13648         inline definitions.
13649         * lib/pthread-spin.c: New file.
13650         * m4/pthread-spin.m4: New file.
13651         * modules/pthread-spin: New file.
13652         * doc/posix-functions/pthread_spin_init.texi: Mention the new module.
13653         * doc/posix-functions/pthread_spin_lock.texi: Likewise.
13654         * doc/posix-functions/pthread_spin_trylock.texi: Likewise.
13655         * doc/posix-functions/pthread_spin_unlock.texi: Likewise.
13656         * doc/posix-functions/pthread_spin_destroy.texi: Likewise.
13658 2019-07-14  Bruno Haible  <bruno@clisp.org>
13660         pthread-tss: New module.
13661         * lib/pthread-tss.c: New file.
13662         * m4/pthread-tss.m4: New file.
13663         * modules/pthread-tss: New file.
13664         * doc/posix-functions/pthread_key_create.texi: Mention the new module.
13665         * doc/posix-functions/pthread_setspecific.texi: Likewise.
13666         * doc/posix-functions/pthread_getspecific.texi: Likewise.
13667         * doc/posix-functions/pthread_key_delete.texi: Likewise.
13669 2019-07-14  Bruno Haible  <bruno@clisp.org>
13671         pthread-cond: New module.
13672         * lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
13673         pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
13674         * lib/pthread-cond.c: New file.
13675         * m4/pthread-cond.m4: New file.
13676         * modules/pthread-cond: New file.
13677         * doc/posix-functions/pthread_cond_init.texi: Mention the new module.
13678         * doc/posix-functions/pthread_condattr_init.texi: Likewise.
13679         * doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
13680         * doc/posix-functions/pthread_cond_wait.texi: Likewise.
13681         * doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
13682         * doc/posix-functions/pthread_cond_signal.texi: Likewise.
13683         * doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
13684         * doc/posix-functions/pthread_cond_destroy.texi: Likewise.
13686 2019-07-14  Bruno Haible  <bruno@clisp.org>
13688         pthread-rwlock: New module.
13689         * lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
13690         * m4/pthread-rwlock.m4: New file.
13691         * modules/pthread-rwlock: New file.
13692         * doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
13693         and the Android problem.
13694         * doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
13695         * doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
13696         * doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
13697         * doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
13698         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
13699         * doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
13700         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
13701         * doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
13702         * doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
13703         * doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.
13705 2019-07-14  Bruno Haible  <bruno@clisp.org>
13707         pthread-mutex: New module.
13708         * lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
13709         pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
13710         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
13711         pthread_mutex_unlock): Remove inline definitions.
13712         * lib/pthread-mutex.c: New file.
13713         * m4/pthread-mutex.m4: New file.
13714         * modules/pthread-mutex: New file.
13715         * doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
13716         * doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
13717         * doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
13718         * doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
13719         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
13720         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
13721         * doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
13722         * doc/posix-functions/pthread_mutex_lock.texi: Likewise.
13723         * doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
13724         * doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
13725         * doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
13726         * doc/posix-functions/pthread_mutex_destroy.texi: Likewise.
13728 2019-07-14  Bruno Haible  <bruno@clisp.org>
13730         pthread-once: New module.
13731         * lib/pthread-once.c: New file.
13732         * m4/pthread-once.m4: New file.
13733         * modules/pthread-once: New file.
13734         * doc/posix-functions/pthread_once.texi: Mention the new module.
13736 2019-07-14  Bruno Haible  <bruno@clisp.org>
13738         pthread-thread: New module.
13739         * lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
13740         inline definitions.
13741         * lib/pthread-thread.c: New file.
13742         * m4/pthread-thread.m4: New file.
13743         * modules/pthread-thread: New file.
13744         * doc/posix-functions/pthread_create.texi: Mention the new module.
13745         * doc/posix-functions/pthread_attr_init.texi: Likewise.
13746         * doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
13747         * doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
13748         * doc/posix-functions/pthread_attr_destroy.texi: Likewise.
13749         * doc/posix-functions/pthread_self.texi: Likewise.
13750         * doc/posix-functions/pthread_equal.texi: Likewise.
13751         * doc/posix-functions/pthread_detach.texi: Likewise.
13752         * doc/posix-functions/pthread_join.texi: Likewise.
13753         * doc/posix-functions/pthread_exit.texi: Likewise.
13755 2019-07-14  Bruno Haible  <bruno@clisp.org>
13757         pthread-h: Prepare for adding new modules.
13758         * lib/pthread.in.h: Define the types and macros for each of the
13759         facilities separately.
13760         * m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
13761         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
13762         HAVE_PTHREAD_PROCESS_SHARED.
13763         (gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
13764         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
13765         HAVE_PTHREAD_PROCESS_SHARED.
13766         * modules/pthread-h (Makefile.am): Substitute
13767         HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
13768         HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.
13770 2019-07-14  Bruno Haible  <bruno@clisp.org>
13772         pthread-h: Add declarations of essential pthread functions.
13773         * lib/pthread.in.h: Include snippets.
13774         (pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
13775         pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
13776         pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
13777         pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
13778         pthread_mutexattr_settype, pthread_mutexattr_getrobust,
13779         pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
13780         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
13781         pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
13782         pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
13783         pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
13784         pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
13785         pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
13786         pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
13787         pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
13788         pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
13789         pthread_key_create, pthread_setspecific, pthread_getspecific,
13790         pthread_key_delete, pthread_spin_init, pthread_spin_lock,
13791         pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
13792         declarations.
13793         (pthread_mutex_timedlock): Move declaration.
13794         * m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
13795         declared.
13796         (gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
13797         GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
13798         GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
13799         HAVE_* and REPLACE_* variables for the new functions.
13800         * modules/pthread-h (Depends-on): Add snippet/c++defs,
13801         snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
13802         (Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
13803         GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
13804         GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
13805         variables for the new functions. Split the sed script, to avoid the
13806         limit of 99 commands of HP-UX sed.
13807         * tests/test-pthread-c++.cc: Check the signature of the new functions.
13809 2019-07-14  Bruno Haible  <bruno@clisp.org>
13811         pthread-h: Respect --enable-threads={posix|windows} option on mingw.
13812         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
13813         HAVE_PTHREAD_H if gl_threads_api is 'windows'.
13814         (LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
13815         * modules/pthread (Link): Change to $(LIBMULTITHREAD).
13816         * modules/pthread-h (Depends-on): Add threadlib.
13817         (Link): Change to $(LIBTHREAD).
13818         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
13819         $(LIBMULTITHREAD) instead of $(LIB_PTHREAD).
13821 2019-07-14  Bruno Haible  <bruno@clisp.org>
13823         pthread-h: Add C++ tests.
13824         * tests/test-pthread-c++.cc: New file.
13825         * modules/pthread-h-c++-tests: New file.
13827 2019-07-14  Bruno Haible  <bruno@clisp.org>
13829         pthread-h: Add tests.
13830         * tests/test-pthread.c: New file.
13831         * modules/pthread-h-tests: New file.
13833 2019-07-14  Bruno Haible  <bruno@clisp.org>
13835         pthread-h: New module.
13836         * lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
13837         is 1.
13838         * m4/pthread_h.m4: Renamed from m4/pthread.m4.
13839         (gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
13840         <pthread.h> pollutes the namespace; instead, prepare for generating a
13841         pthread.h always. Substitute HAVE_PTHREAD_H here.
13842         (gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
13843         GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
13844         * modules/pthread-h: New file, based on modules/pthread.
13845         * modules/pthread: Rely on 'pthread-h'.
13846         * m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
13847         Update.
13848         * modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
13849         pthread.
13851 2019-07-14  Bruno Haible  <bruno@clisp.org>
13853         sched_yield: New module.
13854         * lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
13855         (sched_yield): New declaration.
13856         * lib/sched_yield.c: New file.
13857         * m4/sched_yield.m4: New file.
13858         * m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
13859         provide a replacement sched.h always. Test whether sched_yield is
13860         declared.
13861         (gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
13862         * modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
13863         (Makefile.am): Provide a replacement sched.h always. Substitute
13864         GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
13865         _GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
13866         * modules/sched_yield: New file.
13867         * doc/posix-functions/sched_yield.texi: Mention the new module.
13869 2019-07-14  Bruno Haible  <bruno@clisp.org>
13871         windows-spin: New module.
13872         * lib/windows-spin.h: New file.
13873         * lib/windows-spin.c: New file.
13874         * modules/windows-spin: New file.
13876 2019-07-14  Bruno Haible  <bruno@clisp.org>
13878         windows-timedrwlock: New module.
13879         * lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
13880         * lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
13881         windows-cond.c.
13882         * lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
13883         redefinition conflict with windows-timedrwlock.h.
13884         * modules/windows-timedrwlock: New file.
13886 2019-07-14  Bruno Haible  <bruno@clisp.org>
13888         windows-rwlock: New module.
13889         * lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
13890         * lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
13891         * lib/glthread/lock.h: Include windows-rwlock.h. Don't include
13892         windows-initguard.h.
13893         (gl_rwlock_t): Define using glwthread_rwlock_t.
13894         (gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
13895         (glthread_rwlock_init): Define using glwthread_rwlock_init.
13896         (glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
13897         (glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
13898         (glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
13899         (glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
13900         (glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
13901         glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
13902         glthread_rwlock_destroy_func): Remove declarations.
13903         * lib/glthread/lock.c (gl_waitqueue_t): Remove type.
13904         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
13905         gl_waitqueue_notify_all, glthread_rwlock_init_func,
13906         glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
13907         glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
13908         functions.
13909         * modules/windows-rwlock: New file.
13910         * modules/lock (Depends-on): Add windows-rwlock.
13912 2019-07-14  Bruno Haible  <bruno@clisp.org>
13914         windows-thread: Add support for creating a thread in detached state.
13915         * lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
13916         (glwthread_thread_create): Add attr argument.
13917         * lib/windows-thread.c (glwthread_thread_create): Likewise.
13918         * lib/glthread/thread.h (glthread_create): Update.
13919         * lib/thrd.c (thrd_create): Update.
13921 2019-07-14  Bruno Haible  <bruno@clisp.org>
13923         windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
13924         * lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
13925         (glwthread_initguard_t): Renamed from glwthread_spinlock_t.
13926         (GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
13927         * lib/windows-mutex.h: Update.
13928         * lib/windows-recmutex.h: Likewise.
13929         * lib/windows-timedmutex.h: Likewise.
13930         * lib/windows-timedrecmutex.h: Likewise.
13931         * lib/windows-cond.h: Likewise.
13932         * lib/glthread/lock.h: Likewise.
13933         * modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
13934         lib/windows-spinlock.h.
13935         * modules/windows-recmutex (Files): Likewise.
13936         * modules/windows-timedmutex (Files): Likewise.
13937         * modules/windows-timedrecmutex (Files): Likewise.
13938         * modules/windows-cond (Files): Likewise.
13939         * modules/threads-h (Files): Likewise.
13941 2019-07-14  Bruno Haible  <bruno@clisp.org>
13943         doc: Fix info about pthread API in HP-UX.
13944         * doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.
13946 2019-07-14  Bruno Haible  <bruno@clisp.org>
13948         threads-h: Fix generation of threads.h.
13949         * modules/threads-h (Makefile.am): Insert the required header file
13950         snippets.
13952 2019-07-09  Bruno Haible  <bruno@clisp.org>
13954         striconveh test: Fix a compilation failure when iconv is not available.
13955         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13956         * tests/test-striconveh.c (main): Move iconv_close invocations inside
13957         HAVE_ICONV.
13959 2019-07-07  Akim Demaille  <akim@lrde.epita.fr>
13961         argmatch: adjust columns for help2man.
13962         * lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
13963         requires column 20 or more, return 20.
13965 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13967         areadlink-with-size: avoid realloc when size==0
13968         * lib/areadlink-with-size.c (areadlink_with_size):
13969         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
13970         Reallocate at the end to the actual size, to avoid memory waste,
13971         as suggested by Bruno Haible.  But when the guessed size is zero -
13972         useful when the size is unknown - do the initial small readlink
13973         into the stack, to avoid that realloc in the usual case.
13975 2019-07-06  Pádraig Brady  <P@draigBrady.com>
13977         areadlink-with-size: guess a buffer size with 0 size
13978         The size is usually taken from st_size, which can be zero,
13979         resulting in inefficient operation.
13980         Instead let zero select an initial memory allocation
13981         of 128 bytes, which most symlinks fit within.
13982         * lib/areadlink-with-size.c (areadlink_with_size):
13983         Start with a 128 byte buffer, for SIZE == 0.
13984         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.
13986 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
13988         Replace manually crafted hex regexes with [:xdigit:]
13989         * build-aux/gitlog-to-changelog (parse_amend_file)
13990         (git_dir_option):
13991         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
13992         This patch is backported from Emacs (Bug#36167).
13994 2019-07-06  Bruno Haible  <bruno@clisp.org>
13996         error: Fix documentation.
13997         * doc/glibc-functions/error_at_line.texi: Document what the 'error'
13998         module provides.
13999         * doc/glibc-functions/error_message_count.texi: Likewise.
14000         * doc/glibc-functions/error_one_per_line.texi: Likewise.
14001         * doc/glibc-functions/error_print_progname.texi: Likewise.
14003 2019-07-06  Bruno Haible  <bruno@clisp.org>
14005         doc: Remove documentation of glibc <= 2.1.x as a supported platform.
14006         * doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
14007         and older is unsupported.
14008         * doc/**/*.texi: Update.
14010 2019-07-06  Bruno Haible  <bruno@clisp.org>
14012         doc: Remove documentation of Linux libc5 as a supported platform.
14013         * doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
14014         to Linux libc5.
14015         * doc/posix-functions/iswalpha.texi: Likewise.
14016         * doc/posix-functions/iswblank.texi: Likewise.
14017         * doc/posix-functions/iswcntrl.texi: Likewise.
14018         * doc/posix-functions/iswdigit.texi: Likewise.
14019         * doc/posix-functions/iswgraph.texi: Likewise.
14020         * doc/posix-functions/iswlower.texi: Likewise.
14021         * doc/posix-functions/iswprint.texi: Likewise.
14022         * doc/posix-functions/iswpunct.texi: Likewise.
14023         * doc/posix-functions/iswspace.texi: Likewise.
14024         * doc/posix-functions/iswupper.texi: Likewise.
14025         * doc/posix-functions/iswxdigit.texi: Likewise.
14026         * doc/posix-functions/snprintf.texi: Likewise.
14027         * doc/posix-functions/vsnprintf.texi: Likewise.
14029 2019-07-06  Bruno Haible  <bruno@clisp.org>
14031         doc: Remove documentation of Tandem/NSK as a supported platform.
14032         * doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
14033         Tandem/NSK.
14034         * doc/**/*.texi: Update.
14036 2019-07-06  Bruno Haible  <bruno@clisp.org>
14038         doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
14039         * doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
14040         and older is unsupported.
14041         * doc/posix-functions/acosl.texi: Don't mention workarounds specific to
14042         Mac OS X 10.4 and older.
14043         * doc/posix-functions/asinl.texi: Likewise.
14044         * doc/posix-functions/atanl.texi: Likewise.
14045         * doc/posix-functions/cosl.texi: Likewise.
14046         * doc/posix-functions/expl.texi: Likewise.
14047         * doc/posix-functions/frexpl.texi: Likewise.
14048         * doc/posix-functions/gettimeofday.texi: Likewise.
14049         * doc/posix-functions/logl.texi: Likewise.
14050         * doc/posix-functions/mkstemp.texi: Likewise.
14051         * doc/posix-functions/sinl.texi: Likewise.
14052         * doc/posix-functions/sqrtl.texi: Likewise.
14053         * doc/posix-functions/tanl.texi: Likewise.
14054         * doc/posix-functions/wcswidth.texi: Likewise.
14055         * doc/**/*.texi: Update.
14057 2019-07-06  Bruno Haible  <bruno@clisp.org>
14059         doc: Remove documentation of AIX 4 as a supported platform.
14060         * doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
14061         unsupported.
14062         * doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
14063         workarounds.
14064         * doc/posix-functions/strnlen.texi: Likewise.
14065         * doc/posix-headers/inttypes.texi: Likewise.
14066         * doc/**/*.texi: Update.
14068 2019-07-06  Bruno Haible  <bruno@clisp.org>
14070         doc: Remove documentation of HP-UX 10 as a supported platform.
14071         * doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
14072         unsupported.
14073         * doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
14074         workarounds.
14075         * doc/posix-functions/gmtime_r.texi: Likewise.
14076         * doc/posix-functions/localtime_r.texi: Likewise.
14077         * doc/posix-functions/mkstemp.texi: Likewise.
14078         * doc/**/*.texi: Update.
14080 2019-07-06  Bruno Haible  <bruno@clisp.org>
14082         doc: Remove documentation of Interix 3.5 as a supported platform.
14083         * doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
14084         unsupported.
14085         * doc/posix-functions/select.texi: Don't mention Interix specific
14086         workarounds.
14087         * doc/posix-headers/signal.texi: Likewise.
14088         * doc/**/*.texi: Update.
14090 2019-07-06  Bruno Haible  <bruno@clisp.org>
14092         doc: Remove documentation of IRIX 6.4 and older as supported platforms.
14093         * doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
14094         unsupported.
14095         * doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
14096         workarounds.
14097         * doc/posix-functions/nl_langinfo.texi: Likewise.
14098         * doc/posix-functions/remainder.texi: Likewise.
14099         * doc/posix-functions/towlower.texi: Likewise.
14100         * doc/posix-functions/towupper.texi: Likewise.
14101         * doc/posix-functions/vsnprintf.texi: Likewise.
14102         * doc/posix-functions/wcscat.texi: Likewise.
14103         * doc/posix-functions/wcschr.texi: Likewise.
14104         * doc/posix-functions/wcscmp.texi: Likewise.
14105         * doc/posix-functions/wcscpy.texi: Likewise.
14106         * doc/posix-functions/wcscspn.texi: Likewise.
14107         * doc/posix-functions/wcslen.texi: Likewise.
14108         * doc/posix-functions/wcsncat.texi: Likewise.
14109         * doc/posix-functions/wcsncmp.texi: Likewise.
14110         * doc/posix-functions/wcsncpy.texi: Likewise.
14111         * doc/posix-functions/wcspbrk.texi: Likewise.
14112         * doc/posix-functions/wcsrchr.texi: Likewise.
14113         * doc/posix-functions/wcsspn.texi: Likewise.
14114         * doc/posix-headers/langinfo.texi: Likewise.
14115         * doc/posix-headers/signal.texi: Likewise.
14116         * doc/posix-headers/wchar.texi: Likewise.
14117         * doc/posix-headers/wctype.texi: Likewise.
14118         * doc/**/*.texi: Update.
14120 2019-07-05  Bruno Haible  <bruno@clisp.org>
14122         doc: Remove documentation of OSF/1 as supported platform.
14123         * doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
14124         unsupported.
14125         * doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
14126         workarounds.
14127         * doc/glibc-functions/pthread_setname_np.texi: Likewise.
14128         * doc/glibc-functions/ptsname_r.texi: Likewise.
14129         * doc/posix-functions/ceil.texi: Likewise.
14130         * doc/posix-functions/ceilf.texi: Likewise.
14131         * doc/posix-functions/ceill.texi: Likewise.
14132         * doc/posix-functions/fchdir.texi: Likewise.
14133         * doc/posix-functions/floor.texi: Likewise.
14134         * doc/posix-functions/floorf.texi: Likewise.
14135         * doc/posix-functions/fmod.texi: Likewise.
14136         * doc/posix-functions/fmodf.texi: Likewise.
14137         * doc/posix-functions/fmodl.texi: Likewise.
14138         * doc/posix-functions/log.texi: Likewise.
14139         * doc/posix-functions/logf.texi: Likewise.
14140         * doc/posix-functions/logl.texi: Likewise.
14141         * doc/posix-functions/log10.texi: Likewise.
14142         * doc/posix-functions/log10f.texi: Likewise.
14143         * doc/posix-functions/log10l.texi: Likewise.
14144         * doc/posix-functions/log2.texi: Likewise.
14145         * doc/posix-functions/log2f.texi: Likewise.
14146         * doc/posix-functions/log2l.texi: Likewise.
14147         * doc/posix-functions/mbrtowc.texi: Likewise.
14148         * doc/posix-functions/recv.texi: Likewise.
14149         * doc/posix-functions/recvfrom.texi: Likewise.
14150         * doc/posix-functions/remainder.texi: Likewise.
14151         * doc/posix-functions/remainderf.texi: Likewise.
14152         * doc/posix-functions/remainderl.texi: Likewise.
14153         * doc/posix-functions/round.texi: Likewise.
14154         * doc/posix-functions/roundf.texi: Likewise.
14155         * doc/posix-functions/roundl.texi: Likewise.
14156         * doc/posix-functions/send.texi: Likewise.
14157         * doc/posix-functions/sendto.texi: Likewise.
14158         * doc/posix-functions/setenv.texi: Likewise.
14159         * doc/posix-functions/snprintf.texi: Likewise.
14160         * doc/posix-functions/tcgetsid.texi: Likewise.
14161         * doc/posix-functions/trunc.texi: Likewise.
14162         * doc/posix-functions/truncf.texi: Likewise.
14163         * doc/posix-functions/truncl.texi: Likewise.
14164         * doc/posix-functions/ttyname_r.texi: Likewise.
14165         * doc/posix-functions/unsetenv.texi: Likewise.
14166         * doc/posix-functions/wcsrtombs.texi: Likewise.
14167         * doc/posix-headers/sys_select.texi: Likewise.
14168         * doc/posix-headers/wchar.texi: Likewise.
14169         * doc/posix-headers/wctype.texi: Likewise.
14170         * doc/**/*.texi: Update.
14172 2019-07-05  Bruno Haible  <bruno@clisp.org>
14174         doc: Remove documentation of BSDI and BSD/OS as supported platforms.
14175         * doc/**/*.texi: Update.
14177 2019-07-05  Bruno Haible  <bruno@clisp.org>
14179         doc: Remove documentation of Solaris 8 and older as supported platforms.
14180         * doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
14181         unsupported.
14182         * doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
14183         workarounds.
14184         * doc/posix-functions/memcmp.texi: Likewise.
14185         * doc/posix-functions/rename.texi: Likewise.
14186         * doc/posix-functions/tzset.texi: Likewise.
14187         * doc/posix-headers/wctype.texi: Likewise.
14188         * doc/**/*.texi: Update.
14190 2019-07-05  Bruno Haible  <bruno@clisp.org>
14192         doc: Remove documentation of Interix 3.5 as a supported platform.
14193         * doc/**/*.texi: Update.
14195 2019-07-05  Bruno Haible  <bruno@clisp.org>
14197         doc: Remove documentation of BeOS as a supported platform.
14198         * doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
14199         unsupported.
14200         * doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
14201         * doc/posix-functions/getdelim.texi: Likewise.
14202         * doc/**/*.texi: Update.
14204 2019-07-05  Bruno Haible  <bruno@clisp.org>
14206         thread, lock, cond, tls: Remove support for Pth threads.
14207         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
14208         --enable-threads=pth any more.
14209         (gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
14210         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
14211         * m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
14212         threads and ISO C11 threads.
14213         * lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
14214         * lib/glthread/lock.h: Likewise.
14215         * lib/glthread/lock.c: Likewise.
14216         * lib/glthread/cond.h: Likewise.
14217         * lib/glthread/cond.c: Likewise.
14218         * lib/glthread/tls.h: Likewise.
14219         * lib/glthread/tls.c: Likewise.
14220         * lib/glthread/yield.h: Likewise.
14221         * lib/regex_internal.h: Likewise.
14222         * tests/test-thread_create.c: Likewise.
14223         * tests/test-lock.c: Likewise.
14224         * tests/test-cond.c: Likewise.
14225         * tests/test-tls.c: Likewise.
14226         * tests/test-rwlock1.c: Don't include glthread/yield.h.
14227         (main): Sleep without calling gl_thread_yield.
14229 2019-07-05  Bruno Haible  <bruno@clisp.org>
14231         thread, lock, cond, tls: Remove support for old Solaris threads.
14232         Solaris >= 2.5.1 has POSIX threads.
14233         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
14234         --enable-threads=solaris any more.
14235         (gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
14236         * lib/glthread/thread.c: Update comment.
14237         * lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
14238         * lib/glthread/lock.h: Likewise.
14239         * lib/glthread/lock.c: Likewise.
14240         * lib/glthread/cond.h: Likewise.
14241         * lib/glthread/cond.c: Likewise.
14242         * lib/glthread/tls.h: Likewise.
14243         * lib/glthread/tls.c: Likewise.
14244         * lib/glthread/yield.h: Likewise.
14245         * lib/regex_internal.h: Likewise.
14246         * tests/test-thread_create.c: Likewise.
14247         * tests/test-lock.c: Likewise.
14248         * tests/test-cond.c: Likewise.
14249         * tests/test-tls.c: Likewise.
14251 2019-07-05  Bruno Haible  <bruno@clisp.org>
14253         getcwd-lgpl, getcwd: Don't call realloc when it is pointless.
14254         * lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
14255         needed size is equal to the allocated size.
14256         * lib/getcwd.c (__getcwd): Likewise.
14258 2019-07-05  Bruno Haible  <bruno@clisp.org>
14260         xgetdomainname: Don't return an excessive memory allocation.
14261         * lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
14262         before returning it.
14264 2019-07-05  Bruno Haible  <bruno@clisp.org>
14266         xgethostname: Don't return an excessive memory allocation.
14267         * lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
14268         returning it.
14270 2019-07-05  Bruno Haible  <bruno@clisp.org>
14272         areadlinkat-with-size: Don't return an excessive memory allocation.
14273         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
14274         before returning it.
14276 2019-07-05  Bruno Haible  <bruno@clisp.org>
14278         areadlink-with-size: Don't return an excessive memory allocation.
14279         Reported by Andreas Dilger <adilger@whamcloud.com>.
14280         * lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
14281         before returning it.
14283 2019-07-03  Bruno Haible  <bruno@clisp.org>
14285         renameatu: Fix test failure on MSVC.
14286         * lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
14287         empty string.
14289 2019-07-03  Bruno Haible  <bruno@clisp.org>
14291         mbrtowc: Fix invalid use of mbtowc() on MSVC.
14292         * lib/mbrtowc.c: Include glthread/lock.h.
14293         (mbtowc_lock): New variable.
14294         (mbrtowc): Treat UTF-8 encoding without locking. For the other
14295         encodings, explicitly reset the internal state of mbtowc, and protect
14296         this through a lock.
14297         * modules/mbrtowc (Depends-on): Add lock.
14299 2019-07-03  Akim Demaille  <akim@lrde.epita.fr>
14301         argmatch: don't define _ in the header.
14302         Reported by Jim Meyering.
14303         * lib/argmatch.h (N_, _): Don't define.
14304         Use gettext instead.
14305         * lib/argmatch.h (_): Define.
14306         * tests/test-argmatch.c (N_): Define.
14308 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
14310         verify: document ‘assume’ better
14311         * lib/verify.h: Reword doc (Bug#36370).
14313 2019-07-02  Bruno Haible  <bruno@clisp.org>
14315         localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
14316         * lib/localcharset.c (locale_charset): Return "UTF-8" instead of
14317         "CPutf8".
14318         * lib/nl_langinfo.c (ctype_codeset): Likewise.
14320 2019-07-02  Bruno Haible  <bruno@clisp.org>
14322         getcwd: Fix crash when invoked with size = 0 on MSVC.
14323         * lib/getcwd.c: Include msvc-inval.h.
14324         (getcwd_nothrow): New function/macro.
14325         (getcwd_system): New macro.
14326         (__getcwd): Use it instead of getcwd.
14327         * modules/getcwd (Depends-on): Add msvc-inval.
14328         * doc/posix-functions/getcwd.texi: Mention the MSVC issue.
14330 2019-07-02  Bruno Haible  <bruno@clisp.org>
14332         nonblocking-pipe tests: Fix test failure on MSVC.
14333         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
14334         native Windows.
14336 2019-07-02  Bruno Haible  <bruno@clisp.org>
14338         usleep: Implement with millisecond resolution on native Windows.
14339         * lib/usleep.c (usleep): On native Windows, implement using Sleep().
14340         * doc/pastposix-functions/usleep.texi: Update accordingly.
14342 2019-07-02  Bruno Haible  <bruno@clisp.org>
14344         lstat tests: Fix test failure on MSVC.
14345         * tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
14346         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
14348 2019-07-02  Bruno Haible  <bruno@clisp.org>
14350         stat tests: Fix test failure on MSVC.
14351         * tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
14352         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
14354 2019-07-02  Bruno Haible  <bruno@clisp.org>
14356         getaddrinfo tests: Fix test failure on MSVC.
14357         * tests/test-getaddrinfo.c: Include sockets.h.
14358         (main): Invoke gl_sockets_startup.
14359         * modules/getaddrinfo-tests (Depends-on): Add sockets.
14361 2019-07-01  Hannes Müller  <h.c.f.mueller@gmx.de>
14363         poll: Fix type of timeout pointer passed to select() on mingw x86_64.
14364         * lib/poll.c: Call Windows native select() with Windows native timeval.
14366 2019-06-30  Bruno Haible  <bruno@clisp.org>
14368         argmatch: Fix compilation errors.
14369         * lib/argmatch.h: Include <limits.h>, for INT_MAX.
14370         * tests/test-argmatch.c (main): Update after last-minute function names
14371         change.
14373 2019-06-30  Bruno Haible  <bruno@clisp.org>
14375         Include <stdlib.h> when needed.
14376         * lib/cnd.c: Include <stdlib.h>, needed for abort().
14377         * lib/fcntl.c: Likewise.
14378         * lib/mbscasestr.c: Likewise.
14379         * lib/mbssep.c: Likewise.
14380         * lib/mbsstr.c: Likewise.
14381         * lib/openat.c: Include <stdlib.h>, needed for free().
14382         * lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
14383         abort().
14385 2019-06-30  Bruno Haible  <bruno@clisp.org>
14387         Include <stdlib.h> when needed.
14388         * lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
14389         * lib/faccessat.c: Likewise.
14390         * lib/fchmodat.c: Likewise.
14391         * lib/fchownat.c: Likewise.
14392         * lib/fstatat.c: Likewise.
14393         * lib/mkfifoat.c: Likewise.
14394         * lib/mknodat.c: Likewise.
14395         * lib/readlinkat.c: Likewise.
14396         * lib/symlinkat.c: Likewise.
14397         * lib/utimensat.c: Likewise.
14398         * lib/mkdirat.c: Likewise. Include also the specification header.
14400 2019-06-30  Bruno Haible  <bruno@clisp.org>
14402         inet_ntop, inet_pton: Avoid conflict with native Windows functions.
14403         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
14404         from gl_PREREQ_SYS_H_SOCKET.
14405         (gl_PREREQ_SYS_H_SOCKET): Invoke it.
14406         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
14407         gl_PREREQ_SYS_H_WS2TCPIP.
14408         * modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
14409         (Makefile.am): Substitute HAVE_WS2TCPIP_H.
14410         * lib/arpa_inet.in.h: Include <ws2tcpip.h>.
14412 2019-06-30  Bruno Haible  <bruno@clisp.org>
14414         inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
14415         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
14416         REPLACE_INET_NTOP to 1 always.
14417         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
14418         REPLACE_INET_PTON to 1 always.
14420 2019-06-30  Bruno Haible  <bruno@clisp.org>
14422         inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
14423         * modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
14424         not REPLACE_INET_NTOP.
14426 2019-06-30  Bruno Haible  <bruno@clisp.org>
14428         poll: Add comment.
14429         * lib/poll.c: Add comment about WSAPoll.
14431 2019-06-30  Bruno Haible  <bruno@clisp.org>
14433         poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
14434         Reported by Hannes Müller <h.c.f.mueller@gmx.de>.
14435         * lib/poll.in.h: Include <winsock2.h>.
14436         (POLL*, pollfd): Override on native Windows.
14437         * m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
14438         * modules/poll-h (Files): Add m4/sys_socket_h.m4.
14439         (Makefile.am): Substitute HAVE_WINSOCK2_H.
14441 2019-06-28  Bruno Haible  <bruno@clisp.org>
14443         accept4: Fix compilation error on OpenIndiana.
14444         Reported by Michal Nowak <mnowak@startmail.com>
14445         via Mark H Weaver <mhw@netris.org>.
14446         * m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
14447         whether it exists as a function.
14449 2019-06-26  Paul Eggert  <eggert@cs.ucla.edu>
14451         strverscmp: sync from glibc
14452         * lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
14453         comments, include libc-config.h, define __strverscmp to be
14454         strverscmp, and don’t assume types line uint8_t and int8_t that
14455         that C99 doesn’t guarantee.
14456         [!_LIBC]: Include libc-config.h; define __strverscmp.
14457         Include stdint.h.
14458         (__strverscmp): Assume C99.  Use uint_least8_t
14459         and int_least8_t instead of unsigned char and signed char.
14460         * modules/strverscmp (Depends-on): Add libc-config, stdint.
14462 2019-06-25  Bruno Haible  <bruno@clisp.org>
14464         tss tests: Add tests for destructors and races.
14465         * tests/test-tss.c (worker_thread): Fix typo in debug message.
14466         (test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
14467         functions.
14468         (main): Invoke them.
14469         * modules/tls-tests (Depends-on): Add mtx.
14471 2019-06-25  Bruno Haible  <bruno@clisp.org>
14473         tls tests: Add tests for destructors and races.
14474         * tests/test-tls.c: Include glthread/lock.h.
14475         (test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
14476         functions.
14477         (main): Invoke them.
14478         * modules/tls-tests (Depends-on): Add lock.
14480 2019-06-25  Bruno Haible  <bruno@clisp.org>
14482         windows-tls: Implement TLS key destructors for native Windows.
14483         * lib/windows-tls.h (glwthread_tls_process_destructors): New
14484         declaration.
14485         (GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
14486         * lib/windows-tls.c: Include <limits.h>, windows-once.h.
14487         (dtor_table_init_once, dtor_table_lock: New variables.
14488         (struct dtor): New type.
14489         (dtor_table, dtors_count, dtors_used, dtors_allocated,
14490         dtor_processing_threads): New variables.
14491         (dtor_table_initialize, dtor_table_ensure_initialized,
14492         dtor_table_shrink_used, glwthread_tls_process_destructors): New
14493         functions.
14494         (glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
14495         handle non-NULL destructors.
14496         * modules/windows-tls (Depends-on): Add windows-once.
14497         * lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
14498         Use the functions declared in windows-tls.h.
14499         * lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
14500         GLWTHREAD_DESTRUCTOR_ITERATIONS.
14501         * lib/windows-thread.c: Include windows-tls.h.
14502         (wrapper_func, glwthread_thread_exit): Invoke
14503         glwthread_tls_process_destructors.
14504         * modules/windows-thread (Depends-on): Add windows-tls.
14506 2019-06-25  Bruno Haible  <bruno@clisp.org>
14508         threadlib: Avoid autoconf warning "was expanded before it was required".
14509         * modules/threadlib (configure.ac): Require gl_THREADLIB.
14511 2019-06-25  Akim Demaille  <akim@lrde.epita.fr>
14513         argmatch: remove duplicate const qualifier
14514         * lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.
14516 2019-06-24  Paul Eggert  <eggert@cs.ucla.edu>
14518         unistd: stddef.h and sys/types.h namespace cleanup
14519         * lib/unistd.in.h [__GLIBC__]:
14520         Do not include stddef.h or sys/types.h.
14521         [!__GLIBC__]: Always include sys/types.h, since unistd.h is
14522         supposed to declare off_t and ssize_t.  Problem found when looking
14523         at why @GNULIB_PWRITE@ was different from the newly-added
14524         @GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.
14526 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
14528         maintainer-makefile: restore portability to non-GNU awks
14529         Reported by Tim Rühsen.
14530         * top/maint.mk (AWK): New variable.  Use it.
14531         (sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.
14533 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
14535         Document setvbuf _IOLBF problem
14536         * doc/posix-functions/setvbuf.texi (setvbuf):
14537         Document MS-Windows portability problem with _IOLBF.
14539         Document lseek SEEK_DATA/SEEK_HOLE
14540         * doc/posix-functions/lseek.texi (lseek):
14541         Document some systems that do not support SEEK_DATA and SEEK_HOLE.
14543 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
14545         argmatch: put all the docs member last.
14546         Reported by Bruno Haible.
14547         * lib/argmatch.h (argmatch_##Name##_group_type): Put the args
14548         member before the docs done.
14549         * doc/argmatch.texi, tests/test-argmatch.c: Adjust.
14551 2019-06-21  Akim Demaille  <akim@lrde.epita.fr>
14553         argmatch: add support to generate the usage message.
14554         * lib/argmatch.c: Move some #includes and gettext support to...
14555         * lib/argmatch.h: here.
14556         (ARGMATCH_DEFINE_GROUP): New macro.
14557         * tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
14558         (argmatch_backup_group): New.
14559         (CHECK): New.
14560         (main): Check argmatch_backup_value, argmatch_backup_xvalue,
14561         argmatch_backup_argument and argmatch_backup_usage.
14562         * modules/argmatch: We depend on c99.
14563         * doc/argmatch.texi (Recognizing Option Arguments): New.
14564         * doc/gnulib.texi: Use it.
14566 2019-06-21  Bruno Haible  <bruno@clisp.org>
14568         thrd: Add comment.
14569         * lib/thrd.c (pthread_main_func): Add comment.
14571 2019-06-21  Bruno Haible  <bruno@clisp.org>
14573         threads-h: Define 'thread_local' if and only if it actually works.
14574         * m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
14575         (gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
14576         Oracle Solaris Studio C. Compile a simple program, to see whether
14577         _Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
14578         (gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
14579         * lib/threads.in.h (thread_local): Undefine if it does not work.
14580         * modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
14581         (Link): Mention LIBTHREADLOCAL.
14582         * tests/test-threads.c: Don't check that thread_local is defined.
14583         * tests/test-thread_local.c: New file.
14584         * modules/threads-h-tests (Files): Add it and macros.h.
14585         (Depends-on): Add thrd and stdint.
14586         (configure.ac): Test whether 'alarm' is declared.
14587         (Makefile.am): Arrange to build and link test-thread_local.
14588         * doc/posix-headers/threads.texi: Mention the platforms that don't
14589         support 'thread_local'.
14591 2019-06-20  Bruno Haible  <bruno@clisp.org>
14593         threads-h: Simplify link dependencies.
14594         * m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
14595         Don't set LTLIBSTDTHREAD.
14596         * modules/thrd (Link): Simplify accordingly.
14597         * modules/mtx (Link): Likewise.
14598         * modules/cnd (Link): Likewise.
14599         * modules/tss (Link): Likewise.
14600         * modules/threads (Link): Likewise.
14602 2019-06-20  Bruno Haible  <bruno@clisp.org>
14604         threads-h: Fix link error on FreeBSD 11.
14605         * m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
14606         also with -lpthread.
14608 2019-06-20  Bruno Haible  <bruno@clisp.org>
14610         threadlib: Fix typo (regression from today).
14611         * m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.
14613 2019-06-20  Bruno Haible  <bruno@clisp.org>
14615         windows-thread, windows-tls: Fix compilation error on 32-bit mingw.
14616         * lib/windows-thread.c: Include <errno.h>.
14617         * lib/windows-tls.c: Likewise.
14619 2019-06-20  Bruno Haible  <bruno@clisp.org>
14621         tss tests: Small improvement.
14622         * tests/test-tss.c (test_tss): Pass a different id to each thread.
14624 2019-06-20  Bruno Haible  <bruno@clisp.org>
14626         threads: New module.
14627         * modules/threads: New file.
14629 2019-06-20  Bruno Haible  <bruno@clisp.org>
14631         tss: Add tests.
14632         * tests/test-tss.c: New file, based on tests/test-tls.c.
14633         * modules/tss-tests: New file.
14635 2019-06-20  Bruno Haible  <bruno@clisp.org>
14637         cnd: Add tests.
14638         * tests/test-cnd.c: New file, based on tests/test-cond.c.
14639         * modules/cnd-tests: New file.
14641 2019-06-20  Bruno Haible  <bruno@clisp.org>
14643         mtx: Add tests.
14644         * tests/test-mtx.c: New file, based on tests/test-lock.c.
14645         * tests/test-call_once.c: New file, based on tests/test-once.c.
14646         * modules/mtx-tests: New file.
14648 2019-06-20  Bruno Haible  <bruno@clisp.org>
14650         thrd: Add tests.
14651         * tests/test-thrd_create.c: New file, based on
14652         tests/test-thread_create.c.
14653         * tests/test-thrd_current.c: New file, based on
14654         tests/test-thread_self.c.
14655         * modules/thrd-tests: New file.
14657 2019-06-20  Bruno Haible  <bruno@clisp.org>
14659         tss: New module.
14660         * lib/tss.c: New file.
14661         * modules/tss: New file.
14662         * doc/posix-functions/tss_create.texi: Mention the new module.
14663         * doc/posix-functions/tss_set.texi: Likewise.
14664         * doc/posix-functions/tss_get.texi: Likewise.
14665         * doc/posix-functions/tss_delete.texi: Likewise.
14667 2019-06-20  Bruno Haible  <bruno@clisp.org>
14669         cnd: New module.
14670         * lib/cnd.c: New file.
14671         * modules/cnd: New file.
14672         * doc/posix-functions/cnd_init.texi: Mention the new module.
14673         * doc/posix-functions/cnd_wait.texi: Likewise.
14674         * doc/posix-functions/cnd_timedwait.texi: Likewise.
14675         * doc/posix-functions/cnd_signal.texi: Likewise.
14676         * doc/posix-functions/cnd_broadcast.texi: Likewise.
14677         * doc/posix-functions/cnd_destroy.texi: Likewise.
14679 2019-06-20  Bruno Haible  <bruno@clisp.org>
14681         mtx: New module.
14682         * lib/mtx.c: New file.
14683         * modules/mtx: New file.
14684         * doc/posix-functions/call_once.texi: Mention the new module.
14685         * doc/posix-functions/mtx_init.texi: Likewise.
14686         * doc/posix-functions/mtx_lock.texi: Likewise.
14687         * doc/posix-functions/mtx_trylock.texi: Likewise.
14688         * doc/posix-functions/mtx_timedlock.texi: Likewise.
14689         * doc/posix-functions/mtx_unlock.texi: Likewise.
14690         * doc/posix-functions/mtx_destroy.texi: Likewise.
14692 2019-06-20  Bruno Haible  <bruno@clisp.org>
14694         thrd: New module.
14695         * lib/thrd.c: New file.
14696         * m4/thrd.m4: New file.
14697         * modules/thrd: New file.
14698         * doc/posix-functions/thrd_current.texi: Mention the new module.
14699         * doc/posix-functions/thrd_detach.texi: Likewise.
14700         * doc/posix-functions/thrd_equal.texi: Likewise.
14701         * doc/posix-functions/thrd_exit.texi: Likewise.
14702         * doc/posix-functions/thrd_sleep.texi: Likewise.
14703         * doc/posix-functions/thrd_yield.texi: Likewise.
14704         * doc/posix-functions/thrd_create.texi: Mention the new module and the
14705         AIX bug.
14706         * doc/posix-functions/thrd_join.texi: Mention the new module and the
14707         AIX and Solaris bugs.
14709 2019-06-20  Bruno Haible  <bruno@clisp.org>
14711         threads-h: Add tests.
14712         * tests/test-threads.c: New file.
14713         * modules/threads-h-tests: New file.
14714         * tests/test-threads-c++.cc: New file.
14715         * modules/threads-h-c++-tests: New file.
14717 2019-06-20  Bruno Haible  <bruno@clisp.org>
14719         threads-h: New module.
14720         * lib/threads.in.h: New file.
14721         * m4/threads.m4: New file.
14722         * m4/yield.m4 (gl_YIELD): Update comment.
14723         * modules/threads-h: New file.
14724         * modules/yields (configure.ac): Use AC_REQUIRE.
14725         * doc/posix-headers/threads.texi: Mention the new module and the AIX
14726         bugs.
14728 2019-06-20  Bruno Haible  <bruno@clisp.org>
14730         windows-thread: New module.
14731         * lib/windows-thread.h: New file, based on lib/glthread/thread.h.
14732         * lib/windows-thread.c: New file, based on lib/glthread/thread.c.
14733         * lib/glthread/thread.h: Include windows-thread.h.
14734         (gl_thread_t): Define using glwthread_thread_t.
14735         (glthread_create): Define using glwthread_thread_create.
14736         (glthread_join): Define using glwthread_thread_join.
14737         (gl_thread_self): Define using glwthread_thread_self.
14738         (gl_thread_exit): Define using glwthread_thread_exit.
14739         (glthread_create_func, glthread_join_func, gl_thread_self_func,
14740         gl_thread_exit_func): Remove declarations.
14741         * lib/glthread/thread.c (self_key): Remove variable.
14742         (do_init_self_key, init_self_key): Remove functions.
14743         (struct gl_thread_struct): Remove type.
14744         (get_current_thread_handle, gl_thread_self_func, wrapper_func,
14745         glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
14746         functions.
14747         * modules/windows-thread: New file.
14748         * modules/thread (Depends-on): Add windows-thread.
14750 2019-06-20  Bruno Haible  <bruno@clisp.org>
14752         windows-tls: New module.
14753         * lib/windows-tls.h: New file, based on lib/glthread/tls.h.
14754         * lib/windows-tls.c: New file, based on lib/glthread/tls.h.
14755         * lib/glthread/tls.h: Include windows-tls.h.
14756         (gl_tls_key_t): Define using glwthread_tls_key_t.
14757         * modules/windows-tls: New file.
14758         * modules/tls (Depends-on): Add windows-tls.
14760 2019-06-20  Bruno Haible  <bruno@clisp.org>
14762         windows-cond: New module.
14763         * lib/windows-cond.h: New file, based on lib/glthread/cond.h.
14764         * lib/windows-cond.c: New file, based on lib/glthread/cond.c.
14765         * lib/glthread/cond.h: Include windows-cond.h.
14766         (struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
14767         (gl_cond_t): Define using glwthread_cond_t.
14768         (gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
14769         (glthread_cond_init): Define using glwthread_cond_init.
14770         (glthread_cond_wait): Define using glwthread_cond_wait.
14771         (glthread_cond_timedwait): Define using glwthread_cond_timedwait.
14772         (glthread_cond_signal): Define using glwthread_cond_signal.
14773         (glthread_cond_broadcast): Define using glwthread_cond_broadcast.
14774         (glthread_cond_destroy): Define using glwthread_cond_destroy.
14775         (glthread_cond_init_func, glthread_cond_wait_func,
14776         glthread_cond_timedwait_func, glthread_cond_signal_func,
14777         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
14778         declarations.
14779         * lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
14780         types.
14781         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
14782         gl_waitqueue_notify_first, gl_waitqueue_notify_all,
14783         glthread_cond_init_func, glthread_cond_wait_func,
14784         glthread_cond_timedwait_func, glthread_cond_signal_func,
14785         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
14786         functions.
14787         * modules/windows-cond: New file.
14788         * modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.
14790 2019-06-20  Bruno Haible  <bruno@clisp.org>
14792         windows-timedrecmutex: New module.
14793         * lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
14794         * lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
14795         * modules/windows-timedrecmutex: New file.
14797 2019-06-20  Bruno Haible  <bruno@clisp.org>
14799         windows-timedmutex: New module.
14800         * lib/windows-timedmutex.h: New file, based on windows-mutex.h.
14801         * lib/windows-timedmutex.c: New file, based on windows-mutex.c.
14802         * modules/windows-timedmutex: New file.
14804 2019-06-20  Bruno Haible  <bruno@clisp.org>
14806         windows-recmutex: New module.
14807         * lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
14808         * lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
14809         * lib/glthread/lock.h: Include windows-recmutex.h.
14810         (gl_recursive_lock_t): Define using glwthread_recmutex_t.
14811         (gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
14812         (glthread_recursive_lock_init): Define using glwthread_recmutex_init.
14813         (glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
14814         (glthread_recursive_lock_unlock): Define using
14815         glwthread_recmutex_unlock.
14816         (glthread_recursive_lock_destroy): Define using
14817         glwthread_recmutex_destroy.
14818         (glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
14819         glthread_recursive_lock_unlock_func,
14820         glthread_recursive_lock_destroy_func): Remove declarations.
14821         * lib/glthread/lock.c (glthread_recursive_lock_init_func,
14822         glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
14823         glthread_recursive_lock_destroy_func): Remove functions.
14824         * modules/windows-recmutex: New file.
14825         * modules/lock (Depends-on): Add windows-recmutex.
14827 2019-06-20  Bruno Haible  <bruno@clisp.org>
14829         windows-mutex: New module.
14830         * lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
14831         * lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
14832         * lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
14833         * lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
14834         (gl_spinlock_t): Remove type.
14835         (gl_lock_t): Define using glwthread_mutex_t.
14836         (gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
14837         (glthread_lock_init): Define using glwthread_mutex_init.
14838         (glthread_lock_lock): Define using glwthread_mutex_lock.
14839         (glthread_lock_unlock): Define using glwthread_mutex_unlock.
14840         (glthread_lock_destroy): Define using glwthread_mutex_destroy.
14841         (glthread_lock_init_func, glthread_lock_lock_func,
14842         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
14843         declarations.
14844         Use glwthread_spinlock_t instead of gl_spinlock_t.
14845         (gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
14846         GLWTHREAD_SPINLOCK_INIT.
14847         * lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
14848         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
14849         functions.
14850         * lib/glthread/cond.h: Use glwthread_spinlock_t instead of
14851         gl_spinlock_t.
14852         * modules/windows-mutex: New file.
14853         * modules/lock (Depends-on): Add windows-mutex.
14855 2019-06-20  Bruno Haible  <bruno@clisp.org>
14857         windows-once: New module.
14858         * lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
14859         * lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
14860         * lib/glthread/lock.h: Include windows-once.h.
14861         (gl_once_t): Define using glwthread_once_t.
14862         (gl_once_define): Define using GLWTHREAD_ONCE_INIT.
14863         (glthread_once): Define using glwthread_once.
14864         (glthread_once_func): Remove declaration.
14865         * lib/glthread/lock.c (glthread_once_func): Remove function.
14866         * modules/windows-once: New file.
14867         * modules/lock (Depends-on): Add windows-once.
14869 2019-06-20  Bruno Haible  <bruno@clisp.org>
14871         lock, cond: Avoid possible counter wraparound on Windows.
14872         * lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
14873         field of the guard unchanged if it was already positive.
14874         (glthread_rwlock_rdlock_func): Likewise.
14875         (glthread_rwlock_wrlock_func): Likewise.
14876         (glthread_recursive_lock_lock_func): Likewise.
14877         * lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
14878         (glthread_cond_timedwait_func): Likewise.
14880 2019-06-20  Bruno Haible  <bruno@clisp.org>
14882         cond: Make glthread_cond_timedwait more reliable on Windows.
14883         * lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
14884         condition variable before looking at the current time.
14886 2019-06-20  Bruno Haible  <bruno@clisp.org>
14888         pthread_mutex_timedlock: New module.
14889         * lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
14890         new declaration.
14891         * lib/pthread_mutex_timedlock.c: New file.
14892         * m4/pthread_mutex_timedlock.m4: New file.
14893         * m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
14894         whether pthread_mutex_timedlock is declared.
14895         (gl_PTHREAD_MODULE_INDICATOR): New macro.
14896         (gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
14897         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
14898         * modules/pthread (configure.ac): Call AC_LIBOBJ here.
14899         (Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
14900         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
14901         * modules/pthread_mutex_timedlock: New file.
14902         * doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
14903         module.
14905 2019-06-20  Bruno Haible  <bruno@clisp.org>
14907         thread, lock, cond, tls: Recognize C11 multithreaded applications.
14908         * m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
14909         * lib/glthread/thread.h (c11_threads_in_use): New macro.
14910         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14911         * lib/glthread/lock.h (c11_threads_in_use): New macro.
14912         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14913         * lib/glthread/cond.h (c11_threads_in_use): New macro.
14914         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14915         * lib/glthread/tls.h (c11_threads_in_use): New macro.
14916         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14918 2019-06-20  Bruno Haible  <bruno@clisp.org>
14920         tls tests: Small improvements.
14921         * tests/test-tls.c: Include <stdint.h>.
14922         (worker_thread): Avoid gcc warning on 64-bit mingw.
14923         (test_tls): Pass a different id to each thread.
14924         * modules/tls-tests (Depends-on): Add stdint.
14926 2019-06-20  Bruno Haible  <bruno@clisp.org>
14928         cond tests: Simplify.
14929         * tests/test-cond.c (test_timedcond): Remove redundant assignment.
14931 2019-06-20  Bruno Haible  <bruno@clisp.org>
14933         lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
14934         * tests/test-lock.c (test_once): Don't reference fire_signal if
14935         !ENABLE_LOCKING.
14937 2019-06-19  Bruno Haible  <bruno@clisp.org>
14939         nanosleep: Relicense under LGPLv2+.
14940         Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.
14941         * modules/nanosleep (License): Change to LGPLv2+.
14943 2019-06-19  Bruno Haible  <bruno@clisp.org>
14945         Reorder pieces of header in perl scripts.
14946         The desired order is
14947         - Prologue part 1 (2 lines with #!)
14948         - Program short description
14949         - Copyright and license notice
14950         - Written-by notice
14951         - Program short description (optional)
14952         - Program long description (optional)
14953         - Prologue part 2
14954         - Time stamp
14955         - Code
14956         Reported by Paul Eggert.
14957         * build-aux/announce-gen: Reorder header.
14958         * build-aux/gitlog-to-changelog: Likewise.
14959         * build-aux/useless-if-before-free: Likewise.
14960         * build-aux/prefix-gnulib-mk: Add copyright notice and short
14961         description.
14962         * build-aux/update-copyright: Likewise. Add short description. Bump
14963         time-stamp-line-limit to 200.
14965 2019-06-18  Paul Eggert  <eggert@cs.ucla.edu>
14967         verify-tests: work around xlc bug
14968         Problem reported by Bruno Haible in:
14969         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
14970         * tests/test-verify.c (item): Move the arithmetic inside the
14971         verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.
14973 2019-06-16  Bruno Haible  <bruno@clisp.org>
14975         Restore Emacs time-stamp hook applicability.
14976         Reported by Darshit Shah <darnir@gnu.org>.
14977         * build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
14978         * build-aux/announce-gen: Likewise.
14979         * build-aux/gitlog-to-changelog: Likewise.
14980         * build-aux/prefix-gnulib-mk: Likewise.
14981         * build-aux/update-copyright: Likewise.
14983 2019-06-15  Bruno Haible  <bruno@clisp.org>
14985         Fix scripts to have valid executable format on Alpine Linux.
14986         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
14987         Idea by Paul Eggert.
14988         * build-aux/useless-if-before-free: Use a prologue that starts with
14989         '#!/bin/sh'.
14990         * build-aux/announce-gen: Likewise.
14991         * build-aux/gitlog-to-changelog: Likewise.
14992         * build-aux/prefix-gnulib-mk: Likewise.
14993         * build-aux/update-copyright: Likewise.
14994         * tests/test-update-copyright.sh: Update test program accordingly.
14996 2019-06-10  Bruno Haible  <bruno@clisp.org>
14998         nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
14999         Reported by Nikita Ermakov <arei@altlinux.org> in
15000         <https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.
15001         * lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
15002         sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.
15004 2019-06-10  Bruno Haible  <bruno@clisp.org>
15006         posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
15007         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
15008         * lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
15009         a copy of the path argument.
15010         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
15011         it.
15013 2019-06-10  Bruno Haible  <bruno@clisp.org>
15015         posix_spawn_file_actions_addopen: Fix possible use-after-free bug.
15016         Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.
15017         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
15018         * lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
15019         a copy of the path argument.
15020         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
15021         it.
15023 2019-06-10  Bruno Haible  <bruno@clisp.org>
15025         posix_spawn_file_actions_addfchdir: Add tests.
15026         * tests/test-posix_spawn_file_actions_addfchdir.c: New file.
15027         * tests/test-posix_spawn5.c: New file.
15028         * modules/posix_spawn_file_actions_addfchdir-tests: New file.
15030 2019-06-10  Bruno Haible  <bruno@clisp.org>
15032         posix_spawn_file_actions_addfchdir: New module.
15033         * lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
15034         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
15035         union member 'fchdir_action'.
15036         * lib/spawn_faction_addfchdir.c: New file.
15037         * lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
15038         * m4/posix_spawn_faction_addfchdir.m4: New file.
15039         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
15040         'posix_spawn_file_actions_addfchdir' is present and whether
15041         posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
15042         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
15043         posix_spawn_file_actions_addfchdir is declared.
15044         (gl_SPAWN_H_DEFAULTS): Initialize
15045         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
15046         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
15047         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
15048         * modules/spawn (Makefile.am): Substitute
15049         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
15050         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
15051         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
15052         * modules/posix_spawn_file_actions_addfchdir: New file.
15053         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
15054         signature.
15055         * doc/posix-functions/posix_spawn.texi: Mention the new module.
15056         * doc/posix-functions/posix_spawnp.texi: Likewise.
15057         * doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
15058         Likewise.
15060 2019-06-10  Bruno Haible  <bruno@clisp.org>
15062         doc: Document existence of posix_spawn_file_actions_addchdir module.
15063         * doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
15064         the posix_spawn_file_actions_addchdir module.
15066 2019-06-10  Bruno Haible  <bruno@clisp.org>
15068         posix_spawn-internal: Fix module description.
15069         * modules/posix_spawn (configure.ac): Move request to compile spawni.c
15070         from here...
15071         * modules/posix_spawnp (configure.ac): ... and here...
15072         * modules/posix_spawn-internal (configure.ac): ... to here.
15074 2019-06-10  Bruno Haible  <bruno@clisp.org>
15076         doc: Update and improve documentation of glibc functions.
15077         This is a series of commits that
15078         - updates the documentation to the state of glibc 2.29,
15079         - adds references to Linux man pages and glibc documentation,
15080         - marks Linux specific functions as such.
15081         These are the commits:
15082         doc: Update after removal of crypt functions from glibc 2.28.
15083         doc: Remove mention of function vm86 (does not exist on x86_64).
15084         doc: Remove mention of functions that are gone from glibc.
15085         doc: Mention that glibc no longer provides h_errno.
15086         doc: Mention the availability of specific functions in glibc versions.
15087         doc: Mention eaccess.
15088         doc: Add references to Linux man pages.
15089         doc: Add references to glibc documentation.
15090         doc: Mention inotify_* functions.
15091         doc: Mention ppoll.
15092         doc: Mention sched_getcpu.
15093         doc: Mention sync_file_range.
15094         doc: Mention epoll_pwait.
15095         doc: Mention eventfd, eventfd_read, eventfd_write.
15096         doc: Mention signalfd.
15097         doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
15098         doc: Mention epoll_create1.
15099         doc: Mention getauxval.
15100         doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
15101         doc: Mention nextdown, nextup.
15102         doc: Mention more ISO TS 18661-1 <math.h> functions.
15103         doc: Mention ISO TS 18661-1 <fenv.h> functions.
15104         doc: Mention getrandom, getentropy.
15105         doc: Mention strfromf, strfromd, strfroml.
15106         doc: Mention preadv2, pwritev2.
15107         doc: Mention copy_file_range.
15108         doc: Mention memfd_create.
15109         doc: Mention mlock2.
15110         doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
15111         doc: Mention more ISO TS 18661-1 <math.h> functions.
15112         doc: Mention renameat2.
15113         doc: Mention statx.
15114         doc: Mention the ISO C11 multithreading header and functions.
15115         doc: Mention getcpu.
15116         doc: Mention posix_spawn_file_actions_add[f]chdir_np.
15117         doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
15118         doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
15119         doc: Some glibc functions also exist on FreeBSD, Solaris 11.
15120         doc: Some glibc functions also exist on Solaris 11.
15121         doc: Some glibc functions also exist on Solaris 11.4.
15122         doc: Some glibc functions also exist on FreeBSD.
15123         doc: Some glibc functions also exist on BeOS.
15124         doc: Some glibc functions also exist on Haiku.
15125         doc: Mark functions which exist only on Linux.
15126         doc: Mark functions which exist only on Linux and illumos.
15128 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
15130         copy-file: fix typo
15131         * lib/copy-file.c (qcopy_file_preserving): Remove unused label.
15133         copy-file-range: simplify into a stub
15134         Based on a comment by Florian Weimer in:
15135         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
15136         It turns out that Emacs (which will use this module) won’t need an
15137         emulation and I suspect other programs won’t either, because these
15138         programs will need to fall back on read+write anyway.  Perhaps I
15139         am wrong and other programs will be able to use an emulation; if
15140         so, this patch can be reverted.
15141         * lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
15142         Just call it copy_file_range.
15143         * m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
15144         Check via AC_LINK_IFELSE.
15145         * modules/copy-file-range (Depends-on): Remove modules no longer used.
15147 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
15149         copy-file: prefer copy_file_range
15150         * lib/copy-file.c: Do not include xalloc.h.
15151         (qcopy_file_preserving): Allocate a buffer only if
15152         copy_file_range does not suffice.  If the allocation fails
15153         don't give up; just use a small stack-based buffer.
15154         Prefer copy_file_range if it works.
15155         * modules/copy-file (Depends-on): Add copy-file-range.
15156         Remove xalloc.
15158         copy-file-range: new module
15159         * MODULES.html.sh: Add copy-file-range.
15160         * lib/copy-file-range.c, m4/copy-file-range.m4:
15161         * modules/copy-file-range: New files.
15162         * lib/unistd.in.h (copy_file_range): Declare.
15163         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
15164         Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
15165         * modules/unistd (unistd.h): Substitute them.
15167 2019-05-28  Bruno Haible  <bruno@clisp.org>
15169         binary-io: Attempted use of O_BINARY on consoles no longer fails.
15170         Reported by KO Myung-Hun <komh78@gmail.com> in
15171         <https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.
15172         * lib/binary-io.h (__gl_setmode_check): Remove function.
15173         (set_binary_mode): Declare as notinline on DJGPP and EMX.
15174         * lib/binary-io.c (__gl_setmode_check): Remove function.
15175         (set_binary_mode): Define here on DJGPP and EMX. Inline
15176         __gl_setmode_check. In case of a tty, don't return an error code.
15178 2019-05-28  James Youngman  <jay@gnu.org>
15180         dirent-safer: Make opendir_safer usable from C++.
15181         * lib/dirent-safer.h: use extern "C".
15183 2019-05-28  James Youngman  <jay@gnu.org>
15185         canonicalize: Make canonicalize_filename_mode usable from C++.
15186         * lib/canonicalize.h: use extern "C".
15188 2019-05-26  Akim Demaille  <akim@lrde.epita.fr>
15190         prefix-gnulib-mk: Fix CPPFLAGS migration.
15191         * build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
15192         _a part of the library name.
15194 2019-05-24  Paul Eggert  <eggert@cs.ucla.edu>
15196         flexmember: update comments again
15197         * lib/flexmember.h, m4/flexmember.m4: Improve comments further.
15199         flexmember: update comment
15200         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.
15202 2019-05-20  Bruno Haible  <bruno@clisp.org>
15204         setlocale: Improve fallback on macOS.
15205         * lib/setlocale.c (search): Optimize away a redundant strcmp()
15206         invocation.
15207         (locales_with_principal_territory): New array.
15208         (langcmp, get_main_locale_with_same_language): New functions.
15209         (locales_with_principal_language): New array.
15210         (terrcmp, get_main_locale_with_same_territory): New functions.
15211         (rpl_setlocale): When setlocale_single failed, try again with a locale
15212         that is more likely to exist. Don't warn if the environment variable
15213         SETLOCALE_VERBOSE is not set.
15215 2019-05-19  Bruno Haible  <bruno@clisp.org>
15217         localename: Fix default on macOS.
15218         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
15219         * lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
15220         (gl_locale_name_environ, gl_locale_name_default): Remove code for
15221         HAVE_CFLOCALECOPYCURRENT.
15222         * lib/localename.h (gl_locale_name_default): Update.
15224 2019-05-19  Karl Berry  <karl@freefriends.org>
15226         * config/srclistvars.sh (TEXINFOTEX): make ftp.gnu.org be the
15227         source for texinfo.tex, replacing TEXINFOSRC, per Texinfo maintainer.
15228         * config/srclist.txt (texinfo.tex): use it. (Also doc changes.)
15230 2019-05-18  Akim Demaille  <akim@lrde.epita.fr>
15232         maintainer-makefile: catch uses of $< in non-implicit rules
15233         * top/maint.mk (sc_prohibit_magic_number_exit): New.
15235 2019-05-18  Bruno Haible  <bruno@clisp.org>
15237         threadlib: Provide an easy way to avoid mingw's winpthreads library.
15238         * m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
15239         (gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
15240         gl_use_threads accordingly.
15242 2019-05-18  Bruno Haible  <bruno@clisp.org>
15244         pthread_sigmask: Fix compilation error with --enable-threads=windows.
15245         Reported by Tim Rühsen in
15246         <https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
15247         and Michele Locati in
15248         <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.
15249         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
15250         2015-06-01. Test whether pthread_sigmask is a macro, regardless of
15251         $LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
15252         in use and regardless which threads API is chosen.
15254 2019-05-14  Paul Eggert  <eggert@cs.ucla.edu>
15256         close-stream, closein, closeout: simplify
15257         I noticed this opportunity for simplification while drafting a
15258         new, related module that I haven’t had time to finish yet.
15259         * m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
15260         * modules/close-stream (Files): Remove m4/close-stream.m4.
15261         (configure.ac): Omit gl_CLOSE_STREAM.
15262         * modules/closein (Files): Remove m4/closein.m4
15263         (configure.ac): Omit gl_CLOSEIN.
15264         * modules/closeout (Files): Remove m4/closeout.m4.
15265         (configure.ac): Omit gl_CLOSEOUT.
15267 2019-05-12  Bruno Haible  <bruno@clisp.org>
15269         libtool-next-version: New program.
15270         * build-aux/libtool-next-version: New file.
15272 2019-05-11  John Darrington  <john@darrington.wattle.id.au>
15273             Bruno Haible  <bruno@clisp.org>
15275         version-etc: Ease translation.
15276         * lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
15277         URLs and formatting newlines out of translatable string.
15279 2019-05-11  Bruno Haible  <bruno@clisp.org>
15281         gnupload: Explain how to create symlinks.
15282         * build-aux/gnupload (usage): Add an example that creates symlinks.
15284 2019-05-11  Paul Eggert  <eggert@cs.ucla.edu>
15286         fpucw: port to gcc -pedantic
15287         * lib/fpucw.h (GET_FPUCW, SET_FPUCW):
15288         Use __extension__ if using ({ ... }).
15290         crypto/af_alg: port to strict C compilers
15291         * lib/af_alg.c: Include af_alg.h regardless, so that the
15292         compilation unit is nonempty.
15294 2019-05-10  Bruno Haible  <bruno@clisp.org>
15296         base64: Avoid false positive warning from Coverity.
15297         Reported by Kamil Dudka <kdudka@redhat.com>.
15298         Idea by Paul Eggert.
15299         * lib/base64.c (base64_encode_fast, base64_encode): Add a no-op
15300         '& 0x3f' to the array index expressions. This convinces Coverity that
15301         there is no out-of-bounds array reference, regardless of the input.
15303 2019-05-09  Bruno Haible  <bruno@clisp.org>
15305         gettext: Update to gettext 0.20.
15306         * modules/gettext (Files): Remove m4/codeset.m4, m4/fcntl-o.m4,
15307         m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intl.m4, m4/intldir.m4,
15308         m4/intmax.m4, m4/inttypes_h.m4, m4/inttypes-pri.m4, m4/lcmessage.m4,
15309         m4/lock.m4, m4/longlong.m4, m4/printf-posix.m4, m4/size_max.m4,
15310         m4/stdint_h.m4, m4/threadlib.m4, m4/uintmax_t.m4, m4/visibility.m4,
15311         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. Add m4/host-cpu-c-abi.m4.
15312         (configure.ac): Request infrastructure compatible with gettext 0.20.
15313         * m4/glibc2.m4: Remove file.
15314         * m4/intdiv0.m4: Remove file.
15315         * m4/intl.m4: Remove file.
15316         * m4/intldir.m4: Remove file.
15317         * m4/intmax.m4: Remove file.
15318         * m4/printf-posix.m4: Remove file.
15319         * m4/uintmax_t.m4: Remove file.
15320         * m4/gettext.m4: Update from gettext 0.20.
15321         * m4/po.m4: Likewise.
15323 2019-05-09  Paul Eggert  <eggert@cs.ucla.edu>
15325         verify: remove verify_true
15326         * NEWS: Mention this.
15327         * lib/verify.h (verify_true): Remove.
15328         * tests/test-verify.c (item): Test verify_expr, not verify_true.
15330         Support C2X and C++17 static_assert
15331         C2X and C++17 finally added support for a simple, single-argument
15332         ‘static_assert’ that implements what the Gnulib ‘verify’ macro was
15333         doing back in 2005.  Implement static_assert on older platforms.
15334         The only remaining advantage of ‘verify’ is a shorter name.
15335         * doc/posix-headers/assert.texi (assert.h):
15336         * doc/verify.texi (Compile-time Assertions):
15337         Modernize for C2X and C++17.
15338         * lib/verify.h (_GL_HAVE__STATIC_ASSERT1, _GL_HAVE_STATIC_ASSERT1):
15339         New macros.
15340         (_GL_HAVE__STATIC_ASSERT): Remove.
15341         (_GL_HAVE__STATIC_ASSERT): Rely more heavily on __STDC_VERSION__.
15342         (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE): Remove 2nd arg, the diagnostic
15343         string.  All callers changed.
15344         (_GL_VERIFY): Require 3 or more args, of which only the first 2
15345         are used.  All callers changed.
15346         (_Static_assert): Allow either 1 or 2 args, and define if
15347         !_GL_HAVE__STATIC_ASSERT1 instead of defining if
15348         !_GL_HAVE__STATIC_ASSERT.
15349         (static_assert): Define if !_GL_HAVE_STATIC_ASSERT1 instead
15350         of defining if !_GL_HAVE_STATIC_ASSERT.
15351         (verify_expr, verify): Don’t bother trying to copy the expression
15352         into the diagnostic, since 1-argument static_assert doesn’t.
15353         (verify): Prefer 1-argument _Static_assert if it works.
15354         * m4/assert_h.m4 (gl_ASSERT_H): Check for 1-argument static_assert.
15356 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
15358         Fix _GL_HAVE__STATIC_ASSERT typo
15359         * lib/verify.h (_Static_assert): For the FreeBSD workaround,
15360         use _GL_HAVE__STATIC_ASSERT, not _GL_HAVE_STATIC_ASSERT.
15362 2019-05-05  Bruno Haible  <bruno@clisp.org>
15364         wcwidth: Ensure width 1, not 2, for ambiguous characters.
15365         Reported by Kiyoshi KANAZAWA <yoi_no_myoujou@yahoo.co.jp>
15366         via Akim Demaille <akim.demaille@gmail.com>.
15367         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the width of U+2202. Use an
15368         en_US.UTF-8 locale, since that is more likely to be present than an
15369         fr_FR.UTF-8 locale.
15370         * tests/test-wcwidth.c (main): Check the width of U+2202.
15371         * doc/posix-functions/wcwidth.texi: Mention the issue.
15373 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
15375         Port manywarnings to GCC 9
15376         * build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
15377         -Wc11-c2x-compat, -Wcast-result (for the D programming language),
15378         -Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
15379         -Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
15380         -Wredundant-move.  Adjust to minor wording changes in GCC 9’s
15381         --help=warnings output.
15382         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
15383         -Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
15384         -Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
15386 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
15388         Sync lib/mktime-internal.h from glibc
15389         * config/srclist.txt: Add entry for lib/mktime-internal.h.
15390         * lib/mktime-internal.h: Autoupdate.
15392 2019-04-28  Bruno Haible  <bruno@clisp.org>
15394         tls tests: Prevent that the test takes too long.
15395         * tests/test-tls.c: Include <signal.h>, <unistd.h>.
15396         (main): Let the test fail if it takes more than 10 minutes.
15397         * modules/tls-tests (configure.ac): Test whether 'alarm' is declared.
15399 2019-04-27  Bruno Haible  <bruno@clisp.org>
15401         lock tests: Prevent that the test takes too long.
15402         * tests/test-lock.c: Include <signal.h>, <unistd.h>.
15403         (main): Let the test fail if it takes more than 10 minutes.
15404         * modules/lock-tests (configure.ac): Test whether 'alarm' is declared.
15406 2019-04-27  Bruno Haible  <bruno@clisp.org>
15408         localename: Fix crash on mingw (regression from 2018-11-23).
15409         * lib/localename.c (gl_locale_name_posix): Don't attempt to convert a
15410         locale name that is null.
15412 2019-04-27  Bruno Haible  <bruno@clisp.org>
15414         Fix gcc warnings on 64-bit mode mingw.
15415         * lib/clean-temp.c: Include <stdint.h> instead of defining uintptr_t.
15416         * lib/gl_array_list.c: Likewise.
15417         * lib/gl_array_map.c: Likewise.
15418         * lib/gl_array_set.c: Likewise.
15419         * lib/gl_carray_list.c: Likewise.
15420         * lib/gl_sublist.c: Likewise.
15421         * lib/gl_avltreehash_list.c (uintptr_t): Remove definition.
15422         * lib/gl_rbtreehash_list.c (uintptr_t): Likewise.
15423         * lib/gl_hash_map.c (uintptr_t): Likewise.
15424         * lib/gl_hash_set.c (uintptr_t): Likewise.
15425         * lib/gl_linkedhash_list.c (uintptr_t): Likewise.
15426         * lib/gl_linkedhash_map.c (uintptr_t): Likewise.
15427         * lib/gl_linkedhash_set.c (uintptr_t): Likewise.
15428         * lib/iconv.c (uintptr_t): Likewise.
15429         * lib/iconv_close.c (uintptr_t): Likewise.
15430         * tests/test-lock.c: Include <stdint.h>.
15431         (once_contender_thread, test_once): Cast through 'intptr_t' instead of
15432         'long'.
15433         * modules/clean-temp (Depends-on): Add stdint.
15434         * modules/array-list (Depends-on): Likewise.
15435         * modules/array-map (Depends-on): Likewise.
15436         * modules/array-set (Depends-on): Likewise.
15437         * modules/carray-list (Depends-on): Likewise.
15438         * modules/sublist (Depends-on): Likewise.
15439         * modules/lock-tests (Depends-on): Likewise.
15441 2019-04-27  Bruno Haible  <bruno@clisp.org>
15443         error: Tweak indentation.
15444         * lib/error.c: Correct indentation.
15446 2019-04-27  Bruno Haible  <bruno@clisp.org>
15448         term-style-control: Fix gcc warning on mingw.
15449         * lib/term-style-control.c (ensure_other_signal_handlers): Reduce scope
15450         of i.
15452 2019-04-26  Bruno Haible  <bruno@clisp.org>
15454         pipe-filter-gi, pipe-filter-ii: Fix gcc warning.
15455         * lib/pipe-filter-aux.h (read): Undefine before redefinition.
15457 2019-04-26  Bruno Haible  <bruno@clisp.org>
15459         relocatable-prog: Fix gcc warning on mingw.
15460         * lib/progreloc.c (maybe_executable): Don't define on native Windows and
15461         on EMX.
15463 2019-04-02  Bruno Haible  <bruno@clisp.org>
15465         gitsub.sh: New file.
15466         * top/gitsub.sh: New file.
15468 2019-04-18  Akim Demaille  <akim@lrde.epita.fr>
15470         argmatch: use void* for raw memory pointers
15471         * lib/argmatch.h, lib/argmatch.c (argmatch, argmatch_valid)
15472         (__xargmatch_internal, argmatch_to_argument): Use void* for pointers
15473         to "values", keep char* for strings.
15475 2019-04-21  Akim Demaille  <akim@lrde.epita.fr>
15477         prefix-gnulib-mk: fix the support for gnulib-po
15478         * build-aux/prefix-gnulib-mk (prefix_assignment): Remove useless $res.
15479         Don't touch HAVE_* variables.
15480         Map AM_CPPFLAGS and AM_CPPFLAGS to the library's corresponding variables.
15482 2019-04-18  Bernhard Voelker  <mail@bernhard-voelker.de>
15484         di-set: allow free with 'ino_map' being NULL.
15485         * lib/di-set.c (di_set_free): Avoid ino_map_free() when dis->ino_map
15486         is NULL.  Bug introduced in commit 3703dbbe88dd.
15487         * tests/test-di-set.c: Add di_set_free() right after di_set_alloc()
15488         as a test.
15490 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
15492         * lib/str-two-way.h: Fix comment typo.
15494 2019-04-13  Bruno Haible  <bruno@clisp.org>
15496         x-to-1: Restore ability to use original calling convention.
15497         * build-aux/x-to-1.in: Add comments. Accept the original form of
15498         HELP2MAN argument as well as the form expected since 2012-12-12.
15500 2019-04-13  Bruno Haible  <bruno@clisp.org>
15502         x-to-1: Avoid failure due to missing perl modules.
15503         * build-aux/x-to-1.in: Test whether all the perl modules that help2man
15504         needs are installed.
15506 2019-04-13  Bruno Haible  <bruno@clisp.org>
15508         openmp-init: New module.
15509         * modules/openmp-init: New file.
15510         * modules/openmp: (Files, Depends-on, configure.ac, Makefile.am): Revert
15511         the changes from 2019-04-09.
15513 2019-04-12  Bruno Haible  <bruno@clisp.org>
15515         signbit: Fix compilation error when gnulib's math.h exists twice.
15516         * lib/math.in.h (GNULIB_defined_signbit): New macro.
15518 2019-04-12  Bruno Haible  <bruno@clisp.org>
15520         openmp: Fix compilation error on platforms without OpenMP.
15521         * lib/omp-init.c: Include <omp.h> only if _OPENMP.
15523 2019-04-09  Bernhard Voelker  <mail@bernhard-voelker.de>
15525         mountlist: make parsing /proc/self/mountinfo more robust
15526         Cater for the following issues with mountinfo parsing (the first
15527         one was reported by Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
15528         in <https://bugs.gnu.org/35137>).
15529         1. The fields source, target, mntroot and fstype may contain characters
15530         like '\r'; sscanf(3) fails to read such values with the %s format
15531         specifier because it would stop at such characters.
15532         Example: "mount -t tmpfs tmpfs /foo^Mbar".
15533         The only true separator in that file is the ' ' character.
15534         2. The source field may be an empty string, which happens e.g. with
15535         "mount -t tmpfs '' /target".
15536         3. The fstype field may contain mangled characters as well which need
15537         unescaping.
15538         * lib/mountlist.c (terminate_at_blank): Add utility function.
15539         (read_file_system_list): In the block trying to read the mountinfo file,
15540         avoid using sscanf(3) with %s format; instead, parse the above fields
15541         separated by spaces one by one.
15542         This also handles the case when the source field is an empty string.
15543         Unescape the fstype field.
15545 2019-04-09  Bruno Haible  <bruno@clisp.org>
15547         openmp: Add workaround for 32-bit programs on AIX.
15548         * lib/omp.in.h: New file.
15549         * lib/omp-init.c: New file, based on lib/nproc.c.
15550         * m4/omp_h.m4: New file.
15551         * modules/openmp (Files): Add them.
15552         (Depends-on): Add include_next, c-ctype, setenv.
15553         (configure.ac): Invoke gl_OMP_H.
15554         (Makefile.am): Add rules to create omp.h and compile omp-init.c.
15555         (Include): Mention <omp.h>.
15557 2019-04-09  Bruno Haible  <bruno@clisp.org>
15559         nproc: Fix return value for privileged processes.
15560         * lib/nproc.c (num_processors_ignoring_omp): Test getuid(), not
15561         getpid().
15563 2019-04-07  Bruno Haible  <bruno@clisp.org>
15565         Add copyright notices in several files.
15566         Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
15567         * lib/_Noreturn.h: Add LGPLv2+ copyright notice.
15568         * lib/libunistring.valgrind: Likewise.
15569         * lib/iconv_open-*.gperf: Add GPLv2+ copyright notice.
15570         * lib/uniname/gen-uninames.lisp: Add GPLv3+ copyright notice.
15571         * lib/memchr.valgrind: Likewise.
15572         * lib/memchr2.valgrind: Likewise.
15573         * lib/rawmemchr.valgrind: Likewise.
15574         * lib/relocatable.valgrind: Likewise.
15575         * lib/strchrnul.valgrind: Likewise.
15577 2019-03-25  Bruno Haible  <bruno@clisp.org>
15579         term-style-control tests: Fix link error.
15580         Reported by Tom G. Christensen in
15581         <https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00108.html>.
15582         * modules/term-style-control-tests (Makefile.am): Link
15583         test-term-style-control-hello and test-term-style-control-yes against
15584         LIBINTL.
15586 2019-03-24  Bruno Haible  <bruno@clisp.org>
15588         term-style-control: Add tests.
15589         * tests/test-term-style-control-hello.c: New file.
15590         * tests/test-term-style-control-yes.c: New file.
15591         * modules/term-style-control-tests: New file.
15593         term-style-control: New module.
15594         * lib/term-style-control.h: New file, based on libtextstyle's
15595         term-ostream.oo.h and term-ostream.oo.c.
15596         * lib/term-style-control.c: New file, based on libtextstyle's
15597         term-ostream.oo.c.
15598         * modules/term-style-control: New file.
15600 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
15602         _Noreturn: beware of C's _Noreturn in C++ pre C++11.
15603         * lib/_Noreturn.h, m4/gnulib-common.m4: Using C's _Noreturn in
15604         C++98 appears to be supported by Clang, but not by GCC nor ICC.
15606 2019-03-23  Bruno Haible  <bruno@clisp.org>
15608         Support cross-compilation to musl libc.
15609         Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
15610         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
15611         musl libc.
15612         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
15613         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
15614         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
15615         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
15616         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15617         * m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
15618         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
15619         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
15620         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
15621         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
15622         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
15623         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
15624         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
15625         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
15626         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
15627         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
15628         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
15629         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
15630         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
15631         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
15632         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
15633         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
15634         * m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
15635         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
15636         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
15637         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
15638         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
15639         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
15640         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
15641         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
15642         * m4/log.m4 (gl_FUNC_LOG): Likewise.
15643         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
15644         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
15645         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
15646         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
15647         * m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.
15648         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
15649         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
15650         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
15651         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
15652         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
15653         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
15654         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
15655         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
15656         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
15657         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
15658         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
15659         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
15660         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
15661         gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
15662         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
15663         gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
15664         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
15665         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
15666         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
15667         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
15668         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
15669         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
15670         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
15671         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
15672         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
15673         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
15674         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
15675         * m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
15676         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
15677         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
15678         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
15679         * m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
15680         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
15681         * m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
15682         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
15683         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15684         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15685         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
15686         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
15687         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
15688         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
15689         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
15691 2019-03-23  Bruno Haible  <bruno@clisp.org>
15693         posix_spawn_file_actions_*: Document musl libc bugs.
15694         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
15695         the bug.
15696         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Likewise.
15697         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Likewise.
15698         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): When
15699         cross-compiling to a musl system, guess no.
15700         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): Likewise.
15701         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
15703 2019-03-23  Bruno Haible  <bruno@clisp.org>
15705         futimens: Document musl libc bug.
15706         * doc/posix-functions/futimens.texi: Mention the bug.
15707         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
15708         cross-compiling, guess no on glibc and musl systems.
15710 2019-03-23  Bruno Haible  <bruno@clisp.org>
15712         Clarify that cross-compilation guesses are guesses.
15713         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): When cross-compiling, add
15714         prefix 'guessing ' to gl_cv_func_chown_follows_symlink.
15715         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): When cross-compiling, add
15716         prefix 'guessing ' to gl_cv_func_fchownat_nofollow_works.
15717         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): When
15718         cross-compiling, add prefix 'guessing ' to gl_cv_func_getcwd_abort_bug.
15719         * m4/glob.m4 (gl_GLOB): When cross-compiling, add prefix 'guessing ' to
15720         gl_cv_glob_lists_symlinks.
15721         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, add prefix
15722         'guessing ' to ac_cv_func_malloc_0_nonnull.
15723         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): When cross-compiling, add prefix
15724         'guessing ' to ac_cv_func_realloc_0_nonnull.
15725         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, add prefix
15726         'guessing ' to gl_cv_func_poll.
15727         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): When cross-
15728         compiling, add prefix 'guessing ' to gl_cv_func_iconv_supports_utf.
15729         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Update accordingly.
15731 2019-03-23  Bruno Haible  <bruno@clisp.org>
15733         strtold: Fix typo.
15734         * m4/strtold.m4 (gl_FUNC_STRTOLD): Fix typo in variable name.
15736 2019-03-23  Bruno Haible  <bruno@clisp.org>
15738         noreturn: In C++ mode with clang, use _Noreturn as fallback.
15739         Reported by Akim Demaille.
15740         * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
15741         [[noreturn]] would not work, use _Noreturn instead.
15743 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
15745         libtextstyle-optional: Fix compiler warnings.
15746         * lib/textstyle.in.h (html_styled_ostream_create): Flag arguments
15747         as unused.
15749 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15751         bitset: fix memory leaks
15752         Reported by Bruno Haible.
15753         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html
15754         * lib/bitset/vector.c (vbitset_free): New.
15755         (vbitset_vtable): Use it.
15757 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15759         bitset: minor changes
15760         * lib/bitset/base.h (bitset_alloc_type): Remove, unused.
15761         * lib/bitset/table.c: Formatting changes.
15762         Remove useless braces.
15763         Prefer using else in cascades of if/else-if with returns.
15764         * lib/bitset/vector.c: Reduce scopes.
15766 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15768         bitset: expose bitset_resize
15769         * lib/bitset.h (bitset_resize): Bounce on the polymorphic implementation.
15770         * tests/test-bitset.c (check_attributes): Check bitset_resize.
15771         (main): Use a variable bitset as reference, since fixed does not support resize.
15773 2019-03-19  Bruno Haible  <bruno@clisp.org>
15775         doc: Document the 'stdnoreturn' and 'noreturn' modules.
15776         Reported by Akim Demaille.
15777         * doc/noreturn.texi: New file.
15778         * doc/gnulib.texi: Include it.
15780 2019-03-19  Bruno Haible  <bruno@clisp.org>
15782         doc: Document how to use 'static inline'.
15783         * doc/static-inline.texi: New file.
15784         * doc/gnulib.texi: Include it.
15786 2019-03-19  Bruno Haible  <bruno@clisp.org>
15788         libtextstyle-optional: Add tests.
15789         * tests/test-libtextstyle.c: New file, based on libtextstyle's
15790         adhoc-tests/hello.c.
15791         * tests/test-libtextstyle-default.css: New file, copied from
15792         libtextstyle's adhoc-tests/hello-default.css.
15793         * modules/libtextstyle-optional-tests: New file.
15795         libtextstyle-optional: New module.
15796         * lib/textstyle.in.h: New file, based on libtextstyle's textstyle.h.
15797         * m4/libtextstyle-optional.m4: New file, based on m4/libtextstyle.m4.
15798         * modules/libtextstyle-optional: New file.
15800 2019-03-19  Bruno Haible  <bruno@clisp.org>
15802         c-stack: Make signal handlers more reliable.
15803         * lib/c-stack.c (progname): New variable.
15804         (die): Use it.
15805         (c_stack_action): Initialize it.
15806         (segv_handler): Save and restore errno.
15808 2019-03-19  Bruno Haible  <bruno@clisp.org>
15810         Help making signal handlers more reliable.
15811         * m4/gnulib-common.m4 (gl_COMMON_BODY): Emit definition of
15812         _GL_ASYNC_SAFE into config.h.
15813         * lib/nanosleep.c (sighandler): Mark as _GL_ASYNC_SAFE.
15814         * lib/fatal-signal.h (at_fatal_signal): Add _GL_ASYNC_SAFE marker to
15815         argument.
15816         * lib/fatal-signal.c (action_t, uninstall_handlers,
15817         fatal_signal_handler): Mark as _GL_ASYNC_SAFE.
15818         * lib/clean-temp.c (cleanup_action): Mark as _GL_ASYNC_SAFE.
15819         * lib/wait-process.c (cleanup_slaves, cleanup_slaves_action): Mark as
15820         _GL_ASYNC_SAFE.
15821         * lib/c-stack.h (c_stack_action): Add _GL_ASYNC_SAFE marker to argument.
15822         * lib/c-stack.c: Add _GL_ASYNC_SAFE markers.
15824 2019-03-18  Bruno Haible  <bruno@clisp.org>
15826         _Noreturn: clang and MSVC do support [[noreturn]] in C++11 mode.
15827         * lib/_Noreturn.h: Use [[noreturn]] if __GNUC__ and __GNUC_MINOR__
15828         indicate clang, or if _MSC_VER indicates MSVC++ 14.0 or newer.
15830 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
15832         _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
15833         * lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
15834         GCC 4.8.
15836 2019-03-17  Paul Eggert  <eggert@cs.ucla.edu>
15838         fts: minor simplification
15839         * lib/fts.c (fts_safe_changedir): Remove redundant assignment.
15841 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
15843         bitset, timevar: Depend on c99.
15844         Reported by Bruno Haible.
15845         * modules/bitset, modules/timevar (Depends-on): Add c99.
15847 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
15849         bitset: a bit (...) more tests
15850         * tests/test-bitset.c (check_attributes): Check zero and ones.
15852 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
15854         bitset: fix overflows.
15855         Reported by Bruno Haible.
15856         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00017.html
15857         * lib/bitset/table.c (tbitset_test): last_bit is the position of
15858         the bit in the array of bitset_word, so be sure to take its modulo
15859         number-of-bits-in-bitset-word (i.e., EBITSET_ELT_WORDS).
15860         * lib/bitset/list.c (lbitset_unused_clear): Likewise.
15862 2019-03-14  Akim Demaille  <akim@lrde.epita.fr>
15864         bitset: style changes.
15865         * lib/bitset/table.c: Use NULL, not 0, for pointers.
15866         Formatting changes.
15867         (tbitset_list): Reduce scopes.
15869 2019-03-16  Bruno Haible  <bruno@clisp.org>
15871         fatal-signal: Pass the signal number to the action.
15872         * lib/fatal-signal.h (at_fatal_signal): Change the signature.
15873         * lib/fatal-signal.c (action_t): Take the signal number as parameter.
15874         (fatal_signal_handler): Pass the signal number to the action.
15875         * lib/clean-temp.c (cleanup_action): Renamed from cleanup. Take the
15876         signal number as parameter.
15877         (create_temp_dir): Update.
15878         * lib/wait-process.c (cleanup_slaves_action): New function.
15879         (register_slave_subprocess): Update at_fatal_signal invocation.
15880         * NEWS: Mention the change.
15882 2019-03-16  Bruno Haible  <bruno@clisp.org>
15884         fatal-signal: Add function that lists the fatal signals.
15885         * lib/fatal-signal.h (get_fatal_signals): New declaration.
15886         * lib/fatal-signal.c (get_fatal_signals): New function.
15888 2019-03-14  Bruno Haible  <bruno@clisp.org>
15890         isatty: Make it return true in Cygwin consoles on native Windows.
15891         * lib/isatty.c: Include <string.h>.
15892         (GetProcAddress): New macro.
15893         (GetNamedPipeClientProcessIdFuncType): New type.
15894         (GetNamedPipeClientProcessIdFunc): New variable.
15895         (QueryFullProcessImageNameFuncType): New type.
15896         (QueryFullProcessImageNameFunc): New variable.
15897         (initialized): New variable.
15898         (initialize): New function.
15899         (IsCygwinConsoleHandle): New function.
15900         (isatty): Invoke it.
15901         * doc/posix-functions/isatty.texi: Mention the issue.
15903 2019-03-14  Bruno Haible  <bruno@clisp.org>
15905         all: Update URLs to msdn.microsoft.com.
15906         * lib/stat-w32.c et al.: Update URLs after most of msdn.microsoft.com
15907         was moved to docs.microsoft.com.
15909 2019-03-13  Bruno Haible  <bruno@clisp.org>
15911         gnulib-tool: Clarify the coding style.
15912         Suggested by Pavel Raiskup <praiskup@redhat.com>.
15913         * gnulib-tool: Add comment about coding style.
15915 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
15917         strtod: fix clash with strtold
15918         Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
15919         * lib/strtod.c (compute_minus_zero, minus_zero):
15920         Simplify by remving the macro / external variable,
15921         and having just a function.  User changed.  This avoids
15922         the need for an external variable that might clash.
15924 2019-03-10  Bruno Haible  <bruno@clisp.org>
15926         alloca-opt: Fix conflict mingw's new <alloca.h> file.
15927         Reported by Eli Zaretskii <eliz@gnu.org>.
15928         * lib/alloca.in.h: On mingw systems that have <alloca.h>, include that.
15929         * m4/alloca.m4 (gl_FUNC_ALLOCA): Set HAVE_ALLOCA_H.
15930         * modules/alloca-opt (Makefile.am): Substitute HAVE_ALLOCA_H.
15932 2019-03-10  Bruno Haible  <bruno@clisp.org>
15934         tests: Avoid havoc with "gcc -fcheck-pointer-bounds".
15935         * tests/test-fprintf-posix2.c: Skip the test when -fcheck-pointer-bounds
15936         is in use.
15937         * tests/test-printf-posix2.c: Likewise.
15939 2019-03-10  Bruno Haible  <bruno@clisp.org>
15941         uninorm tests: Free allocated memory.
15942         * tests/uninorm/test-u32-normalize-big.h
15943         (struct normalization_test_file): Remove 'const' from allocated member.
15944         (free_normalization_test_file): New declaration.
15945         * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
15946         memory.
15947         (free_normalization_test_file): New function.
15948         * tests/uninorm/test-u32-nfc-big.c (main): Free allocated
15949         'struct normalization_test_file' contents.
15950         * tests/uninorm/test-u32-nfd-big.c (main): Likewise.
15951         * tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
15952         * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
15954 2019-03-10  Bruno Haible  <bruno@clisp.org>
15956         di-set: Fix memory leak.
15957         * lib/di-set.c (di_set_free): Free the ino_map through ino_map_free(),
15958         not free().
15960 2019-03-10  Bruno Haible  <bruno@clisp.org>
15962         tests: Free allocated memory.
15963         Reported by <deltatau@protonmail.com> via Assaf Gordon.
15964         * tests/test-astrxfrm.c (main): Free allocated memory.
15965         * tests/test-bitset.c (compare, check_attributes): Free allocated
15966         bitsets.
15967         * tests/test-filenamecat.c (main): Free allocated memory.
15968         * tests/test-freadahead.c (main): Free allocated memory and close stdin.
15969         * tests/test-freadptr.c (main): Likewise.
15970         * tests/test-freadptr2.c (main): Free allocated memory.
15971         * tests/test-freadseek.c (main): Likewise.
15972         * tests/test-gc-arcfour.c (main): Close allocated context.
15973         * tests/test-gc-arctwo.c (main): Likewise.
15974         * tests/test-gc-des.c (main): Close all allocated contexts.
15975         * tests/test-pipe-filter-gi1.c (main): Free allocated memory.
15976         * tests/test-pipe-filter-ii1.c (main): Likewise.
15977         * tests/test-posix_spawn_file_actions_addchdir.c (main): Destroy the
15978         allocated file actions.
15979         * tests/test-posix_spawn_file_actions_addclose.c (main): Likewise.
15980         * tests/test-posix_spawn_file_actions_adddup2.c (main): Likewise.
15981         * tests/test-posix_spawn_file_actions_addopen.c (main): Likewise.
15982         * tests/test-sameacls.c (main): Free allocated memory and ACLs.
15983         * tests/test-strfmon_l.c (main): Free allocated locales.
15984         * tests/test-striconveh.c (main): Free allocated iconv_t objects.
15985         * tests/uniconv/test-u8-conv-to-enc.c (main): Free allocated memory.
15986         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
15987         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
15988         * tests/unistr/test-chr.h (main): Free input32.
15989         * tests/unistr/test-strchr.h (test_strchr): Likewise.
15991 2019-03-10  Bruno Haible  <bruno@clisp.org>
15993         tests: Prepare for using valgrind.
15994         * tests/*.sh: Invoke all test programs through ${CHECKER}.
15995         * tests/*/*.sh: Likewise.
15996         * tests/test-freadptr.c (main): Update accordingly.
15997         * tests/test-freadseek.c (main): Likewise.
15999 2019-03-09  Bruno Haible  <bruno@clisp.org>
16001         get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
16002         * lib/get-rusage-as.c (get_rusage_as): When compiled by
16003         "gcc -fsanitize=thread", don't try get_rusage_as_via_setrlimit.
16004         * tests/test-pthread_sigmask2.c (main): Clean up the killer_thread
16005         before exiting.
16007 2019-03-09  Jim Meyering  <meyering@fb.com>
16009         test-userspec.c: don't print NULL
16010         * tests/test-userspec.c (main): A test release of gcc,
16011         9.0.1 20190310, warned that this test would attempt to
16012         print a NULL pointer via a %s printf format.  Fix that
16013         and remove the unnecessary preceding "!diag" conjunct.
16014         Also add a comment.
16016 2019-03-03  Bruno Haible  <bruno@clisp.org>
16018         getloadavg: Write NULL for the null pointer.
16019         Reported by Michal Privoznik <mprivozn@redhat.com>.
16020         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
16022 2019-02-28  Michal Privoznik  <mprivozn@redhat.com>
16024         alloca, tsearch-tests: Write NULL for the null pointer.
16025         * lib/alloca.c (i00afunc): Write NULL instead of 0.
16026         * tests/test-tsearch.c (mangle_tree): Likewise.
16028 2019-03-09  Bruno Haible  <bruno@clisp.org>
16030         strfmon_l: Fix -fsanitize=address finding.
16031         * lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
16032         <string.h>.
16033         (MAX_ARGS): Renamed from MAX_ARG_WORDS.
16034         (directive_t, directives_t): New types.
16035         (fmon_parse): New function.
16036         (rpl_strfmon_l): Don't call va_arg more often than needed for the
16037         format string. Consume 'long double' arguments in places where the
16038         format string indicates so.
16039         * modules/strfmon_l (Depends-on): Add 'stdbool'.
16041 2019-03-09  Bruno Haible  <bruno@clisp.org>
16043         crypto/des: Fix undefined behaviour.
16044         * lib/des.c (READ_64BIT_DATA): Cast bytes to 'unsigned int', to avoid
16045         shift operations on 'int'.
16047 2019-03-09  Bruno Haible  <bruno@clisp.org>
16049         Fix undefined behaviour.
16050         * lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Cast x to
16051         'unsigned int', to avoid shift operations on 'int'.
16052         * lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
16053         * tests/test-count-leading-zeros.c (main): Use a random number that has
16054         as many bits as TYPE, not only 2*15 or 2*31 bits.
16055         * tests/test-count-trailing-zeros.c (main): Likewise.
16056         * tests/test-count-one-bits.c (main): Likewise.
16057         * tests/test-memmem.c: Don't include "null-ptr.h".
16058         (main): Use zerosize_ptr() instead of null_ptr().
16059         * modules/memmem-tests (Files): Remove tests/null-ptr.h.
16061 2019-03-08  Bruno Haible  <bruno@clisp.org>
16063         unilbrk/u*-possible-linebreaks: Fix undefined behaviour.
16064         Reported by Jeffrey Walton <noloader@gmail.com>.
16065         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
16066         invoke memset with a zero size.
16067         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
16068         Likewise.
16069         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
16070         Adjust accordingly.
16072 2019-03-08  Bruno Haible  <bruno@clisp.org>
16074         unistr/*, uniconv/*: Fix undefined behaviour.
16075         Reported by Jeffrey Walton <noloader@gmail.com>.
16076         * lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
16077         * lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
16078         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
16079         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
16081 2019-03-08  Bruno Haible  <bruno@clisp.org>
16083         unistr/u8-cmp: Fix undefined behaviour.
16084         Reported by Jeffrey Walton <noloader@gmail.com>.
16085         * lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.
16087 2019-03-08  Bruno Haible  <bruno@clisp.org>
16089         unictype/numeric: Fix undefined behaviour.
16090         Reported by Jeffrey Walton <noloader@gmail.com>.
16091         * lib/unictype/numeric.c (uc_numeric_value): Avoid undefined behaviour
16092         on shift overflow, caught by "gcc -fsanitize=undefined".
16093         * lib/unictype/bidi_of.c (uc_bidi_class): Add cast, for clarity.
16094         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
16095         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
16097 2019-03-05  Paul Eggert  <eggert@cs.ucla.edu>
16099         git-version-gen: fix --version copyright year
16100         * build-aux/git-version-gen, build-aux/move-if-change (version):
16101         --version output copyright year is now taken from script year,
16102         so that it no longer needs to be updated by hand.
16104 2019-03-04  Bruno Haible  <bruno@clisp.org>
16106         relocatable-prog: Use wrapper-free installation on Mac OS X, take 2.
16107         This approach supports relocatable installation of shared libraries
16108         which depend on other shared libraries from the same package.
16109         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
16110         If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a
16111         wrapper around the original LIBTOOL.
16112         * build-aux/reloc-ldflags: Add support for Mac OS X, which uses the
16113         token '@loader_path' instead of '$ORIGIN'.
16114         * build-aux/libtool-reloc: New file.
16115         * modules/relocatable-prog (Files): Add it.
16116         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
16117         the recent changes. Document the need to set the *_LDFLAGS of libraries.
16118         RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in
16119         Makefile.am, not in configure.ac.
16121 2019-03-04  Bruno Haible  <bruno@clisp.org>
16123         relocatable-prog: Revert "Use wrapper-free installation on Mac OS X."
16124         * build-aux/install-reloc: Revert change.
16125         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
16127 2019-02-24  Paul Eggert  <eggert@cs.ucla.edu>
16129         nstrftime: support the ‘+’ flag
16130         * lib/nstrftime.c (add, __strftime_internal):
16131         Add support for the ‘+’ flag introduced in POSIX.1-2017.
16132         (__strftime_internal): New arg ‘width’.  All uses changed.
16133         (DO_YEARISH, DO_MAYBE_SIGNED_NUMBER): New macros.
16135 2019-02-24  Bruno Haible  <bruno@clisp.org>
16137         relocatable-prog: Improve verbose output.
16138         * build-aux/install-reloc (func_verbose): Escape characters that would
16139         be interpreted by the shell.
16141 2019-02-24  Bruno Haible  <bruno@clisp.org>
16143         stat, lstat: Fix conflict with relocatable-prog-wrapper module.
16144         * lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not
16145         "sys/stat.h".
16146         * lib/lstat.c: Likewise.
16147         * lib/fstat.c: Likewise.
16148         * lib/fstatat.c: Likewise.
16150 2019-02-23  Bernhard Voelker  <mail@bernhard-voelker.de>
16152         long-options: add parse_gnu_standard_options_only
16153         Discussed in https://bugs.gnu.org/33468 .
16155         * lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0
16156         (parse_gnu_standard_options_only): Add function to process
16157         the GNU default options --help and --version and fail for
16158         any other unknown long or short option. See
16159         https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
16160         * lib/long-options.h (parse_gnu_standard_options_only): Declare it.
16161         * modules/long-options (depends-on): Add stdbool, exitfail.
16162         * top/maint.mk (sc_prohibit_long_options_without_use): Update
16163         syntax-check rule, add new function name.
16165 2019-02-23  Bruno Haible  <bruno@clisp.org>
16167         relocatable-prog: Update documentation.
16168         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
16169         the recent changes.
16171 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
16173         nstrftime: tweak arg order
16174         * lib/nstrftime.c (__strftime_internal): Interchange arg order.
16175         All callers changed.  Suggested by TAMUKI Shoichi in:
16176         https://lists.gnu.org/r/bug-gnulib/2019-02/msg00052.html
16178 2019-02-23  Bruno Haible  <bruno@clisp.org>
16180         relocatable-prog: Use wrapper-free installation also on Mac OS X.
16181         Reported by Paul Smith <psmith@gnu.org>.
16182         * build-aux/install-reloc: Accept a 'mode' argument as first argument.
16183         (func_relativize): New function, from gnulib-tool.
16184         Handle mode 'macosx' through invocations of 'otool' and
16185         'install_name_tool'.
16186         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
16187         If use_macos_tools is true, set INSTALL_PROGRAM_ENV to an
16188         'install-reloc' invocation with mode 'macosx'.
16190 2019-02-23  Bruno Haible  <bruno@clisp.org>
16192         relocatable-prog: Use $ORIGIN trick also on GNU/Hurd.
16193         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
16194         Hurd with glibc >= 2.27.
16196 2019-02-21  Paul Eggert  <eggert@cs.ucla.edu>
16198         nstrftime: merge glibc strftime changes
16199         This incorporates:
16200         2019-02-11 Fix a few whitespace arrangement inconsistencies
16201         2019-01-24 strftime: Pass flags from "%EY" to "%Ey" [BZ #24096]
16202         2019-01-24 Set the default width of "%Ey" to 2 [BZ #23758]
16203         2019-01-11 strftime: use the "L_" macro with character literals
16204         * lib/nstrftime.c (__strftime_internal): New arg yr_spec.  All
16205         callers changed.  Default width of %Ey is now 2.  This is needed
16206         for proper handling of Japanese dates starting on 2019-05-01.
16208 2019-02-19  Bruno Haible  <bruno@clisp.org>
16210         relocatable-prog: Use $ORIGIN trick on more platforms.
16211         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
16212         FreeBSD >= 7.3, DragonFly >= 3.0, NetBSD >= 8.0, OpenBSD >= 5.4,
16213         Solaris >= 10, Haiku. But don't use it on Android.
16214         * build-aux/reloc-ldflags: Allow the use of the $ORIGIN trick also on
16215         Hurd, FreeBSD, DragonFly, NetBSD, OpenBSD, Solaris, Haiku.
16217 2019-02-19  Bruno Haible  <bruno@clisp.org>
16219         progreloc: Speed up executable lookup on various platforms.
16220         * lib/progreloc.c: Include <errno.h>.
16221         (safe_read, full_read): New functions.
16222         (find_executable): On GNU/kFreeBSD, FreeBSD, DragonFly, NetBSD, Solaris,
16223         prefer the information from the /proc file system to a PATH search.
16225 2019-02-19  Bruno Haible  <bruno@clisp.org>
16227         progreloc: Simplify code for Android.
16228         * lib/progreloc.c (executable_fd): Don't define on Android.
16229         (maybe_executable, find_executable): Don't use executable_fd on Android.
16231 2019-02-15  Bruno Haible  <bruno@clisp.org>
16233         gnulib-tool: Support --import with just a few tests, not --with-tests.
16234         * gnulib-tool (func_import): New variable 'gentests'. Use it instead of
16235         'inctests' when generating files; use 'inctests' only for computing the
16236         transitive closure.
16238 2019-02-14  Bruno Haible  <bruno@clisp.org>
16240         gnulib-tool: Improve handling of multiple --local-dir options.
16241         * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
16242         options work.
16243         * gnulib-tool (func_path_prepend): Remove function.
16244         (func_path_foreach): Make IFS handling more robust.
16245         (local_gnulib_path): Collect --local-dir values using func_path_append,
16246         not func_path_prepend.
16247         (func_determine_path_separator): Make IFS handling more robust.
16248         (func_lookup_file_cb): New function.
16249         (func_lookup_file): Rewritten to use func_lookup_file_cb instead of
16250         func_lookup_local_file. Apply the patches in the reverse order of their
16251         origin in $local_gnulib_path.
16252         (func_count_relative_local_gnulib_path): Make IFS handling more robust.
16253         * NEWS: Mention that the first --local-dir option is the one with
16254         highest priority.
16256 2019-02-10  Bruno Haible  <bruno@clisp.org>
16258         libtextstyle: New module.
16259         * m4/libtextstyle.m4: New file.
16260         * modules/libtextstyle: New file.
16262 2019-02-05  Bruno Haible  <bruno@clisp.org>
16264         declared.sh: Fix bug with variables of pointer type.
16265         * build-aux/declared.sh (sed_extract_extern_declared): Allow the space
16266         before the symbol to be omitted if the preceding character is a '*'.
16268 2019-02-04  Bruno Haible  <bruno@clisp.org>
16270         Add script for running tests under valgrind.
16271         * build-aux/run-test: New file, from GNU libunistring.
16272         * doc/valgrind-tests.texi: Rewritten to mention alternative approaches
16273         as well.
16275 2019-02-04  Bruno Haible  <bruno@clisp.org>
16277         declared.sh: Fix --version output.
16278         * build-aux/declared.sh (func_version): Update package name.
16280 2019-02-03  Bruno Haible  <bruno@clisp.org>
16282         Add script for determining the set of symbols to export from a library.
16283         * build-aux/declared.sh: New file, from GNU libunistring.
16284         * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
16285         Mention it.
16287 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
16289         vla: add commentary about VLA_ELEMS
16290         * lib/vla.h (VLA_ELEMS): Add commentary,
16291         some inspired by Bruno Haible’s proposal in:
16292         https://lists.gnu.org/r/bug-gnulib/2019-01/msg00109.html
16294         dtoastr,ftoastr,ldtoastr: port to c-strtod changes
16295         Decouple these modules from c-strtod.  Nowadays it’s reasonable to
16296         assume the C99 signatures for strtod and strtold.  Programs that
16297         require stricter adherence to C99 should also use the strtod and
16298         strtold modules as needed, and we no longer need the
16299         HAVE_C99_STRTOLD macro.
16300         * NEWS: Mention this.
16301         * lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
16302         * m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
16303         * modules/dtoastr, modules/ftoastr, modules/ldtoastr:
16304         (Files): Remove m4/c-strtod.m4.
16305         (configure.ac): Do not require gl_C99_STRTOLD, which no longer
16306         exists.
16308 2019-02-02  Bruno Haible  <bruno@clisp.org>
16310         fma: Improve code style.
16311         * lib/fma.c: Include <limits.h>, for CHAR_BIT.
16313 2019-02-02  Colin Watson  <cjwatson@debian.org>
16315         *-map tests: Fix compilation error.
16316         * tests/test-array_map.c: Include <limits.h>, for CHAR_BIT.
16317         * tests/test-hash_map.c: Likewise.
16318         * tests/test-linkedhash_map.c: Likewise.
16320 2019-01-31  Bruno Haible  <bruno@clisp.org>
16322         c-strtod, c-strtold: Use the bug fixes for strtod, strtold.
16323         * lib/stdlib.in.h (GNULIB_defined_strtod_function,
16324         GNULIB_defined_strtold_function): New macros.
16325         * lib/c-strtod.c (HAVE_GOOD_STRTOD_L): New macro.
16326         (STRTOD): Ignore HAVE_C99_STRTOLD.
16327         (c_locale): Don't define it on platforms where strtod_l/strtold_l is
16328         deemed buggy. But do use it on platforms where uselocale exists and is
16329         usable.
16330         (C_STRTOD): Don't use STRTOD_L on platforms where strtod_l/strtold_l is
16331         deemed buggy. On platforms where uselocale exists and is usable, use
16332         uselocale and strtod/strtold.
16333         * m4/c-strtod.m4 (gl_C99_STRTOLD): Remove macro.
16334         (gl_C_STRTOD): Require gt_FUNC_USELOCALE.
16335         (gl_C_STRTOLD): Likewise. Define HAVE_C99_STRTOLD unconditionally.
16336         * modules/c-strtod (Files): Add m4/intl-thread-locale.m4.
16337         (Depends-on): Add strtod.
16338         * modules/c-strtold (Files): Add m4/intl-thread-locale.m4.
16339         (Depends-on): Add strtold.
16341 2019-01-31  Bruno Haible  <bruno@clisp.org>
16343         strtod, strtold: Use the locale's decimal point.
16344         * lib/strtod.c: Include <locale.h>, <stdio.h>, <langinfo.h>.
16345         (decimal_point_char): New function, copied from lib/vasnprintf.c.
16346         (parse_number): Add a radixchar argument. Use it instead of '.'.
16347         (STRTOD): Invoke decimal_point_char and pass the result to parse_number.
16348         * m4/strtod.m4 (gl_PREREQ_STRTOD): Test whether nl_langinfo exists.
16349         * m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
16350         * tests/test-strtod1.c: New file.
16351         * tests/test-strtod1.sh: New file.
16352         * modules/strtod-tests (Files): Add test-strtod1.{sh,c}. Add
16353         locale-fr.m4 and its dependencies.
16354         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
16355         (Makefile.am): Arrange to compile test-strtod1.c and run
16356         test-strtod1.sh.
16357         * tests/test-strtold1.c: New file.
16358         * tests/test-strtold1.sh: New file.
16359         * modules/strtold-tests (Files): Add test-strtold1.{sh,c}. Add
16360         locale-fr.m4 and its dependencies.
16361         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
16362         (Makefile.am): Arrange to compile test-strtold1.c and run
16363         test-strtold1.sh.
16365 2019-01-31  Bruno Haible  <bruno@clisp.org>
16367         strtod, strtold tests: Simplify tests.
16368         * tests/test-strtod.c (main): Assume no rounding errors for 0.5.
16369         * tests/test-strtold.c (main): Likewise.
16371 2019-01-31  Bruno Haible  <bruno@clisp.org>
16373         strtod, strtold: Avoid unnecessary rounding errors.
16374         * lib/strtod.c (parse_number): Drop trailing zeroes before doing the
16375         decimal to DOUBLE conversion.
16377 2019-01-31  Bruno Haible  <bruno@clisp.org>
16379         strtod, strtold: Work around HP-UX 11.31/ia64 bug.
16380         * lib/strtod.c (STRTOD): When there is an extra character after the
16381         exponent marker 'p', reparse the number.
16382         * doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
16383         * doc/posix-functions/strtold.texi: Likewise.
16385 2019-01-29  Bruno Haible  <bruno@clisp.org>
16387         strtold: Add tests.
16388         * tests/test-strtold.c: New file, based on tests/test-strtod.c.
16389         * modules/strtold-tests: New file.
16391 2019-01-29  Bruno Haible  <bruno@clisp.org>
16393         strtold: New module.
16394         * lib/stdlib.in.h (strtold): New declaration.
16395         * lib/strtold.c: New file.
16396         * lib/strtod.c: Consider USE_LONG_DOUBLE.
16397         (STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_,
16398         USE_LDEXP): New macros.
16399         (LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for
16400         USE_LONG_DOUBLE.
16401         (underlying_strtod): Remove function. Replace with some macros.
16402         Re-add the code for a missing underlying function that was removed on
16403         2013-02-19.
16404         * m4/strtold.m4: New file.
16405         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared.
16406         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD,
16407         REPLACE_STRTOLD.
16408         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD,
16409         REPLACE_STRTOLD.
16410         * modules/strtold: New file.
16411         * doc/posix-functions/strtold.texi: Document the new module.
16413 2019-01-29  Bruno Haible  <bruno@clisp.org>
16415         strtod: Fix compilation error on IRIX 6.5.
16416         * modules/strtod (Depends-on): Add 'math'.
16418 2019-01-28  Bruno Haible  <bruno@clisp.org>
16420         Fix build error when building a shared libunistring on Android.
16421         * tests/uninorm/test-nfc.c (n): Don't define on Android.
16422         (main): Add 'volatile', to defeat a GCC optimization that would
16423         eliminate the reference.
16424         * tests/uninorm/test-nfd.c (n): Don't define on Android.
16425         (main): Add 'volatile', to defeat a GCC optimization that would
16426         eliminate the reference.
16427         * tests/uninorm/test-nfkc.c (n): Don't define on Android.
16428         (main): Add 'volatile', to defeat a GCC optimization that would
16429         eliminate the reference.
16430         * tests/uninorm/test-nfkd.c (n): Don't define on Android.
16431         (main): Add 'volatile', to defeat a GCC optimization that would
16432         eliminate the reference.
16434 2019-01-27  Bruno Haible  <bruno@clisp.org>
16436         Avoid build errors due to wrong references between modules.
16437         * lib/uninorm/canonical-decomposition.c: Include
16438         "uninorm/decomposition-table.h", not "decomposition-table.h".
16439         * lib/uninorm/decomposition.c: Likewise.
16440         * lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h",
16441         not "decompose-internal.h".
16442         * lib/uninorm/u16-normalize.c: Likewise.
16443         * lib/uninorm/u32-normalize.c: Likewise.
16444         * lib/uninorm/uninorm-filter.c: Likewise.
16445         * lib/uninorm/nfkc.c: Likewise.
16446         * lib/uninorm/nfkd.c: Likewise.
16447         * lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not
16448         "caseprop.h".
16449         * lib/unicase/u8-ct-totitle.c: Likewise.
16450         * lib/unicase/u8-prefix-context.c: Likewise.
16451         * lib/unicase/u8-suffix-context.c: Likewise.
16452         * lib/unicase/u16-casemap.c: Likewise.
16453         * lib/unicase/u16-ct-totitle.c: Likewise.
16454         * lib/unicase/u16-prefix-context.c: Likewise.
16455         * lib/unicase/u16-suffix-context.c: Likewise.
16456         * lib/unicase/u32-casemap.c: Likewise.
16457         * lib/unicase/u32-ct-totitle.c: Likewise.
16458         * lib/unicase/u32-prefix-context.c: Likewise.
16459         * lib/unicase/u32-suffix-context.c: Likewise.
16460         * lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not
16461         "unicasemap.h".
16462         * lib/unicase/u8-toupper.c: Likewise.
16463         * lib/unicase/u8-ct-tolower.c: Likewise.
16464         * lib/unicase/u8-ct-toupper.c: Likewise.
16465         * lib/unicase/u16-tolower.c: Likewise.
16466         * lib/unicase/u16-toupper.c: Likewise.
16467         * lib/unicase/u16-ct-tolower.c: Likewise.
16468         * lib/unicase/u16-ct-toupper.c: Likewise.
16469         * lib/unicase/u32-tolower.c: Likewise.
16470         * lib/unicase/u32-toupper.c: Likewise.
16471         * lib/unicase/u32-ct-tolower.c: Likewise.
16472         * lib/unicase/u32-ct-toupper.c: Likewise.
16473         * lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not
16474         "unicasemap.h", and "unicase/casefold.h", not "casefold.h".
16475         * lib/unicase/u16-ct-casefold.c: Likewise.
16476         * lib/unicase/u32-ct-casefold.c: Likewise.
16478 2019-01-27  Bruno Haible  <bruno@clisp.org>
16480         gperf: Fix error when this module is required by some test module.
16481         * modules/gperf (Applicability): Set to 'all'.
16483 2019-01-27  Bruno Haible  <bruno@clisp.org>
16485         tmpfile: Add support for Android.
16486         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Add a runtime test whether tmpfile()
16487         works.
16488         * lib/tmpfile.c (tmpfile): Add an alternative implementation for
16489         Android.
16490         * modules/tmpfile (Depends-on): Add 'stdbool'.
16491         * doc/posix-functions/tmpfile.texi: Mention the Android bug.
16492         * modules/argv-iter-tests (Depends-on): Add 'tmpfile'.
16494 2019-01-27  Akim Demaille  <akim@lrde.epita.fr>
16496         bitsetv: allow free on NULL.
16497         * lib/bitsetv.c (bitsetv_free): Do nothing when the bitsetv is NULL.
16499 2019-01-27  Bruno Haible  <bruno@clisp.org>
16501         test-framework-sh: Improve maintainability.
16502         * tests/init.sh: Clarify what belongs together. Reorder definitions.
16504 2019-01-27  Bruno Haible  <bruno@clisp.org>
16506         tests: Don't assume that /tmp exists.
16507         * tests/test-set-mode-acl-1.sh: Skip the test if /tmp does not exist.
16508         * tests/test-copy-acl-1.sh: Likewise.
16509         * tests/test-file-has-acl-1.sh: Likewise.
16510         * tests/test-copy-file-1.sh: Likewise.
16512 2019-01-27  Bruno Haible  <bruno@clisp.org>
16514         tests: Accommodate a shell that is not in /bin/sh.
16515         * tests/init.sh (setup_): Set srcdir and builddir.
16516         (BOURNE_SHELL): New variable.
16517         * modules/acl-tests (Depends-on): Add 'test-framework-sh'.
16518         * modules/file-has-acl-tests (Depends-on): Likewise.
16519         * modules/copy-file-tests (Depends-on): Likewise.
16520         * tests/test-set-mode-acl-1.sh: Use the test framework. Invoke shell
16521         scripts through $BOURNE_SHELL.
16522         * tests/test-set-mode-acl-2.sh: Likewise.
16523         * tests/test-copy-acl-1.sh: Likewise.
16524         * tests/test-copy-acl-2.sh: Likewise.
16525         * tests/test-file-has-acl-1.sh: Likewise.
16526         * tests/test-file-has-acl-2.sh: Likewise.
16527         * tests/test-copy-file-1.sh: Likewise.
16528         * tests/test-copy-file-2.sh: Likewise.
16529         * tests/test-set-mode-acl.sh (builddir): Consider value set by the
16530         invoker.
16531         * tests/test-copy-acl.sh (builddir): Likewise.
16532         * tests/test-file-has-acl.sh (builddir): Likewise.
16533         * tests/test-copy-file.sh (builddir): Likewise.
16534         * tests/test-vc-list-files-cvs.sh: Don't create shims for executables in
16535         build-aux/. Instead, invoke shell scripts through $BOURNE_SHELL.
16536         * tests/test-vc-list-files-git.sh: Likewise.
16538 2019-01-27  Bruno Haible  <bruno@clisp.org>
16540         tests: Fix some "unused variable" warnings.
16541         * tests/test-fts.c (fts_dealloc): Remove unused variable.
16542         * tests/unigbrk/test-uc-grapheme-breaks.c (main): Likewise.
16543         * tests/test-striconveh.c (main): Move some variable into the
16544         '#if HAVE_ICONV'.
16545         * tests/test-striconveha.c (main): Likewise.
16546         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
16547         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
16548         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
16549         * tests/uniconv/test-u8-conv-to-enc.c (main): Likewise.
16550         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
16551         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
16552         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
16553         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
16554         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
16555         * tests/uniconv/test-u8-strconv-to-enc.c (main): Likewise.
16556         * tests/uniconv/test-u16-strconv-to-enc.c (main): Likewise.
16557         * tests/uniconv/test-u32-strconv-to-enc.c (main): Likewise.
16558         * tests/test-tsearch.c (main): Move some variable into the
16559         '#if HAVE_INITSTATE'.
16561 2019-01-27  Bruno Haible  <bruno@clisp.org>
16563         unigbrk/uc-grapheme-breaks: Fix build failure.
16564         * lib/unigbrk/uc-grapheme-breaks.c: Don't include unistr.h.
16565         * modules/unigbrk/uc-grapheme-breaks (Makefile.am): Fix typo.
16567 2019-01-27  Bruno Haible  <bruno@clisp.org>
16569         mountlist: Merge two .m4 files.
16570         * m4/mountlist.m4 (gl_MOUNTLIST): Inline gl_LIST_MOUNTED_FILE_SYSTEMS.
16571         (AC_FUNC_GETMNTENT): Move to here, from m4/ls-mntd-fs.m4.
16572         * m4/ls-mntd-fs.m4: Remove file.
16573         * modules/mountlist (Files): Remove m4/ls-mntd-fs.m4.
16575 2019-01-27  Bruno Haible  <bruno@clisp.org>
16577         tests: Enable Linux specific tests on Android.
16578         * tests/test-flock.c (main): Treat Android like Linux.
16579         * tests/test-openat-safer.c (main): Likewise.
16581 2019-01-27  Bruno Haible  <bruno@clisp.org>
16583         relocatable-prog: Use Linux code on Android.
16584         * lib/progreloc.c: Treat Android like Linux.
16586 2019-01-26  Bruno Haible  <bruno@clisp.org>
16588         getloadavg: Add support for Android.
16589         * lib/getloadavg.c: Treat Android like Linux.
16591 2019-01-26  Bruno Haible  <bruno@clisp.org>
16593         vma-iter: Add support for Android.
16594         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Android as well.
16595         * lib/vma-iter.c: Treat Android like Linux.
16596         * lib/get-rusage-data.c (get_rusage_data): Likewise.
16598 2019-01-26  Bruno Haible  <bruno@clisp.org>
16600         fts: Optimize on Android.
16601         * lib/fts.c: Treat Android like Linux.
16603 2019-01-26  Bruno Haible  <bruno@clisp.org>
16605         fts: Add support for Android.
16606         * m4/fts.m4 (gl_FUNC_FTS_CORE): Avoid conflicts between the symbols
16607         defined by this module and the ones in libc.
16608         * tests/test-fts.c (main): Treat mkdir error EMLINK like EMFILE.
16610 2019-01-26  Bruno Haible  <bruno@clisp.org>
16612         mountlist: Use Linux code on Android.
16613         * lib/mountlist.c (setmntent, endmntent): Define fallbacks.
16614         (unescape_tab, read_file_system_list): Enable Linux code on Android
16615         as well.
16616         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Test for setmntent
16617         and endmntent.
16618         * modules/mountlist (Depends-on): Add 'getline'.
16620 2019-01-26  Bruno Haible  <bruno@clisp.org>
16622         localename tests: Fix test failure on Android.
16623         * modules/localename-tests (Depends-on): Add 'setlocale'.
16625 2019-01-26  Bruno Haible  <bruno@clisp.org>
16627         mountlist: Port better to Android.
16628         * lib/mountlist.c (MOUNTED): Redefine on Android.
16629         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Redefine MOUNTED on
16630         Android.
16632 2019-01-26  Bruno Haible  <bruno@clisp.org>
16634         striconveh: Fix use of uninitialized iconv_t.
16635         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
16636         <https://lists.gnu.org/archive/html/bug-libunistring/2019-01/msg00000.html>.
16637         * lib/striconveh.c (iconveh_open): Correct the iconv_close argument.
16639 2019-01-26  Bruno Haible  <bruno@clisp.org>
16641         nonblocking-socket-tests: Fix test failure on Android 4.3.
16642         * tests/test-nonblocking-socket.h (SOCKET_HAS_LARGE_BUFFER): Define to 1
16643         also on Android.
16645 2019-01-26  Bruno Haible  <bruno@clisp.org>
16647         sh-filename: Add support for Android 4.3.
16648         * m4/sh-filename.m4 (gl_SH_FILENAME): Set to "sh" on Android.
16650 2019-01-26  Bruno Haible  <bruno@clisp.org>
16652         ptsname_r: Work around bug on Android 4.3.
16653         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Define
16654         HAVE_ESSENTIALLY_WORKING_PTSNAME_R. Test whether the return value is
16655         correct.
16656         * lib/ptsname_r.c (__ptsname_r): If HAVE_ESSENTIALLY_WORKING_PTSNAME_R
16657         is defined, just fix the return value.
16658         * doc/glibc-functions/ptsname_r.texi: Mention the Android bug. Reword:
16659         The behaviour of musl libc is nothing to be "fixed", since it is
16660         compliant with the next POSIX standard.
16662 2019-01-26  Bruno Haible  <bruno@clisp.org>
16664         ttyname_r: Work around bug on Android 4.3.
16665         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub.
16666         * lib/ttyname_r.c (ttyname_r): Implement for Android.
16667         * doc/posix-functions/ttyname_r.texi: Mention the Android bug.
16668         * doc/posix-functions/ttyname.texi: Likewise.
16670 2019-01-25  Bruno Haible  <bruno@clisp.org>
16672         getprogname: Port to Android 4.3.
16673         * lib/getprogname.c (getprogname): On Android, take only the last
16674         component of __progname.
16676 2019-01-25  Bruno Haible  <bruno@clisp.org>
16678         wcrtomb: Work around bug on Android 4.3.
16679         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test also whether wcrtomb works in
16680         the C locale.
16681         * lib/wcrtomb.c (wcrtomb): Provide alternate implementation for Android,
16682         which does not have the 'wctomb' function.
16683         * doc/posix-functions/wcrtomb.texi: Mention the Android bug.
16684         * tests/test-wcrtomb.c (main): Accept argument '5'.
16685         * tests/test-wcrtomb.sh: Add tests in the POSIX locale.
16687 2019-01-25  Bruno Haible  <bruno@clisp.org>
16689         setlocale: Work around bug on Android 4.3.
16690         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Test whether setlocale supports
16691         the "C" locale.
16692         * lib/setlocale.c (setlocale_unixlike): New wrapper for Android.
16693         * doc/posix-functions/setlocale.texi: Mention the Android bug.
16695 2019-01-24  Bruno Haible  <bruno@clisp.org>
16697         memchr: Work around bug on Android <= 5.0.
16698         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add test against the Android bug.
16699         * doc/posix-functions/memchr.texi: Mention the Android bug.
16701 2019-01-24  Bruno Haible  <bruno@clisp.org>
16703         random: Fix compilation error on Android 4.3.
16704         * lib/stdlib.in.h (random, srandom): Test also REPLACE_RANDOM.
16705         (initstate): Test REPLACE_INITSTATE and HAVE_INITSTATE, not HAVE_RANDOM.
16706         (setstate): Test REPLACE_SETSTATE and HAVE_SETSTATE, not HAVE_RANDOM.
16707         * m4/random.m4 (gl_FUNC_RANDOM): Set HAVE_INITSTATE, HAVE_SETSTATE,
16708         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16709         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_INITSTATE,
16710         HAVE_SETSTATE, REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16711         * modules/stdlib (Makefile.am): Substitute HAVE_INITSTATE, HAVE_SETSTATE,
16712         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16713         * modules/random (Depends-on, configure.ac): Test also REPLACE_RANDOM,
16714         REPLACE_INITSTATE, REPLACE_SETSTATE.
16715         * doc/posix-functions/random.texi: Correct the description of the
16716         situation on Android.
16717         * doc/posix-functions/srandom.texi: Likewise.
16718         * doc/posix-functions/rand.texi: Likewise.
16719         * doc/posix-functions/srand.texi: Likewise.
16721 2019-01-24  Bruno Haible  <bruno@clisp.org>
16723         mbtowc: Fix compilation error on Android 4.3.
16724         * lib/stdlib.in.h (mbtowc): Test also HAVE_MBTOWC.
16725         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test whether mbtowc exists. Set
16726         HAVE_MBTOWC.
16727         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbtowc is declared.
16728         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MBTOWC.
16729         * modules/stdlib (Makefile.am): Substitute HAVE_MBTOWC.
16730         * modules/mbtowc (Depends-on, configure.ac): Test also HAVE_MBTOWC.
16731         * doc/posix-functions/mbtowc.texi: Mention the change.
16733 2019-01-24  Bruno Haible  <bruno@clisp.org>
16735         fdatasync: Fix compilation error on Android 4.3.
16736         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris,
16737         test whether fdatasync() exists.
16739 2019-01-24  Bruno Haible  <bruno@clisp.org>
16741         unlinkat: Fix compilation error on Android 4.3.
16742         * lib/unistd.in.h: Include <fcntl.h> when module 'unlinkat' is in use
16743         also on Android.
16744         * doc/posix-functions/unlinkat.texi: Mention the issue.
16746 2019-01-24  Bruno Haible  <bruno@clisp.org>
16748         renameat: Fix compilation error on Android 4.3.
16749         * lib/stdio.in.h: Include <sys/stat.h> when module 'renameat' is in use.
16750         * doc/posix-functions/renameat.texi: Mention the issue.
16752 2019-01-24  Bruno Haible  <bruno@clisp.org>
16754         fchownat: Fix compilation error on Android 4.3.
16755         * lib/unistd.in.h: Include <sys/stat.h> when module 'fchownat' is in
16756         use.
16757         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
16758         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Include also <sys/stat.h>.
16759         * doc/posix-functions/fchownat.texi: Mention the issue.
16761 2019-01-23  Bruno Haible  <bruno@clisp.org>
16763         gnulib-tool: Support running testdirs on Android.
16764         * build-aux/test-driver.diff: New file.
16765         * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
16766         build-aux/test-driver after running automake.
16768 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
16770         relocatable-prog: avoid warnings from Automake
16771         * modules/relocatable-prog: Don't declare PHONY dependencies in
16772         Automake conditionals.
16774 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
16776         array-list: Pacify warnings about unused arguments (-Wunused-parameter).
16777         * lib/gl_array_list.c (gl_array_iterator_free): "Use" the argument.
16779 2019-01-23  Bruno Haible  <bruno@clisp.org>
16781         threadlib: Revert commit from 2018-06-25. We now have a better fix.
16782         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't attempt to defeat a
16783         preceding -Wl,--as-needed option. Don't check whether the linker
16784         supports --as-needed/--no-as-needed and --push-state/--pop-state.
16786 2019-01-23  Bruno Haible  <bruno@clisp.org>
16788         thread: Force linking with -lpthread, even when --as-needed is in use.
16789         Reported by Richard W.M. Jones <rjones@redhat.com> in
16790         <https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
16791         * lib/glthread/thread.h (pthread_create): Don't declare weak.
16793 2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
16794             Bruno Haible  <bruno@clisp.org>
16796         relocatable: avoid compiler warnings (-Wshadow)
16797         * lib/relocatable.c (compute_curr_prefix): Rename local variables
16798         to avoid name collisions with global variables.
16800 2019-01-22  Bruno Haible  <bruno@clisp.org>
16802         vasnprintf: Don't use %n on Android.
16803         Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
16804         <https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
16805         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.
16807 2019-01-22  Bruno Haible  <bruno@clisp.org>
16809         *printf: Support cross-compilation to Android.
16810         * m4/printf.m4: Add cross-compilation guesses for Android.
16812 2019-01-21  Bruno Haible  <bruno@clisp.org>
16814         diacrit: Mark deprecated.
16815         * modules/diacrit (Status, Notice): Mark as deprecated.
16816         * NEWS: Mention it.
16818 2019-01-20  Bruno Haible  <bruno@clisp.org>
16820         rintl: Override broken implementation on NetBSD.
16821         * lib/math.in.h (rintl): Test also REPLACE_RINTL.
16822         * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
16823         REPLACE_RINTL.
16824         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
16825         * modules/math (Makefile.in): Substitute REPLACE_RINTL.
16826         * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
16827         * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
16829 2019-01-20  Bruno Haible  <bruno@clisp.org>
16831         log10l: Work around inaccurate implementation on NetBSD.
16832         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
16833         * lib/log10l.c: Comment out too simplistic override.
16834         * doc/posix-functions/log10l.texi: Mention the NetBSD bug.
16836 2019-01-20  Bruno Haible  <bruno@clisp.org>
16838         logl: Work around inaccurate implementation on NetBSD.
16839         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
16840         * lib/logl.c: Comment out unused code.
16841         * doc/posix-functions/logl.texi: Mention the NetBSD bug.
16843 2019-01-20  Bruno Haible  <bruno@clisp.org>
16845         expm1l: Work around inaccurate implementation on NetBSD.
16846         * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
16847         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
16848         REPLACE_EXPM1L.
16849         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
16850         * modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
16851         * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
16852         * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
16854 2019-01-20  Bruno Haible  <bruno@clisp.org>
16856         expl: Work around inaccurate implementation on NetBSD.
16857         * lib/math.in.h (expl): Test also REPLACE_EXPL.
16858         * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
16859         REPLACE_EXPL.
16860         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
16861         * modules/math (Makefile.in): Substitute REPLACE_EXPL.
16862         * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
16863         * doc/posix-functions/expl.texi: Mention the NetBSD bug.
16865 2019-01-20  Bruno Haible  <bruno@clisp.org>
16867         exp2l: Work around inaccurate implementation on NetBSD.
16868         * m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
16869         * doc/posix-functions/exp2l.texi: Mention the NetBSD bug.
16871 2019-01-20  Bruno Haible  <bruno@clisp.org>
16873         floor, floorl: Avoid autoconf warnings.
16874         * modules/floor (configure.ac): Use AC_REQUIRE.
16875         * modules/floorl (configure.ac): Likewise.
16877 2019-01-20  Bruno Haible  <bruno@clisp.org>
16879         Defeat current GCC optimizations in math autoconf tests.
16880         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
16881         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16882         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16883         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16884         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
16885         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
16886         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16887         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
16888         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
16889         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
16890         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
16891         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
16892         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
16893         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
16894         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
16895         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
16896         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
16897         * m4/log.m4 (gl_FUNC_LOG): Likewise.
16898         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
16899         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
16900         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
16901         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
16902         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
16903         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
16904         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
16905         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
16906         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
16907         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
16908         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
16909         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
16910         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
16911         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
16912         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16913         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16914         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16915         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16916         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16917         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16919 2019-01-19  Pádraig Brady  <P@draigBrady.com>
16921         gettext: support disabling use of VLAs
16922         * lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined
16924 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
16926         sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
16927         * lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.
16929 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
16931         fcntl: Fix syntax error (regression from 2018-10-05).
16932         * lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.
16934 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
16936         relocatable: improve documentation.
16937         * doc/relocatable-maint.texi (Supporting Relocation): For
16938         substitutions performed by config.status, we need more variables
16939         (for instance datarootdir defaults to '${prefix}/share' so we need
16940         prefix).
16942 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
16944         backup: update dependencies
16945         * modules/backup-rename (Depends-on): It now depends on opendirat
16946         instead of opendir.  It also uses stdint, and xalloc-oversized.
16947         But no longer dirfd.
16948         * modules/backupfile (Depends-on): Add xalloc-oversized.
16950 2019-01-13  Bruno Haible  <bruno@clisp.org>
16952         getcwd: Fix test failure when building on a Linux 9p file system.
16953         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
16954         EINVAL from mkdir like ENAMETOOLONG.
16955         * tests/test-getcwd.c (test_long_name): Likewise.
16957 2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>
16959         Fix typos found by codespell.
16960         * lib/*.[hc]: Fix typos in comments.
16961         * pygnulib/*.py: Fix typos in error messages and comments.
16963 2019-01-12  Bruno Haible  <bruno@clisp.org>
16965         doc: Fix documentation about container data types.
16966         Reported by Werner Lemberg <wl@gnu.org>.
16967         * doc/containers.texi (Container data types): Fix typo.
16969 2019-01-10  Bruno Haible  <bruno@clisp.org>
16971         verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
16972         Reported by Reuben Thomas <rrt@sc3d.org>.
16973         * lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.
16975 2019-01-06  Bruno Haible  <bruno@clisp.org>
16977         maintainer-makefile: Make the configure.ac section optional.
16978         * top/maint.mk (GREP, SED): Define if not defined.
16980 2019-01-06  Bruno Haible  <bruno@clisp.org>
16982         localename: Assume setlocale function.
16983         * lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
16984         * m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.
16986 2019-01-06  Bruno Haible  <bruno@clisp.org>
16988         doc: Add documentation about container data types.
16989         * doc/containers.texi: New file.
16990         * doc/gnulib.texi (Particular Modules): Include it.
16992 2019-01-06  Bruno Haible  <bruno@clisp.org>
16994         doc: Update documentation about 'progname' module.
16995         * doc/progname.texi: Rename from doc/error.texi. Change node name and
16996         title. Rewrite.
16997         * doc/gnulib.texi (Particular Modules): Update.
16999 2019-01-06  Bruno Haible  <bruno@clisp.org>
17001         doc: Document the xstdopen and *-safer modules.
17002         * doc/xstdopen.texi: New file.
17003         * doc/gnulib.texi (Particular Modules): Include it.
17005 2019-01-06  Bruno Haible  <bruno@clisp.org>
17007         xstdopen: Add tests.
17008         * tests/test-xstdopen.c: New file.
17009         * tests/test-xstdopen.sh: New file.
17010         * modules/xstdopen-tests: New file.
17012         xstdopen: New module.
17013         * lib/xstdopen.h: New file.
17014         * lib/xstdopen.c: New file.
17015         * modules/xstdopen: New file.
17017 2019-01-06  Bruno Haible  <bruno@clisp.org>
17019         stdopen: Fix compilation error with IRIX cc.
17020         * lib/stdopen.c (stdopen): Do not use C99-style decl in loop.
17022 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
17024         xfreopen need not include stdio--.h
17025         * lib/xfreopen.c: Do not include stdio--.h.
17027         xfreopen need not depend on freopen-safer
17028         * modules/xfreopen (Depends-on):
17029         Depend on freopen, not freopen-safer.
17031         stdopen: modernize and simplify
17032         * lib/stdopen.c: Update copyright date
17033         Do not include sys/types.h; no longer needed these days.
17034         (stdopen): Use C99-style decl in loop.  Return int errno
17035         value, rather than just a bool.  Do not worry about fd mismatches,
17036         since the caller cares only if 0, 1, 2 are occupied.
17037         * lib/stdopen.h: No need to include <stdbool.h>.
17038         * m4/stdopen.m4: Remove.
17039         * modules/stdopen: New file.
17041         stdopen: copy from last use in coreutils
17042         * lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
17043         New files, taken from their last commit in coreutils
17044         2007-07-23T12:35:58Z!jim@meyering.net
17045         71aa3ea88084d17bcb4fc1031ad7b66f8647115e.
17047 2019-01-05  Bruno Haible  <bruno@clisp.org>
17049         argp: Don't pass an invalid argument to dgettext().
17050         Reported by He X <xw897002528@gmail.com>.
17051         * lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
17052         dgettext().
17054 2019-01-05  Bruno Haible  <bruno@clisp.org>
17056         argp: Don't pass an invalid argument to dgettext().
17057         Reported by He X <xw897002528@gmail.com>.
17058         * lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
17059         * lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
17060         dgettext().
17062 2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>
17064         stdioext: port to newer 32-bit Android
17065         Problem reported by Tom Yan in:
17066         https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
17067         * lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
17068         (fp_) [__ANDROID__]: Use it.
17070 2019-01-04  Bruno Haible  <bruno@clisp.org>
17072         lock: Fix link error with --enable-threads=pth.
17073         * lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
17074         Mark as weak.
17076 2019-01-04  Bruno Haible  <bruno@clisp.org>
17078         Fix link errors in unit tests.
17079         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17080         * modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
17081         * modules/array-map-tests (Makefile.am): Link test-array_map against
17082         libintl.
17083         * modules/array-set-tests (Makefile.am): Link test-array_set against
17084         libintl.
17085         * modules/hash-map-tests (Makefile.am): Link test-hash_map against
17086         libintl.
17087         * modules/hash-set-tests (Makefile.am): Link test-hash_set against
17088         libintl.
17089         * modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
17090         against libintl.
17091         * modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
17092         against libintl.
17094 2019-01-04  Bruno Haible  <bruno@clisp.org>
17096         Fix incorrect 'Link' sections.
17097         * modules/regex (Link): Mention the link requirement of module 'lock'.
17098         * modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.
17100 2019-01-04  Bruno Haible  <bruno@clisp.org>
17102         Fix some 'Link' sections.
17103         * modules/c-stack (Link): Add link directive from the 'gettext-h'
17104         dependency.
17105         * modules/getaddrinfo (Link): Likewise.
17107 2019-01-04  Bruno Haible  <bruno@clisp.org>
17109         Remove redundant 'Link' sections.
17110         * modules/canon-host (Link): Remove section.
17111         * modules/timevar (Link): Likewise.
17113 2019-01-04  Bruno Haible  <bruno@clisp.org>
17115         Remove incorrect 'Link' sections.
17116         * modules/acl (Link): Remove section. Use combined 'Link' sections from
17117         the dependencies instead.
17118         * modules/crypto/md5 (Link): Likewise.
17119         * modules/crypto/sha1 (Link): Likewise.
17120         * modules/crypto/sha256 (Link): Likewise.
17121         * modules/crypto/sha512 (Link): Likewise.
17122         * modules/faccessat (Link): Likewise.
17123         * modules/fdutimensat (Link): Likewise.
17124         * modules/iconv_open-utf (Link): Likewise.
17125         * modules/propername (Link): Likewise.
17126         * modules/qacl (Link): Likewise.
17127         * modules/unicodeio (Link): Likewise.
17128         * modules/utimecmp (Link): Likewise.
17129         * modules/utimensat (Link): Likewise.
17130         * modules/xstriconv (Link): Likewise.
17131         * modules/xstriconveh (Link): Likewise.
17133 2019-01-04  Bruno Haible  <bruno@clisp.org>
17135         gnulib-tool: New option --extract-recursive-link-directive.
17136         * gnulib-tool (func_usage): Document the new options
17137         --extract-recursive-dependencies, --extract-recursive-link-directive.
17138         (func_verify_module): Document output variables.
17139         (func_get_dependencies_recursively): New function.
17140         (func_get_link_directive_recursively): New function.
17141         Use them to implement the new options
17142         --extract-recursive-dependencies, --extract-recursive-link-directive.
17143         * doc/gnulib-tool.texi (Link-time requirements): New section.
17145 2019-01-04  Bruno Haible  <bruno@clisp.org>
17147         Clarify meaning of 'Link' section in module description.
17148         * doc/gnulib.texi (Module description): Clarify the meaning of the
17149         'Link' section versus the one of the dependencies.
17150         * NEWS: Mention the change.
17152 2019-01-04  Bruno Haible  <bruno@clisp.org>
17154         pselect: Fix module description.
17155         * modules/pselect (Link): Put one link option per line.
17157 2019-01-04  Bruno Haible  <bruno@clisp.org>
17159         cosl: Fix module description.
17160         * modules/cosl (Link): Fix typo.
17161         * modules/mathl (configure.ac): Likewise.
17163 2019-01-04  Bruno Haible  <bruno@clisp.org>
17165         c-xvasprintf: Fix module dependencies.
17166         * modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.
17168 2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
17170         bootstrap: die when some submodules are not initialized
17171         * build-aux/bootstrap: Make sure all submodules are initialized.
17173 2019-01-04  Bruno Haible  <bruno@clisp.org>
17175         bitsetv: Fix module dependencies.
17176         * lib/bitsetv.c: Include xalloc.h.
17177         * modules/bitsetv (Depends-on): Add 'xalloc'.
17179 2019-01-04  Bruno Haible  <bruno@clisp.org>
17181         xmemdup0: Remove redundant code.
17182         * lib/xmemdup0.h (xalloc_die): Remove declaration.
17184 2019-01-04  Bruno Haible  <bruno@clisp.org>
17186         backupfile: Fix module dependencies.
17187         * modules/backupfile (Depends-on): Add 'xalloc'.
17189 2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>
17191         bitset, crypto/gc: fix conflicts with Solaris 11
17192         * lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
17193         avoid clash with Solaris 11 <sys/bitset.h>.
17194         * lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
17195         with Solaris 11 <xorg/gc.h>.
17197 2019-01-04  Bruno Haible  <bruno@clisp.org>
17199         safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
17200         Reported by Andy Fiddaman <andy@omniosce.org>.
17201         * lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.
17203 2019-01-03  Eric Blake  <eblake@redhat.com>
17205         maintainer-makefile: fix typo in previous patch
17206         * top/maint.mk (_sc_search_regexp): Fix my accidental corruption
17207         of Roman's work.
17209 2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)
17211         maintainer-makefile: prefer $(GREP) over grep
17212         * modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
17213         defined.
17214         * top/maint.mk: Use it everywhere.
17216         maintainer-makefile: split long argument lines
17217         * top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
17218         it would be too long for exec limits on BSD.
17220 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
17222         mkfifo: bring back HAVE_MKFIFO macro
17223         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
17224         Problem reported by Andrew Janke in:
17225         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html
17227 2018-12-21  Bruno Haible  <bruno@clisp.org>
17229         Assume Autoconf >= 2.63.
17230         * modules/stdarg (configure.ac-early): Remove comment about Autoconf
17231         versions < 2.60.
17233 2018-12-21  Bruno Haible  <bruno@clisp.org>
17235         memcmp: Mention the clang bug.
17236         * tests/test-memcmp.c: Add comment about a known test failure.
17237         * doc/posix-functions/memcmp.texi: Mention the clang bug.
17239 2018-12-20  Jim Meyering  <meyering@fb.com>
17241         revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
17242         v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
17243           echo '123-x'|LC_ALL=C grep -E '.\bx'
17244         The goal is to revert the first, but reverting it requires to restore
17245         the function deleted in the second. I ran this to restore the deleted
17246         function:
17247           git show v0.1-2281-g95cd86dd7 lib/dfa.c \
17248             | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
17249             | patch -R -p1
17250         * lib/dfa.c (charclass_context): Restore deleted function.
17251         Reverting the primary commit removes this change:
17252         dfa: Simplify a building state
17253         * lib/dfa.c (build_state): Simplify a building state.
17255 2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>
17257         version-etc: allow zero authors
17258         * lib/version-etc.c (version_etc_arn): If no authors are given,
17259         omit authorship info instead of dumping core.
17261 2018-12-19  Bruno Haible  <bruno@clisp.org>
17263         lchown tests: Be more permissive regarding errno values.
17264         Reported by Ivan Zakharyaschev <imz@altlinux.org>.
17265         * tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
17266         alternative to ENOSYS.
17267         * modules/lchown-tests (Depends-on): Add 'errno'.
17268         * modules/fchownat-tests (Depends-on): Likewise.
17270 2018-12-18  Bruno Haible  <bruno@clisp.org>
17272         duplocale: Avoid test failure on AIX 7.
17273         * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
17274         (configure.ac): Invoke gt_FUNC_USELOCALE.
17275         * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
17276         HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
17277         works.
17279 2018-12-18  Bruno Haible  <bruno@clisp.org>
17281         localename: Fix test failure on AIX 7.
17282         Reported by Assaf Gordon in
17283         <https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
17284         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
17285         (gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
17286         instead of ac_cv_func_uselocale.
17287         * lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
17288         HAVE_USELOCALE.
17289         * lib/localename-table.h: Likewise.
17290         * lib/localename-table.c: Likewise.
17291         * tests/test-localename.c: Likewise.
17292         * doc/posix-functions/uselocale.texi: Mention the AIX problem.
17294 2018-12-18  Bruno Haible  <bruno@clisp.org>
17296         localename: Update comments regarding Cygwin.
17297         * lib/localename.c: Update comment.
17298         * doc/posix-functions/uselocale.texi: Update platforms list.
17299         * doc/posix-functions/newlocale.texi: Likewise.
17300         * doc/posix-functions/duplocale.texi: Likewise.
17301         * doc/posix-functions/freelocale.texi: Likewise.
17303 2018-12-16  Bruno Haible  <bruno@clisp.org>
17305         c-stack: Fix for Linux/sparc.
17306         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
17307         ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.
17309 2018-12-16  Bruno Haible  <bruno@clisp.org>
17311         localename: Avoid test failure on some glibc systems.
17312         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
17313         Unset environment variables that might disturb the first setlocale call,
17314         and verify that this setlocale call succeeds.
17316 2018-12-16  Assaf Gordon  <assafgordon@gmail.com>
17318         random: Fix build error on native Windows (regression from 2018-06-21).
17319         * lib/random.c (__srandom, __initstate, __setstate, __random,
17320         __srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
17321         to the symbols without '__' prefix.
17323 2018-12-16  Bruno Haible  <bruno@clisp.org>
17325         obstack, libc-config: Support HP-UX cc in C99 mode.
17326         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
17327         compiler, even when in C99 mode.
17328         * lib/cdefs.h (__flexarr): Likewise.
17329         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.
17331 2018-12-16  Bruno Haible  <bruno@clisp.org>
17333         localename: Fix test failure on OpenBSD >= 6.2.
17334         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
17335         locale system. Define HAVE_FAKE_LOCALES in this case.
17336         * lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
17337         HAVE_USELOCALE.
17338         * tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
17339         instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
17340         * doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
17341         platforms list.
17342         * doc/posix-functions/newlocale.texi: Likewise.
17343         * doc/posix-functions/duplocale.texi: Update platforms list.
17344         * doc/posix-functions/freelocale.texi: Likewise.
17346 2018-12-16  Bruno Haible  <bruno@clisp.org>
17348         duplocale tests: Re-enable the test on platforms without <monetary.h>.
17349         * tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
17350         of the test, on platforms without <monetary.h>.
17352 2018-12-16  Bruno Haible  <bruno@clisp.org>
17354         localename: Update comments.
17355         * lib/localename.c (HAVE_USELOCALE): Update list of platforms.
17357 2018-12-15  Jim Meyering  <meyering@fb.com>
17359         regex: fix indentation
17360         * m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.
17362 2018-12-15  Bruno Haible  <bruno@clisp.org>
17364         openat-safer tests: Avoid test failure on NetBSD 8.
17365         * tests/test-openat-safer.c (main): Execute a Linux specific test only
17366         on Linux.
17368 2018-12-15  Jim Meyering  <meyering@fb.com>
17370         regex: work around a bug in glibc-2.27 and prior
17371         * m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
17372         assertion for /0|()0|\1|0/.
17373         * tests/test-regex.c (main): Add the same test here.
17375 2018-12-15  Bruno Haible  <bruno@clisp.org>
17377         localename: Fix use of uninitialized shell variable.
17378         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
17379         gt_cv_locale_solaris114 always before use. Remove assignment without
17380         effect.
17382 2018-12-15  Bruno Haible  <bruno@clisp.org>
17384         dfa tests: Avoid test failure on Alpine Linux.
17385         * tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
17386         command found on Alpine Linux.
17388 2018-12-15  Jim Meyering  <meyering@fb.com>
17390         dfa: avoid new warnings from gcc
17391         These would prevent building with -Werror and a Dec snapshot of gcc.
17392         * lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
17393         Rename each inner instance to "p".
17394         (charclass_context): Remove unused static function.
17396 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
17398         mkdir-p: improve diagnostic for FUSE mounts
17399         Problem reported by Niklas Hambüchen in:
17400         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
17401         * lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
17402         errno to mkdir errno if the stat errno is likely more interesting.
17404 2018-12-14  Bruno Haible  <bruno@clisp.org>
17406         hash-map: Add tests.
17407         * tests/test-hash_map.c: New file.
17408         * modules/hash-map-tests: New file.
17410         linkedhash-map: Add tests.
17411         * tests/test-linkedhash_map.c: New file.
17412         * modules/linkedhash-map-tests: New file.
17414         array-map: Add tests.
17415         * tests/test-array_map.c: New file.
17416         * modules/array-map-tests: New file.
17418         xmap: New module.
17419         * lib/gl_xmap.h: New file.
17420         * lib/gl_xmap.c: New file.
17421         * modules/xmap: New file.
17423         hash-map: New module.
17424         * lib/gl_hash_map.h: New file.
17425         * lib/gl_hash_map.c: New file.
17426         * modules/hash-map: New file.
17428         linkedhash-map: New module.
17429         * lib/gl_linkedhash_map.h: New file.
17430         * lib/gl_linkedhash_map.c: New file.
17431         * lib/gl_anyhash1.h: Update comments.
17432         * lib/gl_anyhash2.h: Likewise.
17433         * modules/linkedhash-map: New file.
17435         array-map: New module.
17436         * lib/gl_array_map.h: New file.
17437         * lib/gl_array_map.c: New file.
17438         * modules/array-map: New file.
17440         map: New module.
17441         * lib/gl_map.h: New file.
17442         * lib/gl_map.c: New file.
17443         * lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
17444         conflict with gl_map.h.
17445         * modules/map: New file.
17447 2018-12-13  Bruno Haible  <bruno@clisp.org>
17449         select tests: Avoid test failure on Cygwin.
17450         * tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.
17452 2018-12-13  Bruno Haible  <bruno@clisp.org>
17454         localtime-buffer: Avoid endless recursion in localtime and gmtime.
17455         * lib/localtime-buffer.c: Undefine localtime and gmtime before use.
17457 2018-12-13  Bruno Haible  <bruno@clisp.org>
17459         localeconv tests: Avoid test failure on Cygwin.
17460         * tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
17461         'mon_grouping' tests.
17463 2018-12-11  Bruno Haible  <bruno@clisp.org>
17465         omap: Don't dispose the old value when the function returns it.
17466         * lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
17467         here.
17468         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
17469         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
17470         * lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
17471         here.
17473         array-omap, avltree-omap, rbtree-omap: Tweak style.
17474         * lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
17475         false.
17476         * lib/gl_array_omap.c (gl_array_nx_getput): Likewise.
17478         rbtree-omap: Add tests.
17479         * tests/test-rbtree_omap.c: New file.
17480         * modules/rbtree-omap-tests: New file.
17482         avltree-omap: Add tests.
17483         * tests/test-avltree_omap.c: New file.
17484         * modules/avltree-omap-tests: New file.
17486         array-omap: Add tests.
17487         * tests/test-array_omap.c: New file.
17488         * modules/array-omap-tests: New file.
17490         xomap: New module.
17491         * lib/gl_xomap.h: New file.
17492         * lib/gl_xomap.c: New file.
17493         * modules/xomap: New file.
17495         rbtree-omap: New module.
17496         * lib/gl_rbtree_omap.h: New file.
17497         * lib/gl_rbtree_omap.c: New file.
17498         * lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
17499         Parameterize.
17500         * lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
17501         * modules/rbtree-omap: New file.
17502         * modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
17503         (Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.
17505         avltree-omap: New module.
17506         * lib/gl_avltree_omap.h: New file.
17507         * lib/gl_avltree_omap.c: New file.
17508         * lib/gl_avltree_ordered.h: Code moved to here from
17509         lib/gl_avltree_oset.c. Parameterize.
17510         * lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
17511         * lib/gl_anytree_omap.h: New file.
17512         * modules/avltree-omap: New file.
17513         * modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
17514         (Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.
17516         array-omap: New module.
17517         * lib/gl_array_omap.h: New file.
17518         * lib/gl_array_omap.c: New file.
17519         * modules/array-omap: New file.
17521         omap: New module.
17522         * lib/gl_omap.h: New file.
17523         * lib/gl_omap.c: New file.
17524         * modules/omap: New file.
17526 2018-12-11  Bruno Haible  <bruno@clisp.org>
17528         hash-set, linkedhash-set: Reduce code duplication.
17529         * lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
17530         lib/gl_anyhash_set1.h.
17531         * lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
17532         lib/gl_anyhash_set2.h. Parameterize.
17533         (hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
17534         * lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
17535         * lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
17536         gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
17537         * lib/gl_rbtreehash_list.c: Likewise.
17538         * lib/gl_linkedhash_list.c: Likewise.
17539         (hash_resize_after_add): Remove function.
17540         * lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
17541         gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
17542         * gl_hash_set.c: Likewise.
17543         * modules/avltreehash-list (Files, Makefile.am): Update file list.
17544         * modules/rbtreehash-list (Files, Makefile.am): Likewise.
17545         * modules/linkedhash-list (Files, Makefile.am): Likewise.
17546         * modules/linkedhash-set (Files, Makefile.am): Likewise.
17547         * modules/hash-set (Files, Makefile.am): Likewise.
17549 2018-12-11  Bruno Haible  <bruno@clisp.org>
17551         array-set: Optimize.
17552         * lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
17553         outside the loop, not inside the loop.
17555 2018-12-11  Bruno Haible  <bruno@clisp.org>
17557         times: Fix tests.
17558         * tests/test-times.c (doublecmp): Implement a total order.
17560 2018-12-11  Bruno Haible  <bruno@clisp.org>
17562         array-set, linkedhash-set, hash-set: Fix tests.
17563         * tests/test-array_set.c (cmp_objects_in_array): New function.
17564         (check_equals): Use it.
17565         * tests/test-hash_set.c: Likewise.
17566         * tests/test-linkedhash_set.c: Likewise.
17568 2018-12-08  Bruno Haible  <bruno@clisp.org>
17570         Fix comments.
17571         * lib/gl_list.h (gl_list_free): Clarify what it does.
17572         * lib/gl_oset.h (gl_oset_free): Likewise.
17573         * lib/gl_set.h (gl_set_free): Likewise.
17574         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
17575         * lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
17576         * lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
17577         * lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.
17579 2018-12-03  Bruno Haible  <bruno@clisp.org>
17581         hash-set: Add tests.
17582         * tests/test-hash_set.c: New file.
17583         * modules/hash-set-tests: New file.
17585         linkedhash-set: Add tests.
17586         * tests/test-linkedhash_set.c: New file.
17587         * modules/linkedhash-set-tests: New file.
17589         array-set: Add tests.
17590         * tests/test-array_set.c: New file.
17591         * modules/array-set-tests: New file.
17593         xset: New module.
17594         * lib/gl_xset.h: New file.
17595         * lib/gl_xset.c: New file.
17596         * modules/xset: New file.
17598         hash-set: New module.
17599         * lib/gl_hash_set.h: New file.
17600         * lib/gl_hash_set.c: New file.
17601         * modules/hash-set: New file.
17603         linkedhash-set: New module.
17604         * lib/gl_linkedhash_set.h: New file.
17605         * lib/gl_linkedhash_set.c: New file.
17606         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
17607         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
17608         * lib/gl_anyhash_primes.h: New file, extracted from
17609         lib/gl_anyhash_list2.h.
17610         * lib/gl_anyhash_list2.h: Include it.
17611         (primes, next_prime): Remove definitions.
17612         * modules/linkedhash-set: New file.
17613         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
17614         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17615         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
17616         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17617         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
17618         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17620         array-set: New module.
17621         * lib/gl_array_set.h: New file.
17622         * lib/gl_array_set.c: New file.
17623         * modules/array-set: New file.
17625         set: New module.
17626         * lib/gl_set.h: New file.
17627         * lib/gl_set.c: New file.
17628         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
17629         gl_set.h.
17630         * modules/set: New file.
17632 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
17634         bison: don't force the Yacc mode
17635         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
17636         errors when Bison features are used in the grammar file.  Some of
17637         these features (such as %expect) were flagged non-yacc recently.  Most
17638         of the time, -y is actually used to please Automake's ylwrap which
17639         expects the output to be y.tab.c.
17640         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
17642 2018-12-01  Bruno Haible  <bruno@clisp.org>
17644         gnupload: Document short options.
17645         * build-aux/gnupload (usage): Document the short options.
17647 2018-11-28  Ben Elliston  <bje@gnu.org>
17649         gnupload: Support option -h as alias of --help.
17650         * build-aux/gnupload: Support -h.
17652 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
17654         memrchr: port better to clang
17655         * lib/memrchr.c (__memrchr): Cast to void * instead of to
17656         longword *, to pacify clang -Wcast-align (Bug#33544).
17658 2018-11-29  Eric Blake  <eblake@redhat.com>
17660         docs: mention printf %m considerations
17661         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
17662         is not portable, and is easy enough to work around.
17663         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
17664         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
17665         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
17666         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
17667         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
17668         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
17669         * doc/posix-functions/printf.texi (printf): Likewise.
17670         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
17671         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
17672         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
17673         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
17674         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17675         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
17676         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17677         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
17678         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
17679         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
17680         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
17681         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
17683 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
17685         bitset: rename ebitset/expandable.* as tbitset/table.*
17686         See
17687         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
17688         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
17689         * lib/bitset/table.h, lib/bitset/table.c: these.
17690         Rename all the ebitset* symbols as tbitset*.
17691         Adjust dependencies.
17693 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17695         bitset: check the operations
17696         * tests/test-bitset.c (bitset_random): New.
17697         Use it.
17698         * lib/bitset/expandable.c (ebitset_not): Fix typo.
17700 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17702         bitset: properly use false/true instead of 0/1 for Booleans
17703         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
17704         0/1, as Booleans.
17706 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17708         bitset: rename BITSET_VARRAY as BITSET_VECTOR
17709         For consistency with the name of the file.
17710         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
17711         * lib/bitset/stats.c, lib/bitset/vector.c
17712         (BITSET_VARRAY): Rename as...
17713         (BITSET_VECTOR): this.
17715 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
17717         strerror_r-posix: memmove, not memcpy
17718         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
17719         since the source and destination might overlap in the call
17720         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
17721         Simplify.
17723 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17725         bitsetv: new module
17726         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
17728 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17730         bitset: add tests and doc
17731         First stabs at providing a documentation and test for the bitset
17732         module.
17733         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
17735 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17737         bitset: new module
17738         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
17739         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
17740         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
17741         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
17742         * lib/bitset/vector.h, modules/bitset:
17743         New.
17745 2018-11-23  Bruno Haible  <bruno@clisp.org>
17747         localename: Fix gettext test failures on mingw.
17748         * lib/localename.c (gl_locale_name_posix): Convert the result of
17749         gl_locale_name_environ to XPG syntax.
17751 2018-11-23  Karl Berry  <karl@freefriends.org>
17753         * config/srclistvars.txt,
17754         * config/srclist.txt: remove all gettext references;
17755         the gettext maintainers will sync as needed.
17757 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
17759         mktime: add libc-config dependency
17760         I missed this when we synced from glibc.
17761         * modules/mktime (Depends-on): Add libc-config.
17763 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
17765         longlong: fix comment typo
17766         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
17768 2018-11-11  Bruno Haible  <bruno@clisp.org>
17770         havelib: Remove the need to include asm-underscore.m4.
17771         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
17772         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
17773         gl_HOST_CPU_C_ABI.
17774         * modules/havelib (Files): Add host-cpu-c-abi.m4.
17775         (Depends-on): Remove host-cpu-c-abi.
17777 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
17779         parse-datetime: simplify test for mktime failure
17780         * lib/parse-datetime.y (mktime_ok): Simplify.
17781         Remove args TZ and T; no longer needed.  Callers changed.
17783         posixtm: simplify test for mktime failure
17784         * lib/posixtm.c (posixtime): Simplify.
17786         nstrftime: simplify test for mktime failure
17787         * lib/nstrftime.c (__strftime_internal): Simplify.
17789 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
17791         gnulib-common.m4: port _Noreturn to C++
17792         Problem reported by Akim Demaille in:
17793         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
17794         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
17795         Merge adjustments from _Noreturn.h and from glibc into the non-C++
17796         version.
17797         * lib/_Noreturn.h: Match gnulib-common.
17799 2018-10-30  Bruno Haible  <bruno@clisp.org>
17801         gnu-make: Fix for NetBSD 8 'make'.
17802         Reported by Reuben Thomas in
17803         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
17804         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
17805         output, ignoring exit codes.
17807 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
17809         maintainer-makefile: fix syntax-check rule for "same.h"
17810         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
17811         for 'same_nameat', too.
17813 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
17815         havelib: fix nested ‘configure’ chatter
17816         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
17817         AC_CACHE_CHECK calls, which resulted in confusing output like
17818         “checking for the common suffixes of directories in the library
17819         search path... checking for 64-bit host... no lib,lib”.
17821         backupfile: tweak for better code
17822         * lib/backupfile.c: Sort include directives, and remove
17823         unnecessary <limits.h> include.
17824         (FALLTHROUGH): New macro, copied from other modules.
17825         (backupfile_internal): Use it to avoid code duplication.
17826         This lets GCC 8.2.1 generate better code by inlining the
17827         call to check_extension.
17829 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
17831         backupfile: new dir_fd args
17832         New module opendirat with code taken from fts.
17833         Use this module to let backupfile use a directory file descriptor.
17834         * NEWS: Document the incompatible change.
17835         * lib/backup-find.c (find_backup_file_name):
17836         * lib/backup-rename.c (backup_file_rename):
17837         New arg DIR_FD.
17838         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
17839         (SIZE_MAX): Remove.
17840         Include opendirat.h rather than dirent--.h.
17841         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
17842         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
17843         (backupfile_internal): New arg DIR_FD.  All callers changed.
17844         * lib/fts.c: Include opendirat.h.
17845         (opendirat): Move to opendirat.c.
17846         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
17847         * modules/backupfile (Depends-on): Remove dirfd, opendir.
17848         Add opendirat.
17849         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
17850         Add opendirat.
17852 2018-10-23  Bruno Haible  <bruno@clisp.org>
17854         localename: Simplify support for per-thread locales on Solaris 11.4.
17855         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
17856         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
17857         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
17858         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
17859         specific code.
17860         * lib/localename-table.h: Update comments.
17861         * lib/localename-table.c: Update comments.
17862         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
17863         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
17864         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
17865         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
17866         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
17867         HAVE_NAMELESS_LOCALES here.
17868         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
17869         m4/intlsolaris.m4.
17870         * modules/gettext (Files): Likewise.
17872 2018-10-22  Bruno Haible  <bruno@clisp.org>
17874         std-gnu11: Support Autoconf versions < 2.64.
17875         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
17876         when _AC_DO_LIMIT does not exist.
17878 2018-10-22  Bruno Haible  <bruno@clisp.org>
17880         Assume Autoconf >= 2.63.
17881         * DEPENDENCIES: Mention the requirement.
17883         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
17884         (func_get_filelist): Don't list m4/onceonly.m4 any more.
17885         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
17886         * m4/onceonly.m4: Remove file.
17888         * m4/openmp.m4: Remove file.
17889         * modules/openmp (Files): Remove m4/openmp.m4.
17891         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
17892         htmldir, dvidir, pdfdir, psdir, localedir.
17893         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
17895         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
17896         Autoconf < 2.60.
17897         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
17898         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
17900         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
17901         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
17902         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
17904         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
17905         exists.
17906         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
17908         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
17909         Autoconf < 2.61.
17911         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
17912         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
17913         Autoconf >= 2.52.
17915         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
17916         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
17917         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
17919 2018-10-22  Bruno Haible  <bruno@clisp.org>
17921         Assume Automake >= 1.11.
17922         * m4/configmake.m4: Update comments.
17923         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
17924         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
17925         of 'eval'.
17926         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
17927         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
17928         requires Automake >= 1.11.
17930 2018-10-22  Bruno Haible  <bruno@clisp.org>
17932         localename: Fix typo in comment.
17933         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
17935 2018-10-22  Bruno Haible  <bruno@clisp.org>
17937         Fix failure of 'gnulib-tool --create-testdir' with all modules.
17938         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
17940 2018-10-21  Bruno Haible  <bruno@clisp.org>
17942         locale: Ease integration with GNU libintl.
17943         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
17944         GNULIB_defined_freelocale): New macros.
17946 2018-10-21  Bruno Haible  <bruno@clisp.org>
17948         localename: Fine-tune support for per-thread locales on Solaris 11.4.
17949         * lib/localename-table.h: New file, extracted from lib/localename.c.
17950         * lib/localename-table.c: Likewise.
17951         * lib/localename.c: Include localename-table.h.
17952         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
17953         locale_hash_function instead of pointer_hash.
17954         * modules/localename (Files): Add lib/localename-table.h,
17955         lib/localename-table.c.
17956         (lib_SOURCES): Add localename-table.c.
17957         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
17958         for Solaris 11.4 locale system only on Solaris. Test for it
17959         independently whether getlocalename_l exists.
17960         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
17961         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
17962         HAVE_NAMELESS_LOCALES.
17963         * modules/gettext (Files): Add m4/intlsolaris.m4.
17965 2018-10-21  Bruno Haible  <bruno@clisp.org>
17967         Small update from gettext.
17968         * m4/intl.m4: Update from gettext:
17969         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
17970         mode on AIX.
17971         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
17972         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
17974 2018-10-16  Bruno Haible  <bruno@clisp.org>
17976         mountlist: Remove support for Cray with UNICOS 9.
17977         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
17978         MOUNTED_LISTMNTENT.
17979         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
17981 2018-10-16  Bruno Haible  <bruno@clisp.org>
17983         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
17984         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
17985         STAT_STATFS2_FS_DATA.
17986         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
17987         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
17988         MOUNTED_GETMNT.
17989         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
17990         * lib/getloadavg.c (decstation): Remove definition and case.
17991         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
17992         * lib/getgroups.c: Likewise.
17993         * doc/posix-functions/getgroups.texi: Likewise.
17994         * lib/time.in.h: Update comments.
17996 2018-10-16  Bruno Haible  <bruno@clisp.org>
17998         getloadavg: Remove support for ConvexOS.
17999         * lib/getloadavg.c: Remove convex case.
18001 2018-10-16  Bruno Haible  <bruno@clisp.org>
18003         getloadavg: Remove support for Sony NEWS.
18004         * lib/getloadavg.c: Remove sony_news case.
18006 2018-10-16  Bruno Haible  <bruno@clisp.org>
18008         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
18009         * lib/fsusage.c: Remove _SEQUENT_ case.
18010         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
18011         * lib/mountlist.c: Don't test for MNTTABNAME.
18012         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
18013         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
18014         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
18015         * lib/stat-size.h: Don't mention the Sequent bug.
18016         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
18018 2018-10-16  Bruno Haible  <bruno@clisp.org>
18020         fsusage: Remove support for AIX 3.
18021         * lib/fsusage.c: Remove code for AIX 3.
18022         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
18024 2018-10-16  Bruno Haible  <bruno@clisp.org>
18026         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
18027         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
18028         * lib/fsusage.c: Remove code for AIX PS/2.
18029         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
18030         * lib/getloadavg.c: Likewise.
18032 2018-10-16  Bruno Haible  <bruno@clisp.org>
18034         getloadavg: Remove support for HP-UX on m68k.
18035         * lib/getloadavg.c: Remove hp9000s300 case.
18037 2018-10-16  Bruno Haible  <bruno@clisp.org>
18039         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
18040         * lib/fsusage.c: Remove DOLPHIN case.
18041         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
18042         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
18044 2018-10-16  Bruno Haible  <bruno@clisp.org>
18046         getloadavg: Remove support for Alliant FX/2800.
18047         * lib/getloadavg.c: Remove alliant case.
18049 2018-10-16  Bruno Haible  <bruno@clisp.org>
18051         getloadavg: Remove support for tek4300.
18052         * lib/getloadavg.c: Remove tek4300 case.
18054 2018-10-16  Bruno Haible  <bruno@clisp.org>
18056         getloadavg: Remove support for Ardent.
18057         * lib/getloadavg.c: Remove ardent case.
18059 2018-10-16  Bruno Haible  <bruno@clisp.org>
18061         mountlist: Remove support for SVR2.
18062         Reported by Andrew Borodin <aborodin@vmail.ru> in
18063         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
18064         * lib/mountlist.c: Remove MOUNTED_FREAD case.
18065         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
18066         MOUNTED_FREAD.
18068 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
18070         libc-config: merge from glibc
18071         * lib/cdefs.h (__glibc_has_attribute): New macro.
18073         regex: depend on libc-config
18074         * modules/regex (Depends-on): Add libc-config.
18075         This is needed after the recent autoupdate from glibc.
18077 2018-10-14  Bruno Haible  <bruno@clisp.org>
18079         localename: Add support for per-thread locales on Solaris 11.4.
18080         * lib/locale.in.h (newlocale, freelocale): New declarations.
18081         (duplocale): Declare also when the 'localename' module requests it.
18082         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
18083         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
18084         (struniq): Update.
18085         (struct locale_categories_names, struct locale_hash_node): New types.
18086         (LOCALE_HASH_TABLE_SIZE): New constant.
18087         (locale_hash_table, locale_lock): New variables.
18088         (pointer_hash, get_locale_t_name): New functions.
18089         (newlocale, duplocale, freelocale): New overridden functions.
18090         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
18091         * m4/intlsolaris.m4: New file.
18092         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
18093         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
18094         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
18095         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
18096         declared.
18097         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
18098         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
18099         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
18100         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
18101         * modules/localename (Files): Add intlsolaris.m4.
18102         (Depends-on): Add 'locale'.
18103         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
18104         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
18105         the signatures.
18107 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
18109         timevar: use gethrxtime to get wall clock time
18110         clock_gettime is not portable.  gethrxtime takes the best available
18111         option to get the wall clock time, including clock_gettime (monotonic
18112         clock), and gettime (non monotonic).
18113         Also, using xtime_t instead of float preserves the precision.
18114         Suggested by Bruno Haible.
18115         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
18116         * modules/timevar (Depends-on): We need gethrxtime.
18117         We no longer use times().
18118         (Link): Update.
18119         * lib/timevar.h (timevar_time_def): Use xtime_t.
18120         * lib/timevar.c (set_to_current_time): Use gethrxtime.
18121         (timevar_print): Instead of checking whether the timings themselves
18122         are large enough for the timevar to be printed, check the percentages.
18124 2018-10-14  Bruno Haible  <bruno@clisp.org>
18126         wcsnrtombs: Work around Solaris 11.4 bug.
18127         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
18128         macro.
18129         (gl_FUNC_WCSNRTOMBS): Invoke it.
18130         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
18132 2018-10-14  Bruno Haible  <bruno@clisp.org>
18134         mbsnrtowcs: Work around Solaris 11.4 bug.
18135         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
18136         macro.
18137         (gl_FUNC_MBSNRTOWCS): Invoke it.
18138         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
18140 2018-10-14  Bruno Haible  <bruno@clisp.org>
18142         doc: Update for Solaris 11.4.
18143         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
18144         mention Solaris 11.4.
18145         * m4/printf.m4: Update comments about Solaris.
18146         * m4/log.m4: Likewise.
18147         * m4/log10.m4: Likewise.
18148         * m4/logb.m4: Likewise.
18149         * m4/logbf.m4: Likewise.
18150         * m4/logbl.m4: Likewise.
18151         * m4/rename.m4: Likewise.
18152         * m4/wcrtomb.m4: Likewise.
18153         * m4/hostent.m4: Likewise.
18154         * m4/servent.m4: Likewise.
18156 2018-10-14  Bruno Haible  <bruno@clisp.org>
18158         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
18159         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
18160         pointer.
18161         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
18162         pointer.
18163         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
18164         pointer.
18165         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
18166         pointer.
18167         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
18168         pointer.
18170 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
18172         bootstrap: fix wget command for po files.
18173         * build-aux/bootstrap (po_download_command_format): Fix comment,
18174         and adjust callers.
18176 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
18178         timevar: improve the output format
18179         Suggested by Bruno Haible.
18180         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
18181         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
18182         wall, since its resolution is much higher.
18184 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
18186         timevar: expect that getrusage is available.
18187         Don't keep both times and getrusage as backend: both are guaranteed by
18188         gnulib, a single one suffices.  Using getrusage is open to possibly
18189         tracking other types of resources in the future.
18190         * modules/timevar (Depends-on): Add getrusage.
18191         (configure.ac): Remove gl_TIMEVAR.
18192         (Files): Remove m4/timevar.m4.
18193         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
18194         * lib/timevar.h (timevar_enabled): Clarify documentation.
18195         * lib/timevar.c: Remove all the code about times.
18196         Remove all the CPP guards about getrusage: expect it to be present
18197         (courtesy of gnulib).
18199 2018-10-12  Bruno Haible  <bruno@clisp.org>
18201         mountlist: Improve support for Solaris in 64-bit mode.
18202         Reported by David Wood <David.Wood@deshaw.com> in
18203         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
18204         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
18205         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
18206         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
18208 2018-10-12  Bruno Haible  <bruno@clisp.org>
18210         mountlist: Add support for Minix.
18211         Reported by Assaf Gordon in
18212         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
18213         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
18214         AC_CHECK_FUNCS to check for 'getmntinfo'.
18215         * lib/mountlist.c: Update comments.
18217 2018-10-12  Bruno Haible  <bruno@clisp.org>
18219         Make better use of Autoconf.
18220         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
18221         * m4/manywarnings.m4: Likewise.
18222         * m4/manywarnings-c++.m4: Likewise.
18223         * m4/socklen.m4: Likewise.
18224         * m4/sockpfaf.m4: Likewise.
18225         * m4/stdarg.m4: Likewise.
18226         * m4/visibility.m4: Likewise.
18227         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
18228         indentation.
18229         * m4/ls-mntd-fs.m4: Likewise.
18231 2018-10-11  Bruno Haible  <bruno@clisp.org>
18233         mountlist: Modernize platform lists.
18234         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
18235         platforms, deemphasizing the obsolete ones.
18236         * lib/mountlist.c: Likewise.
18238 2018-10-11  Bruno Haible  <bruno@clisp.org>
18240         getprogname: Add support for 32-bit programs on HP-UX.
18241         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
18242         try the similar functions 32-bit programs on 64-bit HP-UX.
18244 2018-10-11  Bruno Haible  <bruno@clisp.org>
18246         getprogname: Work around program name truncation when possible.
18247         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
18248         possibly use pst_cmd instead.
18250 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
18252         fts: cleanup after FTS_NOATIME removal
18253         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
18254         (FTS_STOP): Shrink to minimal values.  We don’t need to
18255         worry about binary compatibility in Gnulib, and the old way
18256         of doing things had a hole in the user options that caused
18257         FTS_OPTIONMASK to not work as desired.
18259 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
18261         fts: remove FTS_NOATIME
18262         This reverts commit da4d6974013c822af1498941e32db774b2031765.
18263         We cannot guarantee that O_NOATIME works: e.g. openat fails
18264         with EPERM if the effective user ID of the caller does not match
18265         the owner of the file and the caller is not privileged.
18266         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
18267         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
18268         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
18269         (FTS_OPTIONMASK): Adjust.
18270         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
18271         (fd_ring_check): Likewise.
18273 2018-10-08  Bruno Haible  <bruno@clisp.org>
18275         csharpcomp*, csharpexec*: Remove support for pnet.
18276         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
18277         HAVE_CSCC.
18278         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
18279         Don't test HAVE_CSCC.
18280         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
18281         (compile_csharp_class): Don't invoke it.
18282         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
18283         HAVE_ILRUN.
18284         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
18285         Don't test HAVE_ILRUN.
18286         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
18287         (execute_csharp_program): Don't invoke it.
18288         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
18289         any more.
18291 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
18293         renameatu: prefer renameat2 to syscall
18294         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
18295         Use renameat2 instead of syscall (Bug#32796).
18296         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
18298 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
18300         bootstrap, gnulib-tool: use https instead of insecure rsync
18301         * build-aux/bootstrap (download_po_files, po_download_command_format):
18302         Don't try using rsync; always use wget over https to fetch PO files.
18303         * gnulib-tool (func_import): Likewise.
18304         * pygnulib/GLImport.py (GLImport.execute): Likewise.
18306 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
18308         bootstrap, gnulib-tool: correct the translations wget command
18309         * build-aux/bootstrap (po_download_command_format2): Restrict
18310         recursion to a single level.
18311         * gnulib-tool (func_import): Likewise.
18312         * pygnulib/GLImport.py (GLImport.execute): Likewise.
18314 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
18316         doc: the gnulib snapshots are not maintained
18317         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
18319 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
18321         timevar: add to lib_SOURCES
18322         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
18324 2018-10-07  Bruno Haible  <bruno@clisp.org>
18326         dirent: Update documentation.
18327         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
18329 2018-10-05  Bruno Haible  <bruno@clisp.org>
18331         strpbrk: Make it possible to namespace the defined symbol.
18332         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
18334 2018-10-05  Bruno Haible  <bruno@clisp.org>
18336         strcspn: Make it possible to namespace the defined symbol.
18337         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
18339 2018-10-05  Bruno Haible  <bruno@clisp.org>
18341         raise: Make it possible to namespace the defined symbol.
18342         * lib/raise.c (raise): Undefine only after the replacement function has
18343         been defined.
18344         (raise): Renamed from rpl_raise.
18345         (raise_nothrow): Move to the end of the compilation unit.
18347 2018-10-05  Bruno Haible  <bruno@clisp.org>
18349         memcmp: Make it possible to namespace the defined symbol.
18350         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
18352 2018-10-05  Bruno Haible  <bruno@clisp.org>
18354         explicit_bzero: Make it possible to namespace the defined symbol.
18355         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
18356         glibc.
18358 2018-10-05  Bruno Haible  <bruno@clisp.org>
18360         mkdir-p: Depend on 'mkdir'.
18361         * modules/mkdir-p (Depends-on): Add 'mkdir'.
18363 2018-10-05  Bruno Haible  <bruno@clisp.org>
18365         tempname: Depend on 'mkdir'.
18366         Reported by Maarten Bosmans <mkbosmans@gmail.com>
18367         at <https://savannah.gnu.org/bugs/?33379>.
18368         * modules/tempname (Depends-on): Add 'mkdir'.
18370 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
18372         timevar: rely on gnulib modules for time portability.
18373         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
18374         * m4/timevar.m4: Don't check for clock_t and struct tms,
18375         guaranteed by gnulib.
18376         * lib/timevar.h: Use extern "C" protection.
18377         Include <stdio.h> for FILE.
18378         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
18379         they are guaranteed by gnulib.
18380         Remove uses of clock as (now useless) fallback.
18382 2018-10-04  Bruno Haible  <bruno@clisp.org>
18384         sh-filename: New module.
18385         * m4/sh-filename.m4: New file.
18386         * modules/sh-filename: New file.
18387         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
18388         "/bin/sh".
18389         * tests/test-posix_spawn1.c (main): Likewise.
18390         * tests/test-posix_spawn2.c (main): Likewise.
18391         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
18392         is_envjavac_gcj43): Likewise.
18393         * lib/javaexec.c (execute_java_class): Likewise.
18394         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
18395         * modules/posix_spawnp-tests (Depends-on): Likewise.
18396         * modules/javacomp (Depends-on): Likewise.
18397         * modules/javaexec (Depends-on): Likewise.
18399 2018-10-04  Bruno Haible  <bruno@clisp.org>
18401         spawn-pipe tests: Avoid test failure on native Windows.
18402         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
18403         that fd 2 is closed.
18405 2018-10-04  Bruno Haible  <bruno@clisp.org>
18407         fcntl: Make it possible to namespace the defined symbol.
18408         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
18409         been defined.
18410         (fcntl): Renamed from rpl_fcntl.
18411         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
18412         from fcntl.
18413         (klibc_fcntl): Move to the end of the compilation unit.
18415 2018-10-02  Bruno Haible  <bruno@clisp.org>
18417         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
18418         * tests/test-vasnprintf.c (test_function): Change the test added on
18419         2018-09-23 to check only the 18 most significant digits.
18421         vasnprintf tests: Avoid test failure on Cygwin.
18422         * tests/test-vasnprintf.c (test_function): Change the test added on
18423         2018-09-23 to check only the 42 most significant digits.
18425 2018-10-01  Bruno Haible  <bruno@clisp.org>
18427         mkostemp, mkostemps: Update documentation.
18428         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
18429         * doc/glibc-functions/mkostemps.texi: Likewise.
18431 2018-10-01  Tom Tromey  <tom@tromey.com>
18433         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
18434         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
18435         on OS X.
18437 2018-09-30  Pádraig Brady  <P@draigBrady.com>
18439         hmac-*: refactor to remove repetitive code
18440         * lib/hmac.c: A new parameterized single implementation.
18441         * lib/hmac-md5.c: Define parameters and include implementation.
18442         * lib/hmac-sha1.c: Likewise.
18443         * lib/hmac-sha256.c: Likewise.
18444         * lib/hmac-sha512.c: Likewise.
18445         * modules/crypto/hmac-md5: Reference the new implementation file.
18446         * modules/crypto/hmac-sha1: Likewise.
18447         * modules/crypto/hmac-sha256: Likewise.
18448         * modules/crypto/hmac-sha512: Likewise.
18449         * tests/test-hmac-md5.c: Refactor common code to a single function.
18450         * tests/test-hmac-sha1.c: Likewise.
18451         * tests/test-hmac-sha256.c: Likewise.
18452         * tests/test-hmac-sha512.c: Likewise.
18454 2018-09-30  Zhang Qing  <zhangqingl@126.com>
18456         hmac-sha512: fix hash for keys > blocksize (128 bytes)
18457         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
18458         key length to that output by sha512, not the blocksize.
18459         Otherwise uninitialized data from the stack
18460         is used when computing the hash.
18461         * tests/test-hmac-sha512.c: Add a shortened key test case.
18462         Reported at https://github.com/coreutils/gnulib/pull/5
18464 2018-09-30  Bruno Haible  <bruno@clisp.org>
18466         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
18467         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
18468         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
18469         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
18470         'unsigned int' before comparison with an unsigned value.
18472 2018-09-30  Bruno Haible  <bruno@clisp.org>
18474         grantpt: Remove unnecessary dependency.
18475         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
18477 2018-09-30  Bruno Haible  <bruno@clisp.org>
18479         timevar: Small tweaks.
18480         * lib/timevar.h: Fix comments. Add parameter names to function
18481         declarations.
18482         * lib/timevar.c: Include timevar.h immediately after config.h.
18483         * lib/timevar.def: Fix comments.
18484         * modules/timevar (Maintainer): List Akim Demaille.
18486 2018-09-30  Bruno Haible  <bruno@clisp.org>
18488         timevar: Include documentation in gnulib manual.
18489         * doc/timevar.texi: Change node and section name to 'Profiling of
18490         program phases'.
18491         In the code snippets, tweak the #includes and use GNU coding style.
18492         * doc/gnulib.texi: Include timevar.texi.
18494 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
18496         timevar: import from Bison.
18497         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
18498         New files.
18499         * lib/timevar.def: New file.
18500         * doc/timevar.texi: New file.
18502 2018-09-26  Bruno Haible  <bruno@clisp.org>
18504         javacomp-script, javacomp: Add preliminary support for Java 12..17.
18505         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
18506         * lib/javacomp.c (default_target_version): Likewise.
18508 2018-09-26  Bruno Haible  <bruno@clisp.org>
18510         javacomp-script, javacomp: Add support for Java 11.
18511         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
18512         target-version 11.
18513         * lib/javaversion.h: Update comments.
18514         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
18515         source_version_index, get_goodcode_snippet, get_failcode_snippet,
18516         TARGET_VERSION_BOUND, target_version_index,
18517         corresponding_classfile_version): Accept source_version 11 and
18518         target_version 11.
18519         * lib/javacomp.h: Update comments accordingly.
18521 2018-09-23  Bruno Haible  <bruno@clisp.org>
18523         vasnprintf: Fix heap memory overrun bug.
18524         Reported by Ben Pfaff <blp@cs.stanford.edu> in
18525         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
18526         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
18527         memory.
18528         * tests/test-vasnprintf.c (test_function): Add another test.
18530 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
18532         maint: mktime.c now shared with glibc
18533         * config/srclist.txt: intprops.h, timegm.c and mktime.c
18534         are now the same in Gnulib and glibc.
18536         mktime: fix _LIBC typo
18537         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
18539 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
18541         dfa: optimization for state merge
18542         * lib/dfa.c (merge2): New function.
18543         (merge_nfa_state): Use it.
18545 2018-09-18  Jim Meyering  <meyering@fb.com>
18547         dfa: trivial comment fix: s/is/if/
18548         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
18550 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
18552         dfa: use more-informative function name
18553         * lib/dfa.c (maybe_disable_superset_dfa):
18554         Rename from dfautf8noss.  Use change.
18556         dfa: tweak allocation performance
18557         * lib/dfa.c (merge_nfa_state, dfaoptimize):
18558         Prefer ptrdiff_t for indexes some more.
18559         Use char for flags, as it’s wide enough.
18560         Allocate queue and flags together, with one malloc call.
18561         No need to use xnmalloc since the multiplication and
18562         addition cannot overflow (it’s already been checked by
18563         earlier allocation).  Prefer memset to open-coding.
18565         dfa: prune states as we go
18566         * lib/dfa.c (prune): Remove.
18567         dfa: reorder enum for efficiency
18568         (merge_nfa_state): Prune as we go instead of at the end.
18569         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
18571         * lib/dfa.c (END): Now -1 again.  Reorder other elements
18572         of the enumeration to make it easier for GCC to generate
18573         efficient code by using fewer comparisons to check for
18574         ranges of values.
18575         (atom): Take advantage of the reordering.
18577 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
18579         dfa: optimize alternation in NFA
18580         Even when similar states exist in alternation, the DFA treats them
18581         as separate items, which may complicate the transition in NFA and
18582         cause slowdown.  This change assembles the states into one.  For
18583         example, ab|ac is changed into a(b|c).  This change speeds-up
18584         matching for many branched patterns.  For example, grep speeds up
18585         more than 30× in:
18587           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
18588           time -p env LC_ALL=C grep -vf in in
18590         * lib/dfa.c (prune): New function.
18591         (merge_nfa_state): New function.  It merges similar NFA states.
18592         (dfaoptimize): New function.  It seeks merged and removed nodes.
18593         (dfaanalyze): Call new function.
18594         (dfautf8noss): Change name from dfaoptimize because of addition of new
18595         function.
18596         (dfacomp): Update caller.
18598         dfa: simplify initial state
18599         Simplifying the initial state enables easier optimization of the NFA.
18600         * lib/dfa.c (enum token): Add new element BEG.
18601         (prtok): Adjust due to adding element BEG.
18602         (dfaparse): Put BEG at a head of tokens.
18603         (state_index): Adjust due to adding element BEG.
18604         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
18605         build initial state.
18606         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
18608 2018-09-18  Bruno Haible  <bruno@clisp.org>
18610         file-has-acl: Fix test failure on Cygwin 2.9.
18611         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
18612         * lib/acl-internal.h: Likewise.
18613         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
18614         * lib/acl-internal.c: Update comments regarding Cygwin.
18615         * lib/acl_entries.c: Likewise.
18616         * lib/file-has-acl.c: Likewise.
18617         (file_has_acl): For Cygwin, use a different way to determine whether
18618         the "default" ACL of a directory is nontrivial.
18619         * lib/get-permissions.c: Update comments regarding Cygwin.
18620         * lib/set-permissions.c: Likewise.
18622 2018-09-18  Bruno Haible  <bruno@clisp.org>
18624         stat-time tests: Fix test failure on Cygwin.
18625         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
18627 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
18629         doc: OS X 10.11 lacked ns time functions
18630         According to <https://github.com/zeromq/libzmq/issues/2175>,
18631         nanosecond-resolution timestamp functions were introduced
18632         in macOS 10.12, so document the last version (OS X 10.11)
18633         where they were absent.
18635         gettime: nanotime never existed
18636         Problem reported by Bruno Haible in:
18637         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
18638         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
18639         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
18641 2018-09-18  Bruno Haible  <bruno@clisp.org>
18643         doc: Update statement about target platforms.
18644         Reported by Simon Sobisch.
18645         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
18646         restrictions on MSVC versions.
18648 2018-09-18  Bruno Haible  <bruno@clisp.org>
18650         posix_spawn tests: Fix link error on 64-bit Cygwin.
18651         * tests/test-posix_spawn1.c (environ): Remove declaration.
18652         * tests/test-posix_spawn2.c (environ): Likewise.
18653         * tests/test-posix_spawn3.c (environ): Likewise.
18654         * tests/test-posix_spawn4.c (environ): Likewise.
18655         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
18656         * modules/posix_spawnp-tests (Depends-on): Likewise.
18658 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
18660         timespec: new function current_timespec
18661         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
18662         and don’t worry about it failing on a CLOCK_REALTIME arg.
18663         POSIX requires it to succeed and I don’t know of any
18664         counterexamples where the fallbacks would work.
18665         (current_timespec): New function, taken from Emacs.  It is more
18666         convenient than gettime, and can help register allocation.
18667         * lib/timespec.h: Include arg-nonnull.h.
18668         (current_timespec): New declaration.
18669         (gettime, settime): Declare args to be nonnull.
18670         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
18672 2018-09-16  Bruno Haible  <bruno@clisp.org>
18674         setlocale: Improve locale handling on macOS 10.12 or newer.
18675         * lib/setlocale.c: Include header files for CoreFoundation. Declare
18676         gl_locale_name_canonicalize.
18677         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
18678         and LC_MESSAGES.
18679         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
18681 2018-09-16  Bruno Haible  <bruno@clisp.org>
18683         Update list of locale names with scripts on macOS.
18684         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
18685         match Mac OS X 10.13 and recent glibc.
18687 2018-09-16  Bruno Haible  <bruno@clisp.org>
18689         gettext: Use newer macOS APIs when possible.
18690         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
18691         CFLocaleCopyPreferredLanguages.
18693 2018-09-16  Bruno Haible  <bruno@clisp.org>
18695         localename: Revisit macOS specific code.
18696         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
18697         Fix comments about Mac OS X versions.
18699 2018-09-15  Bruno Haible  <bruno@clisp.org>
18701         setlocale: Improve support for locales not supported by libc.
18702         Reported by Dapeng Gao <peter@dpgao.cc> at
18703         <https://savannah.gnu.org/bugs/?54479>.
18704         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
18705         (libintl_setlocale): Use a more error-tolerant strategy when the locale
18706         to be set is not supported by libc: Emit warnings instead of failing.
18708 2018-09-15  Bruno Haible  <bruno@clisp.org>
18710         strstr, strcasestr: Add workaround against glibc-2.28 bug.
18711         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
18712         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
18713         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
18714         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
18715         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
18716         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
18717         * doc/glibc-functions/strcasestr.texi: Likewise.
18719 2018-09-14  Bruno Haible  <bruno@clisp.org>
18721         doc: Fix bottom of top-level page.
18722         Reported by Akim Demaille <akim.demaille@gmail.com> in
18723         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
18724         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
18725         mode.
18726         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
18727         accordingly.
18729 2018-09-12  Bruno Haible  <bruno@clisp.org>
18731         Add test case from a recent glibc bug.
18732         * tests/test-strstr.c (main): Add test of long needle.
18733         * tests/test-strcasestr.c (main): Likewise.
18734         * tests/test-c-strstr.c (main): Likewise.
18735         * tests/test-c-strcasestr.c (main): Likewise.
18736         * tests/test-memmem.c (main): Likewise.
18738 2018-09-12  Bruno Haible  <bruno@clisp.org>
18740         Apply Eric Blake's improvements from 2011-02-25 to more tests.
18741         * tests/test-c-strstr.c (main): Add the same tests here as well.
18743 2018-09-12  Bruno Haible  <bruno@clisp.org>
18745         Apply Jim Meyering's fix from 2015-01-11 to more tests.
18746         * tests/test-memmem.c (main): Free haystack.
18747         * tests/test-strcasestr.c (main): Likewise.
18748         * tests/test-c-strcasestr.c (main): Likewise.
18750 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18752         xstrtol: fix missing-TYPE_SIGNED typo
18753         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
18755 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
18757         timespec: fix resolution confusion
18758         In normal usage, clock resolution is given in seconds, but the
18759         code was mistakenly using inverse seconds and calling it
18760         “resolution”.  Fix this, partly by renaming two identifiers.
18761         The old names will be kept for a bit, to ease transition.
18762         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
18763         New constants, replacing TIMESPEC_RESOLUTION and
18764         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
18765         All uses changed.
18767 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
18769         mktime: simplify in prep for glibc merge
18770         * lib/mktime.c, lib/timegm.c [_LIBC]:
18771         Include mktime-internal.h (a small file just for glibc)
18772         instead of using a typedef.
18774 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
18776         intprops: minor clarification of code
18777         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
18778         Use _GL_INT_CONVERT rather than reinventing it.
18780 2018-09-07  Bruno Haible  <bruno@clisp.org>
18782         Fix a comment.
18783         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
18785 2018-09-07  Bruno Haible  <bruno@clisp.org>
18787         posix_spawn_file_actions_addchdir: Add tests.
18788         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
18789         * tests/test-posix_spawn4.c: New file.
18790         * modules/posix_spawn_file_actions_addchdir-tests: New file.
18792 2018-09-07  Bruno Haible  <bruno@clisp.org>
18794         posix_spawn_file_actions_addchdir: New module.
18795         Suggested by Eric Blake in
18796         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
18797         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
18798         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
18799         union member 'chdir_action'.
18800         * lib/spawn_faction_addchdir.c: New file.
18801         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
18802         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
18803         HAVE_WORKING_POSIX_SPAWN.
18804         * lib/spawn_faction_adddup2.c: Likewise.
18805         * lib/spawn_faction_addopen.c: Likewise.
18806         * m4/posix_spawn_faction_addchdir.m4: New file.
18807         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
18808         'posix_spawn_file_actions_addchdir' is present and whether
18809         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
18810         instead of HAVE_WORKING_POSIX_SPAWN.
18811         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
18812         posix_spawn_file_actions_addchdir is declared.
18813         (gl_SPAWN_H_DEFAULTS): Initialize
18814         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18815         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18816         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
18817         * modules/spawn (Makefile.am): Substitute
18818         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18819         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18820         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
18821         * modules/posix_spawn_file_actions_addchdir: New file.
18822         * modules/posix_spawn_file_actions_addclose (Depends-on,
18823         configure.ac): Test also REPLACE_POSIX_SPAWN.
18824         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
18825         configure.ac): Likewise.
18826         * modules/posix_spawn_file_actions_addopen (Depends-on,
18827         configure.ac): Likewise.
18828         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
18829         signature.
18830         * doc/posix-functions/posix_spawn.texi: Mention the new module.
18831         * doc/posix-functions/posix_spawnp.texi: Likewise.
18833 2018-09-06  Bruno Haible  <bruno@clisp.org>
18835         stddef: Override max_align_t on NetBSD 8.0/x86.
18836         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
18837         the value of __alignof__ (max_align_t).
18838         * doc/posix-headers/stddef.texi: Mention the issue.
18840 2018-09-06  Bruno Haible  <bruno@clisp.org>
18842         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
18843         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
18844         system fcntl.
18845         * doc/posix-functions/fcntl.texi: Document the issue.
18847 2018-09-06  Bruno Haible  <bruno@clisp.org>
18849         count-trailing-zeros tests: Rely on limits-h module.
18850         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
18851         definition.
18852         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
18854 2018-09-06  Bruno Haible  <bruno@clisp.org>
18856         count-leading-zeros tests: Rely on limits-h module.
18857         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
18858         definition.
18859         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
18861 2018-09-06  Bruno Haible  <bruno@clisp.org>
18863         count-one-bits tests: Rely on limits-h module.
18864         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
18865         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
18867 2018-09-06  Bruno Haible  <bruno@clisp.org>
18869         xstrtoll: Rely on limits-h module.
18870         * lib/xstrtol.c: Don't include intprops.h.
18871         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
18872         * modules/xstrtol (Depends-on): Remove 'intprops'.
18873         * modules/xstrtoll (Depends-on): Add 'limits-h'.
18875 2018-09-06  Bruno Haible  <bruno@clisp.org>
18877         strtoll, strtoull: Rely on limits-h module.
18878         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
18879         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
18880         * modules/strtoll (Depends-on): Add limits-h.
18881         * modules/strtoull (Depends-on): Likewise.
18883 2018-09-06  Bruno Haible  <bruno@clisp.org>
18885         intprops tests: Fix compilation error with pre-C99 compiler.
18886         * tests/test-intprops.c (verify_stmt): New macro.
18887         (VERIFY, main): Use it.
18889 2018-09-06  Bruno Haible  <bruno@clisp.org>
18891         limits-h: Provide numerical limits macros.
18892         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
18893         IRIX and for GCC.
18894         (WORD_BIT, LONG_BIT): Define.
18895         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
18896         <limits.h> does not define LLONG_MAX or WORD_BIT.
18897         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
18898         TYPE_MAXIMUM): New macros, from intprops.h.
18899         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
18900         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
18901         provides.
18903 2018-09-05  Bruno Haible  <bruno@clisp.org>
18905         fcntl: Don't access nonexistent optional argument.
18906         Reported by Frank Busse <f.busse@imperial.ac.uk> in
18907         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
18908         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
18909         don't consume an argument. For actions that take an 'int' argument,
18910         consume an 'int' argument.
18912 2018-09-05  Eric Blake  <eblake@redhat.com>
18914         doc: mention environ pitfall
18915         * doc/posix-functions/environ.texi (environ): Assigning NULL to
18916         environ is a glibc extension.
18918 2018-09-03  Bruno Haible  <bruno@clisp.org>
18920         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
18921         Reported by Antoine Luong <antoine.luong@c-s.fr> in
18922         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
18923         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
18924         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
18925         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
18927 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
18929         mktime: fix unlikely race+overflow bug
18930         Problem reported by Alexandre Oliva in:
18931         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
18932         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
18933         to avoid an unlikely race if the compiler delays a load and
18934         if this cascades into a signed integer overflow.
18936 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18938         mktime, timegm: simplify glibc time64_t
18939         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
18940         Now long int, not time_t, since long int is the longstanding type
18941         for this in glibc and there is no need to change it even if time_t
18942         becomes 64 bits - even int would do, though this would be a change
18943         to the glibc generated code.  When this change is merged into
18944         glibc, it should simplify the time_t vs time64_t situation.
18946         mktime, timegm: simplify merge to glibc
18947         Move code around to make a merge to glibc easier to audit.
18948         This should not change behavior.
18949         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
18950         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
18951         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
18952         simplify later conditionals; default the others to zero.  In uses
18953         of these conditionals, explicitly spell out how _LIBC affects
18954         things, so it’s easier to review from a glibc viewpoint.
18955         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
18956         compartmentalize tzset issues.  Move system-dependent tzsettish
18957         code here from mktime.
18958         (mktime): Move tzsettish code to my_tzset, and move
18959         localtime_offset to within mktime so that it doesn’t
18960         need a separate ifdef.
18962 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
18964         intprops: avoid evaluation of some expressions
18965         This makes EXPR_SIGNED (e) easier to use, as it no longer
18966         evaluates the expression E.  Formerly, E was required to be free
18967         of side effects.
18968         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
18969         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
18970         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
18972 2018-08-23  Bruno Haible  <bruno@clisp.org>
18974         getcwd: Add cross-compilation guesses.
18975         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
18976         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
18977         Based on a patch by Paul Eggert.
18978         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
18979         guesses for all GNU systems.
18981 2018-08-19  Bruno Haible  <bruno@clisp.org>
18983         glob-h: Formalize side effects from other modules.
18984         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
18985         * m4/glob.m4 (gl_GLOB): Invoke it.
18987         fnmatch-h: Formalize side effects from other modules.
18988         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
18989         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
18991         limits-h: Formalize side effects from other modules.
18992         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
18993         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
18995 2018-08-19  Bruno Haible  <bruno@clisp.org>
18997         getpass: Move declaration to <unistd.h>.
18998         * lib/unistd.in.h (getpass): New declaration.
18999         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
19000         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
19001         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
19002         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
19003         On glibc systems, don't set REPLACE_GETPASS to 1.
19004         * modules/getpass (Depends-on): Add 'unistd'.
19005         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
19006         (Include): Specify <unistd.h> instead of "getpass.h".
19007         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
19008         (configure.ac): Sync with the configure.ac section of modules/getpass.
19009         (Include): Specify <unistd.h> instead of "getpass.h".
19010         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
19011         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
19012         REPLACE_GETPASS.
19013         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
19014         REPLACE_GETPASS.
19015         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
19016         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
19017         and musl.
19018         * NEWS: Mention the change.
19020 2018-08-19  Bruno Haible  <bruno@clisp.org>
19022         glob: Fix over-optimization due to attribute __nonnull__.
19023         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
19025 2018-08-19  Bruno Haible  <bruno@clisp.org>
19027         glob: Fix another compilation error when glob.h is not replaced.
19028         Reported by Reuben Thomas <rrt@sc3d.org> in
19029         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
19030         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
19031         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
19033 2018-08-18  Bruno Haible  <bruno@clisp.org>
19035         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
19036         Reported by Reuben Thomas <rrt@sc3d.org> in
19037         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
19038         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
19039         in config.h.
19041 2018-08-18  Bruno Haible  <bruno@clisp.org>
19043         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
19044         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
19045         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
19046         Solution proposed by Eli Zaretskii.
19047         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
19048         * lib/gettimeofday.c (GetProcAddress): Likewise.
19049         * lib/link.c (GetProcAddress): Likewise.
19050         * lib/physmem.c (GetProcAddress): Likewise.
19051         * lib/poll.c (GetProcAddress): Likewise.
19052         * lib/select.c (GetProcAddress): Likewise.
19053         * lib/stat-w32.c (GetProcAddress): Likewise.
19055 2018-08-18  Bruno Haible  <bruno@clisp.org>
19057         glob: Fix another compilation error when glob.h is not replaced.
19058         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
19059         * lib/globfree.c: Include <libc-config.h>.
19061 2018-08-18  Bruno Haible  <bruno@clisp.org>
19063         glob: Fix compilation error when glob.h is not replaced.
19064         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
19065         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
19066         * lib/glob_pattern_p.c: Include <libc-config.h>.
19067         * modules/glob (Depends-on): Add libc-config.
19069 2018-08-18  Bruno Haible  <bruno@clisp.org>
19071         scratch_buffer: Add tests.
19072         * tests/test-scratch-buffer.c: New file.
19073         * modules/scratch_buffer-tests: New file.
19075 2018-08-18  Bruno Haible  <bruno@clisp.org>
19077         scratch_buffer: Fix include file.
19078         Reported by Reuben Thomas <rrt@sc3d.org> in
19079         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
19080         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
19081         double-inclusion guard.
19083 2018-08-18  Bruno Haible  <bruno@clisp.org>
19085         glob-h: Revert Paul Eggert's revert.
19086         * m4/glob_h.m4: Revert to previous state.
19087         * modules/glob-h: Likewise.
19089 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
19091         glob-h: always build glob.h
19092         This works around a problem reported by Reuben Thomas in:
19093         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
19094         This workaround always builds glob.h, even on platforms that
19095         do not need it; perhaps this could be improved someday.
19096         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
19097         is always created now.
19098         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
19100 2018-08-13  Bruno Haible  <bruno@clisp.org>
19102         monetary: Simplify m4 code.
19103         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
19104         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
19106 2018-08-13  Bruno Haible  <bruno@clisp.org>
19108         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
19109         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
19110         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
19111         and by Paul J. Lucas <paul@lucasmail.org> in
19112         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
19113         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
19115 2018-08-11  Bruno Haible  <bruno@clisp.org>
19117         setlocale: Trivial simplification.
19118         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
19120 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
19122         verify: port 'assume' to traditional tools
19123         * lib/verify.h (assume): Port better to Oracle Studio 12.6
19124         and other tools that use /*NOTREACHED*/ comments.
19126 2018-08-10  Bruno Haible  <bruno@clisp.org>
19128         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
19129         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
19130         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
19131         'fnmatch-gnu' is in use.
19133 2018-08-07  Bruno Haible  <bruno@clisp.org>
19135         glob-h: Add tests.
19136         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
19137         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
19138         tests/test-glob-h.c.
19139         * modules/glob-h-tests: New file.
19140         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
19141         conditions.
19142         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
19143         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
19145 2018-08-07  Bruno Haible  <bruno@clisp.org>
19147         glob-h: New module.
19148         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
19149         replacements.
19150         * lib/glob.c: Include <config.h>.
19151         * m4/glob_h.m4: New file.
19152         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
19153         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
19154         REPLACE_GLOB_PATTERN_P as appropriate.
19155         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
19156         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
19157         * modules/glob-h: New file.
19158         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
19159         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
19160         lstat, sys_stat. Change conditions.
19161         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
19162         REPLACE_GLOB_PATTERN_P. Set module indicator.
19163         (Makefile.am): Remove code that is moved to glob-h.
19164         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
19165         * modules/posixcheck (Depends-on): Add glob-h.
19167 2018-08-06  Bruno Haible  <bruno@clisp.org>
19169         Force generation of substitute .h file when C++ support is enabled.
19170         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
19171         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
19172         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
19173         FNMATCH_H to non-empty.
19174         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
19175         ICONV_H to non-empty.
19176         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
19177         MONETARY_H to non-empty.
19178         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
19179         non-empty.
19181 2018-08-06  Bruno Haible  <bruno@clisp.org>
19183         fnmatch-h: Fix test compilation error on mingw (regression from today).
19184         * lib/fnmatch.in.h: Fix conditions.
19186 2018-08-06  Bruno Haible  <bruno@clisp.org>
19188         sys_resource: Relicense under LGPLv2+.
19189         John Malmberg's approval is in
19190         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
19191         * modules/sys_resource (License): Change to LGPLv2+.
19193 2018-08-06  Bruno Haible  <bruno@clisp.org>
19195         fnmatch-h: Add tests.
19196         * tests/test-fnmatch-h.c: New file.
19197         * modules/fnmatch-h-tests: New file.
19198         * tests/test-fnmatch-h-c++.cc: New file.
19199         * modules/fnmatch-h-c++-tests: New file.
19201 2018-08-06  Bruno Haible  <bruno@clisp.org>
19203         fnmatch-h: New module.
19204         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
19205         replacements.
19206         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
19207         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
19208         'posixcheck' warning.
19209         * m4/fnmatch_h.m4: New file.
19210         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
19211         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
19212         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
19213         as appropriate.
19214         * modules/fnmatch-h: New file.
19215         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
19216         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
19217         conditions.
19218         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
19219         indicator.
19220         (Makefile.am): Remove code that is moved to fnmatch-h.
19221         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
19222         REPLACE_FNMATCH.
19223         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
19224         * modules/posixcheck (Depends-on): Add fnmatch-h.
19226 2018-08-06  Bruno Haible  <bruno@clisp.org>
19228         Enable more C++ tests.
19229         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
19230         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
19231         * modules/strings-tests (Depends-on): Add strings-c++-tests.
19232         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
19233         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
19235 2018-08-06  Bruno Haible  <bruno@clisp.org>
19237         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
19238         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
19239         getopt.h.
19240         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
19242 2018-08-05  Bruno Haible  <bruno@clisp.org>
19244         utime-h: Generate header file when module 'posixcheck' is in use.
19245         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
19246         UTIME_H to non-empty.
19248 2018-08-05  Bruno Haible  <bruno@clisp.org>
19250         monetary: Generate header file when module 'posixcheck' is in use.
19251         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
19252         use, set MONETARY_H to non-empty.
19254 2018-08-05  Bruno Haible  <bruno@clisp.org>
19256         iconv-h: Generate header file when module 'posixcheck' is in use.
19257         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
19258         set ICONV_H to non-empty.
19260 2018-08-05  Bruno Haible  <bruno@clisp.org>
19262         Optimize the "checking whether ... is declared without a macro" checks.
19263         Suggested by Paul Eggert in
19264         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
19265         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
19266         Gnulib module 'posixcheck' is not in use.
19268 2018-08-05  Bruno Haible  <bruno@clisp.org>
19270         iconv-h: Enable 'posixcheck' warnings.
19271         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
19272         iconv_open.
19273         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
19275 2018-08-05  Bruno Haible  <bruno@clisp.org>
19277         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
19278         * m4/extern-inline.m4: Add more comments.
19279         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
19280         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
19281         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
19283 2018-08-04  Bruno Haible  <bruno@clisp.org>
19285         New module 'posixcheck'.
19286         * modules/posixcheck: New file.
19287         * m4/posixcheck.m4: New file.
19288         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
19289         (Which modules?): Reference it.
19291 2018-08-01  Assaf Gordon  <assafgordon@gmail.com>
19293         dfa: fix memory leak
19294         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
19296 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
19298         ieee754-h: new module
19299         It looks like Emacs can use this for some NaN processing.
19300         Emacs uses it only on double NaNs so it should be safe.
19301         * MODULES.html.sh (func_all_modules): Add ieee754-h.
19302         * config/srclist.txt: Mention ieee754.h in a comment.
19303         * doc/glibc-headers/ieee754.texi (ieee754.h):
19304         Gnulib now has a substitute that should work
19305         except for long double and for non-IEEE platforms.
19306         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
19307         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
19309 2018-07-27  Bruno Haible  <bruno@clisp.org>
19311         iswcntrl: Mention minor problem on macOS.
19312         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
19314 2018-07-26  Colin Watson  <cjwatson@debian.org>
19316         bootstrap, gnulib-tool: fix translations rsync
19317         Previously, we created files such as $pobase/Makefile.in.in and then the
19318         subsequent rsync would immediately delete them.
19319         * build-aux/bootstrap (po_download_command_format): Avoid deleting
19320         non-.po files in target directory when rsyncing translations.
19321         * gnulib-tool (func_import): Likewise.
19322         * pygnulib/GLImport.py (GLImport.execute): Likewise.
19324 2018-07-25  Jim Meyering  <meyering@fb.com>
19326         bootstrap: reinstate definition fo gnulib_mk.
19327         That variable is used at least by cppi.
19328         * build-aux/bootstrap (gnulib_mk): Restore definition.
19329         This reverts the deletion from v0.1-1844-gc66dba9ba.
19331 2018-07-23  Bruno Haible  <bruno@clisp.org>
19333         doc: For module names, use texinfo markup @code{} or @samp{}.
19334         * doc/alloca.texi: Mark gnulib module names with @code.
19335         * doc/alloca-opt.texi: Likewise.
19336         * doc/quote.texi: Likewise.
19337         * doc/posix-functions/freopen.texi: Likewise.
19338         * doc/posix-functions/open.texi: Likewise.
19339         * doc/posix-functions/readlink.texi: Likewise.
19340         * doc/posix-functions/readlinkat.texi: Likewise.
19341         * doc/posix-functions/stdout.texi: Likewise.
19342         * doc/posix-functions/stderr.texi: Likewise.
19343         * doc/posix-functions/unlink.texi: Likewise.
19344         * doc/posix-functions/unlinkat.texi: Likewise.
19345         * doc/posix-functions/utime.texi: Likewise.
19346         * doc/posix-functions/utimensat.texi: Likewise.
19347         * doc/posix-functions/utimes.texi: Likewise.
19348         * doc/posix-headers/stdint.texi: Likewise.
19349         * doc/glibc-functions/futimesat.texi: Likewise.
19350         * doc/glibc-functions/lutimes.texi: Likewise.
19351         * doc/glibc-functions/memmem.texi: Likewise.
19353 2018-07-23  Werner LEMBERG  <wl@gnu.org>
19355         doc: Avoid some overfull lines in the TeX output.
19356         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
19357         @example.
19358         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
19359         newline before the long URL.
19360         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
19361         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
19362         Add line breaks in code snippets.
19364 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
19366         hard-locale: simplify by removing hard-locale.m4
19367         * m4/hard-locale.m4: Remove.
19368         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
19369         (configure.ac): Do not call gl_HARD_LOCALE.
19371         gnulib-tool: limit line length for git send-email
19372         * gnulib-tool (func_import): Break actioncmd log line
19373         into multiple lines.
19375 2018-07-16  Bruno Haible  <bruno@clisp.org>
19377         ffs: Ensure declaration on mingw.
19378         Reported by Daniel P. Berrangé <berrange@redhat.com>
19379         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
19380         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
19381         also declared.
19383 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
19385         regex-tests: add dependency
19386         * modules/regex-tests (Depends-on): Add gettext-h.
19387         This is needed given the recent changes to regex,
19388         which no longer depends on gettext-h.
19390 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
19392         regex: now in sync with glibc
19393         * config/srclist.txt: Gnulib and glibc regex code
19394         are synchronized again.
19396 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
19398         renameatu: rename from renameat2
19399         It's looking like Glibc will add a renameat2 function
19400         that is incompatible with Gnulib renameat2; see:
19401         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
19402         To help avoid future confusion, rename renameat2 to something else.
19403         Use the name 'renameatu', as the Gnulib function is close to the
19404         Glibc function.  Perhaps someday there will also be a renameat2
19405         Gnulib module, which mimicks the future glibc renameat2, but that
19406         can wait as nobody seems to need such a module now.
19407         * NEWS: Mention this.
19408         * lib/renameatu.c: Rename from lib/renameat2.c.
19409         * lib/renameatu.h: Rename from lib/renameat2.h.
19410         * modules/renameatu: Rename from modules/renameat2.
19411         * modules/renameatu-tests: Rename from modules/renameat2-tests.
19412         All uses of "renameat2" in identifiers or file name
19413         changed to "renameatu", except for two instances in
19414         lib/renameatu.c that deal with the Linux kernel's
19415         renameat2 syscall.
19417 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
19419         gnulib-tool: minor tweaks for --gnu-make
19420         * gnulib-tool: Do not allow --gnu-make in test modes,
19421         since they all require automake.
19422         (func_emit_lib_Makefile_am): Don’t emit automake comment
19423         if --gnu-make.
19425         regex: work around conditional-dependencies glitch
19426         * modules/regex (Depends-on): Add langinfo.
19427         Without this change, I had problems building an experimental
19428         version of GNU Emacs.  The symptom of the bug was a message
19429         ‘./configure: line 12726: test: =: unary operator expected’.
19430         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
19431         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
19432         was unset.  Although gl_FUNC_NL_LANGINFO has
19433         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
19434         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
19435         --conditional-dependencies sometimes arranges for the
19436         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
19437         code.  Since the regex code includes <langinfo.h> it should be
19438         depending on the langinfo module anyway, and this happens to work
19439         around the bug, so install that as a workaround for now.  To
19440         reproduce the original problem, run the following shell script on
19441         the version of Gnulib just before this patch was installed.
19442                 rm -fr foo
19443                 mkdir foo
19444                 cat >foo/configure.ac <<'EOF'
19445                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
19446                 gl_EARLY
19447                 gl_INIT
19448                 AC_OUTPUT
19449                 EOF
19450                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
19451                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
19452                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
19453                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
19454                 cd foo
19455                 aclocal -I m4
19456                 autoconf
19457                 ./configure --with-included-regex
19459 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
19461         wchar: fix bug when checking for ‘inline’
19462         I discovered this when looking into using the regex module
19463         with Emacs.
19464         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
19465         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
19466         conftest1.c and conftest2.c but these files were not created.
19467         As far as I can see, this check never worked and nobody reported
19468         it until now, which is a bit worrisome.
19470 2018-06-30  Jim Meyering  <meyering@fb.com>
19472         bootstrap: s/--option val/--option=val/
19473         * build-aux/bootstrap (gnulib_tool_options): Change the
19474         spelling of "--option val" pairs to "--option=val", for
19475         aesthetics, and also so that this file no longer triggers
19476         a common help2man syntax-check warning when copied into
19477         projects like grep, gzip, etc.
19479 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
19481         manywarnings: omit -Wswitch-default
19482         This should make things more consistent, as we already ignore
19483         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
19484         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
19485         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
19486         Add -Wswitch-default.
19487         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
19488         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
19489         Remove -Wswitch-default.
19491         regex: revert most trimming
19492         Problems reported by Bruno Haible in:
19493         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
19494         * modules/regex (Depends-on): Add lock, memcmp, memmove,
19495         and wctype back in.  lock because regex users shouldn’t
19496         need to know that regex needs locking, and the rest because
19497         gnulib-tool should ordinarily ignore them anyway.
19499 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
19501         regex: trim module dependencies
19502         * modules/regex (Depends-on): Remove gettext-h and lock,
19503         since the regex code should work OK without these modules,
19504         and Emacs uses it that way.  Also remove memcmp, memmove,
19505         and wctype, as these modules are obsolete and should not be
19506         needed any more.
19508 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
19510         regex: glibc does not use intprops.h
19511         Maybe we can talk glibc into using intprops.h someday, but
19512         now doesn’t seem to be a good time.
19513         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
19514         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
19515         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
19517 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
19519         regex: port to recently proposed glibc regex merge
19520         This patch is inspired by Adhemerval Zanella's recent proposal
19521         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
19522         to merge glibc and Gnulib regex.  It aims to simplify the merge on
19523         the glibc side, without keeping Gnulib portable.
19524         * lib/regex.h: Fix a problem with glibc installed-header checking,
19525         as follows:
19526         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
19527         (_Restrict_arr_): Prefer __restrict_arr if defined,
19528         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
19529         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
19530         (build_wcs_upper_buffer, build_upper_buffer)
19531         (re_string_translate_buffer, re_string_context_at):
19532         Move decls here from lib/regex_internal.h, for glibc internal tests.
19533         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
19534         glibc BZ #18496.
19535         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
19536         -Wunused-value.
19537         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
19538         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
19539         (bitset_mask): Now static inline, and without any __attribute__
19540         ((unused)) decoration, for glibc internal tests.
19542 2018-06-25  Bruno Haible  <bruno@clisp.org>
19544         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
19545         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
19546         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
19547         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
19548         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
19549         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
19550         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
19551         / -lthread / -lpth does not get optimized away by a preceding
19552         --as-needed option.
19554 2018-06-25  Bruno Haible  <bruno@clisp.org>
19556         Continue to use spaces for indentation, not tabs.
19557         * MODULES.html.sh: Untabify.
19558         * doc/regex.texi: Likewise.
19559         * lib/acl-internal.c: Likewise.
19560         * lib/dfa.c: Likewise.
19561         * lib/exclude.c: Likewise.
19562         * lib/exclude.h: Likewise.
19563         * lib/get-permissions.c: Likewise.
19564         * lib/gettimeofday.c: Likewise.
19565         * lib/parse-datetime.y: Likewise.
19566         * lib/pselect.c: Likewise.
19567         * lib/set-permissions.c: Likewise.
19568         * lib/time.in.h: Likewise.
19569         * m4/canonicalize.m4: Likewise.
19570         * m4/gc.m4: Likewise.
19571         * m4/gnulib-common.m4: Likewise.
19572         * m4/pthread_sigmask.m4: Likewise.
19573         * m4/vararrays.m4: Likewise.
19574         * tests/test-digest.h: Likewise.
19575         * tests/test-fcntl-h.c: Likewise.
19576         * tests/test-timespec.c: Likewise.
19577         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
19579 2018-06-25  Bruno Haible  <bruno@clisp.org>
19581         manywarnings: Don't enable -Wjump-misses-init warnings by default.
19582         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
19583         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
19584         -Wjump-misses-init.
19586 2018-06-25  Jim Meyering  <meyering@fb.com>
19588         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
19589         * lib/acl-internal.h (free_permission_context): Remove that
19590         attribute directive.  Otherwise, it would provoke this from GCC 9:
19591         lib/acl-internal.h:300:3: error: 'const' attribute on function \
19592           returning 'void' [-Werror=attributes]
19594 2018-06-24  Jim Meyering  <meyering@fb.com>
19596         parse-datetime: accommodate gcc-4.8.5
19597         Bruno Haible reported the build failure in
19598         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
19599         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
19600         on declaration of new local.
19602 2018-06-24  Bruno Haible  <bruno@clisp.org>
19604         af_alg: Fail in continuable manner on Linux/powerpc64le.
19605         Reported by Assaf Gordon <assafgordon@gmail.com>
19606         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
19607         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
19608         byte send() as the first round.
19610 2018-06-24  Bruno Haible  <bruno@clisp.org>
19612         af_alg: Fix state of stream after sendfile() succeeds.
19613         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
19614         the stream is correctly positioned afterwards.
19615         * modules/crypto/af_alg (Depends-on): Add fflush.
19616         * tests/test-digest.h (test_digest_on_files): Verify that after the
19617         operation the stream is positioned at end of file.
19619 2018-06-24  Jim Meyering  <meyering@fb.com>
19621         canon-host: take GCC9's advice rather than ignoring warning
19622         Pádraig Brady suggested not to ignore this GCC9 advice.
19623         * lib/canon-host.c: Undo preceding change.
19624         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
19626         parse-datetime.y: avoid spurious GCC 9 warning
19627         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
19628         a function local prior to the first "goto fail".  The prior use would
19629         evoke this:
19630         parse-datetime.y: In function 'parse_datetime2':
19631         parse-datetime.y:1791:19: error: jump skips variable initialization \
19632           [-Werror=jump-misses-init]
19633         parse-datetime.y:2385:2: note: label 'fail' defined here
19634         parse-datetime.y:188:43: note: '({anonymous})' declared here
19635         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
19637         canon-host.c: avoid spurious GCC 9 warning
19638         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
19640         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
19641         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
19642         * m4/manywarnings.m4: Remove them.
19643         Otherwise, building coreutils, I would see this:
19644         cc1: error: deprecated command line option '-Wchkp' [-Werror]
19645         cc1: error: -Wabi won't warn about anything [-Werror=abi]
19646         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
19647           which is also used by default
19648         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
19650 2018-06-24  Bruno Haible  <bruno@clisp.org>
19652         af_alg tests: Add another test.
19653         * tests/test-digest.h (test_digest_on_files): Also check a large file
19654         with a skipped header.
19655         * tests/test-md5.c: Include macros.h.
19656         * tests/test-sha1.c: Likewise.
19657         * tests/test-sha256.c: Likewise.
19658         * tests/test-sha512.c: Likewise.
19659         * modules/crypto/md5-tests (Files): Add tests/macros.h.
19660         * modules/crypto/sha1-tests (Files): Likewise.
19661         * modules/crypto/sha256-tests (Files): Likewise.
19662         * modules/crypto/sha512-tests (Files): Likewise.
19664 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19666         maint: clarify comments about sticky EOF
19667         * lib/af_alg.c: Be more direct that we can't
19668         assume stickiness of EOF for portability reasons.
19669         * lib/md5.c: Clarify that this isn't just a glibc issue.
19670         * lib/sha1.c: Likewise.
19671         * lib/sha256.c: Likewise.
19672         * lib/sha512.c: Likewise.
19674 2018-06-24  Bruno Haible  <bruno@clisp.org>
19676         af_alg: Comment and style improvements.
19677         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
19678         (afalg_buffer, afalg_stream): Improve comments.
19680 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19682         af_alg: disable kernel hash functions by default
19683         All the kernel routines were seen to be significantly slower
19684         with these relatively recent components on an i3-2310M system:
19685           kernel-4.10.6-200.fc25.x86_64
19686           openssl-1.0.2m-1.fc25.x86_64
19687         sha1 was nearly twice as slow in the kernel for example.
19688         Further considerations why this should not be the default, at:
19689         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
19691         * m4/af_alg.m4: Require --with-linux-crypto to enable.
19692         * m4/gl-openssl.m4: Tweak accordingly.
19694 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19696         af_alg: avoid hangs when reading from streams
19697         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
19698         and thus avoid doing a fread() when feof() is set.
19699         * lib/md5.c: Ensure feof() is called before fread().
19700         * lib/sha1.c: Likewise.
19701         * lib/sha256.c: Likewise.
19702         * lib/sha512.c: Likewise.
19704 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19706         af_alg: fix error handling when hash not returned
19707         * lib/af_alg.c (afalg_stream): Handle the case where we've
19708         successfully written data to the kernel in the read/write loop,
19709         but the kernel doesn't respond with the hash.
19711 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
19713         libc-config: merge from glibc
19714         * lib/cdefs.h (__inline, __restrict):
19715         Copy from current glibc.  This fixes glibc bug 17721,
19716         which Gnulib had already fixed in a different way.
19717         (__nonnull): Lessen the distance from glibc by using the
19718         glibc definition inside an ‘#ifndef __nonnull’.
19719         (__attribute_nonstring__): New macro, copied from
19720         current glibc.
19721         * lib/libc-config.h (__attribute_nonstring__): New undef.
19722         (__restrict): Remove; workaround no longer needed.
19723         Keep the __inline workaround, though, as it uses HAVE___INLINE to
19724         support more compilers than the glibc __inline can.
19726 2018-06-24  Bruno Haible  <bruno@clisp.org>
19728         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
19729         * lib/mbrtowc.c (enc_t): New enum type.
19730         (locale_enc, locale_enc_cached): New functions.
19731         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
19732         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
19733         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
19734         instead.
19735         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
19736         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
19737         * modules/wcwidth (configure.ac): Invoke it.
19739 2018-06-24  Bruno Haible  <bruno@clisp.org>
19741         wchar-single: Fix test failure in wcwidth tests.
19742         * tests/test-wcwidth.c (main): If the wchar-single module is present,
19743         skip the tests in the C locale.
19745 2018-06-23  Pádraig Brady  <P@draigBrady.com>
19747         crypto: mention --without-linux-crypto in --with-openssl --help
19748         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
19749         routines take precedence in --with-openssl help output.
19751 2018-06-23  Pádraig Brady  <P@draigBrady.com>
19753         wchar-single: a new module to enable optimizations in wchar replacements
19754         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
19755         GNULIB_WCHAR_SINGLE is enabled.
19756         * lib/wcwidth.c (wcwidth): Likewise.
19758 2018-06-23  Bruno Haible  <bruno@clisp.org>
19760         libc-config: Fix conflict with FreeBSD include files.
19761         * lib/cdefs.h (__nonnull): Remove definition.
19762         * lib/libc-config.h (__nonnull): Remove undefinition.
19764 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
19766         random_r: do not crash if state is unaligned
19767         Problem reported by Bruce Korb in:
19768         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
19769         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
19770         with 'cc -O2 -xmemalign=8s'.
19771         * lib/random_r.c: Include string.h, for memcpy.
19772         (get_int32, set_int32): New functions.
19773         (__srandom_r, __initstate_r, __setstate_r, __random_r):
19774         Use them to avoid assumption that state pointer is aligned.
19775         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
19776         * tests/test-random_r.c (test_failed): New function.
19777         (main): Use it, to test for alignment bugs.
19779         random_r: omit unnecessary include
19780         * lib/random_r.c: Do not include limits.h.
19782         random, random_r: merge from glibc
19783         * lib/random.c, lib/random_r.c:
19784         Include libc-config.h if !_LIBC, not config.h unilaterally.
19785         * lib/random.c:
19786         Do not include stdint.h or time.h; not needed.
19787         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
19788         (unsafe_state): Rename from generator.  All uses changed.
19789         Use C99-style initializers.
19790         (__random, __srandom, __initstate, __setstate): Rename from
19791         non-underscored version, but define it to non-underscored version
19792         on Gnulib.  Add a lock.
19793         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
19794         Likewise.
19795         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
19796         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
19797         (__srandom_r): Use int32_t instead of long int where int32_t will do.
19798         (__random_r): Use uint32 to fix glibc bug 17343.
19799         * modules/random, modules/random_r (Depends-on): Add libc-config.
19800         Depend on stdint only if $HAVE_RANDOM = 0.
19802 2018-06-19  Jim Meyering  <meyering@fb.com>
19804         README-release: also run any check-very-expensive tests
19805         * top/README-release: Adjust instructions so they run the
19806         check-very-expensive tests when there is such a target.
19808 2018-06-18  Bruno Haible  <bruno@clisp.org>
19810         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
19811         * m4/pthread_rwlock_rdlock.m4: Add comment.
19812         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
19813         are reader-preferring in glibc.
19814         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
19815         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
19817 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
19819         crypto: use byteswap
19820         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
19821         * lib/sm3.c: Include <byteswap.h>.
19822         (SWAP): Use its macros rather than reinventing the wheel.
19823         * modules/crypto/md4, modules/crypto/md5-buffer:
19824         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
19825         * modules/crypto/sha512-buffer, modules/crypto/sm3:
19826         (Depends-on): Add byteswap.
19828 2018-06-17  Pádraig Brady  <P@draigBrady.com>
19830         gendocs.sh: fix support for legacy --texi2html
19831         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
19832         to the default makeinfo invocation.
19833         Reported by Bruce Korb
19835 2018-06-17  Bruno Haible  <bruno@clisp.org>
19837         gettext po infrastructure: Update from current gettext git.
19838         Reported by Akim Demaille <akim@lrde.epita.fr>.
19839         * build-aux/po/Makefile.in.in: Update from current gettext git.
19840         * build-aux/po/remove-potcdate.sin: Likewise.
19841         * config/srclist.txt: Temporarily disable sync for these files.
19843 2018-06-17  Bruno Haible  <bruno@clisp.org>
19845         getloadavg: Return 0 on Windows without Cygwin.
19846         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
19848 2018-06-17  Paul Smith  <psmith@gnu.org>
19850         getloadavg: Allow building on Windows without Cygwin
19851         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
19852         * m4/getloadavg.m4: Check for unistd.h.
19854 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
19856         Port crypto/af_alg to GCC 4.8.4
19857         Problem reported by Peter Simons in:
19858         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
19859         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
19861 2018-05-27  Colin Watson  <cjwatson@debian.org>
19863         bootstrap: document source fetching in --help
19864         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
19866 2018-04-09  Colin Watson  <cjwatson@debian.org>
19868         bootstrap: allow non-submodule control of gnulib
19869         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
19870         bootstrap.conf when fetching gnulib using "git clone" or via
19871         GNULIB_SRCDIR.
19873 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
19875         crypto: omit stream ops Emacs doesn’t need
19876         * lib/md5.c (md5_stream):
19877         * lib/sha1.c (sha1_stream):
19878         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
19879         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
19880         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
19881         defined.  Emacs needs this, as it does not use the stream
19882         operations and doesn’t need all the af_alg stuff we’ve recently
19883         added.  Perhaps a similar change is needed to the other crypto
19884         modules, but this patch changes only those needed for Emacs.
19885         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
19886         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
19887         New modules, used by Emacs.
19888         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
19889         * modules/crypto/sha512: Rewrite to depend on the new modules.
19891 2018-05-20  Pádraig Brady  <P@draigBrady.com>
19893         fts: avoid a memory leak edge case
19894         * lib/fts.c (fts_open): Set an appropriate fts_level
19895         so that an immediate fts_close() will free the allocation.
19896         * tests/test-fts.c (fts_dealloc): Add a test case which
19897         will trigger under valgrind or address sanitizer.
19898         Fixes https://bugs.gnu.org/31439
19900 2018-05-20  Bruno Haible  <bruno@clisp.org>
19902         wcwidth tests: Fix link error.
19903         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
19904         $(LIBUNISTRING).
19906 2018-05-20  Bruno Haible  <bruno@clisp.org>
19908         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
19909         * modules/regex (Files): Add m4/glibc21.m4.
19911 2018-05-20  Bruno Haible  <bruno@clisp.org>
19913         localcharset: Optimize.
19914         * lib/localcharset.c (alias_table): Comment out no-op mappings for
19915         platforms where these don't matter. This reduces the table size,
19916         which in turn reduces the lookup time.
19918 2018-05-19  Bruno Haible  <bruno@clisp.org>
19920         localcharset: Map the locale encodings found in newer OSes.
19921         * lib/localcharset.c (alias_table): Add mapping for locale encodings
19922         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
19923         IRIX 6.5, Minix 3.3.
19924         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
19926 2018-05-19  Bruno Haible  <bruno@clisp.org>
19928         localcharset: Move mapping tables into the code. Use a binary search.
19929         * lib/localcharset.h: Document the GNU canonical names for character
19930         encodings here.
19931         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
19932         relocatable.h, configmake.h.
19933         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
19934         macros.
19935         (charset_aliases): Remove variable.
19936         (get_charset_aliases): Remove function.
19937         (struct table_entry): New type.
19938         (alias_table, locale_table): New constants.
19939         (locale_charset): Use the alias_table or locale_table to get the
19940         canonicalized encoding name.
19941         * lib/config.charset: Remove file.
19942         * lib/ref-add.sin: Remove file.
19943         * lib/ref-del.sin: Remove file.
19944         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
19945         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
19946         * modules/localcharset (Notice): Remove.
19947         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
19948         glibc21.m4.
19949         (Depends-on): Remove configmake.
19950         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
19951         (Makefile.am): Simplify.
19952         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
19954 2018-05-19  Bruno Haible  <bruno@clisp.org>
19956         localcharset: Add a manual test.
19957         * tests/test-localcharset.c: New file.
19958         * modules/localcharset-tests: New file.
19960 2018-05-19  Bruno Haible  <bruno@clisp.org>
19962         localcharset: Remove support for obsolete platforms.
19963         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
19964         Mac OS X 10.2. Comment out dubious entry for Solaris.
19966 2018-05-19  Jim Meyering  <meyering@fb.com>
19968         gnupload: adjust comment
19969         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
19970         more likely we'll remove the just-added code in a year or two.
19972 2018-05-19  Bruno Haible  <bruno@clisp.org>
19974         gnupload: Fix "gpg-agent is not available in this session" error.
19975         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
19977 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19979         crypto/af_alg: fix --help
19980         * m4/af_alg.m4: Avoid spurious newline in --help output.
19982 2018-05-13  Bruno Haible  <bruno@clisp.org>
19984         nl_langinfo: Fix compilation error on Android.
19985         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
19986         INT_CURR_SYMBOL, etc. only if these items are defined.
19988 2018-05-13  Bruno Haible  <bruno@clisp.org>
19990         truncate: Fix compilation error on Android.
19991         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
19992         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
19993         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
19994         HAVE_TRUNCATE.
19995         * modules/truncate: Likewise.
19996         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
19997         not HAVE_TRUNCATE.
19998         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
19999         HAVE_TRUNCATE.
20000         * doc/posix-functions/truncate.texi: Mention the issue.
20002 2018-05-13  Bruno Haible  <bruno@clisp.org>
20004         pthread: Fix compilation error on Android.
20005         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
20006         recursive inclusion of this file.
20008 2018-05-13  Bruno Haible  <bruno@clisp.org>
20010         posix_spawn: Fix compilation error on Android.
20011         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
20012         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
20013         (posix_spawn_file_actions_t): Consider also the case
20014         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
20016 2018-05-13  Bruno Haible  <bruno@clisp.org>
20018         tsearch: Move from K&R C to ANSI C.
20019         * lib/tsearch.c (tfind): Convert definition to ANSI C.
20021 2018-05-13  Bruno Haible  <bruno@clisp.org>
20023         tsearch: Fix compilation error on Android.
20024         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
20025         is 0.
20026         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
20027         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
20028         GNULIB_defined_tsearch is true.
20029         (twalk): Define only if GNULIB_defined_twalk is true.
20030         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
20031         is 0.
20032         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
20033         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
20034         * modules/search (Makefile.am): Substitute HAVE_TWALK.
20036 2018-05-13  Bruno Haible  <bruno@clisp.org>
20038         imaxdiv: Fix compilation error on Android.
20039         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
20040         is not defined.
20041         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
20042         HAVE_DECL_IMAXDIV, is 0.
20043         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
20044         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
20046 2018-05-13  Bruno Haible  <bruno@clisp.org>
20048         Support selective inclusion mechanism of recent mingw.org header files.
20049         Reported by Eli Zaretskii <eliz@gnu.org>.
20050         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
20051         __need_ssize_t, or __need_time_t is defined, just include the system's
20052         <sys/types.h>.
20053         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
20054         include the system's <locale.h>.
20056 2018-05-13  Bruno Haible  <bruno@clisp.org>
20058         Avoid compilation error due to 'mmap' on Android.
20059         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
20060         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
20061         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
20062         Undefine on Android.
20064 2018-05-13  Bruno Haible  <bruno@clisp.org>
20066         Add cross-compilation guesses for Linux systems without glibc.
20067         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
20068         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
20069         * m4/link.m4 (gl_FUNC_LINK): Likewise.
20070         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
20071         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
20072         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
20073         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
20074         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
20075         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
20076         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
20077         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
20078         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20079         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
20080         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20081         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
20082         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
20083         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20084         * m4/utimens.m4 (gl_UTIMENS): Likewise.
20086 2018-05-13  Bruno Haible  <bruno@clisp.org>
20088         getpagesize: Fix compilation error on Android.
20089         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
20090         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
20091         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
20092         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
20093         HAVE_GETPAGESIZE accordingly.
20094         * modules/getcwd (Files): Add m4/getpagesize.m4.
20096 2018-05-13  Bruno Haible  <bruno@clisp.org>
20098         tcgetsid: Fix compilation error on Android.
20099         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
20100         AC_CHECK_FUNC.
20102 2018-05-13  Bruno Haible  <bruno@clisp.org>
20104         getpass: Fix configure test for Android.
20105         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
20106         AC_CHECK_FUNC.
20108 2018-05-13  Bruno Haible  <bruno@clisp.org>
20110         ffs: Fix compilation error on Android.
20111         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
20113 2018-05-13  Bruno Haible  <bruno@clisp.org>
20115         mkfifo: Fix compilation error on Android.
20116         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
20117         AC_CHECK_FUNC.
20119 2018-05-13  Bruno Haible  <bruno@clisp.org>
20121         c-strtod: Fix configure test for Android.
20122         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
20123         AC_CHECK_FUNC.
20125 2018-05-13  Bruno Haible  <bruno@clisp.org>
20127         random: Fix compilation error on Android.
20128         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
20129         AC_CHECK_FUNC.
20131 2018-05-13  Bruno Haible  <bruno@clisp.org>
20133         grantpt: Fix compilation error on Android.
20134         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
20135         AC_CHECK_FUNC.
20137 2018-05-13  Bruno Haible  <bruno@clisp.org>
20139         stdioext: Fix compilation errors with newer Android headers.
20140         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
20141         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
20142         fallbacks for Android.
20143         * lib/fpending.c: Update comments.
20144         * lib/fpurge.c: Likewise.
20145         * lib/freadable.h: Likewise.
20146         * lib/freadable.c: Likewise.
20147         * lib/freadahead.c: Likewise.
20148         * lib/freading.h: Likewise.
20149         * lib/freadptr.c: Likewise.
20150         * lib/fseterr.c: Likewise.
20151         * lib/fwritable.h: Likewise.
20152         * lib/fwritable.c: Likewise.
20153         * lib/fwriting.h: Likewise.
20154         * lib/fwriting.c: Likewise.
20156 2018-05-13  Bruno Haible  <bruno@clisp.org>
20158         doc: Add info about Android versions 2.0 to 8.1.
20159         * doc/**/*.texi: Add info about functions in all released versions of
20160         Bionic.
20162 2018-05-12  Bruno Haible  <bruno@clisp.org>
20164         fseeko: On mingw, don't use the hidden function _fseeki64.
20165         Reported by Eli Zaretskii <eliz@gnu.org>.
20166         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
20167         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
20169 2018-05-12  Bruno Haible  <bruno@clisp.org>
20171         glob: Choose 'dirent_type' in a way that works better on mingw.
20172         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
20173         * lib/glob.c (dirent_type): Define as uint_fast32_t.
20175 2018-05-12  Bruno Haible  <bruno@clisp.org>
20177         execute, spawn-pipe: Avoid warning about redefining 'close'.
20178         Reported by Eli Zaretskii <eliz@gnu.org>.
20179         * lib/execute.c: Undefine 'close' before redefining it.
20180         * lib/spawn-pipe.c: Likewise.
20182 2018-05-12  Bruno Haible  <bruno@clisp.org>
20184         nanosleep: Avoid test failure on mingw when it has nanosleep.
20185         Reported by Eli Zaretskii <eliz@gnu.org>.
20186         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
20187         If it does not exist, use a simpler test program that does not call
20188         alarm().
20190 2018-05-10  Bruno Haible  <bruno@clisp.org>
20192         lock, cond, thread, tls: Use a different symbol as libpthread witness.
20193         Reported by Devin Hussey <husseydevin@gmail.com>.
20194         Based on a patch by Paul Eggert.
20195         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
20196         as witness of libpthread.
20197         * lib/glthread/cond.h (pthread_in_use): Likewise.
20198         * lib/glthread/thread.h (pthread_in_use): Likewise.
20199         * lib/glthread/tls.h (pthread_in_use): Likewise.
20201 2018-05-10  Bruno Haible  <bruno@clisp.org>
20203         cond tests: Fix compilation error on Solaris.
20204         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
20205         macro.
20207 2018-05-10  Bruno Haible  <bruno@clisp.org>
20209         doc: Add partial info about Android 4.3.
20210         * doc/*-functions/*.texi: Add info about functions that were added
20211         to Bionic between Android 4.3 and Android 9.0.
20213 2018-05-10  Bruno Haible  <bruno@clisp.org>
20215         doc: Add info about Android 9.0.
20216         * doc/**/*.texi: Add info about functions and headers in Bionic from
20217         Android 9.0.
20219 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
20221         af_alg: fix my typo in afalg_buffer
20222         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
20223         (afalg_stream): Simplify and avoid the need for a runtime test
20224         at the end.
20226         af_alg: recover better from crypto failures
20227         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
20228         input stream is seekable, by repositioning the stream back to
20229         where it was, possibly by just calling sendfile with an offset
20230         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
20231         cases, which lets our callers try again with user-mode code.
20232         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
20233         instead of on fflush and lseek.
20235         af_alg: distiguish I/O errors better
20236         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
20237         not -EIO, if it’s OK for the caller to try again with user-mode code.
20238         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
20239         some other error number) if fflush fails, as the caller should not
20240         try again that case.
20242         af_alg: avoid gotos
20243         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
20244         gotos, as they were a source of unreliability and made the code a
20245         bit harder to follow.
20247         af_alg: don’t leak file descriptors into children
20248         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
20249         This code should be compiled only on recent GNU/Linux platforms
20250         so we shouldn’t have to also depend on the accept4 module.
20252         af_alg: coalesce socket creation
20253         * lib/af_alg.c (alg_socket): New function.
20254         (afalg_buffer, afalg_stream): Use it.  This avoids some
20255         code duplication and gotos.
20257         af_alg: fix file descriptor leak
20258         * lib/af_alg.c (afalg_stream): Close leak.
20260         af_alg: Pacify --enable-gcc-warnings on GCC 8
20261         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
20262         and checking to pacify gcc -Wjump-misses-init on GCC 8.
20264 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20266         af_alg: Pacify --enable-gcc-warnings
20267         Problem reported by Assaf Gordon in:
20268         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
20269         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
20270         gcc -Wjump-misses-init.
20271         * lib/sha512.c (shaxxx_stream): Now static.
20273 2018-05-06  Bruno Haible  <bruno@clisp.org>
20275         af_alg: Add ability to use Linux kernel crypto API on data in memory.
20276         * lib/af_alg.h (afalg_buffer): New declaration.
20277         * lib/af_alg.c (afalg_buffer): New function.
20279 2018-05-06  Bruno Haible  <bruno@clisp.org>
20281         af_alg: Avoid warnings.
20282         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
20283         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
20285 2018-05-06  Bruno Haible  <bruno@clisp.org>
20287         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
20288         * tests/bench-digest.h: New file.
20289         * tests/bench-md5.c: New file.
20290         * tests/bench-sha1.c: New file.
20291         * tests/bench-sha224.c: New file.
20292         * tests/bench-sha256.c: New file.
20293         * tests/bench-sha384.c: New file.
20294         * tests/bench-sha512.c: New file.
20295         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
20296         tests/bench-digest.h.
20297         (Depends-on): Add getrusage, gettimeofday.
20298         (Makefile.am): Add variables to build bench-md5.
20299         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
20300         tests/bench-digest.h.
20301         (Depends-on): Add getrusage, gettimeofday.
20302         (Makefile.am): Add variables to build bench-sha1.
20303         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
20304         tests/bench-sha256.c, tests/bench-digest.h.
20305         (Depends-on): Add getrusage, gettimeofday.
20306         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
20307         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
20308         tests/bench-sha512.c, tests/bench-digest.h.
20309         (Depends-on): Add getrusage, gettimeofday.
20310         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
20312 2018-05-06  Bruno Haible  <bruno@clisp.org>
20314         af_alg: Fix a resource leak.
20315         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
20316         New local variable 'result'.
20318 2018-05-06  Bruno Haible  <bruno@clisp.org>
20320         af_alg: Fix bug with streams that are not at position 0.
20321         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
20322         assume that the stream is positioned at position 0.
20323         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
20324         of the stream.
20325         * lib/md5.h (md5_stream): Likewise.
20326         * lib/sha1.h (sha1_stream): Likewise.
20327         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
20328         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
20329         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
20331         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
20332         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
20333         stream that is not positioned at the beginning.
20335 2018-05-06  Bruno Haible  <bruno@clisp.org>
20337         af_alg: Add configure option to enable/disable use of Linux crypto API.
20338         Suggested by Assaf Gordon <assafgordon@gmail.com>.
20339         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
20340         USE_LINUX_CRYPTO_API.
20341         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
20342         * lib/af_alg.c: Likewise.
20344 2018-05-06  Bruno Haible  <bruno@clisp.org>
20346         Followup to 'af_alg: New module.'.
20347         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
20348         * modules/crypto/sha1 (Depends-on): Likewise.
20349         * modules/crypto/sha256 (Depends-on): Likewise.
20350         * modules/crypto/sha512 (Depends-on): Likewise.
20352 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20354         crypto/{md5,sha1,sha256,sha512}: simplify
20355         * lib/md5.c (md5_stream):
20356         * lib/sha1.c (sha1_stream):
20357         * lib/sha256.c (shaxxx_stream):
20358         Simplify, partly by assuming C99.
20359         * lib/sha256.c (shaxxx_stream):
20360         New function, which implements both sha256 and sha224.
20361         Simplify, partly by assuming C99.
20362         (sha256_stream, sha224_stream):
20363         Use it to avoid code duplication, removing a FIXME.
20364         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
20365         Likewise.
20367         af_alg: Improve comments.
20368         * lib/af_alg.h: Use imperatives and tighten up wording.
20370 2018-05-05  Bruno Haible  <bruno@clisp.org>
20372         af_alg: Improve comments.
20373         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
20375 2018-05-05  Bruno Haible  <bruno@clisp.org>
20377         af_alg: New module.
20378         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
20379         * lib/af_alg.c: Include "af_alg.h" before the other header files.
20380         * lib/md5.c: Include "af_alg.h" unconditionally.
20381         (md5_stream): Invoke afalg_stream unconditionally.
20382         * lib/sha1.c: Include "af_alg.h" unconditionally.
20383         (sha1_stream): Invoke afalg_stream unconditionally.
20384         * lib/sha256.c: Include "af_alg.h" unconditionally.
20385         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
20386         * lib/sha512.c: Include "af_alg.h" unconditionally.
20387         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
20388         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
20389         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
20390         * modules/crypto/af_alg: New file.
20391         * modules/crypto/md5 (Files): Remove files that are now in the
20392         'crypto/af_alg' module.
20393         (Depends-on): Add crypto/af_alg.
20394         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20395         (Makefile.am): Don't mention af_alg.c here.
20396         * modules/crypto/sha1 (Files): Remove files that are now in the
20397         'crypto/af_alg' module.
20398         (Depends-on): Add crypto/af_alg.
20399         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20400         (Makefile.am): Don't mention af_alg.c here.
20401         * modules/crypto/sha256 (Files): Remove files that are now in the
20402         'crypto/af_alg' module.
20403         (Depends-on): Add crypto/af_alg.
20404         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20405         (Makefile.am): Don't mention af_alg.c here.
20406         * modules/crypto/sha512 (Files): Remove files that are now in the
20407         'crypto/af_alg' module.
20408         (Depends-on): Add crypto/af_alg.
20409         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20410         (Makefile.am): Don't mention af_alg.c here.
20412 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20414         crypto tests: pacify GCC
20415         * tests/test-digest.h (test_digest_on_files):
20416         Don’t assume digest size fits in int (!).
20418         af_alg: minor style improvements
20419         * lib/af_alg.c (afalg_stream): Prefer C99 style
20420         decl-after-statement, since we’re already assuming C99.  Clarify
20421         by strengthening the bind test and omit unnecessary assignment.
20423 2018-05-05  Bruno Haible  <bruno@clisp.org>
20425         af_alg: Fix bug on empty files.
20426         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
20427         stream is empty.
20429 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20431         sys-limits.h: new file for crypto and safe I/O
20432         * lib/af_alg.c: Include sys-limits.h.
20433         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
20434         (afalg_stream): Also reject negative sizes for sendfile; they
20435         should not happen and the code is a bit cleaner and faster this way.
20436         * lib/safe-read.c: Include sys-limits.h.
20437         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
20438         * lib/sys-limits.h: New file, with values and commentary derived
20439         from the old safe-read.c and from GNU Emacs sysdep.c.
20440         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
20441         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
20442         Add lib/sys-limits.h to Files section.
20444 2018-05-05  Bruno Haible  <bruno@clisp.org>
20446         af_alg: Improve function signature.
20447         * lib/af_alg.h (afalg_stream): Swap second and third argument.
20448         * lib/af_alg.c (afalg_stream): Likewise.
20449         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
20451 2018-05-05  Bruno Haible  <bruno@clisp.org>
20453         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
20454         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
20455         * modules/crypto/sha1 (Depends-on): Likewise.
20456         * modules/crypto/sha256 (Depends-on): Likewise.
20457         * modules/crypto/sha512 (Depends-on): Likewise.
20459 2018-05-05  Bruno Haible  <bruno@clisp.org>
20461         crypto/{md5,sha1,sha256,sha512}: Fix module description.
20462         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
20463         * modules/crypto/sha1 (Depends-on): Likewise.
20464         * modules/crypto/sha256 (Depends-on): Likewise.
20465         * modules/crypto/sha512 (Depends-on): Likewise.
20467 2018-05-05  Bruno Haible  <bruno@clisp.org>
20469         af_alg: Add documentation.
20470         * lib/af_alg.h: Add comments.
20472 2018-05-05  Bruno Haible  <bruno@clisp.org>
20474         sha512: Add tests.
20475         * tests/test-sha512.c: New file.
20476         * modules/crypto/sha512-tests: New file.
20478 2018-05-05  Bruno Haible  <bruno@clisp.org>
20480         sha256: Add tests.
20481         * tests/test-sha256.c: New file.
20482         * modules/crypto/sha256-tests: New file.
20484 2018-05-05  Bruno Haible  <bruno@clisp.org>
20486         sha1 tests: Add test for sha1_stream.
20487         * tests/test-sha1.c: Include test-digest.h.
20488         (main): Invoke test_digest_on_files on 'sha1_stream'.
20489         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
20491 2018-05-05  Bruno Haible  <bruno@clisp.org>
20493         md5 tests: Add test for md5_stream.
20494         * tests/test-digest.h: New file.
20495         * tests/test-md5.c: Include test-digest.h.
20496         (main): Invoke test_digest_on_files on 'md5_stream'.
20497         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
20499 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20501         md5sum: Use AF_ALG when available.
20502         * lib/md5.c: Include af_alg.h.
20503         (md5_stream): Use afalg_stream when available.
20504         * modules/crypto/md5 (Files): Add the af_alg files.
20505         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20506         (Makefile.am): Add af_alg.c.
20508 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20510         sha512sum: Use AF_ALG when available.
20511         * lib/sha512.c: Include af_alg.h.
20512         (sha512_stream, sha384_stream): Use afalg_stream when available.
20513         * modules/crypto/sha512 (Files): Add the af_alg files.
20514         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20515         (Makefile.am): Add af_alg.c.
20517 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20519         sha256sum: Use AF_ALG when available.
20520         * lib/sha256.c: Include af_alg.h.
20521         (sha256_stream, sha224_stream): Use afalg_stream when available.
20522         * modules/crypto/sha256 (Files): Add the af_alg files.
20523         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20524         (Makefile.am): Add af_alg.c.
20526 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20528         sha1sum: Use AF_ALG when available.
20529         * lib/af_alg.h: New file.
20530         * lib/af_alg.c: New file.
20531         * lib/sha1.c: Include af_alg.h.
20532         (sha1_stream): Use afalg_stream when available.
20533         * m4/linux-if-alg.m4: New file.
20534         * modules/crypto/sha1 (Files): Add the new files.
20535         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20536         (Makefile.am): Add af_alg.c.
20538 2018-05-05  Bruno Haible  <bruno@clisp.org>
20540         all: Replace more http URLs by https URLs.
20541         * lib/localename.c: Use https: URL.
20542         * lib/timespec.h: Likewise.
20544 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
20546         maint: port more modules to GCC 8
20547         * lib/dirname.h (base_name):
20548         * lib/exclude.h (new_exclude):
20549         * lib/xstrndup.h (xstrndup):
20550         Add malloc attribute.
20551         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
20552         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
20553         This pacifies GCC 8.
20554         * m4/gnulib-common.m4 (gl_COMMON_BODY):
20555         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
20557 2018-05-03  Bruno Haible  <bruno@clisp.org>
20559         Simplify code. Drop support for Borland C++ on Windows.
20560         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
20561         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
20562         'defined _WIN32'.
20563         * lib/canonicalize-lgpl.c: Likewise.
20564         * lib/classpath.c: Likewise.
20565         * lib/clean-temp.c: Likewise.
20566         * lib/csharpexec.c: Likewise.
20567         * lib/ctime.c: Likewise.
20568         * lib/dosname.h: Likewise.
20569         * lib/dup2.c: Likewise.
20570         * lib/errno.in.h: Likewise.
20571         * lib/error.c: Likewise.
20572         * lib/euidaccess.c: Likewise.
20573         * lib/execute.c: Likewise.
20574         * lib/fcntl.in.h: Likewise.
20575         * lib/fcntl.c: Likewise.
20576         * lib/filename.h: Likewise.
20577         * lib/findprog.c: Likewise.
20578         * lib/flock.c: Likewise.
20579         * lib/fopen.c: Likewise.
20580         * lib/freopen.c: Likewise.
20581         * lib/fstat.c: Likewise.
20582         * lib/fsync.c: Likewise.
20583         * lib/gc-gnulib.c: Likewise.
20584         * lib/get-rusage-data.c: Likewise.
20585         * lib/getaddrinfo.c: Likewise.
20586         * lib/getdelim.c: Likewise.
20587         * lib/getdtablesize.c: Likewise.
20588         * lib/gethostname.c: Likewise.
20589         * lib/getlogin.c: Likewise.
20590         * lib/getlogin_r.c: Likewise.
20591         * lib/getopt.c: Likewise.
20592         * lib/getpagesize.c: Likewise.
20593         * lib/getpass.c: Likewise.
20594         * lib/getrusage.c: Likewise.
20595         * lib/gettimeofday.c: Likewise.
20596         * lib/glob.c: Likewise.
20597         * lib/inttypes.in.h: Likewise.
20598         * lib/isapipe.c: Likewise.
20599         * lib/javaexec.c: Likewise.
20600         * lib/link.c: Likewise.
20601         * lib/localcharset.c: Likewise.
20602         * lib/localename.h: Likewise.
20603         * lib/localename.c: Likewise.
20604         * lib/localtime.c: Likewise.
20605         * lib/lseek.c: Likewise.
20606         * lib/mbsinit.c: Likewise.
20607         * lib/mkdir.c: Likewise.
20608         * lib/msvc-nothrow.h: Likewise.
20609         * lib/nanosleep.c: Likewise.
20610         * lib/nl_langinfo.c: Likewise.
20611         * lib/nonblocking.c: Likewise.
20612         * lib/nproc.c: Likewise.
20613         * lib/open.c: Likewise.
20614         * lib/openpty.c: Likewise.
20615         * lib/pathmax.h: Likewise.
20616         * lib/pipe-filter-aux.c: Likewise.
20617         * lib/pipe-filter-gi.c: Likewise.
20618         * lib/pipe-filter-ii.c: Likewise.
20619         * lib/pipe.c: Likewise.
20620         * lib/pipe2.c: Likewise.
20621         * lib/poll.c: Likewise.
20622         * lib/popen.c: Likewise.
20623         * lib/posix_openpt.c: Likewise.
20624         * lib/printf-parse.c: Likewise.
20625         * lib/progreloc.c: Likewise.
20626         * lib/putenv.c: Likewise.
20627         * lib/read.c: Likewise.
20628         * lib/relocatable.c: Likewise.
20629         * lib/rename.c: Likewise.
20630         * lib/same-inode.h: Likewise.
20631         * lib/secure_getenv.c: Likewise.
20632         * lib/select.c: Likewise.
20633         * lib/sethostname.c: Likewise.
20634         * lib/setlocale.c: Likewise.
20635         * lib/sigaction.c: Likewise.
20636         * lib/sigprocmask.c: Likewise.
20637         * lib/sleep.c: Likewise.
20638         * lib/spawn-pipe.h: Likewise.
20639         * lib/spawn-pipe.c: Likewise.
20640         * lib/spawni.c: Likewise.
20641         * lib/stat-time.h: Likewise.
20642         * lib/stat-w32.c: Likewise.
20643         * lib/stat.c: Likewise.
20644         * lib/stdio.in.h: Likewise.
20645         * lib/stdio-impl.h: Likewise.
20646         * lib/stdio-read.c: Likewise.
20647         * lib/stdio-write.c: Likewise.
20648         * lib/stdlib.in.h: Likewise.
20649         * lib/strerror_r.c: Likewise.
20650         * lib/strftime-fixes.c: Likewise.
20651         * lib/sys_stat.in.h: Likewise.
20652         * lib/sys_types.in.h: Likewise.
20653         * lib/sys_wait.in.h : Likewise.
20654         * lib/system-quote.h: Likewise.
20655         * lib/system-quote.c: Likewise.
20656         * lib/tmpdir.c: Likewise.
20657         * lib/tzset.c: Likewise.
20658         * lib/uname.c: Likewise.
20659         * lib/unistd.in.h: Likewise.
20660         * lib/utime.in.h: Likewise.
20661         * lib/utime.c: Likewise.
20662         * lib/utimecmp.c: Likewise.
20663         * lib/utimens.c: Likewise.
20664         * lib/vasnprintf.c: Likewise.
20665         * lib/vma-iter.h: Likewise.
20666         * lib/vma-iter.c: Likewise.
20667         * lib/wait-process.c: Likewise.
20668         * lib/wcsftime.c: Likewise.
20669         * lib/wctype.in.h: Likewise.
20670         * lib/write.c: Likewise.
20671         * tests/nap.h: Likewise.
20672         * tests/test-cloexec.c: Likewise.
20673         * tests/test-dup-safer.c: Likewise.
20674         * tests/test-dup2.c: Likewise.
20675         * tests/test-dup3.c: Likewise.
20676         * tests/test-fcntl.c: Likewise.
20677         * tests/test-get-rusage-data.c: Likewise.
20678         * tests/test-getaddrinfo.c: Likewise.
20679         * tests/test-getlogin.h: Likewise.
20680         * tests/test-isatty.c: Likewise.
20681         * tests/test-localename.c: Likewise.
20682         * tests/test-mbrtowc-w32.c: Likewise.
20683         * tests/test-nonblocking.c: Likewise.
20684         * tests/test-nonblocking-pipe-main.c: Likewise.
20685         * tests/test-nonblocking-socket-main.c: Likewise.
20686         * tests/test-nonblocking-socket.h: Likewise.
20687         * tests/test-pipe.c: Likewise.
20688         * tests/test-pipe2.c: Likewise.
20689         * tests/test-poll.c: Likewise.
20690         * tests/test-pthread_sigmask1.c: Likewise.
20691         * tests/test-select.h: Likewise.
20692         * tests/test-sethostname2.c: Likewise.
20693         * tests/test-sigprocmask.c: Likewise.
20694         * tests/test-spawn-pipe-child.c: Likewise.
20695         * tests/test-stat-time.c: Likewise.
20696         * tests/test-system-quote-main.c: Likewise.
20697         * tests/test-utimens-common.h: Likewise.
20698         * tests/test-wcrtomb-w32.c: Likewise.
20699         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
20700         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
20701         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
20702         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
20703         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
20704         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
20705         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
20706         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20707         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20708         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
20709         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
20710         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
20711         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
20712         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
20713         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
20714         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20716 2018-05-02  Bruno Haible  <bruno@clisp.org>
20718         localename: Fix test failures on mingw.
20719         * lib/localename.c (gl_locale_name_thread): Remove code specific to
20720         native Windows.
20721         (gl_locale_name_posix): Move code specific to native Windows here.
20722         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
20723         Accept result without charset suffix, as it appears on mingw.
20725 2018-04-28  Paul Smith  <psmith@gnu.org>
20727         bootstrap: Avoid gnulib operations if not needed
20728         * build-aux/bootstrap: Remove unused variable gnulib_mk.
20729         Set $gnulib_extra_files early so it can be overridden in .conf.
20730         Remove redundant --import flag from $gnulib_tool_options.
20731         Set $use_gnulib to false if no gnulib modules or files are needed.
20732         If $use_gnulib is false, don't do anything related to gnulib.
20733         A lot of this is just whitespace (indentation) changes.
20735 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
20737         manywarnings: port to GCC 8.0
20738         * build-aux/gcc-warning.spec: Add -Wcatch-value,
20739         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
20740         fact that the GCC help message now mentions operands for
20741         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
20742         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
20743         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
20744         and -Wunused-const-variable.
20745         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
20746         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
20747         -Wmissing-attributes, -Wmultistatement-macros,
20748         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
20749         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
20751 2018-04-24  Bruno Haible  <bruno@clisp.org>
20753         sys_socket: Make SO_REUSEPORT available across platforms.
20754         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20755         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
20756         * doc/posix-headers/sys_socket.texi: Mention the issue.
20757         * tests/test-poll.c (SO_REUSEPORT): Remove.
20758         * tests/test-select.h: Include <sys/socket.h>.
20759         (SO_REUSEPORT): Remove.
20760         * modules/select-tests (Depends-on): Add 'sys_socket'.
20762 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
20764         localcharset: short-circuit the search for an alias on a Mac
20765         * lib/localcharset.c (get_charset_aliases): Add a tautological
20766         UTF-8 entry to speed up the search for this case.
20767         Most machines default to a UTF-8 locale nowadays, so begin the
20768         list of aliases with a dummy UTF-8 entry so it will be found
20769         immediately and a time-consuming search through the rest of
20770         the list is avoided.
20772 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
20774         fts: add comment
20775         * lib/fts.c (fts_build): Explain why ==, not >.
20776         See remark by Bernhard Voelker in:
20777         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
20779         fts: fix bug in find across filesystems
20780         This fixes a bug I introduced last summer.
20781         Problem reported by Kamil Dudka in:
20782         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
20783         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
20784         (leaf_optimization):
20785         New arg for file descriptor.  All callers changed.
20786         (fts_build): Check for whether inodes should be sorted
20787         before closing the directory.
20789 2018-04-07  Bruno Haible  <bruno@clisp.org>
20791         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
20792         Reported by Genki Sky <sky@genki.is>.
20793         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
20794         version 0.9.10 or newer.
20795         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
20796         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
20797         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
20798         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
20799         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
20801 2018-04-07  Bruno Haible  <bruno@clisp.org>
20803         execute: Update comment.
20804         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
20806 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
20808         fts: treat CIFS like NFS
20809         Problem reported by Kamil Dudka in:
20810         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
20811         * lib/fts.c (S_MAGIC_CIFS): New macro.
20812         (dirent_inode_sort_may_be_useful, leaf_optimization):
20813         Treat CIFS like NFS.
20815 2018-03-28  Bruno Haible  <bruno@clisp.org>
20817         c-stack: Fix possible build failure on some platforms.
20818         * lib/c-stack.c (die): Define whenever this function is referenced.
20820 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
20822         time_rz: fix workaround for Mac OS X 10.6 infloop
20823         Problems reported by Charles A. Roelli (Bug#27736#117).
20824         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
20825         Also, discard output, which clutters the 'configure' log.
20827 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
20829         havelib: port to Solaris 10 /bin/sh
20830         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
20831         instead of '! test EXPR'.
20833 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
20835         time_rz: work around Mac OS X 10.6 infloop
20836         * doc/posix-functions/localtime.texi:
20837         * doc/posix-functions/localtime_r.texi: Mention the bug.
20838         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
20839         better to fix localtime and localtime_r instead, but that would be
20840         more work and is not needed to fix the Emacs problem.
20841         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
20843 2018-03-24  Jim Meyering  <meyering@fb.com>
20845         test-version-etc.sh: don't use diff directly: use init.sh's compare
20846         We'd rather not sacrifice readable "diff -u" output even for
20847         "diff -c" output (not supported by busybox) or for even less
20848         readable ed-style "diff" output.  So use init.sh's compare function
20849         * tests/test-version-etc.sh: Source init.sh and add "." to path.
20850         Remove "./" from invocation of test-version-etc, so we use path.
20851         And s/diff/compare/.
20852         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
20853         to get init.sh.
20854         Prompted by Eric Blake's comments in
20855         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
20857 2018-03-24  Bruno Haible  <bruno@clisp.org>
20859         javacomp-script, javacomp: Add support for Java 10.
20860         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
20861         target-version 10.
20862         * lib/javaversion.h: Update comments.
20863         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
20864         source_version_index, get_goodcode_snippet, get_failcode_snippet,
20865         TARGET_VERSION_BOUND, target_version_index,
20866         corresponding_classfile_version): Accept source_version 10 and
20867         target_version 10.
20868         * lib/javacomp.h: Update comments accordingly.
20870 2018-03-24  Bruno Haible  <bruno@clisp.org>
20872         javacomp-script, javacomp: Update comments.
20873         * m4/javacomp.m4: Update comments regarding gcj.
20874         * lib/javacomp.h: Likewise.
20876 2018-03-24  Bruno Haible  <bruno@clisp.org>
20878         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
20879         * lib/javaversion.h: Update comments.
20880         * lib/javacomp.h: Likewise.
20881         * lib/javacomp.c (default_target_version, source_version_index,
20882         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
20883         "1.9".
20884         (TARGET_VERSION_BOUND): Bump to 9.
20885         (target_version_index, corresponding_classfile_version): Recognize "9"
20886         instead of "1.9".
20887         (get_source_version_for_javac): New function.
20888         (is_envjavac_nongcj_usable, is_javac_usable): Add
20889         source_version_for_javac argument.
20890         (compile_java_class): Determine and pass source_version_for_javac.
20891         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
20892         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
20893         appropriate.
20895 2018-03-23  Jim Meyering  <meyering@fb.com>
20897         test-version-etc.sh: port to diff without -c
20898         * tests/test-version-etc.sh: Don't use diff's -c option.
20899         This caused spurious test failure on Alpine Linux, which
20900         uses busybox's diff. Reported by Assaf Gordon in
20901         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
20903 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
20905         c-stack: port to recent GCC build
20906         Problem reported by The Fireplace (Bug#30913).
20907         * lib/c-stack.c (die): Define only if used.
20909 2018-03-20  Bruno Haible  <bruno@clisp.org>
20911         euidaccess: Port to native Windows.
20912         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
20913         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
20915 2018-03-19  Bruno Haible  <bruno@clisp.org>
20917         javacomp: Add support for Java 7, 8, 9.
20918         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
20919         source_version_index, get_goodcode_snippet, get_failcode_snippet,
20920         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
20921         and target_version 1,7, 1.8, 1.9.
20922         * lib/javacomp.h: Update comments accordingly.
20924 2018-03-19  Bruno Haible  <bruno@clisp.org>
20926         javacomp-script: Add support for Java 9.
20927         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
20928         target-version 1.9.
20930 2018-03-16  Bruno Haible  <bruno@clisp.org>
20932         glob: Don't compile replacements on recent glibc systems.
20933         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
20934         REPLACE_GLOB is 0, include the system's <glob.h> and use
20935         _GL_CXXALIAS_SYS.
20936         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
20937         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
20938         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
20939         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
20940         Remove snippet/warn-on-use.
20941         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
20942         (Makefile.am): Create glob.h always. Update list of substitutions in
20943         glob.h. Don't depend on $(WARN_ON_USE_H).
20945 2018-03-16  Bruno Haible  <bruno@clisp.org>
20947         glob: Fix link error on native Windows.
20948         * modules/glob (Depends-on): Add 'lstat'.
20950 2018-03-15  Bruno Haible  <bruno@clisp.org>
20952         glob: Fix compilation error in C++ mode.
20953         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
20955 2018-03-15  Bruno Haible  <bruno@clisp.org>
20957         host-cpu-c-abi: Support for RISC-V CPU.
20958         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
20959         riscv32 and riscv64 ABIs.
20960         References:
20961         https://github.com/riscv/riscv-toolchain-conventions
20962         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
20963         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
20965 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
20967         fflush: be more paranoid about libio.h change
20968         Suggested by Eli Zaretskii in:
20969         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
20970         * lib/fbufmode.c (fbufmode):
20971         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
20972         (disable_seek_optimization, rpl_fflush):
20973         * lib/fpending.c (__fpending):
20974         * lib/fpurge.c (fpurge):
20975         * lib/freadable.c (freadable):
20976         * lib/freadahead.c (freadahead):
20977         * lib/freading.c (freading):
20978         * lib/freadptr.c (freadptr):
20979         * lib/freadseek.c (freadptrinc):
20980         * lib/fseeko.c (fseeko):
20981         * lib/fseterr.c (fseterr):
20982         * lib/fwritable.c (fwritable):
20983         * lib/fwriting.c (fwriting):
20984         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
20986 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
20988         maint: write-file-hooks -> before-save-hook
20989         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
20990         it's time to use the recommended replacement.
20991         Problem reported by Glenn Morris in:
20992         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
20993         * build-aux/announce-gen, build-aux/bootstrap:
20994         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
20995         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
20996         * build-aux/gnu-web-doc-update, build-aux/gnupload:
20997         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
20998         * build-aux/update-copyright, build-aux/useless-if-before-free:
20999         * build-aux/vc-list-files:
21000         Update hook usage for files where Gnulib is the canonical source.
21002 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
21004         binary-io: pacify gcc -Wunused-parameter
21005         Problem reported by Reuben Thomas in:
21006         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
21007         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
21008         Use _GL_UNUSED where appropriate.
21010         fflush: adjust to glibc 2.28 libio.h removal
21011         Problem reported by Daniel P. Berrangé in:
21012         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
21013         * lib/fbufmode.c (fbufmode):
21014         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
21015         (disable_seek_optimization, rpl_fflush):
21016         * lib/fpending.c (__fpending):
21017         * lib/fpurge.c (fpurge):
21018         * lib/freadable.c (freadable):
21019         * lib/freadahead.c (freadahead):
21020         * lib/freading.c (freading):
21021         * lib/freadptr.c (freadptr):
21022         * lib/freadseek.c (freadptrinc):
21023         * lib/fseeko.c (fseeko):
21024         * lib/fseterr.c (fseterr):
21025         * lib/fwritable.c (fwritable):
21026         * lib/fwriting.c (fwriting):
21027         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
21028         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
21029         Define if not already defined.
21031 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
21033         environ: fix link error on 32-bit Cygwin
21034         Problem reported for GNU Emacs by Ken Brown in:
21035         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
21036         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
21038 2018-02-24  Bruno Haible  <bruno@clisp.org>
21040         mbrtowc tests: Fix regression on glibc.
21041         Reported by Bernhard Voelker.
21042         * tests/test-mbrtowc.c (main): Fix expected value of wc.
21044 2018-02-24  Bruno Haible  <bruno@clisp.org>
21046         striconveha, uniconv/*: Avoid test failures on musl libc.
21047         * tests/iconvsupport.c: New file.
21048         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
21049         does not support the ISO-2022-JP-2 encoding.
21050         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
21051         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
21052         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
21053         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
21054         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
21055         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
21056         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
21057         (Makefile.am): Link test-striconveha with iconvsupport.o.
21058         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
21059         tests/iconvsupport.c.
21060         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
21061         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
21062         tests/iconvsupport.c.
21063         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
21064         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
21065         tests/iconvsupport.c.
21066         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
21067         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
21068         tests/iconvsupport.c.
21069         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
21070         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
21071         tests/iconvsupport.c.
21072         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
21073         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
21074         tests/iconvsupport.c.
21075         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
21077 2018-02-24  Bruno Haible  <bruno@clisp.org>
21079         localename: Add support for musl libc.
21080         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
21081         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
21082         on Linux platforms which define NL_LOCALE_NAME.
21084 2018-02-24  Bruno Haible  <bruno@clisp.org>
21086         mbrtowc tests: Don't make assumptions about the charset the C locale.
21087         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
21088         particular mapping in the C locale.
21090 2018-02-24  Bruno Haible  <bruno@clisp.org>
21092         ptsname_r: Don't expect that this function sets errno.
21093         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
21094         from ptsname_r().
21095         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
21097 2018-02-23  Bruno Haible  <bruno@clisp.org>
21099         xmalloca: pacify gcc -Wbad-function-cast
21100         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
21102 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
21104         nl_langinfo: pacify gcc -Wunused-function
21105         * lib/nl_langinfo.c (ctype_codeset): Do not define if
21106         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
21107         this case.  Without this change, I got a diagnostic when building
21108         coreutils on Fedora 27 with gcc 7.3.1 20180130.
21110         same: pacify gcc -Wunused-variable
21111         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
21112         Omit unused variable.
21114         malloca: pacify gcc -Wbad-function-cast
21115         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
21116         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
21117         To pacify GCC, I had to cast alloca’s result to some type other
21118         than void * before casting that to uintptr_t.
21120 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
21122         utimecmp: new function utimecmpat
21123         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
21124         Do not include utimens.h.
21125         (utimecmpat): New function, generalizing utimecmp.
21126         (utimecmp): Now a thin layer around utimecmpat.
21127         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
21128         utimensat instead of on lstat and utimens.
21130         same: new function same_nameat
21131         * lib/same.c: Include fcntl.h.
21132         * lib/same.c (same_nameat): New function, generalizing same_name.
21133         (same_name): Now a thin layer around same_nameat.
21134         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
21135         * modules/same (Depends-on): Depend on fstatat, openat.
21137 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
21139         warnings: Add support for Objective C.
21140         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
21141         macro.
21143 2018-02-17  Bruno Haible  <bruno@clisp.org>
21145         lock: Fix test-once1 crash on FreeBSD11.
21146         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
21147         'pthread_create', not 'pthread_cancel'.
21149 2018-02-17  Bruno Haible  <bruno@clisp.org>
21151         lock: Add test of gl_once.
21152         * tests/test-once.c: New file.
21153         * modules/lock-tests (Files): Add it.
21154         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
21156 2018-02-17  Bruno Haible  <bruno@clisp.org>
21158         thread: Fix compilation error on IRIX.
21159         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
21160         needed; include it outside the C++ extern "C" {} block.
21161         * doc/posix-headers/pthread.texi: Mention the problem with
21162         pthread_atfork on IRIX.
21164 2018-02-04  Bruno Haible  <bruno@clisp.org>
21166         nl_langinfo: Override the system's nl_langinfo() when needed.
21167         Reported by Jim Meyering.
21168         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
21169         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
21171 2018-02-04  Bruno Haible  <bruno@clisp.org>
21173         signal-h, monetary, strings: Fix build failure in some cases.
21174         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21175         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
21176         as delimiter in sed command, not '|'.
21177         * modules/monetary (Makefile.am): Likewise.
21178         * modules/strings (Makefile.am): Likewise.
21180 2018-02-03  Jim Meyering  <meyering@fb.com>
21182         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
21183         * top/maint.mk (sc_file_system): Don't complain about
21184         "/proc/filesystems".
21186 2018-02-03  Bruno Haible  <bruno@clisp.org>
21188         stdlib: Fix compilation error on OpenIndiana.
21189         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
21190         <sys/time.h>.
21191         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
21192         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
21194 2018-02-03  Bruno Haible  <bruno@clisp.org>
21196         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
21197         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
21198         and use $EGREP instead of 'grep -E'.
21199         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
21200         'grep -E'.
21202 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
21204         malloca: Add a compile-time verification.
21205         * lib/malloca.c (small_t): Verify that it is wide enough.
21206         * modules/malloca (Depends-on): Add verify.
21208 2018-02-02  Bruno Haible  <bruno@clisp.org>
21210         malloca: Add an argument check.
21211         Suggested by Paul Eggert.
21212         * lib/malloca.c (freea): Check against an invalid argument.
21214 2018-02-02  Bruno Haible  <bruno@clisp.org>
21216         localename: Add support for OpenIndiana.
21217         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
21218         Solaris 11 variants with uselocale() but without getlocalename_l().
21220 2018-02-02  Bruno Haible  <bruno@clisp.org>
21222         malloca, xmalloca: Make multithread-safe.
21223         Reported by Florian Weimer <fweimer@redhat.com>.
21224         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
21225         * lib/malloca.h (malloca): In the stack allocation case, return a
21226         pointer that is a multiple of 2 * sa_alignment_max.
21227         (sa_increment): Remove enum item.
21228         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
21229         a pointer that is a multiple of 2 * sa_alignment_max.
21230         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
21231         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
21232         HASH_TABLE_SIZE, mmalloca_results): Remove.
21233         (small_t): New type.
21234         (mmalloca, free): Rewritten.
21235         * lib/malloca.valgrind: Remove file.
21236         * modules/malloca (Files): Remove it.
21237         (Depends-on): Remove verify.
21239 2018-01-31  Bruno Haible  <bruno@clisp.org>
21241         environ: Fix link error on 64-bit Cygwin.
21242         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
21243         __declspec(dllimport) attribute.
21244         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
21246 2018-01-30  Bruno Haible  <bruno@clisp.org>
21248         get-rusage-data: Add support for Minix 3.
21249         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
21251 2018-01-30  Bruno Haible  <bruno@clisp.org>
21253         vma-iter: Add support for Minix 3.
21254         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
21255         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
21257 2018-01-27  Bruno Haible  <bruno@clisp.org>
21259         Fix malfunction of socket functions on HP-UX in 64-bit mode.
21260         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
21261         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
21262         _HPUX_ALT_XOPEN_SOCKET_API.
21263         * modules/accept (Depends-on): Add 'extensions'.
21264         * modules/getpeername (Depends-on): Likewise.
21265         * modules/getsockname (Depends-on): Likewise.
21266         * modules/getsockopt (Depends-on): Likewise.
21267         * modules/recvfrom (Depends-on): Likewise.
21268         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
21269         * doc/posix-functions/getpeername.texi: Likewise.
21270         * doc/posix-functions/getsockname.texi: Likewise.
21271         * doc/posix-functions/getsockopt.texi: Likewise.
21272         * doc/posix-functions/recvfrom.texi: Likewise.
21274 2018-01-27  Bruno Haible  <bruno@clisp.org>
21276         getsockname tests: More tests.
21277         * tests/test-getsockname.c (open_server_socket): New function, mostly
21278         copied from test-poll.c.
21279         (main): Check that getsockname fills in addr.
21280         * modules/getsockname-tests (Depends-on): Add the necessary
21281         dependencies.
21282         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
21284 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
21286         manywarnings: fix maintainer comment
21287         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
21288         it does not mistakenly think that ‘-1)’ is an option.
21290 2018-01-26  Bruno Haible  <bruno@clisp.org>
21292         langinfo: Fix last commit.
21293         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21294         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
21296 2018-01-24  Bruno Haible  <bruno@clisp.org>
21298         langinfo, nl_langinfo: Add support for alternative month names.
21299         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
21300         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
21301         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
21302         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
21303         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
21304         * doc/posix-functions/nl_langinfo.texi: Likewise.
21306 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
21308         Merge strftime.c changes from glibc
21309         This incorporates:
21310         2017-11-14 [BZ #10871] Implement alternative month names
21311         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
21312         2017-06-20 Use locale_t, not __locale_t, throughout glibc
21313         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
21314         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
21315         Use locale_t, not __locale_t.
21316         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
21317         (__strftime_internal): Add support for alternate months.
21319 2018-01-23  Bruno Haible  <bruno@clisp.org>
21321         doc: Mention another prerequisite for using Gnulib.
21322         Reported at <https://stackoverflow.com/questions/48378214/>.
21323         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
21324         AC_CONFIG_HEADERS.
21326 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
21328         build: GuixSD doesn't have /bin/bash
21329         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
21331 2018-01-21  Bruno Haible  <bruno@clisp.org>
21333         Avoid test failures on Microsoft Windows Subsystem for Linux.
21334         * tests/test-fcntl.c (main): Allow a different errno.
21335         * tests/test-rename.h (test_rename): Likewise.
21336         * tests/test-renameat.c (main): Likewise.
21337         * tests/test-renameat2.c (main): Likewise.
21339 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
21341         filenamecat: make base a suffix of result
21342         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
21343         (mfile_name_concat): Always make BASE a suffix of the result, as
21344         cp expects this.  To implement this, separate with '.' instead of
21345         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
21346         * tests/test-filenamecat.c (main): Adjust tests to match
21347         current behavior.  Check that BASE_IN_RESULT points to
21348         a copy of BASE and is a suffix of the resultk, and that DIR
21349         is a prefix of the result that is no longer than the prefix
21350         indicated by BASE_IN_RESULT.
21352 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
21354         update-copyright: Handle use of ©
21355         * build-aux/update-copyright ($circle_c_re): Update regex to
21356         handle use of © in headers.
21358 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
21360         Fix -Wundef warning in user-included header lib/cdefs.h.
21361         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
21363 2018-01-04  Bruno Haible  <bruno@clisp.org>
21365         pthread_sigmask: Avoid compilation error on mingw.
21366         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21367         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
21368         macro.
21370 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
21372         test-framework-sh: ‘ps -ef’, not ‘ps ef’
21373         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
21374         Suggested by Bob Proulx (Bug#29968).
21375         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
21377 2018-01-02  Eric Blake  <eblake@redhat.com>
21379         stat-time: silence -Wunused-parameter regression
21380         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
21381         Prefer attribute over cast-to-void.
21382         (stat_time_normalize): Mark st as potentially unused.
21384 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
21386         test-framework-sh: avoid netstat
21387         Problem reported by Kristýna Streitová (Bug#29947).
21388         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
21389         deprecated on SuSE and it's not that important anyway.
21391 2018-01-01  Jim Meyering  <meyering@fb.com>
21393         update-copyright: add code to handle more special cases
21394         After running "make update-copyright" this year, five files
21395         required additional manual changes.  Automate those adjustments
21396         for next year.
21397         * Makefile (_year_and_prev): Define.
21398         (update-copyright): Add perl commands to induce this year's post-
21399         update-copyright adjustments.
21401 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
21403         version-etc: new year
21404         * build-aux/gendocs.sh (version):
21405         * doc/gendocs_template:
21406         * doc/gendocs_template_min:
21407         * doc/gnulib.texi:
21408         * lib/version-etc.c (COPYRIGHT_YEAR):
21409         Update copyright dates by hand in templates and the like.
21411         maint: fix 'make update-copyright'
21412         * Makefile (update-copyright): Adjust to 2016-11-23 change
21413         to config/srclist-update, which changed the format of srclist.txt.
21415 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
21417         chdir-safer: remove this module
21418         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
21419         * NEWS: Document removal.
21420         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
21421         * modules/chdir-safer: Remove these files.
21423 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
21425         Add cross-compilation results for GNU/Hurd.
21426         * m4/calloc.m4: Add GNU/Hurd guess.
21427         * m4/cbrtl.m4: Likewise.
21428         * m4/ceil.m4: Likewise.
21429         * m4/ceilf.m4: Likewise.
21430         * m4/ceill.m4: Likewise.
21431         * m4/chown.m4: Likewise.
21432         * m4/duplocale.m4: Likewise.
21433         * m4/exp2l.m4: Likewise.
21434         * m4/expm1.m4: Likewise.
21435         * m4/fchdir.m4: Likewise.
21436         * m4/floor.m4: Likewise.
21437         * m4/floorf.m4: Likewise.
21438         * m4/fmod.m4: Likewise.
21439         * m4/fmodf.m4: Likewise.
21440         * m4/fmodl.m4: Likewise.
21441         * m4/getcwd.m4: Likewise.
21442         * m4/getgroups.m4: Likewise.
21443         * m4/gettimeofday.m4: Likewise.
21444         * m4/hypot.m4: Likewise.
21445         * m4/hypotf.m4: Likewise.
21446         * m4/hypotl.m4: Likewise.
21447         * m4/link-follow.m4: Likewise.
21448         * m4/link.m4: Likewise.
21449         * m4/linkat.m4: Likewise.
21450         * m4/log.m4: Likewise.
21451         * m4/log10.m4: Likewise.
21452         * m4/log10f.m4: Likewise.
21453         * m4/log1p.m4: Likewise.
21454         * m4/log1pf.m4: Likewise.
21455         * m4/log1pl.m4: Likewise.
21456         * m4/log2.m4: Likewise.
21457         * m4/log2f.m4: Likewise.
21458         * m4/logf.m4: Likewise.
21459         * m4/lstat.m4: Likewise.
21460         * m4/malloc.m4: Likewise.
21461         * m4/mbrlen.m4: Likewise.
21462         * m4/mbrtowc.m4: Likewise.
21463         * m4/mkdir.m4: Likewise.
21464         * m4/mkfifo.m4: Likewise.
21465         * m4/mknod.m4: Likewise.
21466         * m4/mkstemp.m4: Likewise.
21467         * m4/modf.m4: Likewise.
21468         * m4/modff.m4: Likewise.
21469         * m4/modfl.m4: Likewise.
21470         * m4/printf.m4: Likewise.
21471         * m4/pselect.m4: Likewise.
21472         * m4/ptsname.m4: Likewise.
21473         * m4/putenv.m4: Likewise.
21474         * m4/readlink.m4: Likewise.
21475         * m4/realloc.m4: Likewise.
21476         * m4/remainder.m4: Likewise.
21477         * m4/remainderf.m4: Likewise.
21478         * m4/remainderl.m4: Likewise.
21479         * m4/rmdir.m4: Likewise.
21480         * m4/round.m4: Likewise.
21481         * m4/roundf.m4: Likewise.
21482         * m4/roundl.m4: Likewise.
21483         * m4/select.m4: Likewise.
21484         * m4/setenv.m4: Likewise.
21485         * m4/signbit.m4: Likewise.
21486         * m4/sleep.m4: Likewise.
21487         * m4/stat.m4: Likewise.
21488         * m4/strerror.m4: Likewise.
21489         * m4/strtok_r.m4: Likewise.
21490         * m4/symlink.m4: Likewise.
21491         * m4/symlinkat.m4: Likewise.
21492         * m4/trunc.m4: Likewise.
21493         * m4/truncf.m4: Likewise.
21494         * m4/truncl.m4: Likewise.
21495         * m4/tzset.m4: Likewise.
21496         * m4/ungetc.m4: Likewise.
21497         * m4/usleep.m4: Likewise.
21498         * m4/wcwidth.m4: Likewise.
21500 2017-12-28  Bruno Haible  <bruno@clisp.org>
21502         gnulib-tool: Make --conditional-dependencies work better.
21503         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
21504         * gnulib-tool (Options): Don't reject the combination of
21505         --conditional-dependencies with --with-tests.
21506         (func_emit_autoconf_snippets): Add argument referenceable_modules.
21507         Don't reference $modules.
21508         (func_import, func_create_testdir): Pass it.
21510 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21512         regex: use re_malloc etc. consistently
21513         Problem and original patch reported by Arnold Robbins in:
21514         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
21515         * lib/regcomp.c (re_comp):
21516         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
21517         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
21519 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
21520             Paul Eggert  <eggert@cs.ucla.edu>
21522         glob: Silence warning about void pointer arithmetic.
21523         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
21524         arithmetic.
21526 2017-12-15  Bruno Haible  <bruno@clisp.org>
21528         spawn-pipe: Silence a clang warning.
21529         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21530         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
21531         in this file.
21533 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
21535         explicit_bzero: port to macOS + Clang 9.0.0
21536         Problem reported by Marcus Johnson (Bug#29658).
21537         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
21538         Don’t use asm.
21540 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
21542         doc: Improve explanation of supporting relocatable libraries.
21543         * doc/relocatable-maint.texi (Supporting Relocation): Explain
21544         properly how to build the relocatable module for
21545         libraries. (Method and example code from Bruno Haible.)
21547 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
21549         doc: Use better texinfo tags in a few cases.
21550         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
21551         instead of @samp in a few places.
21553 2017-12-11  Bruno Haible  <bruno@clisp.org>
21555         unistr/base: Update comment.
21556         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
21558 2017-12-10  Pádraig Brady  <P@draigBrady.com>
21560         test-faccessat.c: unlink temp file to avoid subsequent test failure
21561         * tests/test-faccessat.c: Remove the file to avoid failure
21562         to open the file on subsequent runs due to being created
21563         with no permissions.
21565 2017-12-10  Bruno Haible  <bruno@clisp.org>
21567         doc: New sect. "Modifying the build rules of a Gnulib import directory".
21568         * doc/gnulib-tool.texi (Modified build rules): New node.
21570 2017-12-10  Bruno Haible  <bruno@clisp.org>
21572         doc: Tweak wording.
21573         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
21574         "binaries".
21576 2017-12-05  Sam Steingold  <sds@gnu.org>
21577             Bruno Haible  <bruno@clisp.org>
21579         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
21580         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
21581         AC_EGREP_CPP pattern.
21583 2017-12-03  Bruno Haible  <bruno@clisp.org>
21585         all: Replace more http URLs by https URLs.
21586         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
21587         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
21588         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
21589         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
21591 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
21593         Port better to CentOS 5
21594         Problems reported by Tom G. Christensen in:
21595         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
21596         * doc/glibc-functions/strverscmp.texi (strverscmp):
21597         Document strverscmp bug with glibc 2.9 and earlier.
21598         * doc/posix-functions/tzset.texi (tzset):
21599         Document that TZ with angle brackets is POSIX-2001 and later.
21600         * tests/test-nstrftime.c: Include unistd.h.
21601         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
21602         (TZ): Use it to skip tests with angle brackets in TZ,
21603         for older systems.
21605         stat: add missing module dependencies
21606         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
21607         Add stat-time.
21609 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
21611         stat: fix compilation failure on macOS Sierra
21612         Reported by Marius Schamschula <mschamschula@gmail.com> in:
21613         https://savannah.gnu.org/bugs/?52546
21614         * lib/stat.c: Add missing include of stat-time.h.
21616 2017-11-28  Jim Meyering  <meyering@fb.com>
21618         test-faccessat.c: correct BASE definition to avoid parallel test failure
21619         * tests/test-faccessat.c (BASE): Define using this file's name, not
21620         that of test-lstat.c.  Using the latter caused this test to fail
21621         sometimes when run concurrently with test-lstat.
21623 2017-11-27  Daiki Ueno  <ueno@gnu.org>
21625         unicase: fix VPATH build
21626         * modules/unicase/special-casing (Makefile.am): Ensure that the
21627         base directory is created when generating
21628         unicase/special-casing.h.
21630 2017-11-27  Daiki Ueno  <ueno@gnu.org>
21632         libunistring: update to Unicode 9.0.0
21633         * lib/gen-uni-tables.c (fill_properties): Recognize
21634         Sentence_Terminal and Prepended_Concatenation_Mark.
21635         (is_property_default_ignorable_code_point): Exclude U+08E2.
21636         (fill_arabicshaping): Allow missing whitespace when parsing;
21637         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
21638         (output_blocks): Increase the element size of the level1 table to
21639         accommodate more blocks.
21640         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
21641         Update each class according to the standard.
21642         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
21643         E_Base_GAZ characters.
21644         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
21645         Glue_After_Zwj, and E_Base_GAZ characters.
21646         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
21647         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
21648         enum value.
21649         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
21650         value.
21651         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
21652         LBP_ZWJ, LBP_EB, and LBP_EM.
21653         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
21654         enum value.
21655         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
21656         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
21657         declaration.
21658         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
21659         (uniwbrk_table): Implement WB14.
21660         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
21661         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
21662         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
21663         uc-is-grapheme-break.
21664         * modules/unigbrk/uc-grapheme-breaks: New module.
21665         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
21666         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
21667         enum value.
21668         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
21669         * lib/unigbrk/u-grapheme-breaks.h: New file.
21670         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
21671         u-grapheme-breaks.h instead of uc_is_grapheme_break.
21672         * lib/unigbrk/uc-grapheme-breaks.c: New file.
21673         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
21674         29.
21675         * tests/unigbrk/test-uc-gbrk-prop.c
21676         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
21677         GBP_GAZ, and GBP_EBG.
21678         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
21679         * tests/unigbrk/test-uc-is-grapheme-break.c
21680         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
21681         GBP_GAZ, and GBP_EBG.
21682         (main): Skip unsupported rules involving 3 or more characters,
21683         namely GB10, GB12, and GB13.
21684         * lib/uniwidth/width.c (nonspacing_table_data): Update.
21685         * all generated files under lib/uni* and tests/uni*: Regenerate.
21686         * all the affected modules: Bump version.
21688 2017-11-26  Bruno Haible  <bruno@clisp.org>
21690         strfmon_l: Fix compilation error with glibc 2.5.
21691         Reported by Tom G. Christensen <tgc@jupiterrise.com>
21692         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
21693         * lib/monetary.in.h: Include also <locale.h>.
21695 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
21697         posixtm: remove PDS_LEADING_YEAR
21698         This changes the API slightly, in a hopefully-innocuous way.
21699         Without this change the code had undefined behavior when a
21700         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
21701         Problem reported by Pádraig Brady in:
21702         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
21703         * NEWS: Mention this.
21704         * lib/posixtm.c (posix_time_parse): Treat the absence of
21705         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
21706         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
21707         present, but define it as zero, for compatibility with existing
21708         source code).  All other PDS_* values moved up.
21709         * tests/test-posixtm.c (LY): New macro.
21710         (T): Use it.  Do not expect a particular numeric encoding
21711         for PDS_CENTURY etc.
21713 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
21715         stat: work around Solaris bug with tv_nsec < 0
21716         * doc/posix-functions/fstat.texi (fstat):
21717         * doc/posix-functions/fstatat.texi (fstatat):
21718         * doc/posix-functions/lstat.texi (lstat):
21719         * doc/posix-functions/stat.texi (stat):
21720         Mention Solaris 11 bug.
21721         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
21722         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
21723         * lib/lstat.c (rpl_lstat):
21724         * lib/stat.c (rpl_stat):
21725         Normalize resulting timestamps.
21726         * lib/fstatat.c (normal_fstatat): New function.
21727         (rpl_fstatat): Use it.
21728         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
21729         (stat_time_normalize): New function.
21730         * m4/fstat.m4 (gl_FUNC_FSTAT):
21731         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
21732         * m4/lstat.m4 (gl_FUNC_LSTAT):
21733         * m4/stat.m4 (gl_FUNC_STAT):
21734         Replace on Solaris.
21735         * modules/fstat (Depends-on):
21736         * modules/fstatat (Depends-on):
21737         Add stat-time.
21738         * modules/stat-time (Depends-on): Add errno, intprops.
21740 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
21742         regex: merge from glibc
21743         * lib/regcomp.c (init_word_char): Add comments.
21745 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
21747         regex: merge from glibc
21748         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
21749         * lib/regex_internal.h (internal_function): Remove.
21750         All uses removed.
21752 2017-11-20  Bruno Haible  <bruno@clisp.org>
21754         crypto/gc-sm3: Fix buffer overrun.
21755         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
21756         Reported by Coverity.
21758 2017-11-12  Jim Meyering  <meyering@fb.com>
21760         maint: shorten https://lists.gnu.org/archive/html/... links
21761         Each /archive/html/ part can be replace with /r/.
21762         Run this to induce the change:
21763         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
21764         * ChangeLog: Perform that substitution.
21765         * Makefile: Likewise.
21766         * STATUS-libposix: Likewise.
21767         * build-aux/bootstrap: Likewise.
21768         * doc/maintain.texi: Likewise.
21769         * gnulib-tool: Likewise.
21770         * lib/allocator.h: Likewise.
21771         * lib/argp-ba.c: Likewise.
21772         * lib/argp-pv.c: Likewise.
21773         * lib/canon-host.c: Likewise.
21774         * lib/canonicalize-lgpl.c: Likewise.
21775         * lib/float.in.h: Likewise.
21776         * lib/fstat.c: Likewise.
21777         * lib/getdelim.c: Likewise.
21778         * lib/getprogname.c: Likewise.
21779         * lib/glthread/thread.h: Likewise.
21780         * lib/intprops.h: Likewise.
21781         * lib/mbsrtowcs-state.c: Likewise.
21782         * lib/safe-read.c: Likewise.
21783         * lib/signal.in.h: Likewise.
21784         * lib/stat.c: Likewise.
21785         * lib/stdbool.in.h: Likewise.
21786         * lib/stdio-impl.h: Likewise.
21787         * lib/stdio.in.h: Likewise.
21788         * lib/sysexits.in.h: Likewise.
21789         * lib/timespec.h: Likewise.
21790         * lib/wcsrtombs-state.c: Likewise.
21791         * m4/alloca.m4: Likewise.
21792         * m4/extern-inline.m4: Likewise.
21793         * m4/fstatat.m4: Likewise.
21794         * m4/gnulib-common.m4: Likewise.
21795         * m4/lib-ignore.m4: Likewise.
21796         * m4/printf.m4: Likewise.
21797         * m4/regex.m4: Likewise.
21798         * m4/stat-size.m4: Likewise.
21799         * m4/std-gnu11.m4: Likewise.
21800         * m4/stdbool.m4: Likewise.
21801         * m4/sys_types_h.m4: Likewise.
21802         * m4/threadlib.m4: Likewise.
21803         * m4/vararrays.m4: Likewise.
21804         * pygnulib/GLImport.py: Likewise.
21805         * tests/test-exp.h: Likewise.
21806         * tests/test-exp2.h: Likewise.
21807         * tests/test-expm1.h: Likewise.
21808         * tests/test-fflush2.c: Likewise.
21809         * tests/test-getopt_long.h: Likewise.
21810         * tests/test-intprops.c: Likewise.
21811         * tests/test-log.h: Likewise.
21812         * tests/test-log10.h: Likewise.
21813         * tests/test-log1p.h: Likewise.
21814         * tests/test-log2.h: Likewise.
21815         * tests/test-printf-posix.h: Likewise.
21816         * tests/test-regex.c: Likewise.
21817         * tests/test-snprintf-posix.h: Likewise.
21818         * tests/test-sprintf-posix.h: Likewise.
21819         * tests/test-stdalign.c: Likewise.
21820         * tests/test-stdbool.c: Likewise.
21821         * tests/test-vasnprintf-posix.c: Likewise.
21822         * tests/test-vasprintf-posix.c: Likewise.
21823         * top/maint.mk: Likewise.
21825 2017-11-12  Bruno Haible  <bruno@clisp.org>
21827         faccessat: Make the last change more robust.
21828         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
21829         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
21831 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21833         faccessat: port to macOS (Bug#29231)
21834         macOS faccessat has the same bug that lstat does: if the file
21835         name ends in '/' it ignores the trailing slash.
21836         Problem reported for Emacs by Vincent Zhang.
21837         * doc/posix-functions/faccessat.texi (faccessat): Document this.
21838         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
21839         around the initial includes.  Include errno.h, string.h, sys/stat.h.
21840         (orig_faccessat) [HAVE_FACCESSAT]: New function.
21841         Include "unistd.h" after defining it.
21842         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
21843         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
21844         Handle in the usual way.
21845         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
21846         lstat dereferences symlinks, since faccessat is likely to
21847         have the same problem.
21848         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
21849         * modules/faccessat (Depends-on): Add fstatat.
21850         Depend if REPLACE_FACCESSAT is 1, too.
21851         (configure.ac): Link if REPLACE_FACCESSAT is 1.
21852         * modules/faccessat-tests (Depends-on): Add symlink.
21853         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
21854         * tests/test-faccessat.c (main): Test for the bug.
21856 2017-11-11  Bruno Haible  <bruno@clisp.org>
21858         getprogname: Fix compilation error on IRIX.
21859         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
21860         'namesize'.
21862 2017-11-11  Bruno Haible  <bruno@clisp.org>
21864         year2038: Tweak last patch.
21865         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
21867 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
21869         year2038: be more insistent about 64-bit time_t
21870         Applications requiring access to arbitrary files should not be
21871         built with 32-bit time_t on hosts that have 64-bit timestamps,
21872         as this can lead to real trouble at runtime.
21873         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
21874         Check on all systems, not just MinGW.  Use a heuristic involving
21875         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
21876         output a failure or just a warning, to make it more likely that
21877         builders will select 64-bit time_t.
21879 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
21881         havelib: fix typo in previous change
21882         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
21884         Don’t use AC_EGREP_CPP if affected by CFLAGS
21885         * m4/float_h.m4 (gl_FLOAT_H):
21886         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
21887         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
21888         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
21889         * m4/year2038.m4 (gl_YEAR2038):
21890         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
21891         likely to be affected by the choice of CFLAGS, since CFLAGS are
21892         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
21893         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
21895         fstatat: pacify GCC on unusual platform
21896         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
21897         Omit, as it’s unused in this case.
21899 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21901         timespec: prefer ‘assume’ to ‘assure’
21902         This avoids some runtime tests.  The rest of the module makes
21903         similar assumptions and there is little point to testing here.
21904         * lib/timespec.h: Include verify.h instead of assure.h.
21905         (timespec_cmp): Use ‘assume’, not ‘assure’.
21906         Also, remove an unnecessary cast to ‘int’, as lots of other
21907         code in this module now causes -Wconversion to complain, and
21908         this is a problem with -Wconversion not with the code.
21910         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
21912         Port recent gnulib-tool change to Dash
21913         * gnulib-tool (func_create_testdir): Don't assume that the shell
21914         retokenizes after expanding "$@" inside the call to
21915         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
21917 2017-10-27  Jim Meyering  <meyering@fb.com>
21919         timespec.h: use "assure" to avoid a spurious warning
21920         * lib/timespec.h: Include "assure.h" and use it to help
21921         gcc7's -Wstrict-overflow avoid a false positive warning
21922         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
21923         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
21924         * modules/timespec (Depends-on): Add assure.
21926 2017-10-29  Bruno Haible  <bruno@clisp.org>
21928         Avoid several test failures with traditional locales on Haiku.
21929         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
21930         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
21931         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
21932         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
21933         LOCALE_ZH_CN=none.
21935 2017-10-29  Bruno Haible  <bruno@clisp.org>
21937         strerror_r-posix: Fix behaviour and test failure on Haiku.
21938         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
21939         are positive. Work around return value 0 instead of ERANGE on Haiku.
21940         For unknown error numbers, use a format string consistent with perror().
21941         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
21942         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
21943         are positive.
21945 2017-10-29  Bruno Haible  <bruno@clisp.org>
21947         get-rusage-data: Avoid crash on Haiku.
21948         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
21950 2017-10-29  Bruno Haible  <bruno@clisp.org>
21952         get-rusage-as: Avoid crash on Haiku.
21953         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
21955 2017-10-29  Bruno Haible  <bruno@clisp.org>
21957         ilogbl: Ensure replacement on Haiku.
21958         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
21959         REPLACE_ILOGBL if ilogbl does not work.
21960         (gl_FUNC_ILOGBL_WORKS): New macro.
21961         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
21962         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
21963         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
21964         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
21965         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
21967 2017-10-29  Bruno Haible  <bruno@clisp.org>
21969         expl: Ensure replacement on Haiku.
21970         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
21971         zero.
21972         * doc/posix-functions/expl.texi: Mention the Haiku problem.
21974 2017-10-29  Bruno Haible  <bruno@clisp.org>
21976         math: Fix test failure on Haiku.
21977         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
21978         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
21979         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
21980         * doc/posix-headers/math.texi: Mention the Haiku problem.
21982 2017-10-29  Bruno Haible  <bruno@clisp.org>
21984         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
21985         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
21986         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
21988 2017-10-29  Bruno Haible  <bruno@clisp.org>
21990         crypto/*: Verify that the header file is self-contained.
21991         * tests/test-gc-*.c: Include the module's header file immediately after
21992         <config.h>.
21993         * tests/test-hmac-*.c: Likewise.
21994         * tests/test-arcfour.c: Likewise.
21995         * tests/test-arctwo.c: Likewise.
21996         * tests/test-des.c: Likewise.
21997         * tests/test-md2.c: Likewise.
21998         * tests/test-md4.c: Likewise.
21999         * tests/test-md5.c: Likewise.
22000         * tests/test-rijndael.c: Likewise.
22001         * tests/test-sha1.c: Likewise.
22002         * tests/test-sm3.c: Likewise.
22004 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22005             Bruno Haible  <bruno@clisp.org>
22007         crypto/gc: fix build failure with -Werror=suggest-attribute=const
22008         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
22010 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22012         New module: crypto/gc-sm3
22013         * lib/gc.h: Declare SM3-related stuffs.
22014         * lib/gc-gnulib.c: Support sm3 in internal functions.
22015         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
22016         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
22017         * modules/crypto/gc-sm3: Define gc-sm3 module.
22018         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
22019         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
22020         * MODULES.html.sh: List gc-sm3 module.
22022 2017-10-29  Bruno Haible  <bruno@clisp.org>
22024         random, random_r: Mention different prototypes on Haiku.
22025         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
22026         * doc/glibc-functions/random_r.texi: Likewise.
22027         * doc/glibc-functions/initstate_r.texi: Likewise.
22028         * doc/glibc-functions/setstate_r.texi: Likewise.
22030 2017-10-28  Bruno Haible  <bruno@clisp.org>
22032         posix_spawn: Avoid spurious message in configure output.
22033         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
22034         'cmp' command.
22036 2017-10-28  Bruno Haible  <bruno@clisp.org>
22038         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
22039         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
22040         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
22042 2017-10-28  Bruno Haible  <bruno@clisp.org>
22044         ioctl: Override non-POSIX declaration on Haiku.
22045         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
22046         * lib/sys_ioctl.in.h: Add comment about Haiku.
22047         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
22048         * doc/glibc-headers/sys_ioctl.texi: Likewise.
22050 2017-10-28  Bruno Haible  <bruno@clisp.org>
22052         crypto/sm3: Add overview documentation to the .h file.
22053         * lib/sm3.h: Add comments.
22055 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22057         New module: crypto/sm3
22058         This new module can be used to compute SM3 message digest of files or
22059         memory blocks according to the specification GM/T 004-2012
22060         Cryptographic Hash Algorithm SM3, published by State Cryptography
22061         Administration, China.
22062         The official SM3 cryptographic hash algorithm specification is
22063         available at
22064         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
22065         * lib/sm3.h: Declare the APIs of sm3 module.
22066         * lib/sm3.c: Implement SM3 hash algorithm.
22067         * m4/sm3.m4: m4 file for sm3 module.
22068         * modules/crypto/sm3: Define sm3 module.
22069         * tests/test-sm3.c: Implement SM3 test case.
22070         * modules/crypto/sm3-tests: Define sm3 test module.
22071         * MODULES.html.sh: List sm3 module.
22073 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22075         gc-libgcrypt: fix undefined enum type in switch statement
22076         Resolve the following build failure:
22077         lib/gc-libgcrypt.c: In function 'gc_hash_open':
22078         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
22079         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
22080              case 0:
22081              ^~~~
22082         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
22083         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
22085 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
22087         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
22088         Resolve the following build failure:
22089         lib/gc-libgcrypt.c: In function 'gc_hash_read':
22090         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
22091         in signedness [-Werror=pointer-sign]
22092             digest = gcry_md_read (ctx->gch, 0);
22093                    ^
22094         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
22096 2017-10-26  Bruno Haible  <bruno@clisp.org>
22098         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
22099         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
22100         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
22102 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
22104         glob: fix another heap buffer overflow
22105         Problem reported by Tim Rühsen in:
22106         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
22107         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
22109 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
22111         quotearg: pacify compiler re unsigned
22112         * lib/quotearg.c (quotearg_n_options):
22113         Rewrite to avoid diagnostic from overly-picky compiler.
22114         Problem reported by Sami Kerola in:
22115         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
22117         glob: fix heap buffer overflow
22118         * lib/glob.c (glob): Fix off-by-one error introduced into
22119         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
22120         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
22121         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
22122         Fix suggested by Bruno Haible.
22124 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
22126         glob: pacify fuzzer for mempcpy
22127         Problem reported by Tim Rühsen in:
22128         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
22129         * lib/glob.c (glob): Do not pass NULL to mempcpy.
22131 2017-10-12  Bruno Haible  <bruno@clisp.org>
22133         doc: Fix syntax error (regression from 2017-10-03).
22134         * doc/posix-functions/strncpy.texi: Fix syntax error.
22136 2017-10-12  Bruno Haible  <bruno@clisp.org>
22138         doc: Update for Solaris 11.3.
22139         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
22140         mention Solaris 11.3.
22141         * m4/log2.m4: Fix comments.
22142         * m4/log2f.m4: Likewise.
22143         * m4/printf.m4: Update comments.
22144         * m4/rename.m4: Likewise.
22145         * m4/strncat.m4: Likewise.
22147         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
22149 2017-10-10  Bruno Haible  <bruno@clisp.org>
22151         doc: Improve doc about ioctl.
22152         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
22153         prototype.
22155 2017-10-09  Bruno Haible  <bruno@clisp.org>
22157         wcwidth: Don't use obsolete syntax of 'test'.
22158         Reported by Eric Blake.
22159         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
22160         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
22162 2017-10-09  Bruno Haible  <bruno@clisp.org>
22164         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
22165         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
22166         and Daniel P. Berrange <berrange@redhat.com>.
22167         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
22168         on glibc systems. The getopt-pfx-core.h file declares exactly what
22169         unistd.h needs, nothing more.
22171 2017-10-08  Bruno Haible  <bruno@clisp.org>
22173         vma-iter: Improve support for FreeBSD.
22174         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
22175         vma_iterate.
22176         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
22178 2017-10-08  Bruno Haible  <bruno@clisp.org>
22180         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
22181         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
22183 2017-10-07  KO Myung-Hun  <komh@chollian.net>
22185         test-framework-sh: Fix 'invalid path dir' error.
22186         On OS/2, a path separator is ';' not ':'. And ':' is used as a
22187         separator between a drive letter and directory parts.
22188         As a result, an absolute path such as x:/path/to/dir on OS/2 is
22189         treated as an invalid path dir.
22190         * tests/init.sh (PATH_SEPARATOR): Set at startup.
22191         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
22192         instead of hard coded ':'.
22194 2017-10-07  Bruno Haible  <bruno@clisp.org>
22196         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
22197         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
22198         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
22199         (rof_open): On Linux, do multiple read() calls and make sure
22200         MIN_LEFTOVER bytes are left when read() returns.
22202 2017-10-07  Bruno Haible  <bruno@clisp.org>
22204         vma-iter: Improve support for GNU/Hurd.
22205         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
22206         API, not the /proc file system.
22208 2017-10-07  Bruno Haible  <bruno@clisp.org>
22210         test-framework-sh: Don't require bash on Windows and OS/2.
22211         Reported by KO Myung-Hun.
22212         * tests/test-init.sh: Use 'shopt' only when running in bash.
22214 2017-10-06  KO Myung-Hun  <komh@chollian.net>
22216         wcwidth: check a macro version of wcwidth () as well
22217         * lib/wchar.in.h: Revert commit from 2016-01-14.
22218         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
22220 2017-10-06  Bruno Haible  <bruno@clisp.org>
22222         getopt-posix: Clarify copyright header.
22223         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
22224         * lib/getopt-pfx-core.h: Likewise.
22225         * lib/getopt-pfx-ext.h: Likewise.
22226         * lib/getopt-cdefs.in.h: Likewise.
22228 2017-10-03  Bruno Haible  <bruno@clisp.org>
22230         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
22231         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
22232         gl_HOST_CPU_C_ABI.
22234 2017-10-03  Bruno Haible  <bruno@clisp.org>
22236         doc: warn about misuse of strncpy and wcsncpy.
22237         * doc/posix-functions/strcpy.texi: Describe requirements on prior
22238         memory allocation.
22239         * doc/posix-functions/wcscpy.texi: Likewise.
22240         * doc/posix-functions/strncpy.texi: Describe what this function is not
22241         useful for.
22242         * doc/posix-functions/wcsncpy.texi: Likewise.
22244 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
22246         fsuage: fix typo in previous change
22247         * lib/fsusage.c: Remove stray include of full-read.h.
22248         Problem reported by Sam Steingold for macOS (Bug#28669).
22250 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
22252         fsusage: remove SVR2 support
22253         SVR2 was obsolete by 1986 and is no longer supported by anybody,
22254         and its code was getting in the way of use of this module by
22255         Emacs, which has its own ‘read’ function anyway.
22256         * lib/fsusage.c: Do not include sys/filsys.h.
22257         (get_fs_usage): Remove SVR2-specific code.
22258         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
22259         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
22260         * modules/fsusage (Depends-on): Do not depend on full-read.
22262         Simplify autoupdate of licenses
22263         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
22264         place.
22266 2017-10-01  Bruno Haible  <bruno@clisp.org>
22268         vma-iter: Add support for GNU/Hurd.
22269         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
22270         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
22272 2017-09-30  Bruno Haible  <bruno@clisp.org>
22274         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
22275         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
22276         fail when module 'largefile' is in use.
22277         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
22278         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
22279         Don't test HAVE_SYS_PROCFS_H.
22281 2017-09-30  Bruno Haible  <bruno@clisp.org>
22283         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
22284         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
22285         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
22286         * modules/havelib (Depends-on): Add host-cpu-c-abi.
22288 2017-09-30  Bruno Haible  <bruno@clisp.org>
22290         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
22291         * lib/uniname/uniname.c (unicode_name_character): Add braces around
22292         scope of local variables.
22294 2017-09-28  Bruno Haible  <bruno@clisp.org>
22296         string: code style
22297         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
22298         substitutable variables.
22299         * modules/string (Makefile.am): Likewise.
22301 2017-09-26  Bruno Haible  <bruno@clisp.org>
22303         uniname/uniname-tests: Tighten code.
22304         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
22305         local variables into one.
22307 2017-09-26  Bruno Haible  <bruno@clisp.org>
22309         vma-iter: Improvements for Linux and BSD platforms.
22310         - Add support for DragonFly BSD.
22311         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
22312         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
22313         Read the entire file into memory in a single system call.
22314         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
22315         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
22317 2017-09-26  Bruno Haible  <bruno@clisp.org>
22319         vma-iter: Provide the protection flags on FreeBSD.
22320         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
22321         skip three fields between the addresses and the protection flags.
22323 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
22325         glob: remove bogus extern decl
22326         * lib/glob.c (__glob_pattern_type): Remove now-spurious
22327         extern declaration.  Problem reported by Adhemerval Zanella in:
22328         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
22330 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
22332         uniname/uniname-tests: integer overflow fix
22333         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
22334         Check for integer overflow.
22336         duplocale-tests: fix unlikely crash
22337         * tests/test-duplocale.c (get_locale_dependent_values):
22338         Don’t crash with absurdly long month names.
22340         maint: fix overflow checking in nap.h
22341         * modules/chown-tests:
22342         * modules/fchownat-tests, modules/fdutimensat-tests:
22343         * modules/futimens-tests, modules/lchown-tests:
22344         * modules/stat-time-tests, modules/utime-tests:
22345         * modules/utimens-tests, modules/utimensat-tests:
22346         Depend on intprops.
22347         * tests/nap.h: Include intprops.h.
22348         (diff_timespec): Handle overflow properly.
22350         sys_types: update URL
22351         * m4/sys_types_h.m4: Use https: URL.
22353         parse-datetime: fix dependency
22354         * modules/parse-datetime (Depends-on): Depend
22355         on nstrftime, not strftime.
22357         parse-datetime, posixtm: avoid uninit access
22358         * lib/parse-datetime.y (parse_datetime2):
22359         * lib/posixtm.c (posixtime):
22360         Do not access uninitialized storage, even though the resulting
22361         value is never used.
22363 2017-09-25  Bruno Haible  <bruno@clisp.org>
22365         vma-iter: Improvements for BSD platforms.
22366         - Add support for GNU/kFreeBSD.
22367         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
22368         - Speed up on OpenBSD.
22369         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
22370         (vma_iterate_bsd): New function.
22371         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
22372         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
22373         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
22374         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
22376 2017-09-23  Bruno Haible  <bruno@clisp.org>
22378         strfmon_l: New module.
22379         * modules/strfmon_l: New file.
22380         * lib/strfmon_l.c: New file.
22381         * m4/strfmon_l.m4: New file.
22382         * doc/posix-functions/strfmon_l.texi: Mention the new module.
22383         * modules/strfmon_l-tests: New file.
22384         * tests/test-strfmon_l.c: New file.
22386         monetary: New module.
22387         * modules/monetary: New file.
22388         * lib/monetary.in.h: New file.
22389         * m4/monetary_h.m4: New file.
22390         * doc/posix-headers/monetary.texi: Mention the new module.
22391         * modules/monetary-tests: New file.
22392         * tests/test-monetary.c: New file.
22393         * modules/monetary-c++-tests: New file.
22394         * tests/test-monetary-c++.cc: New file.
22395         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
22397 2017-09-23  Bruno Haible  <bruno@clisp.org>
22399         duplocale tests: Fix test crash on Linux/x86.
22400         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
22401         locale from the current thread before freeing it.
22403 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
22405         mktime: port to OpenVMS
22406         Problem reported by John E. Malmberg in:
22407         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
22408         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
22410 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22412         manywarnings: port to GCC on 64-bit MS-Windows
22413         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
22414         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
22415         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
22417 2017-09-13  Bruno Haible  <bruno@clisp.org>
22419         all: Replace many more http URLs by https URLs. Update stale URLs.
22420         * users.txt: Remove mention of 'newts'.
22421         * lib/localename.c: Update comment about LANG_SOTHO.
22423 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22425         all: Replace many http URLs by https URLs.
22427 2017-09-12  Bruno Haible  <bruno@clisp.org>
22429         doc: Prefer https URLs where possible.
22430         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
22431         * doc/ld-output-def.texi: Remove unavailable URL.
22433 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
22435         maintainer-makefile: FTP -> HTTPS
22436         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
22437         of FTP, which is planned to be decommissioned on 2017-11-01.
22439 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
22441         libc-config: Fix __GNUC_PREREQ macro.
22442         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
22443         __GNUC_MINOR.
22445 2017-09-09  Bruno Haible  <bruno@clisp.org>
22447         gnulib-tool: Simplify commit from 2015-08-20.
22448         * gnulib-tool (func_add_or_update): Remove local variable
22449         is_binary_file.
22451 2017-09-08  Bruno Haible  <bruno@clisp.org>
22453         stddef: Avoid conflict with system-defined max_align_t.
22454         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
22455         Reported by Werner Lemberg <wl@gnu.org> in
22456         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
22457         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
22458         (max_align_t): Define as a macro.
22459         (GNULIB_defined_max_align_t): New macro. Guards against multiple
22460         definitions of rpl_max_align_t in different copies of gnulib-generated
22461         <stddef.h>.
22463 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
22465         libc-config: port to MSVC
22466         Problems reported by Gisle Vanem in:
22467         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
22468         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
22469         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
22470         * m4/__inline.m4: New file.
22471         * modules/libc-config (Files): Add it.
22472         (Depends-on): Use it.
22474         glob: Use enum for __glob_pattern_type result
22475         From a patch proposed by Adhemerval Zanella in:
22476         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
22477         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
22478         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
22479         * lib/glob_internal.h (__glob_pattern_type):
22480         * lib/glob.c (glob):
22481         * lib/glob_pattern_p.c (__glob_pattern_p):
22482         Use them.
22484         glob: fix for use in glibc
22485         Problem reported by Adhemerval Zanella in:
22486         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
22487         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
22488         Do not redefine if _LIBC.
22490 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22492         glob: fix bugs with long login names
22493         Problem reported by Adhemerval Zanella in:
22494         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
22495         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
22496         (glob): Use the same scratch buffer for both getlogin_r and
22497         getpwnam_r.  Don’t require preallocation of the login name.  This
22498         simplifies storage allocation, and corrects the handling of
22499         long login names.
22501 2017-09-02  Bruno Haible  <bruno@clisp.org>
22503         dirent: Update doc.
22504         * doc/posix-headers/dirent.texi: More concrete list of platforms.
22506 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22508         glob: fix getpwnam_r errno typo
22509         * lib/glob.c (glob): Fix longstanding misuse of errno after
22510         getpwnam_r, which returns an error number rather than setting
22511         errno.
22513         glob: fix typo in recent change
22514         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
22515         Fix recently-introduced typo.
22517 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22519         glob: don't save and restore errno unnecessarily
22520         * lib/glob.c (glob): Don't save and restore errno
22521         merely because we have getpwnam_r.
22523         glob: don't assume getpwnam_r
22524         * lib/glob.c (glob): Port recent patches to platforms
22525         lacking getpwnam_r.
22527         scratch_buffer: don’t use private glibc API
22528         Suggested by Florian Weimer in:
22529         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
22530         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
22531         * lib/scratch_buffer_grow.c: Rename to
22532         lib/malloc/scratch_buffer_grow.c.
22533         * lib/scratch_buffer_grow_preserve.c: Rename to
22534         lib/malloc/scratch_buffer_grow_preserve.c.
22535         * lib/scratch_buffer_set_array_size.c: Rename to
22536         lib/malloc/scratch_buffer_set_array_size.c.
22537         * lib/scratch_buffer.h: New file.
22538         * modules/scratch_buffer (Files, Makefile.am):
22539         Adjust to source-file renaming.
22541 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22543         glob: use scratch_buffer instead of extend_alloca
22544         Much of the lib/glob.c part of this patch comes from a glibc patch
22545         proposed by Adhemerval Zanella in:
22546         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
22547         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
22548         included via glob.h, does this for us now.
22549         (__set_errno): Remove, as libc-config does this for us now.
22550         Include <scratch_buffer.h>.
22551         (GETPW_R_SIZE_MAX): Remove.
22552         (glob): Use struct scratch_buffer instead of extend_alloca.
22553         * lib/glob.in.h: Include libc-config.h rather than
22554         including <sys/cdefs.h> conditionally.
22555         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
22556         (__glibc_unlikely, __restrict, weak_alias):
22557         Remove, as libc-config does this for us now.
22558         * m4/glob.m4 (gl_PREREQ_GLOB):
22559         Remove sys/cdefs.h tests; no longer needed.
22560         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
22561         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
22563         scratch_buffer: new module
22564         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
22565         * lib/scratch_buffer_grow_preserve.c:
22566         * lib/scratch_buffer_set_array_size.c:
22567         New files, copied from glibc with very minor changes that can be
22568         copied back.
22569         * modules/scratch_buffer: New file.
22571         libc-config: new module
22572         * MODULES.html.sh: Add libc-config.
22573         * lib/cdefs.h: New file, copied from the GNU C Library with very
22574         minor changes that can be copied back.
22575         * lib/libc-config.h, modules/libc-config: New files.
22577 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22579         glob: match dangling symlinks
22580         This fixes a bug I inadvertently introduced to Gnulib when I
22581         merged glibc glob back into gnulib on 2007-10-16.  This fix is
22582         inspired by a patch proposed for glibc by Adhemerval Zanella in:
22583         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
22584         * doc/posix-functions/glob.texi: Update list of affected platforms.
22585         * lib/glob.c (__lstat64): New macro.
22586         (is_dir): New function.
22587         (glob, glob_in_dir): Match symlinks even if they are dangling.
22588         (link_stat, link_exists_p): Remove.  All uses removed.
22589         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
22590         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
22591         * modules/glob-tests (Depends-on): Add symlink.
22592         * tests/test-glob.c: Include errno.h, unistd.h.
22593         (BASE): New macro.
22594         (main): Test dangling symlinks, if symlinks are supported.
22596         glob, backupfile: inode 0 is a valid inode number
22597         * doc/posix-functions/readdir.texi (readdir):
22598         * doc/posix-headers/dirent.texi (dirent.h):
22599         Document more readdir portability issues.
22600         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
22601         (numbered_backup): Don’t treat inode 0 any differently from
22602         other inode values.
22603         * lib/glob.c (struct readdir_result): Remove skip_entry member.
22604         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
22605         All uses removed.
22606         * modules/glob (Depends-on): Remove d-ino.
22608         glob: simplify symlink detection
22609         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
22610         uint8_t, as C99 does not require uint8_t.
22611         (struct readdir_result): Use it.  Do not define skip_entry unless
22612         it is needed; this saves a byte on platforms lacking d_ino.
22613         (readdir_result_type, readdir_result_skip_entry):
22614         New functions, replacing ...
22615         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
22616         ... these functions, which were removed.  This makes the callers
22617         easier to read.  All callers changed.
22618         (D_INO_TO_RESULT): Now empty if there is no d_ino.
22620 2017-08-30  Pádraig Brady  <P@draigBrady.com>
22622         fts-tests: tag as a longrunning-test so not included by default
22623         * modules/fts-tests: This test takes about 20s on current systems,
22624         and uses about 285M of space on ext4.
22626 2017-08-30  Pádraig Brady  <P@draigBrady.com>
22628         renameat2: fix compilation on alpine linux
22629         * m4/renameat.m4: Check for <linux/fs.h> presence.
22630         * lib/renameat2.h: Only include <linux/fs.h> if present.
22631         Reported by Assaf Gordon on Alpine Linux.
22633 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22635         glob: try to port recent changes to MS-Windows
22636         Problem reported by Bruno Haible in:
22637         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
22638         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
22639         * lib/glob.in.h (__glob_pattern_p): ... to here.
22641 2017-08-24  Eric Blake  <eblake@redhat.com>
22643         warnings: fix compilation with old autoconf
22644         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
22645         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
22646         AC_DEFUN.
22647         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
22648         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
22650 2017-08-24  Bruno Haible  <bruno@clisp.org>
22652         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
22653         * modules/glob (Depends-on): Add c99.
22655 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22657         glob: fix typo that broke platforms lacking d_ino
22658         This typo also hurt performance on GNU/Linux and similar hosts.
22659         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
22660         in previous change.
22662 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
22664         glob: merge from glibc with Zanella glob changes
22665         Merge glob from glibc, with changes for glob proposed
22666         by Adhemerval Zanella in the thread starting here:
22667         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
22668         plus some fixes for this merge.
22669         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
22670         New files, ported from glibc.
22671         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
22672         with __restrict.
22673         (__size_t): Remove.  All uses replaced by size_t.
22674         (size_t): Define by defining __need_size_t and including <stddef.h>.
22675         This should work even in non-glibc platforms, where any name
22676         pollution is OK.
22677         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
22678         (struct stat64): Don’t worry about __GLOB_GNULIB.
22679         (glob, globfree, glob_pattern_p): Remove macros for
22680         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
22681         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
22682         but set errno.
22683         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
22684         removed since the glibc behavior works on null pointers.
22685         Do not include stdio.h; old SunOS is irrelevant now.
22686         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
22687         Include glob_internal.h.
22688         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
22689         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
22690         worked only coincidentally.
22691         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
22692         Remove macros; now done in glob.in.h.
22693         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
22694         (glob): Properly initialize glob structure with
22695         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
22696         Remove old code using SHELL since Bash no longer
22697         uses this.
22698         (glob, prefix_array): Separate MS code better.
22699         (glob, glob_in_dir): Use C99 decls before statements when glibc
22700         does.
22701         (glob_in_dir): Remove old Amiga and VMS code.
22702         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
22703         separate files.
22704         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
22705         (__glibc_unlikely):
22706         Move here from glob.c.
22707         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
22708         (weak_alias): New macro.
22709         (__size_t): Remove.  All uses replaced by size_t.
22710         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
22711         * modules/glob (Files): Add +lib/glob_internal.h,
22712         lib/glob_pattern_p.c, lib/globfree.c.
22713         (Depends-on): Remove snippet/arg-nonnull.
22715 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
22717         glob: port to clang's Undefined Sanitizer
22718         Problem reported by Tim Rühsen in:
22719         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
22720         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
22721         (glob_in_dir): Do not rely on undefined behavior in accessing
22722         struct members beyond their bounds.  Use a flexible array member
22723         instead.
22725 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
22727         vc-list-files: port to Solaris 10
22728         * build-aux/vc-list-files: Don't assume test -e works.
22730 2017-08-21  Karl Berry  <karl@freefriends.org>
22732         * doc/posix-functions/srandom.texi (srandom): typo }.
22734 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
22736         git-version-gen: port to Solaris 10
22737         Problem reported by Dagobert Michelsen in:
22738         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
22739         * build-aux/git-version-gen (v_from_git):
22740         Use expr instead of shell substitution.
22742 2017-08-19  Bruno Haible  <bruno@clisp.org>
22744         host-cpu-c-abi: Improve detection of MIPS ABI.
22745         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
22746         _MIPS_SIM.
22748 2017-08-17  Bruno Haible  <bruno@clisp.org>
22750         hypot tests: Fix test failure on FreeBSD 11.0/x86.
22751         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
22753 2017-08-17  Bruno Haible  <bruno@clisp.org>
22755         float: Fix LDBL_MIN value on FreeBSD/x86.
22756         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
22758 2017-08-17  Bruno Haible  <bruno@clisp.org>
22760         random: Fix test compilation failure on Cygwin 1.5.25.
22761         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
22762         HAVE_DECL_SETSTATE.
22763         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
22764         declared.
22765         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
22766         HAVE_DECL_SETSTATE.
22767         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
22768         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
22769         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
22770         * doc/posix-functions/random.texi: Likewise.
22771         * doc/posix-functions/setstate.texi: Likewise.
22772         * doc/posix-functions/srandom.texi: Likewise.
22774 2017-08-16  Bruno Haible  <bruno@clisp.org>
22776         stdnoreturn: Fix test compilation failure on Cygwin.
22777         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
22778         <stdnoreturn.h> replacement.
22779         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
22780         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
22782 2017-08-16  Bruno Haible  <bruno@clisp.org>
22784         thread: Fix conflict with pthread_sigmask module.
22785         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
22786         it's defined as a macro.
22787         * modules/thread (Depends-on): Add pthread_sigmask.
22789 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
22791         rename: port better to NetBSD
22792         * doc/posix-functions/rename.texi (rename): NetBSD 7
22793         does not have the link-count bug.
22794         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
22795         broken merely because rename ("a", "b") removes "a" when the two
22796         names are hard links to the same file.
22798 2017-08-16  Bruno Haible  <bruno@clisp.org>
22800         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
22801         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
22802         the target file names with '$(srcdir)/'.
22803         * modules/unicase/locale-language (Makefile.am): Likewise.
22804         * modules/unicase/special-casing (Makefile.am): Likewise.
22805         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
22806         * modules/unictype/category-byname (Makefile.am): Likewise.
22807         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
22808         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
22809         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
22810         * modules/unictype/property-byname (Makefile.am): Likewise.
22811         * modules/unictype/scripts (Makefile.am): Likewise.
22812         * modules/uninorm/composition (Makefile.am): Likewise.
22814 2017-08-16  Bruno Haible  <bruno@clisp.org>
22816         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
22817         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
22818         value for OpenBSD.
22820 2017-08-16  Bruno Haible  <bruno@clisp.org>
22822         rename, renameat: Update doc regarding NetBSD.
22823         * doc/posix-functions/rename.texi: Clarify that when using
22824         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
22825         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
22826         version.
22828 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
22830         renameat2: port better to macOS
22831         * lib/renameat2.c (renameat2): Use renameatx_np if available.
22833         futimens: don’t assume struct timespec layout
22834         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
22835         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
22836         * tests/test-fdutimensat.c (main):
22837         * tests/test-futimens.h (test_futimens):
22838         * tests/test-lutimens.h (test_lutimens):
22839         * tests/test-utimens.h (test_utimens):
22840         * tests/test-utimensat.c (main):
22841         Don’t assume that struct timespec is a two-member structure in
22842         tv_sec, tv_nsec order.  Although this is true on all platforms we
22843         know about, POSIX does not guarantee it.
22845         rename: document+test NetBSD rename
22846         Test failure reported by Bruno Haible in:
22847         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
22848         This is an area where NetBSD is better-behaved than POSIX,
22849         so allow the NetBSD behavior in tests.
22850         * doc/posix-functions/rename.texi:
22851         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
22852         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
22854 2017-08-15  Bruno Haible  <bruno@clisp.org>
22856         renameat: Ensure declaration in <stdio.h> on NetBSD.
22857         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
22858         * doc/posix-functions/renameat.texi: Mention this problem.
22860 2017-08-15  Bruno Haible  <bruno@clisp.org>
22862         duplocale: Work around NetBSD 7.0 bug.
22863         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
22864         * lib/duplocale.c: Add comment about NetBSD problem.
22865         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
22867 2017-08-15  Bruno Haible  <bruno@clisp.org>
22869         duplocale tests: Verify use with *_l functions.
22870         * modules/duplocale-tests (configure.ac): Test for uselocale and
22871         some *_l functions.
22872         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
22873         from main.
22874         (get_locale_dependent_values_from, test_with_locale_parameter): New
22875         functions.
22876         (main): Test both test_with_uselocale and test_with_locale_parameter.
22878 2017-08-15  Bruno Haible  <bruno@clisp.org>
22880         extensions: Enable NetBSD specific extensions.
22881         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
22883 2017-08-14  Bruno Haible  <bruno@clisp.org>
22885         open, openat: Update doc about O_CLOEXEC.
22886         * doc/posix-functions/open.texi: More concrete list of platforms.
22887         * doc/posix-functions/openat.texi: Likewise.
22889 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
22891         open: support O_CLOEXEC
22892         * NEWS, doc/posix-functions/open.texi:
22893         * doc/posix-functions/openat.texi: Document this.
22894         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
22895         (GNULIB_defined_O_CLOEXEC): New symbol.
22896         * lib/open.c: Include cloexec.h.
22897         (open): Support O_CLOEXEC.
22898         * lib/openat.c: Include cloexec.h.
22899         (rpl_openat): Support O_CLOEXEC.
22900         * lib/popen-safer.c: Do not include cloexec.h.
22901         (open_noinherit): Remove.
22902         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
22903         * lib/save-cwd.c: Do not include cloexec.h.
22904         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
22905         * m4/open-cloexec.m4: New file.
22906         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
22907         Replace 'open' if O_CLOEXEC is not present.
22908         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
22909         Replace 'openat' if O_CLOEXEC is not present.
22910         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
22911         * modules/open (Files): Add m4/open-cloexec.m4.
22912         (Depends-on): Depend on cloexec if replacing 'open'.
22913         * modules/openat (Files): Add m4/open-cloexec.m4.
22914         (Depends-on): Depend on cloexec if replacing openat.
22915         * modules/popen-safer (Depends-on): Remove cloexec.
22916         * modules/save-cwd (Depends-on): Remove cloexec, and add
22917         fd-safer-flag and 'open'.
22919 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
22921         reallocarray: minor fixes
22922         * doc/glibc-functions/reallocarray.texi: Update version numbers.
22923         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
22924         * modules/reallocarray (License): Change from GPL to LGPL.
22925         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
22926         Indent properly and don't use tabs.
22928 2017-08-13  Darshit Shah  <darnir@gnu.org>
22930         reallocarray: New module
22931         reallocarray is a new function in glibc 2.26 to safely allocate an array
22932         of memory locations with integer overflow protection.
22933         * MODULES.html.sh: Add reallocarray.
22934         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
22935         * lib/reallocarray.c: New file to implement module reallocarray.
22936         * lib/stdlib.in.h: Add function declarations for reallocarray.
22937         * m4/reallocarray.m4: New file.
22938         * m4/stdlib_h.m4: Declare reallocarray.
22939         * modules/reallocarray: New file.
22940         * modules/reallocarray-test: New file.
22941         * modules/stdlib: Coerce stdlib.h to export reallocarray.
22942         * tests/test-reallocarray.c: New test.
22944 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
22946         dirent-safer: fix cloexec race
22947         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
22948         (opendir_safer): Use F_DUPFD_CLOEXEC.
22949         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
22950         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
22951         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
22952         instead of dup_safer.
22954         fts: fix cloexec races
22955         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
22956         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
22957         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
22958         (fd_ring_check): Set cloexec flag on new file descriptors.
22959         (fts_build, fd_ring_check): While we’re at it, make sure the
22960         resulting file descriptor is not 0, 1, or 2, since that is easy.
22962 2017-08-11  Bruno Haible  <bruno@clisp.org>
22964         fts tests: Fix link error.
22965         Reported by Tom G. Christensen in
22966         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
22967         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
22969 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
22971         fts: port recent changes to CentOS 6
22972         Problem reported by Tom G. Christensen in:
22973         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
22974         * lib/fts.c (fsword): New type.
22975         (struct dev_type, filesystem_type): Use it.
22976         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
22977         Also, check for f_type only if fstatfs and sys/vfs.h work.
22979 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
22981         tempname: do not depend on secure_getenv
22982         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
22983         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
22984         * modules/tempname (Depends-on): Remove secure_getenv.
22986 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
22988         extensions: add _OPENBSD_SOURCE
22989         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
22991 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
22992             Bruno Haible  <bruno@clisp.org>
22994         manywarnings: Add support for C++.
22995         * build-aux/g++-warning.spec: New file.
22996         * m4/manywarnings-c++.m4: New file.
22997         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
22998         redirects to manywarnings-c++.m4.
22999         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
23001 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
23003         git-version-gen: another fix for tags with "-"
23004         * build-aux/git-version-gen: Improve fix for tags containing "-".
23005         Suggested by Markus Armbruster in:
23006         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
23008 2017-08-06  Bruno Haible  <bruno@clisp.org>
23010         warnings, manywarnings: Add support for multiple languages, not just C.
23011         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
23012         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
23013         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
23014         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
23015         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
23016         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
23017         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
23018         of the current language. If C++ is the current language, modify
23019         WARN_CXXFLAGS instead of WARN_CFLAGS.
23020         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
23021         gl_MANYWARN_ALL_GCC.
23022         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
23024 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
23026         git-version-gen: Fix for tags containing '-'
23028         Really old versions of git-describe (before v1.5.0, Feb 2007)
23029         don't have the number of commits in their long format output,
23030         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
23031         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
23032         recognizes both patterns, and normalizes the old format to the new one.
23034         Unfortunately, this normalization code gets confused when the tag
23035         contains '-'.  Reproducer:
23037             $ git-tag -m test v0.2-rc1
23038             $ build-aux/git-version-gen .tarball-version; echo
23039             build-aux/git-version-gen: WARNING: git rev-list failed
23040             UNKNOWN
23042         We take exact tag "v0.2-rc1" for the old format, extract the presumed
23043         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
23044         commits since tha tag.  Fails, because tag "v0.2" does not exist.
23046         * git-version-gen: We could perhaps drop support for versions from
23047         more than a decade ago.  But tightening the pattern match is easy
23048         enough, so do that.  Still breaks when you use version tags ending in
23049         something matching -g????, but you arguably get what you deserve then.
23051 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
23053         valgrind-tests: use ls, and cache
23054         * m4/valgrind-tests.m4: Test ls, not bash.
23055         Problem reported by Reuben Thomas.
23056         Also, cache the result so that it can be overridden.
23058 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
23060         manywarnings: port to 64-bit GCC builds of Emacs
23061         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
23062         object size rather than hardwiring 2147483647.  This is needed to
23063         build GNU Emacs, which has one conditional (and used
23064         only-in-theory) call to malloc with a literal greater than
23065         2147483647.
23067 2017-08-04  Bruno Haible  <bruno@clisp.org>
23069         Relax the license of some modules with no runtime code.
23070         * modules/std-gnu11 (License): Set to 'unlimited'.
23071         * modules/c99 (License): Likewise.
23072         Reported by Reuben Thomas <rrt@sc3d.org>.
23073         * modules/d-ino (License): Set to 'LGPL'.
23074         * modules/host-os (License): Likewise.
23075         * modules/longlong (License): Likewise.
23077 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
23079         renameat2: port to RHEL 7 + NFS
23080         * lib/renameat2.c (renameat2) [SYS_renameat2]:
23081         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
23082         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
23084 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
23086         renameat2: port to non-renameat platforms
23087         Problem reported for MSVC-2015 by Gisle Vanem in:
23088         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
23089         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
23090         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
23092 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
23094         manywarnings: port to 32-bit GCC bug
23095         Problem reported by Pino Toscano in:
23096         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
23097         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
23098         not 2**63 - 1, to work around the following GCC bug:
23099         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
23101 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
23103         backupfile: new function to validate backup suffix
23104         * lib/backupfile.c (set_simple_backup_suffix): New function.
23105         (backupfile_internal): Use it.
23107         canonicalize: fix EOVERFLOW commentary
23108         Problem reported by Bruno Haible in:
23109         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
23110         * lib/canonicalize.c (canonicalize_filename_mode):
23111         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
23113         Don't interpret EOVERFLOW to mean nonexistence
23114         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
23115         may be EOVERFLOW; this is likely more useful than reporting the
23116         stat errno.
23117         * lib/glob.c (link_stat): Rename from link_exists2_p and
23118         return -1/0 instead of 0/1.  Caller changed.
23119         * lib/glob.c (link_exists_p):
23120         * lib/renameat2.c (rename_noreplace, renameat2):
23121         * lib/tempname.c (try_nocreate):
23122         If errno == EOVERFLOW then the directory entry exists, so do not
23123         act as if it does not exist.
23125         backup-rename: new module
23126         It is like backupfile, except it avoids some race conditions,
23127         and it does not output to stderr or exit.
23128         * MODULES.html.sh: Add backup-rename.
23129         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
23130         * modules/backup-rename: New files.
23131         * lib/backupfile.c: Turn this into an internals file, which
23132         contains code common to backupfile and backup_rename.  Include
23133         backupfile-internal.h instead of backupfile.h.  Do not include
23134         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
23135         renameat2.h and fcntl.h.
23136         (BACKUP_NOMEM): New constant.
23137         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
23138         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
23139         (backupfile_internal): Rename from find_backup_file_name.
23140         Support new arg RENAME.
23141         (backup_args, backup_types, get_version, xget_version):
23142         Move to lib/backup-find.c.
23143         * lib/backupfile.h (backup_file_rename): New decl.
23144         * modules/backupfile (Files): Add lib/backup-internal.h,
23145         lib/backup-find.c.
23146         (Depends-on): Add dirfd, fcntl, renameat2.
23147         (lib_SOURCES): Add backup-find.c.
23149         renameat2: port better to older Solaris
23150         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
23151         Add goto to use a label, to silence picky compilers.
23153         fts-tests: port to gcc -Wwrite-strings
23154         * tests/test-fts.c (base, base_d): New static vars.
23155         (argv, remove_tree, main): Use them.
23157 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
23159         relocatable-lib{,-lgpl}: improve documentation
23160         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
23161         Various other updates.
23163 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
23164             Bruno Haible  <bruno@clisp.org>
23166         relocatable-lib{,-lgpl}: add Valgrind suppressions
23167         * lib/relocatable.valgrind: New file.
23168         * modules/relocatable-lib (Files): Add relocatable.valgrind.
23169         * modules/relocatable-lib-lgpl: Likewise.
23171 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
23173         relocatable: Make the license on the sources the GPL.
23174         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
23175         LGPL, which was a special case so that the relocatable source files
23176         could be used without gnulib-tool, to GPL. They can still be used under
23177         the LGPL, using the --lgpl option to gnulib-tool.
23179 2017-07-30  Bruno Haible  <bruno@clisp.org>
23181         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
23182         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
23183         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
23184         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
23185         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
23187 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
23189         faccessat: document AT_SYMLINK_NOFOLLOW issue
23190         * doc/posix-functions/faccessat.texi: Modernize platform list.
23191         Document AT_SYMLINK_NOFOLLOW limitation.
23193         renameat2: port to Solaris 10
23194         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
23195         with AT_SYMLINK_NOFOLLOW (which is not portable).
23196         (renameat): Undef before using, to avoid endless recursion when
23197         the replacement renameat calls renameat2 which calls the
23198         replacement renameat.
23199         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
23200         * modules/renameat2 (Depends-on): Remove faccessat.
23201         * modules/renameat-tests (test_renameat_LDADD):
23202         * modules/renameat2-tests (test_renameat2_LDADD):
23203         Remove $(LIB_EACCESS).
23205         renameat2: new module
23206         Although the Linux syscall renameat2 is not in glibc (yet?), it is
23207         useful to have access to its RENAME_NOREPLACE flag.
23208         * MODULES.html.sh (func_all_modules): Add renameat2.
23209         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
23210         * modules/renameat2-tests, tests/test-renameat2.c: New files.
23211         * lib/renameat.c (renameat): Move most of the implementation
23212         to renameat2, and just call renameat2.
23213         * modules/renameat (Files): Remove lib/at-func2.c.
23214         (Depends-on): Depend only on renameat2.
23215         (Include): Remove <fcntl.h>.
23216         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
23217         since renameat (via renameat2) might use faccessat.
23219 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
23221         vc-list-files: Adjust the script to support git worktrees
23222         * build-aux/vc-list-files: Require existence, not directory.
23224 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
23226         doc: bring MODULES.html.sh up to date
23227         Somehow a few months ago we stopped updating MODULES.html.sh.
23228         I don’t recall explicitly deciding this, so I updated it now.
23229         Alternatively I suppose we could remove it.
23230         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
23231         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
23232         truncate, utime, utime-h, windows-stat-inodes,
23233         windows-stat-override, windows-stat-timespec, year2038.  Sort.
23235 2017-07-26  Jim Meyering  <meyering@fb.com>
23237         fprintftime: fix build-break caused by recent renaming
23238         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
23239         "strftime.c".
23240         * modules/fprintftime: Depend directly on nstrftime.
23242 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
23244         regex: work with GCC7's -Werror=implicit-fallthrough=
23245         * lib/regex_internal.h (FALLTHROUGH): New macro.
23246         * lib/regcomp.c (peek_token_bracket, parse_expression):
23247         * lib/regexec.c (check_node_accept): Use it.
23249 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
23251         fts: simplify fts_build
23252         * lib/fts.c (fts_build): Simplify, and be lazier about
23253         calling leaf_optimization.
23255         fts: three levels of leaf optimization
23256         * lib/fts.c (enum leaf_optimization): New type with three values.
23257         (S_MAGIC_AFS): New macro.  Sort them.
23258         (leaf_optimization): Rename from leaf_optimization_applies, and
23259         return enum leaf_optimization instead of bool.  All uses changed.
23260         Add cases for unknown type and for AFS.
23261         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
23263         fts: cache dirent_inode_sort_may_be_useful too
23264         * lib/fts.c (struct dev_type): New struct.
23265         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
23266         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
23267         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
23268         Now takes FTSENT const *, not int.  All uses changed.  Use
23269         filesystem_type to cache.
23270         (link_count_optimize_ok): Remove.  Caller changed to use
23271         leaf_optimization_applies, which now uses shared cache.
23273         fts: introduce MIN_DIR_NLINK
23274         * lib/fts.c (MIN_DIR_NLINK): New constant.
23275         Use it instead of 2, whenever we are talking about link counts.
23277         fts: nlink_t signedness fixups
23278         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
23279         so that root need not be a special case later.
23280         (fts_read): Remove now-redundant test for fts_level.
23281         Do not assume that nlink_t is signed.
23282         (fts_build): Remove useless decrement of nlinks.
23283         (fts_stat): Avoid unlikely signed integer overflow later, if
23284         nlink_t is signed.
23286         fts-tests: new module
23287         * modules/fts-tests, tests/test-fts.c: New files.
23289 2017-07-23  Bruno Haible  <bruno@clisp.org>
23291         Rename module 'strftime' to 'nstrftime'.
23292         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
23293         * lib/nstrftime.c: Renamed from lib/strftime.c.
23294         * modules/nstrftime: Renamed from modules/strftime.
23295         (Files, Makefile.am): Update.
23296         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
23297         Fix comment.
23298         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
23299         (Files, Makefile.am): Update.
23300         * modules/strftime: New file, an obsolete indirection.
23301         * doc/posix-functions/strftime.texi: Update reference.
23302         * config/srclist.txt: Update info.
23303         * NEWS: Mention the change.
23305 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
23307         malloca: Silence a warning from clang's memory sanitizer.
23308         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
23309         (freea): Use it.
23311 2017-07-18  Bruno Haible  <bruno@clisp.org>
23313         host-cpu-c-abi: Fix detection of MIPS ABI.
23314         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
23315         ABI, not the CPU instruction set.
23317 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
23319         explicit_bzero: new module
23320         The explicit_bzero function has been added to glibc.
23321         This module is intended to supports its use in GNU programs.
23322         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
23323         * m4/explicit_bzero.m4, modules/explicit_bzero:
23324         New files.
23325         * doc/gnulib.texi (Glibc string.h): Link to new doc.
23326         * lib/string.in.h (explicit_bzero): Declare.
23327         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
23328         * modules/string (string.h): Substitute its vars.
23330 2017-07-16  Bruno Haible  <bruno@clisp.org>
23332         threadlib: Support static linking.
23333         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
23334         set gl_cv_have_weak to 'no'.
23336 2017-07-16  Bruno Haible  <bruno@clisp.org>
23338         unicase/locale-language: Fix link dependencies.
23339         * modules/unicase/locale-language (Link): New section.
23340         * modules/unicase/locale-language-tests (Makefile.am): Link
23341         test-locale-language program with $(LIBTHREAD).
23343 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
23345         sys_socket: Add support for OpenVMS.
23346         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
23347         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
23349 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
23351         sys_resource: Add support for OpenVMS.
23352         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
23353         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
23355 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
23356             Bruno Haible  <bruno@clisp.org>
23358         math: Add support for OpenVMS.
23359         * lib/math.in.h [__VMS]: Include <fp.h>.
23360         * doc/posix-headers/math.texi: Mention OpenVMS issues.
23362 2017-07-15  Bruno Haible  <bruno@clisp.org>
23364         getdtablesize: Add minimal support for OpenVMS.
23365         Reported by John E. Malmberg <wb8tyw@qsl.net>.
23366         * modules/getdtablesize (Description): Fix.
23367         * lib/getdtablesize.c: Fix comment.
23368         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
23369         getdtablesize() function, even though the test fails.
23370         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
23371         limitation on OpenVMS.
23373 2017-07-13  Bruno Haible  <bruno@clisp.org>
23375         Revisit cross-compilation guesses.
23376         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
23378 2017-07-13  Bruno Haible  <bruno@clisp.org>
23380         Improve cross-compilation guesses for native Windows.
23381         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
23382         Windows.
23383         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
23384         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
23385         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
23386         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
23387         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
23388         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
23389         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
23390         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
23391         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23392         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
23393         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23394         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
23395         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
23396         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
23397         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
23398         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
23399         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
23400         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
23401         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
23402         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
23403         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
23404         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
23405         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
23406         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
23407         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
23408         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
23409         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
23410         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
23411         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23412         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
23413         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23414         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
23415         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
23416         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
23417         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
23418         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
23419         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
23420         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23421         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
23422         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23423         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23424         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23425         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
23426         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
23427         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
23428         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
23429         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
23430         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
23431         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
23432         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
23433         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
23434         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
23435         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
23436         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
23437         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
23438         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
23439         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
23440         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
23441         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
23442         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
23443         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
23444         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
23445         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
23446         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
23447         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
23448         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23449         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
23450         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
23451         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
23452         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
23453         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
23454         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
23455         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23456         * m4/regex.m4 (gl_REGEX): Likewise.
23457         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
23458         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
23459         gl_FUNC_REMAINDERF_WORKS): Likewise.
23460         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
23461         gl_FUNC_REMAINDERL_WORKS): Likewise.
23462         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23463         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23464         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23465         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
23466         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23467         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
23468         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
23469         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
23470         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
23471         * m4/stdint.m4 (gl_STDINT_H): Likewise.
23472         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
23473         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
23474         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
23475         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
23476         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
23477         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
23478         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
23479         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23480         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23481         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
23482         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
23483         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23484         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23485         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
23486         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
23487         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23488         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
23489         Likewise.
23490         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23491         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
23492         Windows. Enable also on Autoconf 2.70.
23493         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23494         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23495         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
23496         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
23497         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
23498         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
23499         for native Windows.
23500         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
23501         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
23503 2017-07-13  Bruno Haible  <bruno@clisp.org>
23505         Improve cross-compilation guesses for native Windows.
23506         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
23507         Windows.
23508         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
23509         memchr.m4.
23510         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
23512 2017-07-13  Bruno Haible  <bruno@clisp.org>
23514         Improve cross-compilation guesses for native Windows.
23515         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
23516         native Windows.
23517         (gl_FUNC_FFLUSH): Update accordingly.
23518         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
23519         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
23521 2017-07-11  Bruno Haible  <bruno@clisp.org>
23523         More systematic m4 quoting and indentation.
23524         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
23525         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23526         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
23527         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23528         * m4/host-os.m4 (gl_HOST_OS): Likewise.
23529         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
23530         gl_WINSIZE_IN_PTEM): Likewise.
23531         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
23532         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
23533         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
23534         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
23535         Correct indentation.
23536         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
23537         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
23538         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
23539         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23540         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
23541         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23543 2017-07-10  Bruno Haible  <bruno@clisp.org>
23545         round, roundf: Avoid compiler warning in configure test.
23546         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
23547         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23549 2017-07-10  Bruno Haible  <bruno@clisp.org>
23551         getlogin tests: Avoid #ifdefs when sharing code between modules.
23552         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
23553         * modules/getlogin-tests (Files): Likewise. Remove
23554         tests/test-getlogin_r.c.
23555         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
23556         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
23557         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
23558         getlogin().
23560 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
23562         getlogin: don’t assume one name per uid
23563         Problem reported by Wolfgang F. Muthmann (Bug#27640).
23564         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
23565         (ttyname): Remove test.
23566         * modules/getlogin_r-tests (ttyname): Remove test.
23567         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
23568         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
23569         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
23570         getlogin rather than getlogin_r.  This avoids code duplication.
23571         (main): Use isatty and fstat rather than ttyname and stat.
23572         Use getpwnam instead of getpwuid, to be portable to test platforms
23573         that have multiple login names for the same uid.
23575 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
23576             Bruno Haible  <bruno@clisp.org>
23578         glob: Fix more memory leaks.
23579         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
23580         returning.
23581         Reported by Tim Rühsen.
23583 2017-07-10  Bruno Haible  <bruno@clisp.org>
23585         Make sure $host and $host_os are defined when used.
23586         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
23587         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
23588         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
23589         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23590         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23591         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
23592         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
23593         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
23594         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23595         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
23596         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
23597         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
23598         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
23599         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
23600         m4_ifdef block.
23602 2017-07-09  Bruno Haible  <bruno@clisp.org>
23604         *printf: Fix cross-compilation guess for Solaris.
23605         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
23606         2010-12-21.
23608 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23609             Bruno Haible  <bruno@clisp.org>
23611         vasnprintf: port to macOS 10.13
23612         Problem reported by comex in:
23613         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
23614         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
23616 2017-07-06  Bruno Haible  <bruno@clisp.org>
23618         imaxdiv tests: Fix logic.
23619         * tests/test-imaxdiv.c (main): Use == instead of =.
23620         Reported by Coverity.
23622 2017-07-06  Bruno Haible  <bruno@clisp.org>
23624         uninorm/filter: Fix use-after-free bug.
23625         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
23626         sortbuf == filter->sortbuf invariant.
23627         Reported by Coverity.
23629 2017-07-06  Bruno Haible  <bruno@clisp.org>
23631         glob: Fix more memory leaks.
23632         * lib/glob.c (glob): Free dirname before returning.
23633         Reported by Coverity and Tim Rühsen.
23635 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
23637         parse-datetime: fix uninit var bug
23638         Reported by Bruno Haible in:
23639         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
23640         * lib/parse-datetime.y (parse_datetime2): Do not use
23641         uninitialized.
23643 2017-07-05  Bruno Haible  <bruno@clisp.org>
23645         doc: Update for MSVC 14.
23646         * doc/posix-headers/*.texi: Add info about MSVC 14.
23647         * doc/posix-functions/*.texi: Likewise.
23648         * doc/pastposix-functions/*.texi: Likewise.
23649         * doc/glibc-headers/*.texi: Likewise.
23650         * doc/glibc-functions/*.texi: Likewise.
23652 2017-07-05  Bruno Haible  <bruno@clisp.org>
23654         sched: Fix build failure on native Windows (regression from 2017-06-19).
23655         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
23657 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
23659         stdioext: Port to OpenVMS.
23660         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
23661         * lib/fpending.c (fpending): Remove non-working VMS specific code.
23662         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
23663         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
23664         * lib/fpurge.c (fpurge): Likewise.
23665         * lib/freadable.c (freadable): Likewise.
23666         * lib/freadahead.c (freadahead): Likewise.
23667         * lib/freading.c (freading): Likewise.
23668         * lib/freadptr.c (freadptr): Likewise.
23669         * lib/freadseek.c (freadseek): Likewise.
23670         * lib/fseeko.c (fseeko): Likewise.
23671         * lib/fseterr.c (fseterr): Likewise.
23672         * lib/fwritable.c (fwriteable): Likewise.
23673         * lib/fwriting.c (fwriting): Likewise.
23675 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
23677         glob: Declare variables at the very start of their scope.
23678         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
23679         its separate scope, so the functions will compile on Haiku.
23681 2017-07-01  Bruno Haible  <bruno@clisp.org>
23683         logbl: Work around a glibc bug on PowerPC64LE.
23684         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
23685         numbers.
23686         * doc/posix-functions/logbl.texi: Update.
23688 2017-06-29  Bruno Haible  <bruno@clisp.org>
23690         stat, fstat: Compile stat-w32.c only on platforms that need it.
23691         Suggested by Paul Eggert.
23692         * modules/stat (configure.ac): Request stat-w32.o only on native
23693         Windows.
23694         * modules/fstat (configure.ac): Likewise.
23696 2017-06-25  Bruno Haible  <bruno@clisp.org>
23698         stat: Improve last change.
23699         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
23701 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
23703         stat: port to xlc 12.01
23704         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
23705         12.01 complains "Compilation unit is empty."
23707 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
23709         xalloc-oversized: port to icc
23710         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
23711         __builtin_mul_overflow if ICC is defined, as this results in
23712         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
23713         20170213.
23715 2017-06-19  Bruno Haible  <bruno@clisp.org>
23717         classpath: Avoid including config.h twice, as it produces warnings.
23718         Reported by John E. Malmberg <wb8tyw@gmail.com>.
23719         * lib/classpath.h: Conditionalize the include of config.h.
23721 2017-06-19  Bruno Haible  <bruno@clisp.org>
23722             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
23724         sched: Fix compilation failure on OpenVMS.
23725         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
23726         test whether <pthread.h> exists and defines struct sched_param.
23727         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
23729 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
23731         diffseq: port to GCC 7 with --enable-gcc-warnings
23732         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
23733         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
23734         not complain about big_snake being defined but not used.
23736 2017-06-15  Bruno Haible  <bruno@clisp.org>
23738         gettext-h: Update theoretical condition for use of variable size arrays.
23739         Reported by Paul Eggert.
23740         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
23741         to include the theoretical condition for availability of variable size
23742         arrays, if we could trust the value of __STDC_VERSION__.
23744 2017-06-12  Bruno Haible  <bruno@clisp.org>
23746         Relicense some modules under LGPLv2+.
23747         Daiki Ueno's approval is in
23748         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
23749         * modules/uniwidth/base (License): Change to LGPLv2+.
23750         * modules/uniwidth/width (License): Likewise.
23752 2017-06-11  Bruno Haible  <bruno@clisp.org>
23754         localename: Fix test failure on DragonFly BSD.
23755         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
23756         like FreeBSD.
23758 2017-06-11  Bruno Haible  <bruno@clisp.org>
23760         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
23761         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
23762         * lib/float.in.h: Likewise.
23763         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
23765 2017-06-11  Bruno Haible  <bruno@clisp.org>
23767         gnulib-tool: Clean up after autotools.
23768         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
23769         useless directory left over by the Autotools.
23771 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
23773         getopt-posix: port to glibc 2.25.90
23774         Problem reported by Daniel P. Berrange in:
23775         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
23776         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
23777         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
23778         #undef if __GETOPT_PREFIX is defined.
23780 2017-06-11  Bruno Haible  <bruno@clisp.org>
23782         strtod-obsolete: Fix license.
23783         * modules/strtod-obsolete (License): Change to LGPL.
23785 2017-06-10  Jim Meyering  <meyering@fb.com>
23787         maint: update to work with GCC7's -Werror=implicit-fallthrough=
23788         * lib/savewd.c (FALLTHROUGH): Define.
23789         (savewd_save, savewd_restore): Use this, rather than a comment,
23790         whenever one switch case falls through into the next.
23792 2017-06-08  Bruno Haible  <bruno@clisp.org>
23794         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
23795         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
23796         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
23797         case.
23799 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
23801         doc: remove robots, add prereqs
23802         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
23803         builds.  Simon's robot site does not seem to be up, so remove
23804         mentions of it for now.
23806 2017-06-08  Bruno Haible  <bruno@clisp.org>
23808         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
23809         * gnulib-tool (func_symlink_target): New function, extracted from
23810         func_symlink.
23811         (func_symlink, func_symlink_if_changed): Use it.
23813 2017-06-08  Bruno Haible  <bruno@clisp.org>
23815         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
23816         * gnulib-tool (func_ln_s): Determine cp_src correctly.
23818 2017-06-07  Bruno Haible  <bruno@clisp.org>
23820         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
23821         Reported by John E. Malmberg <wb8tyw@gmail.com> in
23822         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
23823         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
23824         override, pass 2 arguments to getcwd, not 3.
23826 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
23828         same-inode: port better to VMS 8.2 and later
23829         Problem reported by John E. Malmberg in:
23830         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
23831         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
23832         Use the usual POSIX definition.
23833         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
23835 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
23837         error: fix POSIX violation for va_end
23838         Problem reported by Bruno Haible in:
23839         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
23840         * lib/error.c (error_tail): Do not call va_end here.
23841         (error, error_at_line): Call it here instead.
23843 2017-05-28  Bruno Haible  <bruno@clisp.org>
23845         c-strtod: Make it usable in C++ mode.
23846         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
23848 2017-05-25  Jim Meyering  <meyering@fb.com>
23850         quotearg: fix compilation failure due to FALLTHROUGH misuse
23851         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
23852         macro back to /* fall through */ comment.  The macro can apply only
23853         to a following case statement.  Reported by Assaf Gordon.
23855 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
23857         intprops: port to recent icc
23858         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
23859         but does not support __builtin_add_overflow etc.
23860         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
23861         Define to 0.
23863 2017-05-23  Karl Berry  <karl@freefriends.org>
23865         * config/srclist.txt (iconv.m4): sync broken, comment out
23866         until (hopefully) the next gettext release.
23868 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
23870         Remove repeated words in comments.
23872 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
23874         fallthrough: reinstate a FALLTHROUGH instance in quotearg
23875         quotearg.c: Reinstate this instance which is significant
23876         when the if branch is not taken.
23878 2017-05-21  Bruno Haible  <bruno@clisp.org>
23880         gnulib-tool: Add options to create hard links.
23881         * gnulib-tool (func_usage): Document options --hardlink,
23882         --local-hardlink, --more-hardlinks.
23883         (func_symlink): Renamed from func_ln.
23884         (func_symlink_if_changed): Renamed from func_ln_if_changed.
23885         (func_hardlink): New function.
23886         (copymode, lcopymode): New variables.
23887         (symbolic, lsymbolic): Remove variables.
23888         (Options): Implement options --hardlink, --local-hardlink,
23889         --more-hardlinks.
23890         (func_should_link): Renamed from func_should_symlink. Set copyaction.
23891         (func_add_file, func_update_file): Update invocation of
23892         func_should_link. Invoke func_hardlink when appropriate.
23893         (func_import): Update comments.
23894         (func_create_testdir): Update invocation of func_should_link. Invoke
23895         func_hardlink when appropriate.
23896         Finally, invoke 'git update-index --refresh' to mitigate the effects of
23897         the hard links on git.
23899 2017-05-20  Bruno Haible  <bruno@clisp.org>
23901         argp: Simplify bit manipulation.
23902         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
23903         on a signed integer type.
23905 2017-05-20  Bruno Haible  <bruno@clisp.org>
23907         Avoid wrong configure results with gcc -fsanitize=address.
23908         This completes the work done on 2016-02-06 on this topic.
23909         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
23910         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
23911         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23912         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23913         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
23914         returning.
23915         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
23916         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
23917         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23918         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23919         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
23920         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
23921         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
23922         free allocated memory before returning.
23923         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23924         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
23925         objects before returning.
23926         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
23927         returning.
23929 2017-05-20  Bruno Haible  <bruno@clisp.org>
23931         gnulib-tool: Don't create hard links between gnulib and its testdirs.
23932         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
23934 2017-05-20  Bruno Haible  <bruno@clisp.org>
23936         argp, tsearch tests: Fix file list.
23937         * modules/argp-tests (Files): Add tests/macros.h.
23938         * modules/tsearch-tests (Files): Likewise.
23940 2017-05-20  Bruno Haible  <bruno@clisp.org>
23942         getopt-posix tests: Remove redundant include.
23943         * tests/test-getopt.h: Don't include "macros.h". It's already included
23944         by tests/test-getopt-main.h.
23946 2017-05-19  Jim Meyering  <meyering@fb.com>
23948         dfa: two small simplifications
23949         * lib/dfa.c (build_state): Avoid repeating longer expressions.
23951 2017-05-18  Jim Meyering  <meyering@fb.com>
23953         fallthrough: update for GCC 7/8
23954         * lib/quotearg.c (FALLTHROUGH): New macro.
23955         Use it whenever one switch case falls through into the next,
23956         replacing "/* Fall through */" comments.  This exposed one
23957         instance of an unwarranted "fall through" comment: unwarranted
23958         because it preceded a "goto" label not a case statement.
23959         * lib/freopen-safer.c (freopen_safer): Likewise.
23960         * lib/fts.c (leaf_optimization_applies): Likewise.
23961         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
23962         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
23963         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
23964         tests/macros.h for the definition.
23965         * tests/test-argp.c (group1_parser): Likewise.
23966         * tests/test-getopt.h (getopt_loop): Likewise.
23968 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23970         argp: fix shift bug
23971         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
23972         behavior on shift overflow, caught by gcc -fsanitize=undefined.
23974         argp: fix pointer-subtraction bug
23975         * lib/argp-help.c (hol_append): Don’t subtract pointers to
23976         different arrays, as this can run afoul of -fcheck-pointer-bounds.
23977         See the thread containing Bruno Haible’s report in:
23978         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
23980 2017-05-19  Bruno Haible  <bruno@clisp.org>
23982         printf-posix tests: Avoid test failure with "gcc --coverage".
23983         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
23984         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
23985         than 5000000.
23986         * tests/test-fprintf-posix2.c (main): Likewise.
23988 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23990         closeout: don’t close stderr when sanitizing
23991         * NEWS: Document this.
23992         * lib/closeout.c (__has_feature): New macro, if not already defined.
23993         (SANITIZE_ADDRESS): New constant.
23994         (close_stdout): Don’t close stderr if sanitizing addresses.
23996 2017-05-19  Bruno Haible  <bruno@clisp.org>
23998         get-rusage-data tests: Avoid failure on Linux/glibc.
23999         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
24000         on glibc systems.
24002 2017-05-18  Bruno Haible  <bruno@clisp.org>
24004         localename: Include necessary header files on Cygwin.
24005         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
24006         where NL_LOCALE_NAME is defined.
24008 2017-05-18  Bruno Haible  <bruno@clisp.org>
24010         gettext: Update macros from gettext git.
24011         * m4/intldir.m4: Require Autoconf >= 2.60.
24012         * m4/progtest.m4: Fix typos in copyright notice.
24014 2017-05-18  Bruno Haible  <bruno@clisp.org>
24016         copy-file tests: Fix link error (regression from 2017-05-01).
24017         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24018         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
24019         $(LIB_CLOCK_GETTIME).
24021 2017-05-18  Bruno Haible  <bruno@clisp.org>
24023         unicase/special-casing: Fix incompatibility with gperf-3.0.4
24024         (regression from 2017-02-13).
24025         * lib/unicase/special-casing.in.h: Renamed from
24026         lib/unicase/special-casing.h.
24027         * modules/unicase/special-casing (Files): Add
24028         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
24029         (Makefile.am): Add rule for generating unicase/special-casing.h.
24030         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
24031         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
24032         not "special-casing.h".
24033         * lib/unicase/u*.c: Likewise.
24035 2017-05-17  Bruno Haible  <bruno@clisp.org>
24037         README: Don't ask people to read a TeXinfo file.
24038         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
24039         * README: Tell people how to read the HTML formatted manual.
24041 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
24043         parse-datetime: Fix memleak
24044         * lib/parse-datetime.y (parse_datetime2): Cleanup on
24045         localtime_rz() failure.
24047 2017-05-16  Bruno Haible  <bruno@clisp.org>
24049         javacomp: Fix handle leak.
24050         Found by Coverity.
24051         * lib/javacomp.c (get_classfile_version): Close fd before returning.
24053 2017-05-16  Bruno Haible  <bruno@clisp.org>
24055         relocate: Make it easier to reclaim allocated memory.
24056         * lib/relocatable.h (relocate2): New declaration/macro.
24057         * lib/relocatable.c (relocate2): New function.
24058         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
24059         relocate2 function.
24060         * lib/localcharset.c (relocate2): Define fallback.
24061         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
24062         allocated memory.
24063         * lib/javaversion.c (relocate2): Define fallback.
24064         (javaexec_version): Invoke relocate2 instead of relocate. Free the
24065         allocated memory.
24067 2017-05-16  Bruno Haible  <bruno@clisp.org>
24069         relocate: Simplify EMX specific code.
24070         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
24071         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
24073 2017-05-16  Bruno Haible  <bruno@clisp.org>
24075         sigpipe tests: Fix file list.
24076         * modules/sigpipe-tests (Files): Add tests/macros.h.
24078 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
24080         manywarnings: update for GCC 7
24081         * build-aux/gcc-warning.spec:
24082         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
24083         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
24084         requires a non-comment fallthrough attribute.  This is a bit
24085         cleaner than the comment versions.
24086         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
24087         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
24088         Use it whenever one switch case falls through into the next.
24089         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
24090         Use FALLTHROUGH macro.
24092 2017-05-15  Bruno Haible  <bruno@clisp.org>
24094         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
24095         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
24096         @ALLOCA@, not @LTALLOCA@.
24098 2017-05-15  Bruno Haible  <bruno@clisp.org>
24100         sys_select: Avoid "was expanded before it was required" warning.
24101         * modules/sys_select (configure.ac): Require, not invoke,
24102         gl_HEADER_SYS_SELECT.
24104 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24106         gnulib-tool: improve GNU Make debugging
24107         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
24108         Report autoconf diagnostics when it fails, in the output makefile.
24110 2017-05-14  Bruno Haible  <bruno@clisp.org>
24112         stat-time tests: Improve comment.
24113         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
24115 2017-05-14  Bruno Haible  <bruno@clisp.org>
24117         same-inode: Adapt for windows-stat-inodes.
24118         * lib/same-inode.h: Include <sys/types.h>.
24119         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
24120         * modules/same-inode (Depends-on): Add sys_types.
24122 2017-05-14  Bruno Haible  <bruno@clisp.org>
24124         windows-stat-inodes: New module.
24125         * m4/windows-stat-inodes.m4: New file.
24126         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
24127         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
24128         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
24129         (_GL_WINDOWS_STAT_INODES): New macro.
24130         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
24131         (GetFileInformationByHandleExFunc): New variable.
24132         (initialize): Initialize it.
24133         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
24134         st_ino appropriately.
24135         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
24136         a fallback, because it does not provide st_dev and st_ino values.
24137         * modules/fstat (Depends-on): Add 'verify'.
24138         * modules/windows-stat-inodes: New file.
24139         * doc/windows-stat-inodes.texi: New file.
24140         * doc/gnulib.texi: Include it.
24141         * doc/posix-headers/sys_stat.texi: Mention the new module.
24143 2017-05-14  Bruno Haible  <bruno@clisp.org>
24145         stat-time tests: Workaround for native Windows.
24146         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
24147         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
24148         New variables.
24149         (initialize_filenames): New function.
24150         (main): Invoke it.
24151         (cleanup, prepare_test): Update.
24153 2017-05-14  Bruno Haible  <bruno@clisp.org>
24155         stat-time: Adapt for windows-stat-timespec.
24156         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
24157         entire st_ctim field.
24159 2017-05-13  Jim Meyering  <meyering@fb.com>
24161         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
24162         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
24163         file that uses the assume macro, claiming that verify.h is unused.
24165 2017-05-13  Bruno Haible  <bruno@clisp.org>
24167         Use symbolic values for _WIN32_WINNT.
24168         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
24169         * lib/sethostname.c (_WIN32_WINNT): Likewise.
24171 2017-05-13  Bruno Haible  <bruno@clisp.org>
24173         year2038: New module.
24174         * m4/year2038.m4: New file.
24175         * modules/year2038: New file.
24176         * doc/year2038.texi: New file.
24177         * doc/gnulib.texi: Include it.
24179 2017-05-13  Bruno Haible  <bruno@clisp.org>
24181         largefile: Simplify.
24182         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
24183         of _GL_WINDOWS_64_BIT_ST_SIZE.
24185 2017-05-13  Bruno Haible  <bruno@clisp.org>
24187         largefile: Improve and document.
24188         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
24189         the mingw headers already define 'stat' appropriately.
24190         * modules/largefile (Description): Clarify.
24191         * doc/largefile.texi: New file.
24192         * doc/gnulib.texi: Include it.
24193         * doc/posix-headers/sys_types.texi: Update.
24195 2017-05-13  Bruno Haible  <bruno@clisp.org>
24197         truncate: New module.
24198         * lib/unistd.in.h (truncate): New declaration.
24199         * lib/truncate.c: New file.
24200         * m4/truncate.m4: New file.
24201         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
24202         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
24203         REPLACE_TRUNCATE.
24204         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
24205         HAVE_TRUNCATE, REPLACE_TRUNCATE.
24206         * modules/truncate: New file.
24207         * tests/test-unistd-c++.cc (truncate): Test signature.
24208         * doc/posix-functions/truncate.texi: Mention the new module.
24210         * tests/test-truncate.c: New file.
24211         * modules/truncate-tests: New file.
24213 2017-05-13  Bruno Haible  <bruno@clisp.org>
24215         windows-stat-timespec: New module.
24216         * modules/windows-stat-timespec: New file.
24217         * m4/windows-stat-timespec.m4: New file.
24218         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
24219         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
24220         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
24221         fields st_atim, st_mtim, st_ctim.
24222         (st_atime, st_mtime, st_ctime): Define as macros.
24223         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
24224         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
24225         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
24226         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
24227         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
24228         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
24229         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
24230         FILETIME to 'struct timespec', not 'time_t'.
24231         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
24232         FILETIME to 'struct timespec', not 'time_t'.
24233         * lib/stat-time.h (STAT_TIMESPEC): Define also if
24234         _GL_WINDOWS_STAT_TIMESPEC.
24235         * doc/windows-stat-timespec.texi: New file.
24236         * doc/gnulib.texi: Include it.
24238 2017-05-13  Bruno Haible  <bruno@clisp.org>
24240         windows-stat-override: New module.
24241         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
24242         definition. Define GNULIB_defined_struct_stat.
24243         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
24244         link error if this symbol is used and the corresponding module is not
24245         in use.
24246         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
24247         GNULIB_OVERRIDES_STRUCT_STAT.
24248         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
24249         GNULIB_OVERRIDES_STRUCT_STAT.
24250         * modules/sys_stat (Makefile.am): Substitute
24251         GNULIB_OVERRIDES_STRUCT_STAT.
24252         * modules/windows-stat-override: New file.
24254 2017-05-13  Bruno Haible  <bruno@clisp.org>
24256         fstat: Fix module dependency conditions.
24257         * modules/fstat (Depends-on): Fix typo.
24259 2017-05-13  Bruno Haible  <bruno@clisp.org>
24261         stat, fstat: Complete removal of old native Windows code.
24262         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
24263         * lib/fstat.c: Likewise.
24264         * lib/stat-w32.c: Likewise.
24266 2017-05-13  Bruno Haible  <bruno@clisp.org>
24268         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
24269         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
24271 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
24273         getopt-posix: port to mingw
24274         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
24275         Problem reported by Daniel P. Berrage in:
24276         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
24278 2017-05-11  Bruno Haible  <bruno@clisp.org>
24280         gettimeofday: Increase precision on mingw.
24281         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
24282         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
24283         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
24284         GetSystemTimePreciseAsFileTime based implementation always.
24285         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
24286         mingw.
24288 2017-05-11  Bruno Haible  <bruno@clisp.org>
24290         poll: Fix confusion between SOCKETs and FDs on native Windows.
24291         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
24292         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
24294 2017-05-11  Bruno Haible  <bruno@clisp.org>
24296         doc: Clarify doc about socket functions on native Windows.
24297         This reworks doc that was added on 2008-09-29.
24298         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
24299         clearer wording.
24300         * doc/posix-functions/accept.texi: Use clearer wording.
24301         * doc/posix-functions/bind.texi: Likewise.
24302         * doc/posix-functions/connect.texi: Likewise.
24303         * doc/posix-functions/getpeername.texi: Likewise.
24304         * doc/posix-functions/getsockname.texi: Likewise.
24305         * doc/posix-functions/getsockopt.texi: Likewise.
24306         * doc/posix-functions/ioctl.texi: Likewise.
24307         * doc/posix-functions/listen.texi: Likewise.
24308         * doc/posix-functions/recv.texi: Likewise.
24309         * doc/posix-functions/recvfrom.texi: Likewise.
24310         * doc/posix-functions/send.texi: Likewise.
24311         * doc/posix-functions/sendto.texi: Likewise.
24312         * doc/posix-functions/setsockopt.texi: Likewise.
24313         * doc/posix-functions/shutdown.texi: Likewise.
24314         * doc/posix-functions/socket.texi: Likewise.
24316 2017-05-10  Bruno Haible  <bruno@clisp.org>
24318         poll: Fix link error on native Windows.
24319         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
24321 2017-05-10  Bruno Haible  <bruno@clisp.org>
24323         time: Fix missing initialization of HAVE_TIMEZONE_T.
24324         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
24325         here...
24326         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
24327         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
24328         gl_HEADER_SYS_TIME_H_DEFAULTS.
24329         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
24330         (configure.ac): Remove useless quoting.
24332 2017-05-10  Bruno Haible  <bruno@clisp.org>
24334         Implement a way to opt out from MSVC support, part 2.
24335         * modules/msvc-inval (Include): Document recommended idiom.
24336         * modules/msvc-nothrow (Include): Likewise.
24338         Implement a way to opt out from MSVC support.
24339         This is useful for Emacs.
24340         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
24341         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
24342         * lib/error.c: Likewise.
24343         * lib/fcntl.c: Likewise.
24344         * lib/flock.c: Likewise.
24345         * lib/fstat.c: Likewise.
24346         * lib/fsync.c: Likewise.
24347         * lib/ioctl.c: Likewise.
24348         * lib/isapipe.c: Likewise.
24349         * lib/lseek.c: Likewise.
24350         * lib/nonblocking.c: Likewise.
24351         * lib/poll.c: Likewise.
24352         * lib/select.c: Likewise.
24353         * lib/sockets.h: Likewise.
24354         * lib/sockets.c: Likewise.
24355         * lib/stdio-read.c: Likewise.
24356         * lib/stdio-write.c: Likewise.
24357         * lib/utimens.c: Likewise.
24358         * lib/w32sock.h: Likewise.
24359         * lib/w32spawn.h: Likewise.
24360         * tests/test-cloexec.c: Likewise.
24361         * tests/test-dup-safer.c: Likewise.
24362         * tests/test-dup2.c: Likewise.
24363         * tests/test-dup3.c: Likewise.
24364         * tests/test-fcntl.c: Likewise.
24365         * tests/test-pipe.c: Likewise.
24366         * tests/test-pipe2.c: Likewise.
24367         * lib/ftruncate.c: Likewise.
24368         (chsize_nothrow): Renamed from chsize.
24369         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
24370         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
24371         * lib/close.c: Likewise.
24372         * lib/dup.c: Likewise.
24373         * lib/fclose.c: Likewise.
24374         * lib/raise.c: Likewise.
24375         * tests/test-fgetc.c: Likewise.
24376         * tests/test-fputc.c: Likewise.
24377         * tests/test-fread.c: Likewise.
24378         * tests/test-fwrite.c: Likewise.
24379         * lib/getdtablesize.c: Likewise.
24380         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
24381         * lib/isatty.c: Don't include msvc-inval.h if
24382         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
24383         Include <io.h> as an alternative to msvc-nothrow.h.
24384         * lib/read.c: Likewise.
24385         * lib/write.c: Likewise.
24386         * lib/dup2.c: Likewise.
24387         (dup2_nothrow): New function.
24388         (ms_windows_dup2): Use it.
24389         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
24390         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
24391         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
24392         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
24393         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
24394         * m4/read.m4 (gl_FUNC_READ): Likewise.
24395         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
24396         * doc/windows-without-msvc.texi: New file.
24397         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
24398         section.
24400 2017-05-10  Bruno Haible  <bruno@clisp.org>
24402         wait-process: Adjust native Windows support.
24403         * lib/wait-process.c: Use the usual condition for recognizing a native
24404         Windows platform.
24406 2017-05-10  Bruno Haible  <bruno@clisp.org>
24408         doc: New chapter "Native Windows Support".
24409         * doc/gnulib.texi (Native Windows Support): New chapter.
24410         * doc/windows-libtool.texi: Small wording changes.
24411         * doc/windows-sockets.texi: Small wording and formatting changes.
24413 2017-05-10  Bruno Haible  <bruno@clisp.org>
24415         doc: Move section "Library version handling".
24416         * doc/gnulib.texi: Move section "Library version handling"
24417         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
24419 2017-05-10  Bruno Haible  <bruno@clisp.org>
24421         doc: Move section "Running self-tests under valgrind".
24422         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
24423         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
24425 2017-05-10  Bruno Haible  <bruno@clisp.org>
24427         doc: New chapter "Build Infrastructure Modules".
24428         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
24430 2017-05-10  Bruno Haible  <bruno@clisp.org>
24432         Prepare for reordering sections in the manual.
24433         * doc/gnulib.texi: Move several sections to separate files. Include
24434         these files.
24435         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
24436         * doc/obsolete.texi: Likewise.
24437         * doc/extra-tests.texi: Likewise.
24438         * doc/transversal.texi: Likewise.
24439         * doc/namespace.texi: Likewise.
24440         * doc/check-version.texi: Likewise.
24441         * doc/windows-sockets.texi: Likewise.
24442         * doc/windows-libtool.texi: Likewise.
24443         * doc/licenses-texi.texi: Likewise.
24444         * doc/build-automation.texi: Likewise.
24445         * doc/c-locale.texi: Likewise.
24447 2017-05-10  Bruno Haible  <bruno@clisp.org>
24449         Fix instructions how to update manual on www.gnu.org.
24450         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
24452 2017-05-09  Bruno Haible  <bruno@clisp.org>
24454         tzset: Expand comment about TZ problem on native Windows.
24455         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
24456         Paul Eggert.
24457         * lib/ctime.c (rpl_ctime): Likewise.
24458         * lib/localtime.c (rpl_localtime): Likewise.
24459         * lib/mktime.c (mktime): Likewise.
24460         * lib/strftime-fixes.c (rpl_strftime): Likewise.
24461         * lib/wcsftime.c (rpl_wcsftime): Likewise.
24463 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
24465         intprops: don’t depend on ‘verify’
24466         Problem reported by Ævar Arnfjörð Bjarmason in:
24467         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
24468         * lib/intprops.h: Do not include verify.h, and move compile-time
24469         checks from here ...
24470         * tests/test-intprops.c (main): ... to here, if they’re not here
24471         already.  Check widths of other standard integer types.
24472         * modules/intprops (Depends-on): Remove ‘verify’.
24474 2017-05-07  Bruno Haible  <bruno@clisp.org>
24476         utimens: On native Windows, support 100ns resolution also if fd < 0.
24477         * lib/utime.in.h: Include <time.h>.
24478         (_gl_utimens_windows): New declaration.
24479         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
24480         (utime): Invoke it.
24481         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
24482         instead of utime.
24483         * modules/utime (Depends-on): Add 'time'.
24485 2017-05-07  Bruno Haible  <bruno@clisp.org>
24487         utimens: Improve error code on native Windows.
24488         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
24489         error code EACCES, not EINVAL.
24491 2017-05-07  Bruno Haible  <bruno@clisp.org>
24493         utime: Handle more Windows error codes.
24494         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
24495         Based on explanations by Billy O'Neal.
24497 2017-05-05  Bruno Haible  <bruno@clisp.org>
24499         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
24500         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
24501         union.
24502         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
24503         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
24504         value of cipher->IV.
24506 2017-05-05  Bruno Haible  <bruno@clisp.org>
24508         wctype-h-c++-tests: Update.
24509         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
24511 2017-05-05  Bruno Haible  <bruno@clisp.org>
24513         wchar-c++-tests: Update.
24514         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
24516 2017-05-05  Bruno Haible  <bruno@clisp.org>
24518         utime-h-c++-tests: New module.
24519         * tests/test-utime-h-c++.cc: New file.
24520         (utime): Declare, missing since 2017-04-30.
24521         * modules/utime-h-c++-tests: New file.
24523 2017-05-05  Bruno Haible  <bruno@clisp.org>
24525         unistd-c++-tests: Update.
24526         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
24527         (read): Declare, missing since 2011-04-15.
24528         (sethostname): Declare, missing since 2011-12-03.
24530 2017-05-05  Bruno Haible  <bruno@clisp.org>
24532         time-c++-tests: Update.
24533         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
24534         (localtime, gmtime): Declare, missing since 2017-04-30.
24535         (ctime): Declare, missing since 2017-04-30.
24536         (strftime): Declare, missing since 2017-04-30.
24537         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
24538         2015-07-24.
24540 2017-05-05  Bruno Haible  <bruno@clisp.org>
24542         sys_resource-c++-tests: New module.
24543         * tests/test-sys_resource-c++.cc: New file.
24544         (getrusage): Declare, missing since 2012-04-13.
24545         * modules/sys_resource-c++-tests: New file.
24547 2017-05-05  Bruno Haible  <bruno@clisp.org>
24549         strings-c++-tests: New module.
24550         * tests/test-strings-c++.cc: New file.
24551         (ffs): Declare, missing since 2011-07-12.
24552         * modules/strings-c++-tests: New file.
24554 2017-05-05  Bruno Haible  <bruno@clisp.org>
24556         string-c++-tests: Update.
24557         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
24558         (ffsll): Declare, missing since 2011-07-15.
24560 2017-05-05  Bruno Haible  <bruno@clisp.org>
24562         stdlib-c++-tests: Update.
24563         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
24564         2011-10-18.
24565         (ptsname_r): Declare, missing since 2011-11-07.
24566         (qsort_r): Declare, missing since 2014-08-29.
24567         (random, srandom, initstate, setstate): Declare, missing since
24568         2012-01-14.
24569         (secure_getenv): Declare, missing since 2013-02-05.
24571 2017-05-05  Bruno Haible  <bruno@clisp.org>
24573         stdio-c++-tests: Update.
24574         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
24576 2017-05-05  Bruno Haible  <bruno@clisp.org>
24578         signal-h-c++-tests: Update.
24579         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
24581 2017-05-05  Bruno Haible  <bruno@clisp.org>
24583         math-c++-tests: Update.
24584         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
24585         (fma): Declare, missing since 2011-10-17.
24586         (fmal): Declare, missing since 2011-10-17.
24588 2017-05-05  Bruno Haible  <bruno@clisp.org>
24590         locale-c++-tests: Update.
24591         * tests/test-locale-c++.cc (localeconv): Declare, missing since
24592         2012-03-25.
24594 2017-05-05  Bruno Haible  <bruno@clisp.org>
24596         inttypes-c++-tests: New module.
24597         * tests/test-inttypes-c++.cc: New file.
24598         (strtoimax): Declare, missing since 2012-01-05.
24599         (strtoumax): Declare, missing since 2012-01-05.
24600         * modules/inttypes-c++-tests: New file.
24602 2017-05-05  Bruno Haible  <bruno@clisp.org>
24604         dirent-c++-tests: Update.
24605         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
24606         (rewinddir): Declare, missing since 2011-09-13.
24607         (dirfd): Declare, missing since 2010-03-08.
24609 2017-05-04  Bruno Haible  <bruno@clisp.org>
24611         argp: Fix mistake in 2017-04-23 commit.
24612         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
24613         assume that strerror_r returns 'int', not 'char *'.
24615 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
24617         argp: Fix typo.
24618         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
24620 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
24622         utimens: port to Emacs + MS-Windows
24623         Skip the new MS-Windows-specific code if Emacs.
24624         * lib/utimens.c [EMACS_CONFIGUATION]:
24625         Avoid new MS-Windows-specific code.
24626         (USE_SETFILETIME): New macro.
24627         (fdutimens): Use it.
24629 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24631         tzset: update doc for TZ problems on MS-Windows
24632         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
24633         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
24634         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
24635         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
24636         * doc/posix-functions/wcsftime.texi:
24637         Mention some issues with TZ under MS-Windows.
24639 2017-05-01  Bruno Haible  <bruno@clisp.org>
24641         copy-file: Fix build error on mingw.
24642         * modules/copy-file (Depends-on): Add 'close'.
24644 2017-05-01  Bruno Haible  <bruno@clisp.org>
24646         tzset: Work around TZ problem on native Windows.
24647         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
24648         Windows, set REPLACE_TZSET to 1.
24649         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
24650         invoke '_tzset' instead of 'tzset'.
24651         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
24653         * modules/time_rz (Depends-on): Add tzset.
24654         * lib/time_rz.c (tzset): Remove fallback definition.
24655         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
24657 2017-05-01  Bruno Haible  <bruno@clisp.org>
24659         mktime: Fix dependencies.
24660         * modules/mktime (Depends-on): Add 'time'.
24662 2017-05-01  Bruno Haible  <bruno@clisp.org>
24664         New module 'localtime-buffer', split off from module 'gettimeofday'.
24665         * lib/localtime-buffer.h: New file.
24666         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
24667         * lib/time.in.h (tzset): New declaration.
24668         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
24669         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
24670         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
24671         moved to lib/localtime-buffer.c or lib/tzset.c.
24672         * m4/localtime-buffer.m4: New file.
24673         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
24674         HAVE_TZSET, REPLACE_TZSET.
24675         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
24676         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
24677         gl_LOCALTIME_BUFFER_NEEDED.
24678         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
24679         since 2007-01-18.
24680         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
24681         tzset.
24682         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
24683         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
24684         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
24685         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
24686         * modules/localtime-buffer: New file.
24687         * modules/time (Depends-on): Remove 'gettimeofday'.
24688         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
24689         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
24690         * modules/tzset (Description): Enable hyperlink to POSIX spec.
24691         (Files): Add lib/tzset.c.
24692         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
24693         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
24694         gl_TIME_MODULE_INDICATOR.
24695         * modules/gettimeofday (Depends-on): Add localtime-buffer.
24697 2017-05-01  Bruno Haible  <bruno@clisp.org>
24699         copy-file: Preserve sub-second time stamps.
24700         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
24701         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
24702         transport the time stamps from the original file to the destination
24703         file.
24704         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
24705         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
24706         utime-h.
24708 2017-05-01  Bruno Haible  <bruno@clisp.org>
24710         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
24711         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
24712         also on MSVC.
24713         Reported by Eli Zaretskii <eliz@gnu.org>.
24715 2017-05-01  Bruno Haible  <bruno@clisp.org>
24717         wchar: Fix compilation error with the original mingw.org mingw.
24718         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
24719         <stddef.h> instead.
24720         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
24721         gl_WCTYPE_H.
24722         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
24723         gl_TYPE_WINT_T_PREREQ instead.
24724         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
24725         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
24726         Reported by Eli Zaretskii <eliz@gnu.org>.
24728 2017-04-30  Bruno Haible  <bruno@clisp.org>
24730         utimecmp: Add support for native Windows.
24731         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
24733 2017-04-30  Bruno Haible  <bruno@clisp.org>
24735         utimens: Add support for native Windows.
24736         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
24737         (fdutimens): Provide a native Windows implementation, like utime.c with
24738         added tv_nsec support.
24739         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
24740         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
24742 2017-04-30  Bruno Haible  <bruno@clisp.org>
24744         wcsftime: New module.
24745         * lib/wchar.in.h (wcsftime): New declaration.
24746         * lib/wcsftime.c: New file.
24747         * m4/wcsftime.m4: New file.
24748         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
24749         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
24750         HAVE_WCSFTIME, REPLACE_WCSFTIME.
24751         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
24752         HAVE_WCSFTIME, REPLACE_WCSFTIME.
24753         * modules/wcsftime: New file.
24754         * doc/posix-functions/wcsftime.texi: Mention the new module.
24756 2017-04-30  Bruno Haible  <bruno@clisp.org>
24758         strftime-fixes: New module.
24759         * lib/time.in.h (strftime): New declaration.
24760         * lib/strftime-fixes.c: New file.
24761         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
24762         (gl_FUNC_STRFTIME): Remove macro.
24763         * m4/strftime-fixes.m4: New file.
24764         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
24765         REPLACE_STRFTIME.
24766         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
24767         REPLACE_STRFTIME.
24768         * modules/strftime-fixes: New file.
24769         * doc/posix-functions/strftime.texi: Mention the new module.
24771 2017-04-30  Bruno Haible  <bruno@clisp.org>
24773         mktime: Work around TZ problem on native Windows.
24774         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
24775         from the native Windows workaround.
24776         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
24777         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
24778         'guessing no'.
24779         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
24780         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
24781         NEED_MKTIME_WINDOWS.
24782         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
24783         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
24784         NEED_MKTIME_INTERNAL.
24785         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
24786         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
24787         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
24788         not REPLACE_MKTIME.
24789         * doc/posix-functions/mktime.texi: Mention the native Windows
24790         workaround.
24792 2017-04-30  Bruno Haible  <bruno@clisp.org>
24794         localtime: New module.
24795         * lib/time.in.h (localtime): Declare also if requested by module
24796         'localtime'.
24797         * lib/localtime.c: New file.
24798         * m4/localtime.m4: New file.
24799         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
24800         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
24801         * modules/localtime: New file.
24802         * doc/posix-functions/localtime.texi: Mention the new module.
24804 2017-04-30  Bruno Haible  <bruno@clisp.org>
24806         ctime: New module.
24807         * lib/time.in.h (ctime): New declaration.
24808         * lib/ctime.c: New file.
24809         * m4/ctime.m4: New file.
24810         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
24811         REPLACE_CTIME.
24812         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
24813         * modules/ctime: New file.
24814         * doc/posix-functions/ctime.texi: Mention the new module.
24816 2017-04-30  Bruno Haible  <bruno@clisp.org>
24818         gettimeofday: Provide higher resolution on native Windows.
24819         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
24820         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
24821         (initialize): Initialize it.
24822         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
24823         'struct timeval'. Don't use _ftime().
24824         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
24825         <sys/timeb.h> and _ftime.
24827 2017-04-30  Bruno Haible  <bruno@clisp.org>
24829         Document the problem with the Cygwin environment variable TZ.
24830         * doc/posix-functions/tzset.texi: Add note about TZ.
24831         * doc/posix-functions/ctime.texi: Likewise.
24832         * doc/posix-functions/localtime.texi: Likewise.
24833         * doc/posix-functions/mktime.texi: Likewise.
24834         * doc/posix-functions/strftime.texi: Likewise.
24835         * doc/posix-functions/wcsftime.texi: Likewise.
24836         * doc/pastposix-functions/ftime.texi: Likewise.
24838 2017-04-30  Bruno Haible  <bruno@clisp.org>
24840         utime-tests: New module.
24841         * tests/test-utime.c: New file, based on tests/test-utimens.h.
24842         * tests/test-utimens-common.h: Include <sys/stat.h>.
24843         * modules/utime-tests: New file.
24845 2017-04-29  Bruno Haible  <bruno@clisp.org>
24847         utime: New module.
24848         * lib/utime.in.h: Add comment for snippets.
24849         (utime): New declaration.
24850         * lib/utime.c: New file.
24851         * m4/utime.m4: New file.
24852         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
24853         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
24854         REPLACE_UTIME.
24855         * modules/utime-h (Depends-on): Add snippets.
24856         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
24857         Insert snippets.
24858         * modules/utime: New file.
24859         * doc/posix-functions/utime.texi: Mention the new module.
24861 2017-04-29  Bruno Haible  <bruno@clisp.org>
24863         utime-h: Modernize handling of 'struct utimbuf'.
24864         * lib/utime.in.h: Include next <utime.h> if it exists.
24865         (utimbuf): Define to _utimbuf on native Windows.
24866         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
24867         Set UTIME_H on native Windows.
24868         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
24869         * modules/utime-h (Depends-on): Add include_next.
24870         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
24871         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
24873         * lib/utimens.c (utimbuf): Remove fallback definition.
24874         * m4/utimens.m4 (gl_UTIMENS): Don't require
24875         gl_CHECK_TYPE_STRUCT_UTIMBUF.
24876         * m4/utimbuf.m4: Remove file.
24877         * modules/utimens (Files): Remove m4/utimbuf.m4.
24879 2017-04-29  Bruno Haible  <bruno@clisp.org>
24881         Make use of module 'utime-h'.
24882         * modules/copy-file (Depends-on): Add utime-h.
24883         * lib/copy-file.c: Assume that <utime.h> exists.
24884         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
24886         * modules/utimens (Depends-on): Add utime-h.
24887         * lib/utimens.c: Assume that <utime.h> exists.
24889 2017-04-29  Bruno Haible  <bruno@clisp.org>
24891         utime-h: New module.
24892         * m4/utime_h.m4: New file.
24893         * lib/utime.in.h: New file.
24894         * modules/utime-h: New file.
24895         * doc/posix-headers/utime.texi: Mention the new module.
24897         * tests/test-utime-h.c: New file.
24898         * modules/utime-h-tests: New file.
24900 2017-04-30  Bruno Haible  <bruno@clisp.org>
24902         Fix a few typos.
24903         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
24904         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
24905         * doc/posix-functions/fstat.texi: Fix a plural typo.
24906         * doc/posix-functions/stat.texi: Likewise.
24907         * m4/include_next.m4: Update comments.
24909 2017-04-29  Bruno Haible  <bruno@clisp.org>
24911         error: Fix mistake in 2017-04-23 commit.
24912         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
24913         assume that strerror_r returns 'int', not 'char *'.
24915 2017-04-29  Bruno Haible  <bruno@clisp.org>
24917         stat: Fix time_t values and other problems on native Windows platforms.
24918         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
24919         implementations of stat().
24920         * lib/stat.c: Include filename.h instead of dosname.h. Include
24921         malloca.h, stat-w32.h.
24922         (is_unc_root): New function.
24923         (rpl_stat): New implementation for native Windows. Remove
24924         REPLACE_FUNC_STAT_DIR code.
24925         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
24926         Don't define REPLACE_FUNC_STAT_DIR.
24927         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
24928         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
24929         (Depends-on): Remove dosname. Add filename, malloca.
24930         (configure.ac): Also compile lib/stat-w32.c.
24932 2017-04-29  Bruno Haible  <bruno@clisp.org>
24934         fstat: Fix time_t values on native Windows platforms.
24935         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
24936         * lib/stat-w32.h: New file.
24937         * lib/stat-w32.c: New file.
24938         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
24939         stat-w32.h instead.
24940         (fstat_nothrow): Remove function.
24941         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
24942         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
24943         always.
24944         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
24945         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
24946         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
24947         (configure.ac): Also compile lib/stat-w32.c.
24949 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
24951         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
24952         Problem reported by Assaf Gordon and Gavin Smith in:
24953         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
24954         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
24955         #define this, too.
24957 2017-04-29  Bruno Haible  <bruno@clisp.org>
24959         strerror_r-posix: Fixes for MSVC 14.
24960         * lib/strerror_r.c: Include <stdarg.h>.
24961         (strerror_r): Provide error messages for errno values 100...140.
24962         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
24964 2017-04-28  Bruno Haible  <bruno@clisp.org>
24966         noreturn: New module.
24967         * lib/noreturn.h: New file.
24968         * modules/noreturn: New file.
24969         * tests/test-noreturn.c: New file.
24970         * modules/noreturn-tests: New file.
24971         * tests/test-noreturn-c++.cc: New file.
24972         * modules/noreturn-c++-tests: New file.
24974 2017-04-27  Bruno Haible  <bruno@clisp.org>
24976         wctype-h: Fix compilation error with the original mingw.org mingw.
24977         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
24978         HAVE_CRTDEFS_H.
24979         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
24980         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
24981         <stddef.h> instead.
24982         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
24984 2017-04-26  Pádraig Brady  <P@draigBrady.com>
24986         nap.h: Fix compilation on non windows platforms
24987         * tests/nap.h: Move misplaced endif.
24989 2017-04-26  Pádraig Brady  <P@draigBrady.com>
24990         and Paul Eggert  <eggert@cs.ucla.edu>
24992         time_rz: fix heap buffer overflow vulnerability
24993         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
24994         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
24995         whether there is enough buffer space available, thus avoiding
24996         the problematic promotion of signed to unsigned causing an invalid
24997         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
24998         the start of the buffer.
24999         * tests/test-parse-datetime.c (main): Add a test case written by
25000         Paul Eggert, which overwrites enough of the heap so that
25001         standard glibc will fail with "free(): invalid pointer"
25002         without the patch applied.
25004 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
25006         xalloc: add missing integer overflow check
25007         * lib/xalloc.h (x2nrealloc): Also check for multiplication
25008         overflow when P is null.
25010 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
25012         parse-datetime: make it standalone
25013         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
25014         (_GL_ATTRIBUTE_FORMAT): New macro.
25015         These are needed to get './gnulib-tool --test parse-datetime' to work.
25017 2017-04-23  Bruno Haible  <bruno@clisp.org>
25019         nap.h: Port to native Windows.
25020         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
25021         use nap_fd instead. On native Windows, close and reopen nap_fd.
25022         (nap_works): Don't compare the ctimes, because on native Windows, these
25023         are the creation times.
25024         (nap): Update.
25026 2017-04-23  Bruno Haible  <bruno@clisp.org>
25028         nap.h: Fix logic.
25029         * tests/nap.h (nap): Avoid signed integer overflow in loop.
25031 2017-04-23  Bruno Haible  <bruno@clisp.org>
25033         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
25034         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
25035         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
25036         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
25037         * lib/argp-help.c (__argp_failure): Likewise.
25039 2017-04-23  Bruno Haible  <bruno@clisp.org>
25041         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
25042         * m4/strerror_r.m4: Revert changes since 2016-10-16.
25043         * lib/strerror_r.c: Likewise.
25045 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
25047         Target a C99 subset, not a C89 subset
25048         For many years Gnulib has targeted C89 and has resisted using C99
25049         features, as some Gnulib-using programs still wanted to target
25050         C89.  As this no longer seems to be the case, relax the porting
25051         requirements to allow some C99 features.  This is merely a change
25052         to the documentation, to give other Gnulib developers a chance to
25053         weigh in on the topic.
25054         * doc/extern-inline.texi (extern inline):
25055         * doc/gnulib-readme.texi (Portability guidelines):
25056         * doc/gnulib-tool.texi (Initial import):
25057         * doc/gnulib.texi (Header files):
25058         Modernize to talk about C99 and C11 instead of C89 and C99.
25059         * doc/gnulib-readme.texi (Portability guidelines):
25060         Now a section, not merely a subsection, so that it
25061         can be split up.  Modernize a bit.
25062         (C language versions, C99 features assumed)
25063         (C99 features avoided):
25064         New sections.
25066 2017-04-23  Bruno Haible  <bruno@clisp.org>
25068         doc: New section "Modules that modify the way other modules work".
25069         * doc/gnulib.texi (Modules that modify the way other modules work): New
25070         section.
25072 2017-04-23  Bruno Haible  <bruno@clisp.org>
25074         stat-time: Update comments.
25075         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
25076         * tests/test-utimens-common.h: Add reference regarding st_ctime on
25077         Windows.
25079 2017-04-01  Bruno Haible  <bruno@clisp.org>
25081         glob: Fix more memory leaks.
25082         * lib/glob.c (glob): Free allocated memory before returning.
25083         Reported by Coverity via Tim Rühsen.
25085 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
25087         poll: improve fast check for out-of-range NFD
25088         * lib/poll.c: Do not include intprops.h.
25089         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
25090         * modules/poll (Depends-on): Remove intprops.
25092         ftoastr: cite a newer paper
25093         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
25094         instead of Loitsch 2010.
25096 2017-04-22  Bruno Haible  <bruno@clisp.org>
25098         poll: Enable argument check also in the Windows implementation.
25099         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
25100         Reported by Paul Eggert.
25102 2017-04-22  Bruno Haible  <bruno@clisp.org>
25104         getlogin_r: Work around bug in Mac OS X 10.12.
25105         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
25106         bug.
25107         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
25108         given size minus 1, call getlogin_r a second time, on a larger buffer.
25109         * modules/getlogin_r (Depends-on): Add malloca.
25110         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
25112 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
25114         parse-datetime: fix %z and prefer signed int
25115         %z problem reported by Pádraig Brady in:
25116         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
25117         While fixing it, I decided to prefer signed ints to size_t, as
25118         they are less error-prone (e.g., ubsan catches overflow).
25119         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
25120         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
25121         counts, since signed integers make for better debugging.
25122         (date): Don’t assume %z works in printf formats.
25123         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
25124         sizes of buffers known to be small, e.g., because we’re using snprintf.
25125         (parse_datetime2): Simplify call to debug_mktime_not_ok.
25127 2017-04-22  Bruno Haible  <bruno@clisp.org>
25129         *printf: Work around rounding bug on Mac OS X.
25130         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
25131         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
25132         Mac OS X and FreeBSD.
25133         * doc/glibc-functions/*printf.texi: Likewise.
25135 2017-04-22  Bruno Haible  <bruno@clisp.org>
25137         vasnprintf tests: Avoid warnings.
25138         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
25139         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
25140         test.
25142 2017-04-22  Bruno Haible  <bruno@clisp.org>
25144         sys_file tests: Avoid warning.
25145         * tests/test-sys_file.c (main): Add a default clause to the switch
25146         statement.
25148 2017-04-22  Bruno Haible  <bruno@clisp.org>
25150         sethostname: Update doc.
25151         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
25152         Mac OS X.
25154 2017-04-22  Bruno Haible  <bruno@clisp.org>
25156         quotearg tests: Avoid warnings.
25157         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
25158         false.
25160 2017-04-22  Bruno Haible  <bruno@clisp.org>
25162         poll: Enable argument check.
25163         * lib/poll.c: Include intprops.h.
25164         (poll): Check value of nfd correctly.
25165         * modules/poll (Depends-on): Add intprops.
25167 2017-04-22  Bruno Haible  <bruno@clisp.org>
25169         get-rusage-data: Avoid warnings on Mac OS X.
25170         * lib/get-rusage-data.c: On Mac OS X, don't define
25171         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
25172         (get_rusage_data) [Mac OS X]: Just return 0.
25174 2017-04-22  Bruno Haible  <bruno@clisp.org>
25176         xbinary-io: Fix build error.
25177         * modules/xbinary-io (Depends-on): Add gettext-h.
25178         * lib/xbinary-io.c: Include gettext.h and define _().
25179         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
25180         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
25182 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
25184         parse-datetime: overflow and debug cleanups
25185         This long patch was triggered by this bug report from Ruediger Meier:
25186         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
25187         I fixed the bug he noted, then found some others nearby, and then
25188         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
25189         up some of the code to follow GNU standards while I was at it.
25190         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
25191         use c_isdigit.
25192         (EPOCH_YEAR): Remove; unused.
25193         (TM_YEAR_BASE): Now an enum rather than a macro.
25194         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
25195         time zone offset, since timezones now are in terms of seconds and
25196         not minutes.
25197         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
25198         appropriate.  Verify that intmax_t is wide enough.
25199         (time_overflow, time_zone_str): New functions, used to deal
25200         more reliably with overflow.
25201         (dbg_printf): Add printf attribute, to help catch integer width errors.
25202         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
25203         (%union, to_hour, yylex, parse_datetime2):
25204         Use intmax_t instead of long int and/or long_time_t.
25205         All uses changed.
25206         (DBGBUFSIZE): Move earlier.
25207         (relative_time, set_hhmmss, parser_control):
25208         Just use int for nanoseconds and for time zones; that’s wide enough.
25209         (parser_control): Use bool for members like year_seen that can
25210         be booleans instead of counters.  All uses changed.
25211         Remove debug_default_input_timezone; no longer needed.
25212         All uses removed.
25213         (apply_relative_time): Return a bool overflow flag.
25214         All uses changed to check for overflow.
25215         (apply_relative_time, zone, date, relunit, relunit_snumber)
25216         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
25217         Check for integer overflow portably.
25218         (str_days): Use just int for N, as it’s wide enough.
25219         Prefer 2D char arrays to arrays of char * when it looks like
25220         2D is a win on typical platforms.
25221         Prefer snprintf to strncpy/strncat, for simplicity;
25222         all buffers are smaller than INT_MAX so this is safe.
25223         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
25224         (debug_print_current_time): Don’t assume tv_nsec is of type long,
25225         as this is not true on x32.  Output "." before any nanoseconds.
25226         (debug_print_current_time, parse_datetime2):
25227         Output local zones using a more-consistent format.
25228         (debug_print_current_time, date, parse_datetime2):
25229         (main) [TEST]:
25230         Don’t assume time_t is the same width as long.
25231         (print_rel_part): New function, replacing ...
25232         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
25233         (debug_print_relative_time): Use bool for boolean.
25234         (local_zone): dsts_seen now counts only tDST instances.
25235         (date): Fix printf of size_t to use %z.  Do not assume numeric
25236         tokens have negative values merely because the context suggests
25237         a syntax with "-" separating tokens.
25238         (time_zone_hhmm): Return bool success indicator, which checks for
25239         overflow.  Store result into PC->time_zone instead.  All callers
25240         changed.
25241         (tm_year_str): New function.  Return a bool success indicator and
25242         store the result into a buffer.  All callers changed.  Output the
25243         numerically correct string even if adding 1900 to the year would
25244         overflow.
25245         (to_tm_year): New function, replacing the old to_year.  All
25246         callers changed.
25247         (tm_diff): Sync with glibc.
25248         (lookup_word): Use to_uchar instead of doing it by hand.
25249         (TZBUFSIZE): Now local to the only function that needs it.
25250         (debug_strfdatetime): Simplify now that time zones are int seconds.
25251         (debug_strfdate): Work even if tm_year + 1900 would overflow.
25252         (get_effective_timezone): Remove.  All uses removed.
25253         (parse_datetime2): Use fprintf in pieces instead of snprintfing
25254         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
25255         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
25256         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
25257         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
25258         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
25259         * modules/parse-datetime (Depends-on): Add inttypes.
25261 2017-04-21  Bruno Haible  <bruno@clisp.org>
25263         gettext-h: Avoid -Wundef warning.
25264         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
25265         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
25266         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
25268 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
25270         error: Avoid "function declaration isn't a prototype" warning.
25271         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
25273 2017-04-21  Bruno Haible  <bruno@clisp.org>
25275         vasnprintf: Fix for MSVC 14.
25276         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
25277         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
25278         of !HAVE_SNPRINTF_RETVAL_C99.
25280 2017-04-21  Bruno Haible  <bruno@clisp.org>
25282         mbrtowc tests: Fix test failures on MSVC 14.
25283         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
25284         behaviour for invalid input.
25286 2017-04-21  Bruno Haible  <bruno@clisp.org>
25288         mbsinit: Fix for MSVC 14.
25289         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
25290         implementation that is in sync with mbrtowc.c. On other platforms, use
25291         an adequate ad-hoc implementation.
25293 2017-04-21  Bruno Haible  <bruno@clisp.org>
25295         Fix test-mbrtowc5.sh failure on native Windows.
25296         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
25297         "C".
25299 2017-04-21  Bruno Haible  <bruno@clisp.org>
25301         Avoid accidental use of native Windows APIs on Cygwin.
25302         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
25303         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
25304         * lib/localename.c (WINDOWS_NATIVE): Likewise.
25306 2017-04-20  Bruno Haible  <bruno@clisp.org>
25308         Remove red warnings from the generated MODULES.html.
25309         * modules/fcntl (Description): Disambiguate function references.
25310         * modules/getcwd-lgpl (Description): Likewise.
25311         * modules/hostent (Description): Likewise.
25312         * modules/servent (Description): Likewise.
25313         * modules/tempname (Description): Likewise.
25315 2017-04-20  Bruno Haible  <bruno@clisp.org>
25317         verify tests: Fix spurious failure with parallel make.
25318         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
25319         EXTRA_PROGRAMS.
25320         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
25321         * tests/test-verify-try.c: New file.
25322         * modules/verify-tests (Files): Add it.
25323         (EXTRA_PROGRAMS): Add test-verify-try.
25324         (MOSTLYCLEANFILES): Update accordingly.
25325         Reported by Adam James Stewart <ajstewart@anl.gov>.
25327 2017-04-18  Bruno Haible  <bruno@clisp.org>
25329         vma-iter: Fix compilation error on Solaris 7.
25330         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
25331         like on IRIX, OSF/1.
25332         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25334 2017-04-18  Bruno Haible  <bruno@clisp.org>
25336         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
25337         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
25338         included.
25339         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
25340         <sys/procfs.h>.
25341         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
25342         <sys/procfs.h> cannot be included.
25343         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25345 2017-04-18  Bruno Haible  <bruno@clisp.org>
25347         getopt-gnu: Add comments.
25348         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
25349         * modules/getopt-gnu (configure.ac): Likewise.
25351 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
25353         regex: port better to Solaris 10
25354         Solaris 10 <locale.h> includes <libintl.h>, which #defines
25355         gettext, and this causes a double #define.
25356         Problem reported by Gavin Smith in:
25357         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
25358         * lib/regex_internal.h (gettext): #undef before #defining.
25360 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25362         intprops: improve comments
25363         * lib/intprops.h: Improve and shorten commentary.
25364         For the record, if we ever run into a pedantic compiler that
25365         behaves differently from GCC when converting an out-of-range value
25366         to a signed integer, we can work around the problem with something
25367         like the following code, where UCT is the signed counterpart of T
25368         (UCT is sometimes narrower than UT) and all callers are changed
25369         accordingly:
25370         #if __SUNPRO_C <= 0x5120
25371         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
25372            ((t) ((ut) (a) op (ut) (b)))
25373         #else
25374         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
25375            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
25376             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
25377                + TYPE_MINIMUM (t)) \
25378             : (t) (uct) ((ut) (a) op (ut) (b)))
25379         #endif
25381 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25383         intprops: try to avoid tickling similar bugs
25384         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
25385         needs to be the same width as T; it can be wider.
25386         Change callers so that UT is at least as wide as unsigned int,
25387         as I suspect that this is less likely to run into compiler bugs.
25389         intprops: port to Oracle Studio 12.3 x86
25390         Problem reported by Gavin Smith in:
25391         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
25392         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
25393         Convert unsigned to signed via the usual rather than the standard way,
25394         to avoid a compiler bug in Oracle Studio 12.3 x86.
25396 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25398         getopt: prefer - to _ in new file names
25399         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
25400         * lib/getopt-core.h: Rename from lib/getopt_core.h.
25401         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
25402         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
25403         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
25404         All uses changed.
25406         getopt: port recent getopt changes to macOS
25407         Problem reported by Harald Maier (Bug#26398).
25408         The macOS C compiler uses __nonnull for its own purposes and that
25409         clashes with glibc's __nonnull.
25410         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
25411         * lib/getopt_cdefs.in.h (__nonnull): Remove.
25412         * lib/getopt_core.h (getopt):
25413         * lib/getopt_ext.h (getopt_long, getopt_long_only):
25414         Use _GL_ARG_NONNULL, not __nonnull.
25415         * lib/unistd.in.h: Move snippet hooks to before where the getopt
25416         .h files are included, so that _GL_ARG_NONNULL is defined in time.
25417         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
25418         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
25420 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
25422         getopt-gnu: omit some duplicate code
25423         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
25424         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
25425         gnulib-tool already does this.
25426         * modules/getopt-gnu (configure.ac): Omit code duplicated from
25427         getopt-posix, which we depend on.
25429         getopt-posix: use angle-bracket include
25430         * lib/getopt1.c: Include <config.h>, not "config.h".
25432 2017-04-06  Zack Weinberg  <zackw@panix.com>
25434         getopt: annotate files with relationship to glibc
25436         As the final act in this patchset, adjust the message at the top of
25437         each file to indicate which files are synced with glibc.  (This has
25438         already been done for most of the headers.)
25440         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
25441         Mention in top-of-file boilerplate that these files are shared
25442         between glibc and gnulib.
25445         getopt: split up getopt.in.h and eliminate __need_getopt
25447         Over in glibc, all of the __need macros are being phased out in favor
25448         of small headers that declare only the necessary components, as this
25449         is much simpler and less prone to bugs.  As getopt is shared with
25450         glibc, gnulib needs to do the same for __need_getopt.
25452         __need_getopt is misnamed; what it really means is "we want only the
25453         getopt features specified in POSIX, not the GNU extensions".  glibc
25454         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
25455         these files can be shared verbatim with gnulib.  The portability
25456         wrapper, on the other hand, they have renounced altogether; glibc's
25457         getopt.h will no longer be shared with gnulib at all.  In exchange,
25458         certain glibc-specific quirks (having to do with __posix_getopt) no
25459         longer need appear in gnulib's headers at all.
25461         This patch merges getopt_core.h and getopt_ext.h from glibc, and
25462         splits up the current gnulib-side portability wrapper into three
25463         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
25464         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
25465         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
25466         unistd.in.h just use them.  All new files are clearly marked with
25467         whether they are shared with glibc.
25469         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
25470         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
25471         with glibc, and ...
25472         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
25473         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
25474         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
25475         instead of defining __need_getopt and including the full getopt.h.
25477         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
25478         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
25479         * modules/getopt-posix (Files): Add new headers and sort list.
25480         (Depends-on): No longer need snippet/arg-nonnull.
25481         (Makefile.am): Generate getopt_cdefs.h.
25484         getopt: better handling of ambiguous options
25486         glibc's getopt uses alloca to construct a linked list of possibilities
25487         for an "ambiguous" long option.  In gnulib, malloc should be used
25488         instead.  Providing for both cases complicates things a fair bit.
25490         This patch rewrites ambiguous-option handling to use a boolean vector
25491         instead of a linked list.  There is then only one allocation that
25492         might need freeing; in glibc it can honor __libc_use_alloca as usual,
25493         and in gnulib we define __libc_use_alloca to always be false, so we
25494         don't need ifdefs in the middle of the function.  This should also be
25495         slightly more efficient in the normal case of long options being fully
25496         spelled out -- I think most people aren't even aware they _can_
25497         sometimes abbreviate long options.
25499         One interesting consequence is that the list of possibilities is now
25500         printed in exactly the order they appear in the list of long options,
25501         instead of the first possibility being shuffled to the end.
25503         (The patch looks bigger than it really is because there's a fair bit
25504         of reindentation and code rearrangement.)
25506         * lib/getopt.c: When used standalone, define __libc_use_alloca
25507         as always false and alloca to abort if called.
25508         (process_long_option): Rewrite handling of ambiguous long options
25509         to use a single boolean vector, not a linked list; use
25510         __libc_use_alloca to decide whether to allocate this using alloca.
25513         getopt: refactor long-option handling
25515         There were two copies of the bulk of the code to handle long options.
25516         Now there is only one.
25518         This change temporarily removes the logic to avoid using alloca when
25519         standalone; the next patch in the series will restore it.
25521         * lib/getopt.c (process_long_option): New function split out
25522         from _getopt_internal_r.
25523         (_getopt_internal_r): Replace both copies of the long-option
25524         processing code with calls to process_long_option.
25527         getopt: tidy up _getopt_initialize a bit
25529         _getopt_data.__posixly_correct is completely redundant to
25530         _getopt_data.__ordering, and some work that logically belongs in
25531         _getopt_initialize was being done by _getopt_internal_r, making the
25532         code harder to understand.
25534         As a side effect, getenv will no longer be called if the first
25535         character of the options string is '+' or '-', which is probably a
25536         Good Thing.  (Perhaps we should have a flag character that
25537         specifically asks for the permutation behavior?)
25539         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
25540         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
25541         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
25544         getopt: merge from glibc: repetition reduction
25546         The definitions of the entry point functions 'getopt' and
25547         '__posix_getopt' can be made substantially less repetitive with a
25548         helper macro.
25550         While I was merging the const-correctness changes from gnulib into
25551         glibc I noticed there are still some unnecessary casts in
25552         _getopt_internal_r.
25554         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
25555         a macro.  Consistently cast 'argv' to 'char **' when calling
25556         _getopt_internal.
25557         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
25560         getopt: clean up error reporting
25562         getopt can print a whole bunch of error messages, and when used
25563         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
25564         cancellation point and getopt isn't, and also applying fprintf to a
25565         stream in wide-character mode is not allowed.  So every single error
25566         reporting case has an #ifdef _LIBC block in which it calls internal
25567         libc functions instead.  The counterpart patch series in glibc makes
25568         it possible to simplify all of that down to a set of #defines at the
25569         top of the file; core code is written as if it is safe to just call
25570         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
25571         call any *other* stdio functions.)
25573         * lib/getopt.c: When _LIBC is defined, define fprintf to
25574         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
25575         to _IO_funlockfile.  When neither _LIBC nor
25576         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
25577         funlockfile as no-ops.
25578         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
25579         standalone error-printing code can now be used for libc as well.
25580         Add an flockfile/funlockfile pair around one case where the error
25581         message is printed in several chunks.  Don't use fputc.
25584         getopt: fix fencepost error in ambiguous-W-option handling
25586         getopt_long contains an undocumented (AFAICT) feature in which, if you
25587         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
25588         treated as equivalent to '--foo'.  This is implemented with a partial
25589         second copy of the code for handling long options, and that code
25590         increments optind one too many times when recovering from an ambiguous
25591         abbreviated option, which can cause the main loop to walk past the end
25592         of argv and crash.
25594         I discovered this while writing a test case that tries to exercise all
25595         of getopt's error reporting paths; I wouldn't be surprised to learn
25596         that this feature is never used by real applications.
25598         * lib/getopt.c (_getopt_internal_r): Don't increment
25599         d->optind a second time when reporting ambiguous -W options.
25602         getopt: clean up getopt.c and getopt1.c file headers
25604         In getopt.c, there is no need to include wchar.h at all, and it is
25605         safe nowadays to assume that stdlib.h does declare getenv (several
25606         other gnulib modules make this assumption).
25608         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
25609         by using "" inclusions consistently, and there is no actual need to
25610         include stdlib.h (except in the #ifdef TEST block, where it should be
25611         unconditional), nor to provide a backup definition of NULL at all.
25613         * lib/getopt1.c: Simplify #ifdeffage at top of file.
25614         Move inclusion of stdlib.h to #ifdef TEST block and make
25615         unconditional.  Do not define NULL.
25616         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
25617         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
25618         * modules/getopt-gnu, modules/getopt-posix: Don't call
25619         gl_PREREQ_GETENV.
25622         getopt: harmonize comments with glibc
25624         The comments explaining how the behavior of 'getopt' varies depending
25625         on whether it's the standalone version and whether there are special
25626         characters at the beginning of the options string were inconsistent
25627         between gnulib and glibc, and also out of sync with the code.
25629         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
25632         getopt: remove USE_NONOPTION_FLAGS
25634         getopt includes code to parse an environment variable named
25635         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
25636         in decimal); but all of it has been #ifdefed out since 2001, with no
25637         official way to turn it back on.
25639         According to commentary in glibc's config.h.in, bash version 2.0
25640         set this environment variable to indicate argv elements that were
25641         the result of glob expansion and therefore should not be treated
25642         as options, but the feature was "disabled later" because "it
25643         caused problems".  According to bash's CHANGES file, "later" was
25644         release 2.01; it gives no more detail about what the problems
25645         were.
25647         Version 2.0 of bash was released on the last day of 1996, and version
25648         2.01 in June of 1997.  Twenty years later, I think it is safe to
25649         assume that this environment variable isn't coming back.
25651         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
25652         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
25653         __libc_argc and __libc_argv externs, which were only used by
25654         #ifdef USE_NONOPTION_FLAGS blocks.
25657         getopt: tabify, in preparation for merge with glibc
25659         glibc sticks to the GNU default of indenting with a mix of
25660         8-column tabs and spaces; make the gnulib copy match.
25662         getopt.h is not included because it is *not* going to be merged in its
25663         present form.
25665         * getopt.c, getopt1.c, getopt_int.h: Tabify.
25667 2017-04-02  Bruno Haible  <bruno@clisp.org>
25669         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
25670         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
25671         like it was done in modules/relocatable-lib on 2011-05-21 and in
25672         modules/relocatable-prog on 2011-08-15.
25673         Reported by Reuben Thomas <rrt@sc3d.org>.
25675 2017-03-31  Bruno Haible  <bruno@clisp.org>
25677         glob: Fix invalid free() call.
25678         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
25679         static storage to home_dir.
25680         Reported by Coverity via Tim Rühsen.
25682 2017-03-31  Bruno Haible  <bruno@clisp.org>
25684         glob: Fix memory leaks.
25685         * lib/glob.c (glob): Free allocated memory before returning.
25686         Reported by Coverity via Tim Rühsen.
25688 2017-03-31  Bruno Haible  <bruno@clisp.org>
25690         md5, sha1, sha256, sha512: Add comments regarding correctness.
25691         * lib/md5.h (buflen): Add comments regarding range.
25692         * lib/sha1.h (buflen): Likewise.
25693         * lib/sha256.h (buflen): Likewise.
25694         * lib/sha512.h (buflen): Likewise.
25695         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
25696         * lib/sha1.c (sha1_process_bytes): Likewise.
25697         * lib/sha256.c (sha256_process_bytes): Likewise.
25698         * lib/sha512.c (sha512_process_bytes): Likewise.
25699         Reported by Coverity via Tim Rühsen.
25701 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
25703         getopt: merge from glibc
25704         This does not change anything substantial; it merely simplifies
25705         hypothetical merges back to glibc.
25706         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
25707         Change copyright notice to match what is in glibc.
25708         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
25709         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
25710         __open_memstream rather than open_memstream and __glibc_likely
25711         instead of __builtin_expect.
25712         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
25714 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
25716         dfa: make [0-9] faster in non-C locales
25717         Problem reported by John P. Linderman (Bug#26193).
25718         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
25719         If both ends of the range are ASCII digits, do not worry about
25720         multi-character collating sequences and the like.  Be consistent
25721         about using isalpha as a precondition for setbit_case_fold_c.
25723 2017-03-19  Bruno Haible  <bruno@clisp.org>
25725         lock: Fix compilation error with HP-UX IA64 cc.
25726         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
25727         weak on non-glibc platforms.
25729 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
25731         stdalign: tweak version# and test for HP-UX IA64
25732         Problems reported by Bruno Haible in:
25733         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
25734         * lib/stdalign.in.h (_Alignas):
25735         * m4/stdalign.m4 (gl_STDALIGN_H):
25736         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
25737         used octal (as that is how they document it), but it is decimal in
25738         practice now and the ancient implementations no longer matter.
25739         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
25741 2017-03-19  Bruno Haible  <bruno@clisp.org>
25743         vma-iter: Add support for Solaris.
25744         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
25745         approach.
25746         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
25747         * lib/get-rusage-as.c: Update comment about Solaris.
25748         * lib/get-rusage-data.c: Likewise.
25750 2017-03-19  Bruno Haible  <bruno@clisp.org>
25752         vma-iter: Prefer HP-UX specific API on HP-UX.
25753         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
25754         * lib/vma-iter.h: Update.
25755         Just in case HP-UX ever implements mquery().
25757 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
25759         stdalign: restore previous behavior for HP-UX IA64
25760         See Bruno Haible's email in:
25761         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
25762         which cites p 150 of a manual saying that 'aligned' works on Itanium.
25763         * lib/stdalign.in.h (_Alignas):
25764         Assume the '061200' applies to Itanium, not to PA-RISC.
25765         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
25767 2017-03-17  Bruno Haible  <bruno@clisp.org>
25769         stat-time, timespec: Support use of the header files in C++ mode.
25770         * lib/stat-time.h: Add "C" linkage declaration.
25771         * lib/timespec.h: Likewise.
25773 2017-03-17  Bruno Haible  <bruno@clisp.org>
25775         stdalign: Make it work with HP-UX cc.
25776         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
25777         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
25778         for HP-UX cc.
25780 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
25782         flexmember: try to detect HP-UX 11.31 cc bug
25783         Problem reported by Bruno Haible in:
25784         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
25785         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
25786         Attempt to detect bug in HP-UX 11.31 cc.
25788 2017-03-16  Bruno Haible  <bruno@clisp.org>
25790         stdint: Fix test compilation failure with HP-UX 11 cc.
25791         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
25792         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
25793         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
25794         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
25796 2017-03-14  Bruno Haible  <bruno@clisp.org>
25798         gnulib-tool: Don't produce a tests directory with only snippet .h files.
25799         * gnulib-tool (func_modules_transitive_closure_separately): If
25800         testsrelated_modules ends up with no "real" modules, aside from
25801         modules with applicability 'all', set it to empty.
25803 2017-03-14  Bruno Haible  <bruno@clisp.org>
25805         vma-iter: Add support for HP-UX.
25806         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
25807         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
25808         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
25809         * lib/get-rusage-as.c: Update comment about HP-UX.
25810         * lib/get-rusage-data.c: Likewise.
25811         (get_rusage_data): Use get_rusage_data_via_setrlimit.
25813 2017-03-14  Bruno Haible  <bruno@clisp.org>
25815         limits-h: Make it work with HP-UX cc.
25816         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
25817         defined.
25819 2017-03-14  Bruno Haible  <bruno@clisp.org>
25821         Fix test failures on DragonFlyBSD.
25822         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
25823         * tests/test-select.h (test_bad_fd): Likewise.
25824         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
25826 2017-03-14  Bruno Haible  <bruno@clisp.org>
25828         freadahead: Silence warning on DragonFlyBSD.
25829         * lib/freadahead.c (__sreadahead): Declare ourselves.
25831 2017-03-14  Bruno Haible  <bruno@clisp.org>
25833         vma-iter: Add comment about AIX.
25834         * lib/vma-iter.c: Add comment about why this module is not implemented
25835         on AIX.
25837 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
25839         snippets: move unadjusted snippet sources to lib
25840         Problem reported by Michal Privoznik in:
25841         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
25842         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
25843         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
25844         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
25845         * lib/unused-parameter.h: Rename from
25846         build-aux/snippet/unused-parameter.h.
25847         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
25848         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
25849         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
25850         * modules/snippet/c++defs (Files:, CXXDEFS_H):
25851         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
25852         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
25853         Adjust to file renamings.
25855 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
25857         gnulib-tool: don't automatically distribute files from top/
25858         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
25859         not distribute top/README-release by default, don't distribute files
25860         from top/ unconditionally.
25861         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
25862         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
25864 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
25866         gnulib-tool: fix typo in comment output
25867         * gnulib-tool (func_import): Fix typo with previous change.
25869         snippets: work around GNU Make 3.82 VPATH
25870         When using 'gnulib-tool --gnu-make' on Emacs, and building
25871         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
25872         an out-of-source (VPATH) build failed because the sans-copyright
25873         snippet file was not built before the file that used it.
25874         Presumably this is some sort of VPATH thing.  Work around the
25875         problem by using the original snippet, i.e., don’t bother to
25876         remove its copyright notice.
25877         * modules/snippet/_Noreturn, modules/snippet/link-warning:
25878         Don’t assume Automake in comments.  Omit long-incorrect comment.
25879         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
25880         (MOSTLYCLEANFILES):
25881         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
25882         (MOSTLYCLEANFILES):
25883         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
25884         (MOSTLYCLEANFILES):
25885         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
25886         (MOSTLYCLEANFILES):
25887         Remove.
25888         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
25889         * modules/snippet/c++defs (CXXDEFS_H):
25890         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
25891         * modules/snippet/warn-on-use (WARN_ON_USE_H):
25892         Don’t bother to remove the copyright notice; just use the
25893         original snippet as-is.
25895 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
25897         gnulib-tool: minor --gnu-make fixups
25898         * gnulib-tool (func_emit_lib_Makefile_am):
25899         Remove useless code that was a blind alley during implementation.
25900         Problem reported by Thien-Thi Nguyen in:
25901         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
25902         (func_import): Note the "--gnu-make" option in the output comment.
25904 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
25906         gnulib-tool: new option --gnu-make
25907         This is for applications like GNU Emacs that use GNU Make
25908         features instead of Automake.
25909         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
25910         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
25911         Do not assume Automake.
25912         * gnulib-tool (func_determine_path_separator)
25913         (func_modules_transitive_closure, func_update_file)
25914         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
25915         (func_import): Add support for --gnu-make.
25917 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
25919         gnulib-common.m4: avoid aclocal.m4 bloat
25920         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
25921         Hide AM_PROG_AR from aclocal, so that aclocal does not
25922         install irrelevant macro definitions into aclocal.m4.
25924 2017-03-10  Bruno Haible  <bruno@clisp.org>
25926         vma-iter: Let callers know about error.
25927         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
25928         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
25930 2017-03-05  Bruno Haible  <bruno@clisp.org>
25932         Fix value of LD for 64-bit compilers on AIX.
25933         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
25934         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
25936 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
25938         dtotimespec: simplify
25939         * lib/dtotimespec.c (dtotimespec): Simplify.
25941 2017-03-04  Bruno Haible  <bruno@clisp.org>
25943         test-calloc-gnu: Reenable test also for GCC 7.
25944         * tests/test-calloc-gnu.c (eight): New function.
25945         (main): Don't skip test; use eight() instead.
25947 2017-03-04  Jim Meyering  <meyering@fb.com>
25949         test-calloc-gnu: port to GCC7
25950         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
25951         that attempts to calloc more than SIZE_MAX bytes, because GCC7
25952         and newer would detect that at compilation time.
25954 2017-03-04  Bruno Haible  <bruno@clisp.org>
25956         tests: Avoid compiler warning about uses of null_ptr.
25957         * tests/null-ptr.h: New file.
25958         * tests/test-canonicalize.c: Include null-ptr.h.
25959         (null_ptr): Remove function.
25960         * tests/test-canonicalize-lgpl.c: Likewise.
25961         * tests/test-memmem.c: Likewise.
25962         * tests/test-ptsname_r.c: Likewise.
25963         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
25964         * modules/canonicalize-lgpl-tests: Likewise.
25965         * modules/memmem-tests: Likewise.
25966         * modules/ptsname_r-tests: Likewise.
25967         Reported by Jim Meyering.
25969 2017-03-03  Bruno Haible  <bruno@clisp.org>
25971         doc: Mention Mac OS X deficiencies regarding semaphores.
25972         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
25973         * doc/posix-functions/sem_destroy.texi: Likewise.
25974         * doc/posix-functions/sem_getvalue.texi: Likewise.
25976 2017-03-03  Bruno Haible  <bruno@clisp.org>
25978         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
25979         Reported by Assaf Gordon <assafgordon@gmail.com> via
25980         Pádraig Brady <P@draigBrady.com>.
25981         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
25982         semaphores.
25983         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
25984         (atomic_int_semaphore): New macro.
25986 2017-02-28  Bruno Haible  <bruno@clisp.org>
25988         perror tests: Tweak for z/OS.
25989         Reported by Daniel Richard G. <skunk@iskunk.org>.
25990         * tests/test-perror.sh: Don't fail z/OS style perror output.
25992 2017-02-26  Bruno Haible  <bruno@clisp.org>
25994         nproc: Refactor large function.
25995         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
25996         from num_processors.
25997         (num_processors): In this function, only deal with OMP.
25999 2017-02-26  Pádraig Brady  <P@draigBrady.com>
26001         nproc: adjust handling of OpenMP environment variables
26002         to match the return value from omp_get_num_threads(), i.e.:
26003          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
26004          - Treat 0 as an invalid value and ignore
26005         Also remove the call to omp_get_num_threads() because
26006         it's ineffective without the omp pragmas in place.
26007         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
26008         so that it can be ignored.
26009         (num_processors): Honor OMP_THREAD_LIMIT even without
26010         OMP_NUM_THREADS being set.  Also fix a typo in the environment
26011         variable being checked, from the previous recent commit.
26013 2017-02-26  Pádraig Brady  <P@draigBrady.com>
26015         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
26016         * lib/nproc.c (parse_omp_threads): A new function refactored
26017         from num_processors() to support parsing both of the
26018         above environment variables.
26019         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
26020         to accurately reflect the current OpenMP nesting level.
26021         Also support the OMP_THREAD_LIMIT environment variable
26022         to limit the max value determined from OMP_NUM_THREADS.
26023         * modules/nproc: Depend on minmax header.
26024         Suggested by Oliver Heimlich.
26026 2017-02-25  Bruno Haible  <bruno@clisp.org>
26028         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
26029         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
26031 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
26033         ftoastr: port to -Wdouble-promotion
26034         Work around -Wdouble-promotion false alarm in recent GCCs.
26035         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
26036         (ftoastr_snprintf, FTOASTR): Use it.
26038 2017-02-21  Bruno Haible  <bruno@clisp.org>
26040         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
26041         Reported by Rene Saavedra <rennes@openmailbox.org> in
26042         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
26043         * lib/glthread/lock.h: On glibc systems without
26044         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
26045         implementation of rwlocks.
26046         * lib/glthread/lock.c: Likewise.
26048 2017-02-20  Bruno Haible  <bruno@clisp.org>
26050         lock tests: Fix build failure on z/OS.
26051         Reported by Daniel Richard G. <skunk@iskunk.org>.
26052         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
26053         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
26054         exist.
26056 2017-02-19  Bruno Haible  <bruno@clisp.org>
26058         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
26059         This helps when CC=clang.
26060         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
26061         of /usr/bin/gcc.
26063         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
26064         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
26066 2017-02-19  Bruno Haible  <bruno@clisp.org>
26068         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
26069         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
26070         --with-tests --single-configure is specified.
26072 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
26074         users.txt: Update links, use HTTPS where possible
26075         * users.txt: Updated to HTTPS where possible,
26076         fixed some links to new locations.
26078 2017-02-16  Bruno Haible  <bruno@clisp.org>
26080         xbinary-io: Fix inlining.
26081         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
26083 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
26085         xbinary-io: rename from xsetmode
26086         This patch is taken from suggestions by Bruno Haible in:
26087         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
26088         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
26089         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
26090         not ENOTTY, when it is an inappropriate device.
26091         * lib/binary-io.h (SET_BINARY): Resurrect.
26092         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
26093         (xset_binary_mode_error): Rename from xsetmode_error.
26094         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
26095         (xset_binary_mode): Rename from xsetmode.
26096         All uses changed.
26097         * modules/xbinary-io: Rename from modules/xsetmode.
26098         Update file names.
26099         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
26100         * NEWS: Update to match revised behavior.
26102 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
26104         tests: Adjust to recent SET_BINARY change
26105         * tests/test-binary-io.c (main):
26106         * tests/test-binary-io.sh: Remove test for SET_BINARY.
26107         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
26108         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
26109         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
26111         xsetmode: new module
26112         This is to fix a problem noted by Eric Blake.
26113         Code was using xfreopen to change files to binary mode, but this
26114         fails for stdout when in append mode.  Such code should use
26115         xsetmode instead.
26116         * NEWS: Document incompatible changes to binary-io module.
26117         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
26118         New function.
26119         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
26120         (set_binary_mode): New function, which also checks for tty.
26121         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
26123 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
26125         headers: fix begin-end typos
26126         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
26127         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
26129         selinux-h: port to PGI 16.10
26130         * lib/se-selinux.in.h: Don't assume that include_next skips over
26131         duplicate -I DIR options.
26133         argp: port to PGI 16.10
26134         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
26136 2017-02-13  Darshit Shah  <darnir@gnu.org>
26138         unicase: Update function protoype to match definition.
26139         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
26140         uses 'size_t' as the datatype for the 'len' parameter in the functions
26141         it generates. Update the prototype specified here to match the newly
26142         generated function.
26144 2017-02-12  Bruno Haible  <bruno@clisp.org>
26146         times test: Avoid gcc warnings on Linux/x32.
26147         * tests/test-times.c (main): Really cast printf arguments from clock_t
26148         to 'long int'.
26150 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
26152         glob: port better to emscripten
26153         Problem reported by Bruno Haible in:
26154         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
26155         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
26157 2017-02-11  Bruno Haible  <bruno@clisp.org>
26159         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
26160         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
26161         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
26162         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
26163         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
26164         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
26165         Distinguish hppa64 from hppa.
26167 2017-02-10  Bruno Haible  <bruno@clisp.org>
26169         search: Don't assume that tsearch() exists if 'VISIT' is defined.
26170         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
26171         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
26172         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
26174 2017-02-09  Bruno Haible  <bruno@clisp.org>
26176         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
26177         * doc/gnulib.texi (Libtool and Windows): Recommend
26178         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
26179         Reported by Reuben Thomas <rrt@sc3d.org>.
26181 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
26183         stddef-tests: port to SIZE_MAX <= INT_MAX
26184         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
26185         Do not assume that INT_MAX < SIZE_MAX.
26187 2017-02-01  Bruno Haible  <bruno@clisp.org>
26189         lock tests: Fix link error.
26190         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
26191         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26193 2017-01-31  Bruno Haible  <bruno@clisp.org>
26195         lock: Fix link error (regression from 2017-01-05).
26196         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
26197         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
26198         pthread_rwlockattr_destroy weak.
26199         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26201 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
26203         Port to PGI 16.10 x86-64
26204         This patch fixes one real bug in gl_anylinked_list2.h, along with
26205         some minor glitches that are not bugs.  It does not silence PGI’s
26206         thousands of bogus warnings when compiling test-intprops.c.
26207         Fortunately, the warnings do not cause a failure.
26208         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
26209         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
26210         My goodness, PGI goes back a long ways - this predates C89!
26211         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
26212         For example, ASYNCSAFE (const void *) should expand to
26213         ‘const void *volatile’, not to ‘volatile const void *’.
26214         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
26215         * lib/verify.h (verify) [!__GNUC__]:
26216         Use shorter albeit meaningless string to bypass silly compiler limits.
26217         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
26218         * tests/nan.h (NaNf, NaNd, NaNl):
26219         Use static functions to avoid misguided compiler diagnostics.
26220         Is there some reason we don’t use static functions on all platforms?
26222 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
26224         parse-datetime: handle timezones reentrantly
26225         This API change was prompted by a report by Pádraig Brady in:
26226         https://bug.debian.org/851934#10
26227         To help fix the bug, make parse_datetime2 more reentrant.
26228         * NEWS: Document this incompatible change.
26229         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
26230         Add two arguments, the timezone and the timezone name.
26231         All callers changed.  If TZ="..." is specified, use it for
26232         calculating defaults.
26233         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
26234         this code should be usable in a library.
26235         (mktime_ok, get_effective_timezone):
26236         Accept timezone arg too.  All callers changed.
26237         (get_tz): Remove.
26238         (get_effective_timezone): Check for failures.
26240 2017-01-20  Eric Blake  <eblake@redhat.com>
26242         localename: port to cygwin 2.6
26243         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
26244         Cygwin.
26245         * modules/localename (Depends-on): Add extensions, since
26246         NL_LOCALE_NAME() is not visible without it.
26248 2017-01-17  Pádraig Brady  <P@draigBrady.com>
26250         parse-datetime: fix dependence on AC_PROG_SED
26251         * modules/parse-datetime: Use `sed` directly like all other modules.
26252         Reported by J William Piggott
26254 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
26256         intprops: update doc URLs
26257         * doc/intprops.texi (Integer Range Overflow): Update URLs.
26259 2017-01-16  Bruno Haible  <bruno@clisp.org>
26261         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
26262         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
26263         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
26264         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
26265         distinguish s390 and s390x.
26266         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
26267         * NEWS: Mention the change regarding 'armel'.
26269 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
26271         localeinfo: case_folded_counterparts and WEOF
26272         * NEWS: Document this.
26273         * lib/localeinfo.c (case_folded_counterparts):
26274         First arg is now wint_t, not wchar_t.  This generalizes the
26275         function to also work on WEOF, where it returns 0.
26277         dfa: port to gcc -fsanitize=undefined
26278         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
26279         as this runs afoul of gcc -fsanitize=undefined.
26281 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
26283         strftime: %z is -00 if unknown
26284         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
26285         the caller's responsibility to set 'negative_number'.  All uses changed.
26286         (__strftime_internal): Put '-' before a zero UTC offset if the time
26287         zone abbreviation starts with "-", which is the recently-introduced
26288         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
26289         * tests/test-strftime.c: Test for this.
26291 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
26293         dfa: port to older GCC
26294         Problem reported by Assaf Gordon in:
26295         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
26296         * modules/c99: New module.  This merely attempts to use the latest
26297         C version, which should be enough to solve this particular problem.
26298         The idea is to document which Gnulib modules assume C99 or later.
26299         * modules/dfa (Depends-on): Add it.
26301 2017-01-10  Bruno Haible  <bruno@clisp.org>
26303         Update DEPENDENCIES.
26304         * DEPENDENCIES: List only https URLs. Update recommended version for
26305         autoconf, automake, gperf.
26307 2017-01-10  Jim Meyering  <meyering@fb.com>
26309         maint.mk: enforce spelling of "timestamp" (i.e., no space)
26310         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
26311         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
26313 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
26315         dfa: minor simplification with emptyset
26316         * lib/dfa.c (build_state): Simplify by using emptyset.
26318 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
26320         dfa: shrink constraints from 4 bits to 3
26321         * lib/dfa.c (newline_constraint, letter_constraint)
26322         (other_constraint, prev_newline_dependent)
26323         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
26324         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
26325         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
26326         Constraints need only 3 bits, not 4.  Using smaller integers
26327         shrinks the code a bit and makes grep a tad faster on x86-64.
26329         dfa: omit unnecessary ptrdiff_t check
26330         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
26331         overflow, since xnmalloc does that now.
26333         dfa: omit unnecessary allocation
26334         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
26335         an all-zero follow set works just fine.
26337         dfa: omit unused local
26338         * lib/dfa.c (build_state): Fix up recent change.
26340         maint: remove stray .texi files
26341         Although these were superseded by other files like
26342         doc/posix-functions/ctime.texi, the old files were not removed.
26343         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
26345 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
26347         getprogname: fix port to IRIX
26348         * lib/getprogname.c (getprogname) [__sgi]:
26349         Don't dump core if malloc returns NULL.
26351         dfa: fix reallocation bug when matching newlines
26352         Problem reported for sed by S. Gilles (Bug#25390).
26353         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
26354         (dfastate): Reallocate before moving any newline transition ...
26355         (build_state): ... instead of reallocating here, where it is too late.
26357 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
26359         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
26360         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
26362 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
26364         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
26365         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
26367 2017-01-07  Bruno Haible  <bruno@clisp.org>
26369         stdioext: Port to Minix 3.2 and newer.
26370         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
26371         * lib/fseeko.c (fseeko): Likewise.
26372         Reported by Nelson Beebe via Paul Eggert.
26374 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
26376         getprogname: port to IRIX
26377         * lib/getprogname.c (getprogname): Port to IRIX.
26378         Based on an idea by Bastien Roucariès at:
26379         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
26380         via code from Bruno Haible at:
26381         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
26383         localename-tests: port to NetBSD 7
26384         Problem reported by Nelson H. F. Beebe.
26385         * tests/test-localename.c:
26386         Test newlocale and uselocale only if both exist.
26388         glob, intprops, xalloc: work around Clang bug
26389         Work around LLVM bug 16404, which is still not fixed.
26390         https://llvm.org/bugs/show_bug.cgi?id=16404
26391         Problem reported by Nelson H. F. Beebe.
26392         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
26393         Remove.
26394         * lib/glob.c (size_add_wrapv):
26395         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
26396         * lib/xalloc-oversized.h (xalloc_oversized):
26397         Do not use overflow builtins if Clang.
26399         dfa: fix 'return' typo
26400         Problem reported by Nelson H. F. Beebe.
26401         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
26403 2017-01-05  Pádraig Brady  <P@draigBrady.com>
26405         parse-datetime: fix generated paths for coverage files
26406         * modules/parse-datetime: Adjust the paths for parse-datetime.y
26407         within parse-datetime.c, so that gcc generates appropriate .gcno
26408         files, allowing lcov to proceed without error.  Previously it
26409         would error trying to find "lib/lib/parse-datetime.y".
26411 2017-01-05  Pádraig Brady  <P@draigBrady.com>
26413         maint.mk: support parallel execution of coverage
26414         * top/maint.mk (coverage): Run dependencies serially,
26415         thus supporting parallel processing of each one,
26416         particularly build-coverage, which builds and runs tests.
26418 2017-01-05  Bruno Haible  <bruno@clisp.org>
26420         lock tests: Prefer semaphore over mutex.
26421         * tests/test-lock.c (USE_SEMAPHORE): New constant.
26422         (struct atomic_int, init_atomic_int, get_atomic_int_value,
26423         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
26424         Suggested by Torvald Riegel <triegel@redhat.com>.
26426 2017-01-05  Bruno Haible  <bruno@clisp.org>
26428         lock: Provide guarantee to avoid writer starvation for rwlocks.
26429         The rationale is: 1) Read-preferring read-write locks are prone to
26430         writer starvation if the number of reader threads multiplied by the
26431         percentage of time they have the lock held is too high. 2) Write-
26432         preferring read-write locks are the only reliable way to avoid this.
26433         3) There have been reports of 'test-lock' hanging on glibc systems
26434         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
26435         and glibc indeed implements read-preferring rwlocks by default, see
26436         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
26437         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
26438         * m4/pthread_rwlock_rdlock.m4: New file.
26439         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
26440         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
26441         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
26442         of rwlock initialization on glibc systems without
26443         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
26444         of rwlocks altogether on non-glibc systems without
26445         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
26446         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
26447         * lib/glthread/lock.c [USE_POSIX_THREADS]
26448         (glthread_rwlock_init_for_glibc): New function.
26449         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
26450         comment.
26451         [USE_PTH_THREADS]: New implementation of rwlocks.
26452         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
26453         readers.
26454         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
26455         (Depends-on): Add 'extensions'.
26456         * tests/test-rwlock1.c: New file.
26457         * lock-tests (Files): Add it.
26458         (Depends-on): Add usleep.
26459         (Makefile.am): Add test-rwlock1 to the tests.
26461 2017-01-05  Bruno Haible  <bruno@clisp.org>
26463         thread: Fix pth port.
26464         * lib/glthread/thread.h (pth_init): Declare weak.
26465         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
26466         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
26467         function.
26469 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
26471         parse-datetime: fix debug message on lone year number
26472         Input dates such as
26473           date -d "Apr 11 22:59:00 2011"
26474         are parsed as date (Apr 11, with default year 2016), then time, then a
26475         number (2011). Based on the combination of previously seen tokens,
26476         'digits_to_date_time' determines 2011 to be a year value.
26477         This fixes the debug messages to correctly show the updated year.
26478         Before:
26479             $ date --debug -d 'Apr 11 22:59:00 2011'
26480             date: parsed date part: (Y-M-D) 2016-04-11
26481             date: parsed time part: 22:59:00
26482             date: parsed number part: today/this/now
26483         After:
26484             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
26485             date: parsed date part: (Y-M-D) 2016-04-11
26486             date: parsed time part: 22:59:00
26487             date: parsed number part: year: 2011
26488         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
26489         'debug_year_seen' member fields.
26490         (digits_to_date_time): Update 'year_seen' as needed.
26491         (debug_print_current_time): Inform about year updates.
26492         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
26494         parse-datetime: fix local timezone debug messages
26495         "Local timezones" are strings that affect only DST relative to the
26496         default timezone. The debug messages in parse-datetime.y printed
26497         wrong information when encountering local timezones.
26498         Examples:
26499         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
26500              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
26501              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
26502         When the default timezone relates to the zone strings, EET/EEST are
26503         parsed as local timezones (tLOCAL_ZONE), and only change the DST
26504         value (0/1, respectively):
26505              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
26506              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
26507         * lib/parse-datetime.y (debug_print_current_time): If local timezone
26508         was seen, inform about DST change, don't print actual timezone.
26509         (debug_strfdatetime): If local timezone was seen, use default timezone
26510         (and adjust as needed) instead of using incorrect timezone.
26511         (parse_datetime2): Use correct time-zone source string, and adjust
26512         default timezone as needed.
26514         parse-datetime: add debug warning about DST changes
26515         Incorrect date arithmetic due to daylight saving time (DST) are a
26516         common (false) bug report in coreutils.
26517         Detect two such cases and print a warning:
26518         1. year/month/day adjustments (performed on 'struct tm'),
26519            where 'mktime' returns a different isdst value.
26520         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
26521            where the result of 'localtime(3)' on the value will return a
26522            different isdst value.
26523         Note: DST changes could be harmless or unnoticeable.
26524         Examples (with 'TZ=America/New_York'):
26525         Unnoticeable: result is 2016-Dec-14
26526            $ date -d '2016-06-15 EDT + 6 months' +%b
26527            Dec
26528         Unnoticeable: result is 2016-Dec-15 11:00:00
26529            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
26530            2016-12-15
26531         This is unexpected:
26532            $ date -d '2016-06-01 EDT + 6 months' +%F
26533            2016-11-30
26534         The new debug warnings will show:
26535            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
26536            ...
26537            date: warning: daylight saving time changed after date adjustment
26538            ...
26539         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
26540         print an appropriate warning message.
26542         parse-datetime: add debug warning about date arithmetic
26543         Date arithmetic are done directly on the fields of 'struct tm',
26544         which can result in invalid dates. Normalization with 'mktime(3)'
26545         will then produce a different date - which might cause unexpected
26546         results.
26547         Examples:
26548           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
26549           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
26550         Note that date normalization is not inherently wrong and not rejected,
26551         as it has legitimate uses:
26552           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
26553         If the user asked to adjust months but 'mday' changed,
26554         or user asked to adjust years but 'month' changed - warn about it.
26555             $ ./src/date --debug -d '2016-10-31 - 1 month'
26556             ...
26557             date: warning: when adding relative months/years, \
26558                            it is recommended to specify the 15th of the month
26559             ...
26560             date: warning: month/year adjustment resulted in shifted dates:
26561             date:      adjusted Y M D: 2016 09 31
26562             date:    normalized Y M D: 2010 10 01
26563             ...
26564         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
26565         a warning message. Improve recommendation of when to use 15 of the
26566         month or noon for date arithmetic.
26568         parse-datetime: fix debug message of relative part after timezone
26569         Relative part (e.g '+8 days') after a timezone string was not
26570         reported (was only reported after a timezone number). Due to the
26571         parser's structure, timezone strings with numbers were handled
26572         separately.
26573         before:
26574              # Timezone number + relative part: OK
26575              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
26576              ...
26577              date: parsed relative part: -8 day(s)
26578              # Timezone string + relative part: missing
26579              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
26580              [ missing message ]
26581         After: messages are printed in both cases.
26582         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
26584         parse-datetime: fix incorrect debug message on lone number
26585         A lone number is an absolute value, not a relative time part.
26586         before:
26587            $ date --debug -d '20130101'
26588            date: parsed number part: today/this/now
26589         After:
26590            $ ./src/date --debug -d '20130101'
26591            date: parsed number part: (Y-M-D) 2013-01-01
26592         * lib/parse-datetime.y ('item'/'number' tokens): Call
26593         'debug_print_current_time' instead of 'debug_print_relative_time'.
26595 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
26597         doc: modernize for C11 etc.
26598         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
26599         for C11, MinGW, etc.  This responds to Paul Smith's question in:
26600         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
26602         dfa: prefer functions to FETCH_WC macro
26603         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
26604         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
26605         wint_t result into DFA->lex.wctok instead of to a separate arg.
26606         All callers changed.  Move more local decls closer to where
26607         they're used.
26609         dfa: narrow more local var scopes
26610         * lib/dfa.c: Move more local decls to be more local.
26612         dfa: remove duplicate assignment
26613         Problem reported by Bruno Haible in:
26614         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
26615         * lib/dfa.c (parse_bracket_exp): Simplify.
26617 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
26619         dfa: simplify constraint-dependency checking
26620         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
26621         (prev_other_constraint): Remove.
26622         (prev_newline_dependent, prev_letter_dependent):
26623         Simplify, to avoid an unnecessary bitwise AND operation.
26625         dfa: prefer functions and constants to macros
26626         * lib/dfa.c: Prefer constants to macros where either will do.
26627         (streq, isasciidigit, newline_constraint)
26628         (letter_constraint, other_constraint, succeeds_in_context)
26629         (prev_newline_constraint, prev_letter_constraint)
26630         (prev_other_constraint, prev_newline_dependent)
26631         (prev_letter_dependent, accepting, accepts_in_context):
26632         Now static functions instead of function-like macros.
26633         Use lower-case names accordingly.  All uses changed.
26635         dfa: narrow more local var scopes
26636         * lib/dfa.c: Move some more local decls down to nearer where
26637         they're needed.
26639 2016-12-31  Jim Meyering  <meyering@fb.com>
26641         dfa: narrow the scope of many local variables
26642         * lib/dfa.c: Now that we are no longer constrained to c89, move
26643         declarations of many variables (often indices) "down" into the
26644         scope(s) where used or to the point of definition.  This is a
26645         no-semantic-change diff.
26647 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
26649         version-etc: new year
26650         * build-aux/gendocs.sh (version):
26651         * doc/gendocs_template:
26652         * doc/gendocs_template_min:
26653         * doc/gnulib.texi:
26654         * lib/version-etc.c (COPYRIGHT_YEAR):
26655         Update copyright dates by hand in templates and the like.
26656         * all files: Run 'make update-copyright'.
26658 2016-12-31  Eric Blake  <eblake@redhat.com>
26660         do-release-commit-and-tag: avoid shell syntax error
26661         * build-aux/do-release-commit-and-tag (curr_br): $branch can
26662         contain spaces when rebasing.
26664         maint.mk: hoist gnulib_dir definition earlier
26665         * top/maint.mk (gnulib_dir): Move near top of file.
26667 2016-12-31  Jim Meyering  <meyering@fb.com>
26669         maint.mk: do not always evaluate intprops-related shell
26670         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
26671         using gnulib_dir undefined (gnulib_dir is defined later in the
26672         file, which will be fixed separately), and besides, there is no
26673         need to incur the cost of this shell invocation for every single
26674         use of this .mk file.  Reported by Eric Blake in
26675         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
26677 2016-12-30  Jim Meyering  <meyering@fb.com>
26679         maint.mk: improve sc_prohibit_intprops_without_use
26680         * top/maint.mk (_intprops_names): Don't hard-code the list of
26681         symbol names.  Instead, derive it on the fly.
26683 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
26685         dfa: shorten sbit, success
26686         * lib/dfa.c (struct regex_syntax.sbit):
26687         (struct dfa.success): Use char, not int, for array elements, since
26688         they are all in the range 0..7.
26690         dfa: simplify multibyte_prop etc.
26691         This follows up on a change made when dfa.c was in grep, namely grep
26692         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
26693         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
26694         That earlier simplification allows for some more simplification
26695         and trimming down here.
26696         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
26697         (struct lexer_state): New mamber brack.
26698         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
26699         since they must be in the range 0..3 now.
26700         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
26701         the brack member now supersedes them.
26702         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
26703         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
26704         (dfaparse): Remove unnecessary initializations of already-0 storage.
26705         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
26706         (dfassbuild): No need to clear sup->mbcsets.
26708         dfa: minor performance tweak
26709         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
26711         dfa: wrap charclass inside a struct
26712         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
26713         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
26714         about 5% faster, where list.txt is generated by 'aspell dump
26715         master | head -n 100000 >list.txt'.  See Bug#22239.
26716         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
26717         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
26718         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
26719         Adjust to this, e.g., by using charclass * rather than charclass.
26720         All callers changed as needed.
26721         (copyset): Remove.  All uses changed to simple assignment.
26722         (parse_bracket_exp): Use zeroset instead of memset.
26724 2016-12-30  Jim Meyering  <meyering@fb.com>
26726         maint.mk: update list of intprops.h symbol names
26727         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
26728         This avoids a false failure of the sc_prohibit_intprops_without_use
26729         rule in grep.
26731 2016-12-29  Eric Blake  <eblake@redhat.com>
26733         getopt: fix parallel test failure
26734         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
26735         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
26736         * tests/test-getopt-main.h (main): Use different file names
26737         in case test-getopt-gnu and test-getopt-posix run in parallel.
26739 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26741         xalloc: x2nrealloc check for ptrdiff_t overflow
26742         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
26743         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
26745 2016-12-24  Bruno Haible  <bruno@clisp.org>
26747         lock test: Fix performance problem on multi-core machines.
26748         * tests/test-lock.c (USE_VOLATILE): New macro.
26749         (struct atomic_int): New type.
26750         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
26751         functions.
26752         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
26753         as 'struct atomic_int'.
26754         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
26755         reclock_checker_thread, test_recursive_lock): Use the new functions.
26756         Reported by Eric Blake in
26757         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
26758         and by Pádraig Brady in
26759         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
26761 2016-12-19  Bruno Haible  <bruno@clisp.org>
26763         vma-iter: Fix endless loop on 64-bit Windows.
26764         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
26765         'unsigned long'.
26767 2016-12-19  Bruno Haible  <bruno@clisp.org>
26769         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
26770         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
26771         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
26772         Invoke gt_TYPE_WINT_T instead.
26773         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
26774         * modules/stdint (Files): Add m4/wint_t.m4.
26775         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
26776         * modules/wctype-h (Makefile.am): Likewise.
26777         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
26778         not only on MSVC.
26779         * lib/wctype.in.h (wint_t): Likewise.
26781 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
26783         getopt-posix-tests: fix Makefile typo
26784         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
26785         Fix typo: the last ‘_’ was missing in the name.
26786         I suspect that the typo explains this build failure:
26787         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
26788         although I can’t reproduce the problem on Solaris 10 sparc.
26790 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26792         dfa: improve worst-case 'replace' performance
26793         See my note in Bug#22357#71.
26794         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
26795         (merge_constrained): New function, which is like
26796         the old 'merge' function, except with a new argument C2.
26797         Simplify the body by avoiding the need for different sections
26798         of code depending on whether one input is exhausted.
26799         (merge): Use the new function.
26800         (delete): Return the constraint of the deleted position,
26801         not the entire position.  Caller changed.
26802         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
26804 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26806         dfa: performance improvement for removal of epsilon closure
26807         See Bug#22357#32.
26808         * lib/dfa.c (delete): Use binary search to find deleted index.
26809         (replace): New function.  It replaces a position with the followed set.
26810         (epsclosure): Replace it with a new algorithm.  Update caller.
26812 2016-12-18  Bruno Haible  <bruno@clisp.org>
26814         Split tests for getopt-posix and getopt-gnu.
26815         * tests/test-getopt-posix.c: New file.
26816         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
26817         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
26818         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
26819         GNULIB_TEST_GETOPT_GNU.
26820         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
26821         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
26822         (Makefile.am): Test test-getopt-posix instead of test-getopt.
26823         * modules/getopt-gnu-tests: New file.
26824         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
26826 2016-12-18  Bruno Haible  <bruno@clisp.org>
26828         posix-modules: Add options for specific platforms.
26829         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
26830         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
26831         Invoke func_tmpdir. Filter out the excludes.
26833 2016-12-18  Bruno Haible  <bruno@clisp.org>
26835         getopt: Fix link error for users of getopt() in <unistd.h>.
26836         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
26837         __need_getopt is defined. Undefine all macros before defining them.
26838         * modules/getopt (Include): Clarify that including <unistd.h> is also
26839         OK.
26840         * tests/test-getopt.c: Add comment.
26842 2016-12-17  Bruno Haible  <bruno@clisp.org>
26844         getaddrinfo tests: Avoid compilation error on MSVC.
26845         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
26846         getaddrinfo on native Windows.
26848 2016-12-17  Bruno Haible  <bruno@clisp.org>
26850         getlogin, getlogin_r: Fix link errors on MSVC.
26851         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
26852         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
26853         (Link): New section.
26854         * modules/getlogin_r (Files): Add m4/getlogin.m4.
26855         (configure.ac): Require gl_LIB_GETLOGIN.
26856         (Link): New section.
26857         * NEWS: Mention the new link requirements.
26858         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
26859         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
26861 2016-12-17  Bruno Haible  <bruno@clisp.org>
26863         Un-deprecate the 'progname' module.
26864         * NEWS: Describe the appropriate use-cases of 'progname' versus
26865         'getprogname'. Based on discussion summary at
26866         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
26868 2016-12-17  Bruno Haible  <bruno@clisp.org>
26870         Reorganize NEWS a bit.
26871         * NEWS: Move some not so important changes away from section
26872         "Important Notes".
26874 2016-12-17  Bruno Haible  <bruno@clisp.org>
26876         tanhf: Avoid redefinition error on MSVC.
26877         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
26878         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
26879         may be defined as an inline function.
26880         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
26881         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
26883 2016-12-17  Bruno Haible  <bruno@clisp.org>
26885         tanf: Avoid redefinition error on MSVC.
26886         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
26887         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
26888         may be defined as an inline function.
26889         * modules/math (Makefile.am): Substitute REPLACE_TANF.
26890         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
26892 2016-12-17  Bruno Haible  <bruno@clisp.org>
26894         sqrtf: Avoid redefinition error on MSVC.
26895         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
26896         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
26897         may be defined as an inline function.
26898         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
26899         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
26901 2016-12-17  Bruno Haible  <bruno@clisp.org>
26903         sinhf: Avoid redefinition error on MSVC.
26904         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
26905         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
26906         may be defined as an inline function.
26907         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
26908         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
26910 2016-12-17  Bruno Haible  <bruno@clisp.org>
26912         sinf: Avoid redefinition error on MSVC.
26913         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
26914         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
26915         may be defined as an inline function.
26916         * modules/math (Makefile.am): Substitute REPLACE_SINF.
26917         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
26919 2016-12-17  Bruno Haible  <bruno@clisp.org>
26921         logf: Avoid redefinition error on MSVC.
26922         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
26923         may be defined as an inline function.
26925 2016-12-17  Bruno Haible  <bruno@clisp.org>
26927         log10l: Avoid redefinition error on MSVC.
26928         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
26929         may be defined as an inline function.
26931 2016-12-17  Bruno Haible  <bruno@clisp.org>
26933         log10f: Avoid redefinition error on MSVC.
26934         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
26935         may be defined as an inline function.
26937 2016-12-17  Bruno Haible  <bruno@clisp.org>
26939         hypotl: Avoid redefinition error on MSVC.
26940         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
26941         may be defined as an inline function.
26943 2016-12-17  Bruno Haible  <bruno@clisp.org>
26945         hypotf: Avoid redefinition error on MSVC.
26946         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
26947         may be defined as an inline function.
26949 2016-12-17  Bruno Haible  <bruno@clisp.org>
26951         fmodl: Avoid redefinition error on MSVC.
26952         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
26953         may be defined as an inline function.
26955 2016-12-17  Bruno Haible  <bruno@clisp.org>
26957         fmodf: Avoid redefinition error on MSVC.
26958         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
26959         may be defined as an inline function.
26961 2016-12-17  Bruno Haible  <bruno@clisp.org>
26963         expf: Avoid redefinition error on MSVC.
26964         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
26965         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
26966         may be defined as an inline function.
26967         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
26968         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
26970 2016-12-17  Bruno Haible  <bruno@clisp.org>
26972         coshf: Avoid redefinition error on MSVC.
26973         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
26974         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
26975         may be defined as an inline function.
26976         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
26977         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
26979 2016-12-17  Bruno Haible  <bruno@clisp.org>
26981         cosf: Avoid redefinition error on MSVC.
26982         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
26983         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
26984         may be defined as an inline function.
26985         * modules/math (Makefile.am): Substitute REPLACE_COSF.
26986         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
26988 2016-12-17  Bruno Haible  <bruno@clisp.org>
26990         atan2f: Avoid redefinition error on MSVC.
26991         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
26992         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
26993         may be defined as an inline function.
26994         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
26995         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
26997 2016-12-17  Bruno Haible  <bruno@clisp.org>
26999         atanf: Avoid redefinition error on MSVC.
27000         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
27001         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
27002         may be defined as an inline function.
27003         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
27004         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
27006 2016-12-17  Bruno Haible  <bruno@clisp.org>
27008         asinf: Avoid redefinition error on MSVC.
27009         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
27010         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
27011         may be defined as an inline function.
27012         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
27013         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
27015 2016-12-17  Bruno Haible  <bruno@clisp.org>
27017         acosf: Avoid redefinition error on MSVC.
27018         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
27019         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
27020         may be defined as an inline function.
27021         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
27022         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
27024 2016-12-17  Bruno Haible  <bruno@clisp.org>
27026         Avoid redefinition errors on MSVC.
27027         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
27028         the function may be defined as an inline function.
27029         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
27030         the function may be defined as an inline function.
27032 2016-12-17  Bruno Haible  <bruno@clisp.org>
27034         Avoid redefinition errors on MSVC.
27035         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
27036         * lib/unistd.in.h: Include <stdio.h> when necessary.
27038 2016-12-17  Bruno Haible  <bruno@clisp.org>
27040         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
27041         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
27042         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
27043         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
27044         WINT_MAX.
27046 2016-12-17  Bruno Haible  <bruno@clisp.org>
27048         Avoid autoconf warning.
27049         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
27050         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
27052 2016-12-17  Bruno Haible  <bruno@clisp.org>
27054         fpending: Revert workaround against Emacs bug.
27055         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
27056         The Emacs bug is fixed by Eli Zaretskii in
27057         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
27059 2016-12-17  Bruno Haible  <bruno@clisp.org>
27061         getlogin_r tests: Port to mingw.
27062         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
27063         regression introduced on 2014-05-19.
27065 2016-12-17  Bruno Haible  <bruno@clisp.org>
27067         getlogin: Port to newer mingw.
27068         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
27069         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
27070         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
27071         HAVE_GETLOGIN.
27072         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
27073         HAVE_GETLOGIN.
27074         * doc/posix-functions/getlogin.texi: Mention the issue.
27075         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
27076         regression introduced on 2014-05-14.
27078 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
27080         builtin-expect: improve port to IBM XL C
27081         Problem reported for z/OS by Daniel Richard G. in:
27082         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
27083         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
27084         Test for <builtins.h> directly.
27086         builtin-expect: port to IBM XL C
27087         Problem reported for z/OS by Daniel Richard G. in:
27088         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
27089         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
27090         Also allow __builtin_expect defined via a standard include file.
27092         regex: fix dependency
27093         Problem reported by Bruno Haible in:
27094         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
27095         * modules/regex: Depend on builtin-expect.
27097         builtin-expect: new module
27098         Fix fnmatch to use it.
27099         Problem reported for z/OS by Daniel Richard G.
27100         * lib/fnmatch.c (__builtin_expect):
27101         * lib/glob.c (__builtin_expect):
27102         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
27103         * lib/memmem.c (__builtin_expect) [!_LIBC]:
27104         * lib/scandir.c (__builtin_expect):
27105         * lib/strstr.c (__builtin_expect) [!_LIBC]:
27106         Remove macro; config.h now does this.
27107         * lib/gl_anytreehash_list1.h (add_to_bucket):
27108         * lib/regex_internal.h (BE):
27109         Assume __builtin_expect.
27110         * m4/builtin-expect.m4, modules/builtin-expect: New files.
27111         * modules/avltreehash-list, modules/fnmatch, modules/glob:
27112         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
27113         * modules/scandir, modules/strstr-simple:
27114         Depend on builtin-expect.
27116 2016-12-15  Bruno Haible  <bruno@clisp.org>
27118         init.sh: Add possibility to not delete temporary files.
27119         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
27120         to yes, don't erase the temporary directory.
27122 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
27124         regex: fix integer-overflow bug in never-used code
27125         Problem reported by Clément Pit–Claudel in:
27126         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
27127         * lib/regex_internal.h: Include intprops.h.
27128         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
27129         behavior on integer overflow.
27130         * modules/regex (Depends-on): Add intprops.
27132         fpending: fix port to MinGW on Emacs
27133         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
27134         Problem reported by Eli Zaretskii in:
27135         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
27136         Is Plan 9 still a valid porting target, anyway?
27138 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27140         safe-alloc: use xalloc-oversized
27141         * lib/safe-alloc.c: Include xalloc-oversized.h.
27142         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
27143         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
27145         xalloc: do not exceed PTRDIFF_MAX
27146         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
27147         xalloc_oversized check, since objects larger than PTRDIFF_MAX
27148         bytes have pointer-subtraction problems.
27150         malloca: do not exceed PTRDIFF_MAX
27151         * lib/malloca.h: Include xalloc-oversized.
27152         (nmalloca): Use xalloc_oversized instead of rolling our own.
27153         * modules/malloca (Depends-on):
27154         * modules/relocatable-prog-wrapper (Depends-on):
27155         Add xalloc-oversized.
27157         quotearg: pacify GCC better
27158         * modules/quotearg (Depends-on): Add minmax, stdint.
27159         * lib/quotearg.c: Include minmax.h, stdint.h.
27160         (nslots): Now int, as there seems little point to going to extra
27161         work merely to support the INT_MAX slot, which nobody ever uses.
27162         (quotearg_n_options): Redo size-overflow checks to pacify GCC
27163         and to catch (mostly-theoretical) ptrdiff_t problems too.
27164         This can be done via one comparison.
27166 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
27168         xalloc-oversized: check for PTRDIFF_MAX too
27169         This avoids undefined behavior when subtracting pointers to
27170         objects containing more than PTRDIFF_MAX bytes.
27171         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
27172         Also return 1 if the result would exceed PTRDIFF_MAX>
27173         * modules/xalloc-oversized (Depends-on):
27174         Add stdint.
27176         dfa: fix glitches in previous commit
27177         Sorry, I don't know how I managed to commit the wrong version.
27178         * lib/dfa.c (MIN): Move up.
27179         (xpalloc): Now static.
27181         dfa: fix some unlikely integer overflows
27182         I found these while reviewing the recent Coverity-related fix.
27183         This patch changes part of dfa.c to prefer ptrdiff_t instead of
27184         size_t for object counts.  Using ptrdiff_t is the style typically
27185         used in Emacs; although it wastes a sign bit as sizes can never be
27186         negative, it makes -fsanitize=undefined more likely to catch
27187         integer overflows in index calculation, and nowadays the upside is
27188         typically more important than the downside.  Although perhaps the
27189         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
27190         of dfa.c already does, since it uses state_num which is signed),
27191         that is a bigger change and is not needed to fix the bugs I found.
27192         * lib/dfa.c: Include stdint.h and intprops.h.
27193         (TOKEN_MAX): New macro.
27194         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
27195         (charclass_index, parse_bracket_exp, addtok, insert, merge)
27196         (realloc_trans_if_necessary, free_mbdata):
27197         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
27198         This is safe because xpalloc checks that the sizes do not exceed
27199         either SIZE_MAX or PTRDIFF_MAX.
27200         (xpalloc): New function, mostly taken from Emacs.
27201         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
27202         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
27203         (charclass_index): Check for integer overflow in computing
27204         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
27205         added to it later.
27206         (alloc_position_set): Check for integer overflow.  On typical
27207         platforms this check has zero overhead, since the constant
27208         expression is false.
27209         (realloc_trans_if_necessary):
27210         Remove assertion, which I hope Coverity no longer needs.
27212         * modules/dfa (Depends-on): Add intprops, stdint.
27214 2016-12-12  Jim Meyering  <meyering@fb.com>
27216         dfa: add an assertion to avoid coverity false positive
27217         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
27218         warned that "newalloc1 - 2" could overflow.
27220 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
27222         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
27223         * dfa.h (DFA_CASE_FOLD): Remove.
27224         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
27226 2016-12-13  John W. Eaton  <gnu@jweaton.org>
27228         link: fix test to declare use of rename()
27229         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
27230         -Werror=implicit-function-declaration
27232 2016-12-12  Bruno Haible  <bruno@clisp.org>
27234         fpending: Port to native Windows with MSVC.
27235         * lib/fpending.c: Include stdio-impl.h.
27236         (__fpending): Include all known implementations. Err out if it's not
27237         ported.
27238         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
27239         * modules/fpending (Files): Add lib/stdio-impl.h.
27240         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
27242 2016-12-12  Bruno Haible  <bruno@clisp.org>
27244         stdioext: Port to native Windows with MSVC.
27245         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
27246         (struct _gl_real_FILE): New type.
27247         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
27248         Windows.
27249         * lib/fbufmode.c (fbufmode): Add code for native Windows.
27250         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
27251         other SystemV derived implementations.
27252         * lib/fpurge.c (fpurge): Likewise.
27253         * lib/freadable.c (freadable): Likewise.
27254         * lib/freadahead.c (freadahead): Likewise.
27255         * lib/freading.c (freading): Likewise.
27256         * lib/freadptr.c (freadptr): Likewise.
27257         * lib/freadseek.c (freadptrinc): Likewise.
27258         * lib/fseeko.c (fseeko): Likewise.
27259         * lib/fseterr.c (fseterr): Likewise.
27260         * lib/fwritable.c (fwritable): Likewise.
27261         * lib/fwriting.c (fwriting): Likewise.
27262         Reported by Gisle Vanem <gvanem@yahoo.no>.
27264 2016-12-11  Jim Meyering  <meyering@fb.com>
27266         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
27267         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
27268         to work with most shells, but not with the one provided by many
27269         Solaris 10 systems, so running configure with such a /bin/sh evokes
27270         e.g., "./configure: syntax error at line 33602: `(' unexpected".
27271         Reported by Assaf Gordon in
27272         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
27274 2016-12-10  Bruno Haible  <bruno@clisp.org>
27276         threadlib: Optimize out runtime test on Solaris >= 10.
27277         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
27278         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
27279         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
27281 2016-12-10  Bruno Haible  <bruno@clisp.org>
27283         stdint: Update doc about Solaris 9.
27284         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
27286 2016-12-09  Bruno Haible  <bruno@clisp.org>
27288         c-ctype tests: Fix link error on Solaris 9.
27289         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
27290         Reported at <https://savannah.gnu.org/bugs/?46827>.
27292 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
27294         dfa: fix performance bug that recomputes trans
27295         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
27296         25 on-demand changes.  The bug caused build_state to reset all
27297         d->trans elements to -2 even when d->trans was already non-null.
27298         Use C99 style decls after statements in this function.
27300         same-inode: port to MinGW
27301         Here st_ino is always 0, so change the definition of SAME_INODE so
27302         that 1 means the two files are the same, 0 with st_ino != 0 means
27303         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
27304         reported by Bruno Haible (Bug#25146).
27305         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
27306         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
27308 2016-12-04  Bruno Haible  <bruno@clisp.org>
27310         javacomp-script: Support Java 7 and 8.
27311         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
27312         target-version 1.7, 1.8.
27314 2016-12-02  Daiki Ueno  <ueno@gnu.org>
27316         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
27317         GPLv2" rewriting.
27319 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
27321         * gnulib-tool (func_import): Adhere to the license guideline when
27322         rewriting the license text to "LGPLv3+ or GPLv2":
27323         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
27325 2016-12-02  Bruno Haible  <bruno@clisp.org>
27327         localcharset: Avoid theoretical buffer overrun.
27328         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
27329         return value from setlocale if it would lead to a buffer overrun.
27331 2016-12-01  Bruno Haible  <bruno@clisp.org>
27333         Relicense some modules under LGPLv2+.
27334         Kevin Cernekee's approval is in
27335         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
27336         * modules/fseterr (License): Change to LGPLv2+.
27337         * modules/mbchar (License): Likewise.
27338         * modules/mbiter (License): Likewise.
27339         * modules/mbsnlen (License): Likewise.
27340         * modules/wcwidth (License): Likewise.
27342 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27344         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
27345         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
27346         OS/2 kLIBC.
27348 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27350         alphasort, scandir: Port to OS/2 kLIBC
27351         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
27352         declaration.
27353         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
27355 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27357         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
27358         * lib/relocatable.c (relocate): Do not touch pathname if it is started
27359         with '/@unixroot'.
27361 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
27363         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
27364         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
27365         OS/2 kLIBC unless TCPV40HDRS is defined.
27367 2016-11-29  Jim Meyering  <meyering@fb.com>
27369         dfa: avoid new infinite loop
27370         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
27371         * lib/dfa.c (dfastate): When constructing a new state table, we could
27372         initially declare that we had found a match, and later find that
27373         constraints eliminate that possibility, yet continue to use the
27374         now stale "matched" indicator.  That would lead to an infinite loop.
27375         The solution is to update "matched" when necessary.
27376         Introduced by commit v0.1-983-g403adf1.
27378 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
27380         dfa: avoid match middle in multibyte character
27381         * lib/dfa.c (transit_state): If fails in matching single byte characters
27382         on a state including period expression in non-UTF8 multibyte locales,
27383         skip trailing bytes.
27384         (dfa_supported): Revert previous change.
27386 2016-11-27  Jim Meyering  <meyering@fb.com>
27388         dfa: avoid false match in non-UTF8 multibyte locales
27389         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
27390         as "not supported" so that callers will resort to using regex-based
27391         matcher.  This will surely hurt performance, but correctness trumps
27392         performance here, and the affected locales are less and less relevant,
27393         these days.  See grep's bug report https://bugs.gnu.org/24975.
27395 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
27397         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
27398         * lib/ptsname_r.c: Include the appropriate headers.
27399         [__sun]: Delete sys/sysmacros.h include.
27400         [_AIX || __osf__]: Likewise.
27401         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
27403 2016-11-27  Pádraig Brady  <P@draigBrady.com>
27405         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
27406         * lib/md4.c (md4_process_bytes): The existing define is made internal
27407         in recent versions of glibc, so also use this new public define.
27408         * lib/md5.c (md5_process_bytes): Likewise.
27409         * lib/sha1.c (sha1_process_bytes): Likewise.
27410         * lib/sha256.c (sha256_process_bytes): Likewise.
27411         * lib/sha512.c (sha512_process_bytes): Likewise.
27413 2016-11-27  Pádraig Brady  <P@draigBrady.com>
27415         maint: use a more standard return from mbrtowc test
27416         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
27417         from the test program as this often indicates an
27418         unhandled case in the test program.
27419         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
27420         (gl_MBRTOWC_SANITYCHECK): Likewise.
27421         (gl_MBRTOWC_NULL_ARG2): Likewise.
27422         (gl_MBRTOWC_NUL_RETVAL): Likewise.
27424 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
27426         freopen: work around glibc bug with closed fd
27427         Work around glibc bug#15589, where freopen mishandles the case
27428         where stdin etc. are already closed.
27429         * doc/posix-functions/freopen.texi (freopen): Document the bug.
27430         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
27431         instead of __need_FILE, as the latter does not work with glibc.
27432         Include <fcntl.h>, for open flags.
27433         (rpl_freopen): Work around glibc bug.
27434         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
27435         * modules/freopen (Depends-on): Add fcntl-h.
27436         * tests/test-freopen.c (main): Test for bug.
27438 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
27440         fnmatch: fix typo introduced on 2016-08-17
27441         This fixes the port to non-GCC compilers that lack __builtin_expect.
27442         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
27444         dfa: simplify with new function fillset
27445         * lib/dfa.c (fillset): New function.
27446         Use it for clarity when applicable.
27448         dfa: fix glitches with on-demand states
27449         Also, adjust commentary to better match new code.
27450         Some of these glitches predate the recent change.
27451         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
27452         only non-initial states.
27453         (dfastate): Rename locals to better match new roles.
27454         Move them into nested scopes if this is easy.
27455         Omit unnecessary calls to zeroset.
27456         Simplify test for whether to throw in the positions of state 0.
27457         Omit C99-ism (decl after statement) since Gawk still wants C89.
27458         (build_state): Omit unnecessary test and assignment.
27459         Fix some confusion that counted transition tables inaccurately
27460         and could cause a memory leak.
27461         (dfaexec_main): Redo to make it clearer to the compiler that
27462         -1 and -2 are the only negative state numbers here.
27464 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
27466         dfa: addition of new state on demand
27467         * src/dfa.c (dfastate): Add argument UC, the current input character.
27468         Fill only a group including the character in transition table.
27469         (realloc_trans_if_necessary): Add the dummy state which means that a
27470         transition table is assigned but the next state is not assigned.
27471         (build_state): Return the next state.  All callers updated.
27472         (transit_state_singlebyte): If we get the dummy state,
27473         fill the transition table.
27474         (dfaexec_main): Handle the dummy state.
27475         (free_mbdata, dfafree): Consider the dummy state.
27477 2016-11-24  Daiki Ueno  <ueno@gnu.org>
27479         srclist: sync with released gettext
27480         * config/srclist.txt: Set "release" option to the files under
27481         $GETTEXT.
27483 2016-11-24  Daiki Ueno  <ueno@gnu.org>
27485         srclist: add "release" option
27486         * config/srclist.txt: Change the format so that the first column
27487         of each line points to the top-level directory of the source
27488         archive.
27489         * config/srclist-update: Accept "release" option that checks files
27490         from the most recently tagged revision in the source archive.
27492 2016-11-21  Bruno Haible  <bruno@clisp.org>
27494         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
27495         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
27496         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
27497         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
27498         Inline and remove member function 'rpl ()' of the wrapper struct.
27500 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
27502         dfa: fix logic typo
27503         Problem reported by Stephane Chazelas (Bug#24973).
27504         * lib/dfa.c (using_simple_locale): Fix typo that caused some
27505         non-simple locales like fr_FR to be treated as simple.
27507 2016-11-20  Jim Meyering  <meyering@fb.com>
27509         fix test driver leaks: exclude, malloc, realloc
27510         * tests/test-exclude.c (main): Fix trivial leak.
27511         * tests/test-malloc-gnu.c (main): Likewise.
27512         * tests/test-realloc-gnu.c (main): Likewise.
27513         With these changes, grep's tests are now leak free.
27514         I.e., running them with ASAN elicits no failure:
27515           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
27516             AM_LDFLAGS='-fsanitize=address -static-libasan' check
27518 2016-11-11  Bruno Haible  <bruno@clisp.org>
27520         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
27521         * modules/libunistring: (License): Change from LGPL to
27522         "LGPLv3+ or GPLv2".
27523         * modules/libunistring-optional: Likewise.
27524         * modules/unicase/*: Likewise.
27525         * modules/uniconv/*: Likewise.
27526         * modules/unictype/*: Likewise.
27527         * modules/unigbrk/*: Likewise.
27528         * modules/unilbrk/*: Likewise.
27529         * modules/uniname/*: Likewise.
27530         * modules/uninorm/*: Likewise.
27531         * modules/unistdio/*: Likewise.
27532         * modules/unistr/*: Likewise.
27533         * modules/uniwbrk/*: Likewise.
27534         * modules/uniwidth/*: Likewise.
27536 2016-11-12  Bruno Haible  <bruno@clisp.org>
27538         Relicense some modules under LGPLv2+.
27539         Paul Eggert's approval is in
27540         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
27541         Eric Blake's approval is in
27542         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
27543         Ludovic Courtès's approval is in
27544         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
27545         * modules/isnand-nolibm (License): Change to LGPLv2+.
27546         * modules/isnanf-nolibm (License): Likewise.
27547         * modules/isnanl-nolibm (License): Likewise.
27549 2016-11-19  Bruno Haible  <bruno@clisp.org>
27551         Relicense some modules under LGPLv2+.
27552         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
27553         modules/vasnprintf.
27554         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
27555         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
27556         All other significant changes to the files in lib/ of these modules
27557         are from me.
27558         * modules/memcmp2 (License): Change to LGPLv2+.
27559         * modules/amemxfrm (License): Likewise.
27560         * modules/fpieee (License): Likewise.
27561         * modules/fpucw (License): Likewise.
27562         * modules/frexp-nolibm (License): Likewise.
27563         * modules/frexpl-nolibm (License): Likewise.
27564         * modules/printf-frexp (License): Likewise.
27565         * modules/printf-frexpl (License): Likewise.
27566         * modules/printf-safe (License): Likewise.
27567         * modules/signbit (License): Likewise.
27569 2016-11-17  Bruno Haible  <bruno@clisp.org>
27571         Enable Unicode decoder safety unconditionally.
27572         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
27573         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
27574         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
27575         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
27576         * lib/unistr/u8-prev.c (u8_prev): Likewise.
27577         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
27578         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
27579         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
27580         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
27581         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
27582         * lib/unistr/u16-prev.c (u16_prev): Likewise.
27583         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
27584         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
27585         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
27586         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
27587         * lib/unistr/u32-prev.c (u32_prev): Likewise.
27588         * lib/unistr/u32-next.c (u32_next): Likewise.
27589         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
27590         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
27591         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
27592         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
27593         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
27594         CONFIG_UNICODE_SAFETY tests unconditionally.
27595         * tests/unistr/test-u32-mblen.c (main): Likewise.
27596         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
27597         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
27598         * tests/unistr/test-u32-next.c (main): Likewise.
27599         * tests/unistr/test-u32-strmblen.c (main): Likewise.
27600         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
27601         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
27602         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
27603         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
27604         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
27605         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
27606         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
27607         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
27608         * lib/unistr/u16-check.c (u16_check): Update comment.
27609         * NEWS: Mention the changes that callers should be aware of.
27611 2016-11-19  Bruno Haible  <bruno@clisp.org>
27613         relocatable-prog-wrapper: Fix breakage on Cygwin.
27614         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
27615         (Depends-on): Remove intprops.
27616         * lib/relocwrapper.c: Update dependency tree.
27617         (strerror): Undefine.
27618         * build-aux/install-reloc (func_create_wrapper): Do not compile
27619         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
27621 2016-11-19  Bruno Haible  <bruno@clisp.org>
27623         strerror: Make it compile in C++ mode.
27624         * lib/strerror.c (strerror): Ignore the return value of memcpy().
27626 2016-11-15  Pedro Alves  <palves@redhat.com>
27628         sys_time: add gnulib::timeval for C++
27629         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
27630         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
27631         timeval macro.
27633 2016-11-14  Pedro Alves  <palves@redhat.com>
27635         snippet/c++defs: fix real-floating arg functions in C++ mode
27636         Also, define isfinite, isinf, isnan, signbit in the gnulib
27637         namespace instead of in the global namespace.
27638         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
27639         (_GL_END_NAMESPACE): New.
27640         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
27641         (isfinite, isinf, isnan, signbit) [__cplusplus &&
27642         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
27643         instead of in the global namespace.
27644         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
27645         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
27646         of in the global namespace.
27648 2016-11-13  Jim Meyering  <meyering@fb.com>
27650         strftime: don't use __THROW
27651         Each use of __THROW would provoke this from gcc-7-to-be:
27653           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
27654             on unit local functions [-Wattributes]
27655           static int iso_week_days (int, int) __THROW;
27656           ^~~~~~
27657         * lib/strftime.c (__THROW): Don't define.
27658         Remove each use of __THROW.
27659         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
27660         (tm_diff, iso_week_days, __strftime_internal): Likewise.
27662 2016-11-14  Paul Eggert  <eggert@union>
27664         obstack: port to gcc -fcheck-pointer-bounds
27665         Problem found by 'make check' failure on bleeding-edge coreutils
27666         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
27667         6.2.0-5ubuntu12), configured via "./configure
27668         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
27669         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
27670         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
27671         New macro, copied from fts_.h.
27672         (struct _obstack_chunk.contents): Use it.
27674 2016-11-14  Eric Blake  <eblake@redhat.com>
27676         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
27677         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
27678         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
27680 2016-11-14  Pádraig Brady  <P@draigBrady.com>
27682         strptime: fix compile error in recent change
27683         * lib/strptime.c (__strptime_internal): Fix ported code.
27685 2016-11-11  Bruno Haible  <bruno@clisp.org>
27687         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
27688         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
27689         (func_import): Extend determination of license_incompatibilities.
27690         (func_create_testdir): Extend table of license compatibility. Handle
27691         also the licenses GPLv3+, GPL, LGPLv3+.
27693 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
27695         strftime: tune %q
27696         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
27698         Merge strftime.c changes from glibc
27699         This incorporates:
27700         2007-10-16 [BZ #5184] Add tzset_called argument
27701         2008-06-13 [BZ #6612] pass reference to tzset_called around
27702         2009-10-30 Implement Burmese language locale for Myanmar
27703         2010-01-09 Add support for XPG7 testing
27704         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
27705         2015-10-20 Convert miscellaneous function definitions to prototype style
27706         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
27707         it anyway and this lessens the difference between gnulib and glibc.
27708         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
27709         (__THROW): Define if standard headers do not.
27710         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
27711         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
27712         Declare with __THROW.
27713         (__strftime_internal): Rename from strftime_case_. Add arg for
27714         whether tzset is called.  All uses changed.  Call tzset at most
27715         once.  Allow %OC, for Burmese.
27716         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
27717         Don't assume values are in range.
27719 2016-11-12  Eric Blake  <eblake@redhat.com>
27721         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
27722         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
27723         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
27724         different value.
27726 2006-11-12  Pedro Alves  <palves@redhat.com>
27728         Fix gnulib C++ namespace support and std::frexp
27729         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
27730         _GL_CXXALIASWARN.
27732 2006-11-12  Pedro Alves  <palves@redhat.com>
27734         GNULIB_NAMESPACE::func need not pull in rpl_func
27735         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
27736         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
27737         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
27738         struct instead of a function pointer.
27740 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
27742         manywarnings: fix -Wno-missing-field-initializers detection
27743         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
27744         to be independent of -Wunused-variable.  I.E. ensure the latter
27745         warning doesn't occur so that detection of the former is accurate.
27747 2016-11-05  Pádraig Brady  <pbrady@fb.com>
27749         strftime,strptime: support %q to represent the quarter
27750         * lib/strftime.c (strftime_case_): Add %q case.
27751         * lib/strptime.c (__strptime_internal): Likewise.
27752         * tests/test-strftime.c (quarter_test): A new test case.
27754 2016-11-03  Eric Blake  <eblake@redhat.com>
27756         bootstrap: Fix get_version() for AIX 5.3
27757         * build-aux/bootstrap (get_version): Factor out sed script, since
27758         indented comments choke AIX 5.3 sed.
27759         Reported-by: Michael Felt <aixtools@gmail.com>
27761 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
27763         intprops: port to older XL C
27764         Problem reported by Alexander Samoilov in:
27765         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
27766         http://savannah.nongnu.org/bugs/?49448
27767         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
27768         Define to 1 only for XL C 12.1 or later, since this bug
27769         occurs in XL C for AIX 6.0 but not in 12.1.
27771 2016-11-02  Pádraig Brady  <P@draigBrady.com>
27773         backupfile: initialize default suffix within the implementation
27774         * lib/backupfile.c (find_backup_file_name): Initialize the
27775         global variable here, to simplify usage, and to only call
27776         getenv() when needed.
27778 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27780         futimens: remove FIXME for old Linux kernels
27781         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
27782         this in 2012" FIXME, like that for utimensat.
27784         utimensat: remove FIXME for old Linux kernels
27785         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
27786         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
27787         this in 2012" FIXME, by assuming the file system bug is absent
27788         unless demonstrated to be present.  We no longer need to worry
27789         about Linux kernel 2.6.32 when building with newer kernels.
27791 2016-10-16  Bruno Haible  <bruno@clisp.org>
27793         qsort_r: Fix macrology for platforms that lack the function.
27794         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
27795         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
27796         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
27797         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
27798         not exist.
27799         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
27800         the function exists.
27801         * modules/qsort_r: Add comments.
27803 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
27805         sys_types: fix Texinfo typos
27806         * doc/glibc-functions/gnu_dev_major.texi:
27807         * doc/glibc-functions/gnu_dev_makedev.texi:
27808         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
27810 2016-10-26  John David Anglin  <dave.anglin@bell.net>
27812         getprogname: port to HP-UX
27813         See Bug#24805.
27814         * lib/getprogname.c (getprogname) [__hpux]: Port.
27815         * tests/test-getprogname.c (STREQ) [__hpux]:
27816         Special-case for HP-UX limitations on program name length.
27818 2016-10-20  Bruno Haible  <bruno@clisp.org>
27820         Update doc about target platforms.
27821         * doc/gnulib-intro.texi (Target Platforms): Update list.
27823 2016-10-15  Bruno Haible  <bruno@clisp.org>
27825         opendir, readdir, closedir: Relicense under LGPLv2+.
27826         * modules/opendir (License): Change to LGPLv2+.
27827         * modules/readdir (License): Likewise.
27828         * modules/closedir (License): Likewise.
27830 2016-10-16  Bruno Haible  <bruno@clisp.org>
27832         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
27833         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
27834         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
27835         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
27836         HAVE_DECL_STRERROR_R.
27838 2016-10-16  Bruno Haible  <bruno@clisp.org>
27840         Make the 'argp' module work without the 'error' module.
27841         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
27843 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
27845         diffseq: restore TOO_EXPENSIVE heuristic
27846         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
27847         (Bug#24715).  The simplest solution is to restore the
27848         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
27849         using a higher threshold to avoid Bug#16848 on smaller files.
27850         * lib/diffseq.h (struct context): Restore member too_expensive.
27851         (struct partition): Restore members lo_minimal, hi_minimal.
27852         (diag, compareseq): Restore arg find_minimal.  All uses changed.
27853         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
27854         1993 to make 'diff' run faster (but not as well) on large inputs,
27855         but use a threshold of 4096 instead of the old 256.
27856         * lib/fstrcmp.c (strcmp_bounded):
27857         * lib/git-merge-changelog.c (compute_differences):
27858         Adjust to diffseq.h changes.
27860 2016-10-22  Bruno Haible  <bruno@clisp.org>
27862         iconv: Avoid compilation error when bootstrapping GNU libiconv.
27863         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
27864         declaration yet, define ICONV_CONST to empty.
27866 2016-10-15  Bruno Haible  <bruno@clisp.org>
27868         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
27869         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
27870         module.
27872 2016-10-16  Bruno Haible  <bruno@clisp.org>
27874         system-quote tests: Avoid compiler warning on AIX.
27875         * tests/test-system-quote-child.c (fopen): Redefine like the system's
27876         <stdio.h> does.
27878 2016-10-16  Bruno Haible  <bruno@clisp.org>
27880         Fix some "gcc -Wall" warnings.
27881         * tests/test-ffsl.c (main): Use variable x, not i.
27882         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
27883         freopen.
27884         * tests/test-sethostname1.c (main): Explicitly ignore the return value
27885         of sethostname.
27887 2016-10-16  Bruno Haible  <bruno@clisp.org>
27889         gnulib-tool: Make --create-testdir on all modules work again.
27890         * gnulib-tool (func_create_testdir): Don't include the
27891         non-recursive-gnulib-prefix-hack module.
27893 2016-10-21  Daiki Ueno  <ueno@gnu.org>
27895         libunistring: change the maintainer to 'all'
27896         * modules/gen-uni-tables, modules/libunistring:
27897         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
27898         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
27899         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
27900         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
27901         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
27902         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
27903         * modules/uniwidth/*: Change the maintainer to 'all'.
27905 2016-10-16  Bruno Haible  <bruno@clisp.org>
27907         Simplify "configure: checking ..." messages.
27908         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
27909         AC_MSG_NOTICE.
27910         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
27912 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
27914         quotearg-tests: pacify gcc -Wall
27915         Problem reported by Bruno Haible in:
27916         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
27917         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
27918         * tests/test-quotearg.h: ... from here.
27920 2016-10-20  Pádraig Brady  <P@draigBrady.com>
27922         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
27923         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
27924         Needed on Centos <= 4.
27926 2016-10-20  Jim Meyering  <meyering@fb.com>
27928         printf.m4: fix a bug in detecting printf %j support
27929         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
27930         uintmax_t is defined in neither stdint.h nor inttypes.h.
27931         Before, this macro might have mistakenly set
27932         gl_cv_func_printf_sizes_c99=yes on such a system.
27933         Spotted by Zev Weiss.
27935 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
27937         sched: substitute HAVE_SYS_CDEFS_H too
27938         Problem reported by Tom G. Christensen in:
27939         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
27940         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
27941         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
27943 2016-10-19  Pádraig Brady  <P@draigBrady.com>
27945         quotearg: never write beyond the returned length
27946         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
27947         scan of the string when we initially encounter a single quote when
27948         shell quoting, so that if we then switch to a more concise quoting method
27949         we will not have written beyond that returned length.
27950         This is significant for sh-quote, which has separate routines
27951         to determine the length and do the actual quoting.
27952         * tests/test-quotearg.h: Reinstate the buffer bounds checking
27953         now that we never write more than the returned length.
27955 2016-10-18  Bruno Haible  <bruno@clisp.org>
27957         getprogname tests: Avoid failure in packages that use libtool.
27958         * tests/test-getprogname.c (main): Strip "lt-" prefix.
27959         Based on a patch by Jim Meyering.
27961 2016-10-16  Bruno Haible  <bruno@clisp.org>
27963         getprogname: Fix test failure on Cygwin. Comments.
27964         * lib/getprogname.h: Add comments.
27965         * lib/getprogname.c: Add comments. Fix #elif indentation.
27966         * tests/test-getprogname.c (main): On Cygwin, expect a result without
27967         ".exe" suffix.
27969 2016-10-16  Bruno Haible  <bruno@clisp.org>
27971         Make sure the libunistring detection rejects older versions with a
27972         known bug.
27973         * modules/unistr/u8-strtok (configure.ac): Bump required version.
27974         * modules/unistr/u16-strtok (configure.ac): Likewise.
27975         * modules/unistr/u32-strtok (configure.ac): Likewise.
27977 2016-10-18  Bruno Haible  <bruno@clisp.org>
27979         sh-quote, system-quote: revert regression of unit test.
27980         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
27981         * tests/test-system-quote-main.c (check_one): Likewise.
27983 2016-10-16  Pádraig Brady  <P@draigBrady.com>
27985         quotearg: fix stale tests
27986         * tests/test-quotearg.c [locale_results]: Add the missing str7
27987         entries to the expected results.
27988         * tests/test-system-quote-main.c (check_one): Don't enforce that we
27989         don't write beyond the returned length, since that's no longer the
27990         case if we switch to a more concise quoting style.
27991         * tests/test-sh-quote.c (check_one): Likewise.
27992         (main): Adjust for the new more concise quoting style.
27993         Reported by Bruno Haible.
27995 2016-10-16  Jim Meyering  <meyering@fb.com>
27997         non-recursive-gnulib-prefix-hack: fix inconsequential typo
27998         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
27999         to "$1".  This macro is always invoked with $1 == lib.
28000         Spotted by Bruno Haible
28002 2016-10-16  Bruno Haible  <bruno@clisp.org>
28004         Fix a test crash.
28005         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
28006         fails.
28008 2016-10-16  Pádraig Brady  <P@draigBrady.com>
28010         test-limits-h: suppress -Woverlength-strings
28011         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
28013 2016-10-15  Bruno Haible  <bruno@clisp.org>
28015         gettime, timespec, utimens: Relicense under LGPL.
28016         * modules/gettime (License): Change to LGPL.
28017         * modules/timespec (License): Likewise.
28018         * modules/utimens (License): Likewise.
28020 2016-10-14  Bruno Haible  <bruno@clisp.org>
28021             Pádraig Brady  <P@draigBrady.com>
28023         canonicalize-lgpl: Support the case path_max > INT_MAX.
28024         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
28025         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
28027 2016-10-13  Jim Meyering  <meyering@fb.com>
28029         getprogname: IBM z/OS: avoid NULL-dereference
28030         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
28031         upon strdup failure.
28033 2016-10-12  Jim Meyering  <meyering@fb.com>
28035         test-stdint: use _GL_VERIFY rather than "verify" for some tests
28036         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
28037         and an abbreviated diagnostic rather than verify with the full one,
28038         because the full-length strings would evoke warnings from gcc with
28039         -Woverlength-strings.
28041 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28043         stdint: port SIZE_MAX to glibc s390
28044         Problem reported by Eric Blake in:
28045         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
28046         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
28047         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
28048         correct type, if possible.
28050 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
28052         getprogname: port to IBM z/OS
28053         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
28055 2016-10-11  Jim Meyering  <meyering@fb.com>
28057         maint: remove stray space after "." in AC_DEFINE comment.
28058         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
28059         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
28061 2016-10-05  Jim Meyering  <meyering@fb.com>
28063         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
28064         * lib/long-options.c (parse_long_options): Add a break statement
28065         to avoid this new warning/failure:
28066         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
28067           --create-testdir --dir=/t/x --with-tests --test long-options
28068         ../../gllib/long-options.c: In function 'parse_long_options':
28069         ../../gllib/long-options.c:66:12: error: this statement may \
28070           fall through [-Werror=implicit-fallthrough]
28071                    (*usage_func) (EXIT_SUCCESS);
28072                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
28074 2016-10-05  Jim Meyering  <meyering@fb.com>
28076         utimecmp: avoid new GCC 7 warning from -Wbool-operation
28077         Testing this module would fail when using GCC 7 like this:
28078         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
28079           --dir=/tmp/x --with-tests --test utimecmp
28080         ../../gllib/utimecmp.c: In function ‘utimecmp’:
28081         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
28082           [-Werror=bool-operation]
28083                          time_t s = src_s & ~ (res == 2 * BILLION);
28084                                             ^
28085         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
28086           [-Werror=bool-operation]
28087                src_s &= ~ (res == 2 * BILLION);
28088                         ^
28089         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
28090         Instead, make it explicit that we intend to apply it to 0 or 1.
28092 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
28094         dfa: save memory for states
28095         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
28096         states if dfa has a lot of caches.
28098 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
28100         wchar, wctype-h: fix for MinGW 3.22.2
28101         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
28102         special invocation, to fix issues with MinGW 3.22.2 wchar.h
28103         when included from <string.h>.
28104         * lib/wctype.in.h [__MINGW32__]: Add special invocation
28105         convention for MinGW 3.22.2, to solve issues with their
28106         wctype.h when included from <ctype.h>.
28108 2016-10-05  Jim Meyering  <meyering@fb.com>
28110         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
28111         * lib/long-options.c (parse_long_options): Add a break statement
28112         to avoid this new warning/failure:
28113         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
28114           --create-testdir --dir=/t/x --with-tests --test long-options
28115         ../../gllib/long-options.c: In function ‘parse_long_options’:
28116         ../../gllib/long-options.c:66:12: error: this statement may \
28117           fall through [-Werror=implicit-fallthrough]
28118                    (*usage_func) (EXIT_SUCCESS);
28119                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
28121         utimecmp: avoid new GCC 7 warning from -Wbool-operation
28122         Testing this module would fail when using GCC 7 like this:
28123         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
28124           --dir=/tmp/x --with-tests --test utimecmp
28125         ../../gllib/utimecmp.c: In function ‘utimecmp’:
28126         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
28127           [-Werror=bool-operation]
28128                          time_t s = src_s & ~ (res == 2 * BILLION);
28129                                             ^
28130         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
28131           [-Werror=bool-operation]
28132                src_s &= ~ (res == 2 * BILLION);
28133                         ^
28134         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
28135         Instead, make it explicit that we intend to apply it to 0 or 1.
28137 2016-10-03  Pádraig Brady  <P@draigBrady.com>
28139         quotearg: minimize shell quoting using double quotes
28140         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
28141         quote in encountered then use double quotes (c style quoting)
28142         when possible, as it simplifies the quoting.
28143         * tests/test-quotearg-simple.c: Add test cases.
28144         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
28145         for the fact we now may write beyond the returned length.
28147 2016-10-02  Jim Meyering  <meyering@fb.com>
28149         vasnprintf.c: avoid spurious warning from GCC 7
28150         The presence of cpp directives renders this "FALLTHROUGH" comment
28151         ineffective, so does not suppress the -Wimplicit-fallthrough warning
28152         from GCC 7 built from git on 2016-10-02.
28153         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
28154         directives, so that it takes effect once again.  This is clearly
28155         not a proper change, and I will revert it once this bug is fixed:
28156         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
28158 2016-10-01  Jim Meyering  <meyering@fb.com>
28160         getprogname: correct the test for a __progname variable
28161         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
28162         and AC_LINK_IFELSE to check for a global __progname.  If found,
28163         define HAVE_VAR___PROGNAME.
28164         * lib/getprogname.c (getprogname): Reflect the new name of the
28165         feature- checked preprocessor symbol:
28166         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
28168 2016-09-28  Jim Meyering  <meyering@fb.com>
28170         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
28171         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
28172         fall-through case with a /* fallthrough */ comment.
28174         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
28175         * lib/dfa.c (dfassbuild): Mark the end of this case with a
28176         /* fallthrough */ comment.
28178         getprogname: avoid __progname vs program_invocation_short_name pitfall
28179         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
28180         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
28181         not with Fedora 24's glibc-2.23.1-10.
28182         * lib/getprogname.c (__progname): Move this declaration down...
28183         (getprogname): ... into the #elif block where used, and make it
28184         explicitly "extern".
28186         getprogname: port to OpenBSD 5.1
28187         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
28188         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
28189         * modules/getprogname (configure.ac): Move most of this code...
28190         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
28191         increment serial number, and add a test for __progname.
28192         https://bugs.gnu.org/24562
28193         Reported by Nelson H. F. Beebe.
28195 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
28197         sched: port to GCC 6.2.1 on macOS Sierra
28198         Problem reported by Denis Davydov in:
28199         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
28200         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
28201         Include <sys/cdefs.h> before <sched.h>.
28202         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
28203         so that we needn’t worry about the sched.h include bug here.
28204         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
28205         and include it before <sched.h> if it exists, when
28206         checking for <sched.h>.
28208         tests/init.sh: port Alpine fix to AIX 7.1
28209         * tests/init.sh (compare_): When attempting to use diff -U3,
28210         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
28211         diff -u not outputting a space after leading '+', as the users
28212         of 'compare' should not be that picky about its output format.
28213         In the AIX 7.1 case, return with diff exit status (or with 2 if
28214         trouble), instead of some random nonzero exit status.
28215         * tests/test-init.sh (test_compare): Remove space after leading
28216         '+', so that AIX 7.1 'diff' passes the test.
28218 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
28220         nl_langinfo: pacify GCC
28221         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
28222         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
28224         stdint: also set GL_GENERATE_LIMITS_H
28225         Problem reported by Jim Meyering in:
28226         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
28227         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
28229         limits-h, stdint: Don't assume extensions, fix typo
28230         * m4/limits-h.m4 (gl_LIMITS_H):
28231         * m4/stdint.m4 (gl_STDINT_H):
28232         Don't assume AC_USE_SYSTEM_EXTENSIONS.
28233         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
28234         reported by Jim Meyering in:
28235         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
28237 2016-09-21  Jim Meyering  <meyering@fb.com>
28239         getprogname: port to AIX
28240         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
28241         and strdup to obtain a short program name string.  Using code from
28242         Bruno Haible and an idea from Bastien ROUCARIÈS, in
28243         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
28244         Assaf Gordon reported that this new file would fail to compile on
28245         AIX-7.1 32bit.
28247 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
28249         extensions: fix typo in comment
28250         * m4/extensions.m4: Sync from Autoconf master.
28252         stdint: support new _WIDTH macros
28253         * doc/posix-headers/stdint.texi: Document this.
28254         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
28255         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
28256         support for INTMAX_WIDTH, etc. as well as for support for just C99.
28257         * modules/stdint (Depends-on): Add limits-h.
28258         (Makefile.am): Substitute HAVE_C99_STDINT_H.
28259         * modules/stdint-tests (Depends-on): Add extensions, so that
28260         INTMAX_MAX etc. are defined.
28261         * tests/test-stdint.c: Verify the new macros.
28263         limits-h: new module
28264         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
28265         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
28266         * doc/posix-headers/limits.texi: Document new module.
28267         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
28268         * modules/limit-h-tests, tests/test-limits-h.c: New files.
28270         stdio: don't redefine __USE_MINGW_ANSI_STDIO
28271         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
28272         if it is already defined.  Apparently GNU Emacs relies on this.  See:
28273         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
28275 2016-09-15  Eric Blake  <eblake@redhat.com>
28277         sys_types: avoid glibc 2.25 warnings about major()
28278         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
28279         older autoconf.
28280         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
28281         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
28282         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
28283         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
28285         mountlist: include sysmacros.h for glibc
28286         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
28287         AC_HEADER_MAJOR.
28288         * lib/mountlist.c (includes): Use correct headers.
28290 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
28292         extensions: port to more ISO C TSes
28293         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
28294         master, to add support for more recent ISO C TRs and TSes.
28296 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
28298         intprops: new macro TYPE_WIDTH
28299         * lib/intprops.h (TYPE_WIDTH): New macro.
28300         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
28301         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
28302         * lib/parse-datetime.y (parse_datetime2):
28303         Use it.
28305         extensions: port to recent ISO C TRs
28306         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
28307         Sync from Autoconf master, to add support for recent ISO C TRs.
28308         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
28309         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
28310         the MinGW option is not an extension.
28312 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
28314         dfa: port to Solaris 9
28315         Problems reported by Tom G. Christensen in:
28316         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
28317         * modules/dfa (Depends-on): Add isblank.
28318         * modules/dfa-tests (dfa_match_aux_LDADD):
28319         Rename from test_stat_LDADD, to fix typo.
28320         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
28322 2016-09-10  Jim Meyering  <meyering@fb.com>
28324         strverscmp: avoid link failure on OS X
28325         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
28326         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
28328 2016-08-16  Jim Meyering  <meyering@fb.com>
28330         dfa: new module, importing grep's DFA matcher
28331         Since grep's DFA matcher is now being used by two gnulib-enabled
28332         projects, grep and sed, it makes sense to version-control its
28333         sources and unit tests in one place: here.
28334         * modules/dfa: New module.
28335         * modules/dfa-tests: New file.
28336         * lib/dfa.c: New file, from grep.
28337         * lib/dfa.h: Likewise.
28338         * lib/localeinfo.c: Likewise.
28339         * lib/localeinfo.h: Likewise.
28340         * tests/dfa-match-aux.c: Likewise.
28341         * tests/dfa-invalid-char-class.sh: Likewise.
28342         * tests/dfa-match.sh: Likewise, with minor changes.
28343         * MODULES.html.sh (Misc): Add "dfa" to this list.
28345 2016-09-09  Jim Meyering  <meyering@fb.com>
28347         getprogname-tests: don't depend on assert-h
28348         * modules/getprogname-tests (Depends-on): Remove assert-h.
28349         It was not needed, and in fact would cause build failure for
28350         coreutils on some systems.  Reported by Assaf Gordon in https:
28351         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
28353 2016-09-07  Jim Meyering  <meyering@fb.com>
28355         getprogname-tests: work also when EXEEXT is nonempty
28356         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
28357         * tests/test-getprogname.c (main): Use it.
28358         Suggested by Gisle Vanem.
28360 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
28362         getprogname: fix errors in previous change
28363         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
28364         s/program_invocation_name/base/
28365         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
28367 2016-09-08  Pádraig Brady  <P@draigBrady.com>
28369         parse-datetime: restrict debug output to input string
28370         * lib/parse-datetime.y (parse_datetime2): If we parse
28371         all of the input but determine it's invalid, ensure
28372         we don't output the now invalid input pointer.
28373         This issue was seen with `date -d 'now +1'`.
28375 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
28377         flexmember: new macro FLEXALIGNOF
28378         * lib/flexmember.h: Include <stddef.h>, for offsetof.
28379         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
28380         this macro.  Update comments.
28382 2016-09-07  Jim Meyering  <meyering@fb.com>
28384         getprogname: port to systems with __argv (mingw, msvc)
28385         * lib/getprogname.c (getprogname): Include "dirname.h" and use
28386         last_component: more general than open coding it with hard-coded "/".
28387         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
28388         * modules/getprogname (Depends-on): Add dirname-lgpl.
28389         (configure.ac): Check for __argv in <stdlib.h>.
28390         * modules/getprogname-tests: New file.
28391         * tests/test-getprogname.c: New file.
28392         Suggested by Gisle Vanem in
28393         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
28395 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
28397         flexmember: port better to GCC + valgrind
28398         With a char[] flexible array member in a struct with nontrivial
28399         alignment, GCC-generated code can access past the end of the
28400         array, because GCC assumes there are padding bytes to get the
28401         struct aligned.  So the common idiom of malloc (offsetof (struct
28402         s, m), n) does not properly allocate an n-byte trailing member, as
28403         malloc’s argument should be the next multiple of alignof (struct s).
28404         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
28405         Although C11 apparently permits this GCC optimization (i.e., there
28406         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
28407         See the thread containing:
28408         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
28409         * lib/flexmember.h: New file.
28410         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
28411         * lib/localename.c, lib/time_rz.c:
28412         Include flexmember.h.
28413         * lib/fnmatch_loop.c (struct patternlist):
28414         * lib/localename.c (struct hash_node):
28415         Use FLEXIBLE_ARRAY_MEMBER.
28416         * lib/fnmatch_loop.c (EXT):
28417         * lib/fts.c (fts_alloc):
28418         * lib/glob.c (glob_in_dir):
28419         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
28420         * lib/localename.c (gl_lock_define_initialized):
28421         * lib/time_rz.c (tzalloc):
28422         Use FLEXSIZEOF instead of offsetof.
28423         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
28424         Check that the size of the struct can be taken.
28425         * modules/flexmember (Files): Add lib/flexmember.h.
28426         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
28427         Add flexmember.
28429 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
28431         getprogname: port to Solaris 10
28432         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
28433         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
28434         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
28436         stdalign: correct mistake in alignof doc
28437         Problem reported by Joseph Myers in:
28438         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
28439         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
28440         alignof(S) where S is a structure containing a flexible array
28441         member.  The Gnulib substitute does not support this, but C11 does.
28443 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28445         main.mk: remove sc_program_name, since there is no more need to
28446         use set_program_name in tools (getprogname is enough for most
28447         of the cases).
28448         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
28449         * top/maint.mk (sc_program_name): Remove.
28451 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28453         Port tests away from progname, since modules that need the
28454         program name already depend on getprogname.
28455         * modules/acl-tests (Depends-on): Remove progname.
28456         * modules/argmatch (Depends-on): Likewise.
28457         * modules/argmatch-tests (Depends-on): Likewise.
28458         * modules/argp-tests (Depends-on): Likewise.
28459         * modules/argp-version-etc-tests (Depends-on): Likewise.
28460         * modules/array-list-tests (Depends-on): Likewise.
28461         * modules/array-oset-tests (Depends-on): Likewise.
28462         * modules/avltree-list-tests (Depends-on): Likewise.
28463         * modules/avltree-oset-tests (Depends-on): Likewise.
28464         * modules/avltreehash-list-tests (Depends-on): Likewise.
28465         * modules/carray-list-tests (Depends-on): Likewise.
28466         * modules/copy-file-tests (Depends-on): Likewise.
28467         * modules/exclude-tests (Depends-on): Likewise.
28468         * modules/fchownat-tests (Depends-on): Likewise.
28469         * modules/fdopendir-tests (Depends-on): Likewise.
28470         * modules/filenamecat-tests (Depends-on): Likewise.
28471         * modules/fstatat-tests (Depends-on): Likewise.
28472         * modules/fstrcmp-tests (Depends-on): Likewise.
28473         * modules/linked-list-tests (Depends-on): Likewise.
28474         * modules/linkedhash-list-tests (Depends-on): Likewise.
28475         * modules/mkdirat-tests (Depends-on): Likewise.
28476         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
28477         * modules/nonblocking-socket-tests (Depends-on): Likewise.
28478         * modules/obstack-printf-tests (Depends-on): Likewise.
28479         * modules/openat-tests (Depends-on): Likewise.
28480         * modules/parse-datetime-tests (Depends-on): Likewise.
28481         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
28482         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
28483         * modules/quotearg-simple-tests (Depends-on): Likewise.
28484         * modules/quotearg-tests (Depends-on): Likewise.
28485         * modules/rbtree-list-tests (Depends-on): Likewise.
28486         * modules/rbtree-oset-tests (Depends-on): Likewise.
28487         * modules/rbtreehash-list-tests (Depends-on): Likewise.
28488         * modules/spawn-pipe-tests (Depends-on): Likewise.
28489         * modules/system-quote-tests (Depends-on): Likewise.
28490         * modules/uniname/uniname-tests (Depends-on): Likewise.
28491         * modules/uninorm/nfc-tests (Depends-on): Likewise.
28492         * modules/uninorm/nfd-tests (Depends-on): Likewise.
28493         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
28494         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
28495         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
28496         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
28497         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
28498         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
28499         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
28500         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
28501         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
28502         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
28503         * modules/unlinkat-tests (Depends-on): Likewise.
28504         * modules/version-etc-tests (Depends-on): Likewise.
28505         * modules/xalloc-die-tests (Depends-on): Likewise.
28506         * modules/xmemdup0-tests (Depends-on): Likewise.
28507         * modules/xprintf-posix-tests (Depends-on): Likewise.
28508         * modules/xvasprintf-tests (Depends-on): Likewise.
28509         * tests/test-argmatch.c: Do not include progname.h.
28510         (main) Stop calling set_program_name.
28511         * tests/test-argp-version-etc.c: Likewise.
28512         * tests/test-argp.c: Likewise.
28513         * tests/test-argv-iter.c: Likewise.
28514         * tests/test-array_list.c: Likewise.
28515         * tests/test-array_oset.c: Likewise.
28516         * tests/test-avltree_list.c: Likewise.
28517         * tests/test-avltree_oset.c: Likewise.
28518         * tests/test-avltreehash_list.c: Likewise.
28519         * tests/test-carray_list.c: Likewise.
28520         * tests/test-copy-acl.c: Likewise.
28521         * tests/test-copy-file.c: Likewise.
28522         * tests/test-exclude.c: Likewise.
28523         * tests/test-fchownat.c: Likewise.
28524         * tests/test-fdopendir.c: Likewise.
28525         * tests/test-filenamecat.c: Likewise.
28526         * tests/test-fstatat.c: Likewise.
28527         * tests/test-fstrcmp.c: Likewise.
28528         * tests/test-linked_list.c: Likewise.
28529         * tests/test-linkedhash_list.c: Likewise.
28530         * tests/test-mkdirat.c: Likewise.
28531         * tests/test-nonblocking-pipe-main.c: Likewise.
28532         * tests/test-nonblocking-socket-main.c: Likewise.
28533         * tests/test-obstack-printf.c: Likewise.
28534         * tests/test-openat.c: Likewise.
28535         * tests/test-parse-datetime.c: Likewise.
28536         * tests/test-pipe-filter-gi1.c: Likewise.
28537         * tests/test-pipe-filter-gi2-main.c: Likewise.
28538         * tests/test-pipe-filter-ii1.c: Likewise.
28539         * tests/test-pipe-filter-ii2-main.c: Likewise.
28540         * tests/test-quotearg-simple.c: Likewise.
28541         * tests/test-quotearg.c: Likewise.
28542         * tests/test-rbtree_list.c: Likewise.
28543         * tests/test-rbtree_oset.c: Likewise.
28544         * tests/test-rbtreehash_list.c: Likewise.
28545         * tests/test-sameacls.c: Likewise.
28546         * tests/test-set-mode-acl.c: Likewise.
28547         * tests/test-spawn-pipe-main.c: Likewise.
28548         * tests/test-system-quote-main.c: Likewise.
28549         * tests/test-unlinkat.c: Likewise.
28550         * tests/test-version-etc.c: Likewise.
28551         * tests/test-xalloc-die.c: Likewise.
28552         * tests/test-xfprintf-posix.c: Likewise.
28553         * tests/test-xmemdup0.c: Likewise.
28554         * tests/test-xprintf-posix.c: Likewise.
28555         * tests/test-xvasprintf.c: Likewise.
28556         * tests/uniname/test-uninames.c: Likewise.
28557         * tests/uninorm/test-u32-nfc-big.c: Likewise.
28558         * tests/uninorm/test-u32-nfd-big.c: Likewise.
28559         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
28560         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
28561         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
28562         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
28563         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
28564         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
28565         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
28566         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
28567         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
28568         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
28569         * tests/test-c-stack.c: (program_name): Do not define.
28570         (main): Do not set program_name.
28571         * tests/test-closein.c: Likewise.
28572         * tests/test-xstrtol.c: Likewise.
28573         * tests/test-yesno.c: Likewise.
28575 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28577         Port modules to use getprogname explicitly, instead of requiring
28578         progname to be used (or program_name to be provided).
28579         * lib/argmatch.c: Do not include progname.h.
28580         [TEST] (program_name): Do not define.
28581         [TEST] (main): Call getprogname instead of using program_name.
28582         * lib/c-stack.c: Do not include progname.h.
28583         (program_name): Do not define.
28584         (die): Call getprogname instead of using program_name.
28585         * lib/chdir-long.c: Do not include progname.h.
28586         [TEST_CHDIR] (main): Do not set program_name.
28587         * lib/error.c [!_LIBC]: Include progname.h.
28588         [!_LIBC] (program_name): Define using getprogname.
28589         * lib/euidaccess.c: Do not include progname.h.
28590         [TEST] (main): Do not set program_name.
28591         * lib/git-merge-changelog.c: Include getprogname.h instead of
28592         progname.h.
28593         (usage): Call getprogname instead of using program_name.
28594         (main): Likewise.  Stop calling set_program_name.
28595         * lib/group-member.c: Do not include progname.h.
28596         [TEST] (main): Do not set program_name.
28597         * modules/argmatch (Depends-on): Add getprogname.
28598         * modules/c-stack (Depends-on): Likewise.
28599         * modules/error (Depends-on): Likewise.
28600         * modules/git-merge-changelog (Depends-on): Likewise.
28601         Also remove progname.
28603 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
28605         * NEWS: Document the deprecation of the 'progname' module.
28607 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28609         getprogname: new module
28610         This provides a LGPL module for getting the name of the current
28611         program, using the same API found on *BSD systems.
28612         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
28613         * modules/getprogname: New files.
28614         * MODULES.html.sh (Misc): Add getprogname.
28616 2016-09-02  Jim Meyering  <meyering@fb.com>
28618         manywarnings: add -fno-common
28619         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
28620         to the list.  Quoting the manual, "Compiling with -fno-common is
28621         useful on targets for which it provides better performance, or if
28622         you wish to verify that the program will work on other systems that
28623         always treat uninitialized variable declarations this way [putting
28624         it in the data section]."  If diffutils had been using this sooner,
28625         it would have prevented this duplicate declaration issue:
28626         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
28628 2016-08-31  Simon Josefsson  <simon@josefsson.org>
28630         parse-datetime: Fix typo.
28631         * lib/parse-datetime.y (parse_datetime2): Fix typo.
28633 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
28635         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
28636         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
28637         GCC 5 and 6 that have __builtin_sub_overflow but not
28638         __builtin_sub_overflow_p.  With the recent changes, these
28639         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
28640         implementation than with INT_SUBTRACT_OVERFLOW implementation,
28641         since the former needs just one runtime comparison whereas the
28642         latter needs two.
28644         strverscmp: sync with glibc
28645         Although this doesn't exactly synchronize with glibc
28646         byte-for-byte, it makes the code behave the same as glibc.
28647         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
28648         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
28649         difference shouldn't matter in practical use.  All uses changed
28650         back to isdigit.
28651         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
28652         (next_state): Now unsigned char array; redo elements.
28653         (result_type): Now signed char array; redo elements.
28654         (__strverscmp): Fix glibc bug 9913 by using new states.
28655         * tests/test-strverscmp.c (main): Test glibc bug 9913.
28657 2016-08-29  Jim Meyering  <meyering@fb.com>
28659         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
28660         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
28661         similarly to how it was done to intprops.h.
28663 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
28665         intprops.h: port recent changes to GCC 6.2.0
28666         * lib/intprops.h (__has_builtin): Move earlier.
28667         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
28668         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
28669         the last argument can be null.  All uses changed.
28670         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
28671         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28672         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
28673         and it's not clear which GCC versions it works for.
28674         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
28675         its definiens.
28677         intprops.h: use __typeof__ with GCC 7
28678         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
28679         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
28680         This avoids computing the expression's value (which might overflow!).
28682 2016-08-29  Jim Meyering  <meyering@fb.com>
28684         intprops.h, xalloc-oversized.h: work with gcc 7
28685         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
28686         __builtin_mul_overflow each accept a NULL pointer as the third
28687         argument.  However in gcc 7, that is no longer accepted.
28688         Instead, one must use the "_p"-suffixed names, with which, the
28689         third parameter is no longer a pointer.
28690         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
28691         the definition: not true for gcc 7 and subsequent.
28692         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
28693         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28694         Provide new definitions for gcc 7 and subsequent.
28695         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
28696         that works with gcc-7.
28698         intprops.h: fix missing-backslash problems
28699         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
28700         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
28702 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
28704         intprops: fix paren typo on old platforms
28705         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
28706         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
28707         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
28708         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
28709         && !defined LLONG_MAX]:
28710         Remove stray paren.
28712         intprops: port to OpenVMS
28713         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
28714         * doc/posix-headers/limits.texi: Document the problem.
28715         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
28716         Define if not already defined.
28718 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
28720         parse-datetime: improve debug implementation
28721         Follow-up to commit 12ad79069 ("add optional debug printing").
28722         Improve parse-datetime's debug implementation: remove macros,
28723         replace global debug flag variable with a function parameter,
28724         use nstrftime for formatting.
28725         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
28726         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
28727         (parse_datetime2): New function, accepts 'flags' parameter, supporting
28728         debug flag. Existing interface 'parse_datetime' left unmodified.
28729         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
28730         (struct parser_control): add 'parse_datetime_debug' member variable.
28731         (parse_datetime): Call new function 'parse_datetime2' without debug.
28732         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
28733         pc.parse_datetime_debug variable as needed.
28734         (to_year): Accept new flags parameter, instead of using global variable.
28735         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
28736         use struct 'debug' variable instead of global variable.
28737         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
28738         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
28739         correspnding functions directly instead of using macros.
28740         * modules/parse-datetime: Add gnulib's strftime module.
28742 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
28744         c-strcase-tests: port to EBCDIC
28745         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
28746         which assume ASCII encoding semantics to run only in ASCII
28747         mode, as they fail in EBCDIC.
28749         sigpipe-tests: fix typo
28750         * tests/test-sigpipe.sh: C, not B.
28752 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
28754         canonicalize-lgpl: fix errno after malloca fails
28755         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
28756         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
28757         * lib/canonicalize-lgpl.c (__realpath):
28758         Don't assume malloca sets errno on failure.
28760 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28762         strtod: port errno handling to z/OS
28763         * lib/strtod.c (strtod): Save and restore errno more reliably.
28765 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
28767         strtod: port to z/OS
28768         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
28769         implementation.
28771 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28773         strtod: port to z/OS
28774         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
28775         implementation.
28777         regex, string: rename to avoid '__string'
28778         * lib/regex.h, lib/string.in.h: Do not use the identifier
28779         '__string', as it is effectively reserved by string.h on z/OS.
28781         c-strcase-tests, wcwidth-tests: depend on c-ctype
28782         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
28783         Add c-ctype.
28785 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
28787         thread: port to z/OS
28788         * lib/glthread/thread.c, lib/glthread/thread.h:
28789         Rudimentary gl_thread support for z/OS.
28791         maint: port tests to z/OS errno behavior
28792         * tests/test-nonblocking-reader.h:
28793         * tests/test-nonblocking-writer.h:
28794         Accommodate z/OS errno code preferences. (I believe this should
28795         still be within spec; IBM is good at following the letter if not
28796         the spirit of such things.)
28798         maint: preprocessor changes to support z/OS
28799         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
28800         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
28801         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
28802         * tests/test-nonblocking-pipe.h:
28804         fclose, strstr-simple, wchar: port to z/OS
28805         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
28806         Changes to the Autoconf M4 code to support z/OS.  Note that
28807         fclose() is broken in a different way on z/OS than it is on other
28808         systems, thus the special-case in fclose.m4.
28810         iconv_open-utf-tests, iconv-tests: port to EBCDIC
28811         * tests/test-iconv-utf.c, tests/test-iconv.c:
28812         Added appropriately conditional #pragmas so that the test strings
28813         in test-iconv-utf.c are correctly interpreted in ASCII instead of
28814         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
28815         addressed in a more portable way by simply rewriting all the ASCII
28816         literal characters as octal escapes, but then you would lose the
28817         partial readability that the strings have now. Also, iconv_open()
28818         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
28820         c-strcase-tests, wcwidth-tests: port to EBCDIC
28821         * tests/test-c-strcasecmp.c: Include c-ctype.h.
28822         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
28823         * tests/test-wcwidth.c: Likewise.
28825 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28827         stdbool: don't require _Bool for C++
28828         Problem reported by David Seifert in:
28829         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
28830         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
28831         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
28832         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
28833         stricter about checking that bool and _Bool are compatible in C.
28835 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
28837         getdelim: remove dependency on realloc-posix
28838         * lib/canonicalize-lgpl.c (alloc_failed)
28839         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
28840         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
28841         Use __set_errno where needed, for consistency.
28842         * lib/getdelim.c (alloc_failed): New function.
28843         (getdelim): Use it.
28845 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
28847         parse-datetime: add optional debug printing
28848         Print parsing information, warnings, and errors to stderr.
28849         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
28850         * lib/parse-datetime.y:
28851         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
28852         (PROGRESS*): Same as DEBUG, for progress reporting.
28853         (dbg_printf): Print message to stderr, with 'date' prefix.
28854         (struct parser_control): Add 'debug_*_seen' variables.
28855         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
28856         (debug_print_current_time, debug_print_relateive_time): Prints the
28857         current/relative date/time value of parser_control.
28858         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
28859         (to_year): Warn about 2-digit year parsing.
28860         (yylex):   Warn about unrecognized words.
28861         (get_effective_timezone): Returns current timezone in minutes.
28862         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
28863         clearly and unambigiously as possible.
28864         (debug_mktime_not_ok): Print detailed information about failed
28865         date/time values.
28866         (parse_datetime): Add DEBUG messages for failures, warnings. Add
28867         PROGRESS messages for status messages.
28868         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
28870 2016-08-06  Jim Meyering  <meyering@fb.com>
28872         tests/init.sh: exclude dash with bad "local" semantics
28873         * tests/init.sh (gl_shell_test_script_): Add a function to
28874         eliminate a shell like "dash" (unlike bash, zsh) that has
28875         surprising/risky "local var='...'" semantics.  Inspired by
28876         the problem and discussion in https://bugs.gnu.org/24116#11.
28878 2016-08-02  Ján Tomko  <jtomko@redhat.com>
28880         maint.mk: expand the prohibit_doubled_word regex
28881         This check has a static list of words that are checked for
28882         repetitions.  Expand it before running the perl script to
28883         avoid using expensive captures.  This decreases the cost
28884         for libvirt from 1.66s to 0.66s.
28885         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
28886         (sc_prohibit_doubled_word): Use it.
28888 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28890         useless-if-before-free: skip non-matching lines early
28891         * build-aux/useless-if-before-free: First match each line with the
28892         simple/quick /\bif\b/ and reject if there is no match. This often
28893         saves the cost of the much more involved regular expression.
28894         For libvirt, this decreases the cost from 1.44s to 1.02s.
28896 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28898         maint.mk: speed up sc_po_check
28899         sc_po_check would skip files based on their names, or on the
28900         existence of files with derived names. Rewrite it to use perl
28901         instead of shell to make the check faster.
28902         * top/maint.mk (perl_translatable_files_list_): Define.
28903         (sc_po_check): Use it.
28905 2016-07-30  Ján Tomko  <jtomko@redhat.com>
28907         maint.mk: speed up require_config_h_first
28908         Instead of spawning three processes per file,
28909         rewrite the check in perl and run it once for all the files.
28910         * top/maint.mk (perl_config_h_first_): Define.
28911         (sc_require_config_h_first): Use it in place of shell code.
28913 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28915         maint.mk: speed up sc_po_check
28916         sc_po_check would skip files based on their names, or on the
28917         existence of files with derived names. Rewrite it to use perl
28918         instead of shell to make the check faster.
28919         * top/maint.mk (perl_translatable_files_list_): Define.
28920         (sc_po_check): Use it.
28922 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
28924         obstack: pacify GCC 6 with -Wnull-dereference
28925         Problem reported by Assaf Gordon in:
28926         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
28927         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
28928         Declare with __attribute_noreturn__.
28929         * lib/obstack.h (__attribute_noreturn__): New macro.
28931 2016-07-13  Eric Blake  <eblake@redhat.com>
28933         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
28934         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
28935         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
28937 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
28939         doc: mention glibc SSIZE_MAX buglet
28940         * doc/posix-headers/limits.texi (limits.h): Document the bug.
28942 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
28944         printf-posix: Fix mingw build
28945         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
28946         expression for detecting C symbol prefixes but forgot to qoute square
28947         brackets in the command line arguments for grep.  That way when
28948         building with mingw the condition was false although it ought to be
28949         true instead.  In particular scenarios this led to the following
28950         compile error:
28952             Cannot export rpl_printf: symbol not found
28953             Cannot export rpl_scanf: symbol not found
28954             collect2: error: ld returned 1 exit status
28956         Fix this by properly quoting square brackets.
28958 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
28960         mktime: call tzset as per POSIX
28961         Problem reported by Ludovic Courtès in:
28962         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
28963         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
28964         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
28966 2016-06-26  Pádraig Brady  <P@draigBrady.com>
28968         fts: handle readdir() errors
28969         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
28970         but also upon error when it will also set errno.  Therefore
28971         flag the error case from readdir().  We treat the case where
28972         no items are read the same as if the dir can't be accessed,
28973         i.e. by setting fts_errno to FTS_DNR.
28975 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
28977         intprops: port better to GCC 7
28978         GCC 7 __builtin_add_overflow supports a new usage form, where the
28979         last argument is a null pointer, and which merely returns 1 if an
28980         overflow would occur.  This is a constant expression if all
28981         arguments are constants, and should generate faster code when code
28982         needs to be generated.
28983         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
28984         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28985         Use builtin operations if available.
28986         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
28987         operations are available, as it's almost surely faster.
28989 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
28991         intprops-test: port to GCC 6
28992         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
28993         since the bug is not fixed in GCC 6.1.
28995 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
28997         xalloc-oversized: port to GCC 7; fewer warnings
28998         GCC 7 will have a better way to deal with integer overflow.
28999         Plus, fix a warnings problem reported by Tim Ruehsen in:
29000         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
29001         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
29002         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
29003         For GCC 5, use __xalloc_oversized if both args are constants,
29004         or if pedantic.
29006 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
29008         regex: port to Sun C
29009         Reported by Daiki Ueno.
29010         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
29011         __restrict, in prototype.  This fixes a problem I introduced in
29012         the 2016-02-19 merge from glibc.
29014 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
29016         stdbool: Restore __bool_true_false_are_defined check
29017         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
29018         __bool_true_false_are_defined is still defined, even with C++11.
29020 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
29022         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
29023         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
29025 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
29027         Use GCC_LINT, not lint
29028         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
29029         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
29030         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
29031         Document problem with lint and _Noreturn.
29032         * lib/diffseq.h (IF_LINT, IF_LINT2):
29033         * lib/fts.c (sccsid):
29034         * lib/getndelim2.c (IF_LINT):
29035         * lib/gl_anylinked_list2.h (gl_linked_iterator)
29036         (gl_linked_iterator_from_to):
29037         * lib/gl_anytree_list2.h (gl_tree_iterator)
29038         (gl_tree_iterator_from_to):
29039         * lib/gl_anytree_oset.h (gl_tree_iterator):
29040         * lib/gl_array_list.c (gl_array_iterator)
29041         (gl_array_iterator_from_to):
29042         * lib/gl_array_oset.c (gl_array_iterator):
29043         * lib/gl_carray_list.c (gl_carray_iterator)
29044         (gl_carray_iterator_from_to):
29045         * lib/idcache.c:
29046         * lib/inet_ntop.c (IF_LINT):
29047         * lib/regcomp.c (build_charclass_op, create_tree):
29048         * lib/regex_internal.c (re_acquire_state)
29049         (re_acquire_state_context):
29050         * lib/trigl.c (rcsid):
29051         * lib/trim.c (IF_LINT):
29052         * lib/vasnprintf.c (IF_LINT):
29053         * lib/verify.h (assume):
29054         Treat GCC_LINT like lint.
29056 2016-05-29  Bruno Haible  <bruno@clisp.org>
29058         secure_getenv: Port to many more platforms.
29059         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
29060         functions.
29061         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
29062         for non-BSD Unix platforms and for native Windows.
29063         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
29064         Prompted by a request from Nikos Mavrogiannopoulos.
29066 2016-05-27  Eric Blake  <eblake@redhat.com>
29068         canonicalize: Fix broken probe for realpath.
29069         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
29070         in logic introduced in 54615b95.
29072 2016-05-26  Eric Blake  <eblake@redhat.com>
29074         unsetenv: relax to LGPLv2+
29075         * modules/unsetenv (License): Match setenv license.
29077 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
29079         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
29080         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
29081         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
29082         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
29083         (commonarg, dirargs, dirs, infoarg, generate_ascii)
29084         (generate_html, generate_info, generate_tex, outdir)
29085         (source_extra, split, srcfile, texarg): Move above 'version'.
29086         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
29088 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
29090         manywarnings: update for GCC 6.1
29091         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
29092         Add GCC 6.1 options that apply to C.
29093         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
29094         do not apply to C, are obsolescent, etc.
29096 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
29098         glob: size_t overflow checks
29099         * lib/glob.c (__has_builtin): New macro.
29100         (size_add_wrapv, glob_use_alloca): New static functions.
29101         (glob, glob_in_dir): Check for size_t overflow in several places,
29102         and fix some size_t checks that were not quite right.
29104         glob: don't assume INT_MAX < SIZE_MAX
29105         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
29106         latter is not portable to (probably theoretical) hosts where
29107         SIZE_MAX <= INT_MAX.
29109 2016-05-09  Bruno Haible  <bruno@clisp.org>
29111         Fix undefined behaviour in gettext.h.
29112         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
29113         pointer's value after the storage it points to has been freed.
29114         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
29115         Spotted by Coverity.
29117 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
29119         git-version-gen: avoid undefined shift
29120         Problem reported by Mosè Giordano in:
29121         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
29122         * build-aux/git-version-gen: Avoid undefined behavior if invoked
29123         with --prefix or --fallback but without a later argument.  While
29124         we're at it, omit unnecessary quotes.
29126 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
29128         glob: merge glibc changes into lib/glob.c
29129         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
29130         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
29131         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
29132           struct dirent [BZ #19779]
29133         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
29134           callback gl_readdir
29135         2015-10-20 Convert miscellaneous function definitions to prototype style
29136         2015-10-20 Convert 113 more function definitions to prototype style
29137           (files with assertions)
29138         2015-06-12 Fix getlogin_r namespace (bug 18527).
29139         2014-02-10 Use glibc_likely instead __builtin_expect.
29140         2013-10-20 When glob pattern contains a trailing slash match only
29141           directories. Fixes bug 10278.
29142         2013-09-04 glob: silence -Wattribute warnings
29143         2013-06-07 Avoid use of "register" as optimization hint.
29144         2012-09-25 Use size_t instead of int for internal variables in glob
29145           (bug 14621)
29146         2011-07-20 Check for overflows in expressions
29147         2011-05-28 Remove unused variable
29148         2011-05-22 Add a few more alloca size checks
29149         2010-03-27 Whitespace fixes
29150         2010-03-27 Fix one more issue with the glob patch
29151         2010-03-24 Fix glob with empty pattern
29152         2008-05-27 Remove useless more "if" tests before "free"
29153         * modules/glob (Depends-on): Add stdint.
29155 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
29157         mktime: port to stricter signed overflow checking
29158         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
29159         (long_int): Require width for INT_MAX * 3 * (seconds per year),
29160         instead of merely for INT_MAX * 2.  In practice platforms that
29161         do the latter also do the former.
29162         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
29163         (shr): New static function, replacing SHR.  All uses changed.
29164         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
29165         and TIME_T_MAX.  All uses changed.
29166         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
29167         Use long_int, not time_t.
29168         (long_int_avg): New static function, replacing time_t_avg.
29169         All uses changed.  Round toward positive infinity, as that
29170         generates slightly better code.
29171         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
29172         by INT_ADD_WRAPV.
29173         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
29174         (convert_time): New static function.
29175         (ranged_convert): Use it
29176         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
29177         Use simpler test for loop exit.
29178         (__mktime_internal): Store negative of guessed offset, to simplify
29179         overflow checking.  Remove no-longer-needed test for small time_t
29180         overflows.
29182         mktime: speed up DEBUG_MKTIME benchmarks
29183         Call tzset just once, at the start, rather than for every test
29184         case.  This lets us measure the CPU cost of mktime as opposed to
29185         that of tzset.  This is relevant when TZ is not set and glibc is
29186         being used.  This speeds up tests by a factor of 40 on my Fedora
29187         23 x86-64 platform.
29188         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
29189         to call tzset and as a sanity check.  Later on, use localtime_r
29190         instead of localtime.
29192         mktime: resurrect DEBUG_MKTIME testing
29193         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
29194         Include <string.h>, for strcmp.
29196         mktime: simplify DEBUG_MKTIME
29197         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
29198         Simplify later usage accordingly.
29200         Port mktime_internal offset to unsigned time_t
29201         This avoids some assumptions about wraparound arithmetic on
29202         signed integer overflow.
29203         * lib/mktime-internal.h (mktime_offset_t): New type.
29204         (mktime_internal): Use it in decl.
29205         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
29207         * lib/mktime.c (__mktime_internal, localtime_offset):
29208         * lib/timegm.c (timegm): Use it.
29209         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
29210         (gl_FUNC_MKTIME): Require it.
29212 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
29214         xstrtol: prohibit monstrosities like "1bB"
29215         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
29216         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
29217         "B" only if the first suffix needs a base.
29218         * tests/test-xstrtol.sh: Test this.
29220 2016-04-21  Pádraig Brady  <P@draigBrady.com>
29222         xstrtod: reinstate setting of *result upon ERANGE
29223         * lib/xstrtod.c (XSTRTOD): The user may decide to use
29224         the returned limits upon ERANGE, so allow and document that.
29226 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
29228         xstrtod: modify *result only if no errors
29229         * lib/xstrtod.c (XSTRTOD).
29231 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
29233         btowc: document problems in C locale
29234         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
29235         with mbrtowc.  See: http://bugs.gnu.org/23269#32
29237 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
29239         mktime: improve integer overflow checking
29240         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
29241         (WRAPV): Remove; no longer needed.
29242         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
29243         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
29244         Remove.  Use intprops.h defns instead.
29245         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
29246         Use bool for Boolean, for clarity.
29247         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
29248         detect integer overflow.
29249         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
29251         intprops: check two's complement assumption
29252         Suggested by Eric Blake in:
29253         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
29254         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
29255         short, int, long, and (if available) long long are two's complement.
29256         * modules/intprops (Depends-on): Add 'verify'.
29258         intprops, mktime, strtol: assume two's complement
29259         These macros were not portable to every conforming C11 ones'
29260         complement platform.  It's not worth the hassle of porting to some
29261         platforms that use ones' complement or signed magnitude, as such
29262         platforms are almost purely theoretical nowadays and porting even
29263         to some of them makes the code harder to review for little
29264         practical benefit.  Problem reported by Florian Weimer in:
29265         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
29266         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
29267         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
29268         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
29269         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
29270         (TYPE_SIGNED_MAGNITUDE):
29271         Remove.  All uses rewritten to assume two's complement, which is
29272         all we can reasonably test nowadays anyway.
29273         * top/maint.mk (_intprops_names): Remove the removed macros.
29275 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
29277         stdint: port to strict C11 left shift
29278         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
29279         Pacify clang -Wshift-negative-value, which should be an issue only
29280         on clang setups where stdint.h does not conform to C11 or to C++11.
29281         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
29283 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
29285         mbrtowc: work around glibc bug#19932
29286         Fix mbrtowc so that it never returns -1 in the C locale,
29287         as this conflicts with a future version of POSIX
29288         http://austingroupbugs.net/view.php?id=663#c2738
29289         and causes problems with GNU grep: http://bugs.gnu.org/23234
29290         See glibc bug 19932:
29291         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
29292         * doc/posix-functions/mbrlen.texi (mbrlen):
29293         * doc/posix-functions/mbrtowc.texi (mbrtowc):
29294         Document the glibc bug.
29295         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
29296         Include hard-locale.h, locale.h.
29297         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
29298         if the bug is possible.
29299         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
29300         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
29301         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
29302         * modules/mbrtowc (Depends-on): Add hard-locale.
29303         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
29304         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
29305         * tests/test-mbrtowc5.sh: New file.
29307 2016-04-03  Pedro Alves  <palves@redhat.com>
29309         stdint: detect good enough pre-C++11 stdint.h in C++ mode
29310         When gnulib is configured in C++ mode for a system with a working C99
29311         implementation of stdint.h that predates C++11, gnulib ends up
29312         substituting stdint.h anyway.  This works on most targets, but on e.g.,
29313         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
29314         MinGW is LLP64.  Instead of trying to detect the right types, detect
29315         good-enough-pre-C++11 stdint.h and in such case define
29316         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
29317         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
29318         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
29319         conforms to C99.  If it does, check whether it hides symbols
29320         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
29321         does, define those macros in config.h.
29323 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
29325         argp: merge changes from glibc
29326         Among other things, this should fix problems found by a Coverity
29327         scan and reported by Andrei Borzenkov:
29328         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
29329         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
29330         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
29331         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
29332         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
29333         * lib/argp.h:
29334         Merge changes from glibc.
29335         * tests/test-argp-2.sh: Adjust to match new behavior.
29337 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
29339         stddef: support configuring with g++
29340         Problem reported by Ángel González in:
29341         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
29342         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
29343         Do not define if _GCC_MAX_ALIGN_T is defined.
29345 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
29347         test-framework-sh: minor cleanups
29348         * tests/init.sh (testdir_prefix_): Output a trailing newline,
29349         since strictly speaking POSIX requires this.
29350         (setup_): Do not use the variable 'fail', as that makes the
29351         trace output harder to read ('fail' is typically used by
29352         tests to mean the test failed).  Treat // portably.
29353         Check that new directory is not merely a sibling of the tmp dir.
29354         Avoid unnecessary invocation of tr.
29356         test-framework-sh: revert port to NetBSD 7.0
29357         It was a false alarm; I misinterpreted Assaf Gordon's report.
29358         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
29359         Restore.
29360         (test_dir_): Adjust to mktempd_ change.
29361         (mktempd_): Restore 2nd arg.  Use -t again.
29362         (base_template_, template_, nx_): Resurrect old code.
29364         Port better to Alpine Linux
29365         Its diff implementation does not support -c, but does support -U3.
29366         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
29367         * tests/init.sh (diff_opt_): New var.
29368         (compare_): Prefer diff -U3 to diff -c to plain diff.
29370 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
29372         test-framework-sh: port to NetBSD 7.0
29373         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
29374         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
29375         Remove.  All uses removed.
29376         (test_dir_): Adjust to mktempd_ change.
29377         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
29378         (base_template_, template_, nx_): Simplify by hardcoding.
29380 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
29382         gitlog-to-changelog: suppress ignored chatter
29383         * build-aux/gitlog-to-changelog: Do not warn about skipping
29384         an SHA if it would have been ignored anyway.
29386 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
29388         setlocale: add "sv" to Windows language table
29389         * lib/setlocale.c (language_table) [W32]: Add "sv".
29390         Reported in <https://savannah.gnu.org/bugs/?44588>.
29392 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
29394         sys_select: port to new Cygwin
29395         Problem reported by Ken Brown in:
29396         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
29397         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
29398         diagnostics.
29400 2016-03-17  Jim Meyering  <meyering@fb.com>
29402         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
29403         * tests/test-userspec.c (main): Remove unnecessary braces and fix
29404         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
29405           test-userspec.c:176:9: error: statement is indented as if it were \
29406             guarded by... [-Werror=misleading-indentation]
29407                    {
29408                    ^
29409           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
29410                  if (!diag && !T[i].result)
29411                  ^~
29413 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
29415         time_rz: port to clang -Wunused-const-variable
29416         * lib/time_rz.c (TZ): Remove.  All uses removed.
29418         std-gnu11: improve clang support
29419         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
29420         2016-03-15 Also try clang
29421         2016-03-15 Port C11 and C++11 testing to clang
29423         select: port more to Intel 2016.1.150 compiler
29424         Problem reported by Balázs Hajgató in:
29425         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
29426         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
29428 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
29430         select: try to port to 2016.1.150 compiler
29431         Problem reported by Balázs Hajgató in:
29432         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
29433         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
29434         POSIX specifies 'restrict'.
29436 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
29438         localename-tests: memory allocation fixes
29439         * tests/test-localename.c (test_locale_name)
29440         (test_locale_name_thread): Don't call freelocale on a locale
29441         that was the base of a successful newlocale, as that
29442         results in a double free.  Problem reported by Assaf Gordon.
29443         (test_locale_name_thread): Free saved names after use, to pacify
29444         gcc -fsanitize=address.
29446 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
29448         intprops: make .h file license match module
29449         * lib/intprops.h: Change the license wording to match glibc format.
29450         This is what is in modules/intprops anyway.  See:
29451         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
29453 2016-03-08  Eric Blake  <eblake@redhat.com>
29455         acl: fix missing return on Cygwin
29456         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
29457         fall off end of function. Fixes http://bugs.gnu.org/22949
29459 2016-03-05  Bruno Haible  <bruno@clisp.org>
29461         extern-inline: port to PGI CC
29462         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
29463         keyword 'inline'.
29464         Reported by Adam James Stewart in:
29465         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
29467 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
29469         signbit: port back to pre-C++11 GCC
29470         * lib/math.in.h (signbit): Do previous change only if
29471         __cplusplus < 201103.  See Jonathan Wakely in:
29472         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
29474 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
29476         mountlist: recognize autofs-mounted remote file systems, too
29477         Originally reported at: https://bugzilla.redhat.com/1309247
29478         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
29479         "-hosts" because it is used by autofs to mount remote file systems.
29481 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
29483         signbit: port to C++ with GCC 6
29484         * lib/math.in.h (signbit) [__cplusplus]:
29485         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
29486         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
29488         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
29490         regex: make it closer to libc
29491         Make Idx a signed type, rather than possibly unsigned.
29492         The unsignedness was not really buying us anything, since the code
29493         overflows for other reasons before getting to PTRDIFF_MAX.  Making
29494         it signed allows us to use -1 and -2 with abandon, like libc does,
29495         thus lessening the number of differences between gnulib and libc.
29496         Also, it should help avoid gratuitous warnings like the one
29497         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
29498         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
29501         regex: merge patches from libc
29503         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
29504         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
29505         Convert miscellaneous function definitions to prototype style.
29506         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
29507         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
29508         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
29509         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
29510         (re_search_internal):
29511         Convert to prototype-style function definition.
29512         Use internal_function for internal functions.
29514 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
29516         stdalign: port to older HP and IBM cc
29517         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
29518         C compilers, by checking their version numbers.  These version
29519         numbers appear in MariaDB and in Qt code that dates way back and
29520         that conditiionally uses the 'aligned' attribute.
29522 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
29524         stdalign: port to clang 3.7.0
29525         Problem reported by Herbert J. Skuhra in:
29526         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
29527         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
29528         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
29529         https://llvm.org/bugs/show_bug.cgi?id=26547
29531 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
29533         readdir_r: now obsolescent
29534         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
29535         * lib/mountlist.c (read_file_system_list): Add a FIXME.
29537 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
29539         misc: port better to gcc -fsanitize=address
29540         Without these patches, ./configure CFLAGS='-fsanitize=address'
29541         would compute incorrect values.  This patch fixes some (but not all)
29542         test failures with recent glibc, with this configuration.
29543         * m4/acl.m4 (gl_ACL_GET_FILE):
29544         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
29545         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
29546         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
29547         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
29548         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
29549         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
29550         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
29551         * m4/getline.m4 (gl_FUNC_GETLINE):
29552         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
29553         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
29554         * m4/regex.m4 (gl_REGEX):
29555         * m4/strndup.m4 (gl_FUNC_STRNDUP):
29556         * tests/test-calloc-gnu.c (main):
29557         * tests/test-duplocale.c (main):
29558         * tests/test-getgroups.c (main):
29559         * tests/test-getline.c (main):
29560         * tests/test-inttostr.c (main):
29561         * tests/test-localename.c (test_locale_name)
29562         (test_locale_name_thread, test_locale_name_environ)
29563         (test_locale_name_default):
29564         * tests/test-regex.c (main):
29565         * tests/test-setlocale1.c (main):
29566         * tests/test-stat.h (test_stat_func):
29567         Free heap-allocated storage before exiting.
29568         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
29569         Don't match *_foo symbols inserted by AddressSanitizer.
29570         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
29572 2016-02-02  Jim Meyering  <meyering@fb.com>
29574         verify-tests: also remove stray test-verify.Tpo
29575         * modules/verify-tests (Makefile.am): Arrange for "make clean"
29576         to remove the test-verify.Tpo file that is left behind by
29577         the automake-generated rule upon compilation failure.
29578         Otherwise, that .Tpo file would cause a failed "make distcheck"
29579         at least for grep.
29581 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
29583         std-gnu11: new module
29584         This makes it easier for applications to prefer C11 and C++11
29585         to older variants, when compiling C and C++ code.
29586         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
29587         a nontrivial chunk of GPLed Autoconf source code.
29588         * COPYING: Mention the m4/*.m4 copyright situation.
29589         * MODULES.html.sh (std-gnu11): New module.
29590         * m4/std-gnu11.m4, modules/std-gnu11: New files.
29592 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
29594         get-permissions, strftime: fix grammar in comments
29595         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
29596         some grammar fixes Alan Mackenzie made to GNU Emacs.
29598 2016-01-25  Daiki Ueno  <ueno@gnu.org>
29600         gettext: mark as obsolete
29601         Suggested by Paul Eggert in:
29602         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
29603         * modules/gettext (Status): Mark as obsolete.
29604         (Notice): Suggest to use 'gettext-h' instead.
29605         * modules/gettext-h (Description): Suggest GNU gettext, instead of
29606         the 'gettext' module.
29608 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
29610         gnulib-tool: don't give up on ln -s so easily
29611         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
29612         because an earlier one failed.  The targets could be on different
29613         file systems.  Problem reported by KO Myung-Hun in:
29614         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
29616         closedir: fix OS/2-related typos
29617         Problem reported by KO Myung-Hun in:
29618         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
29619         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
29620         in the last couple of changes.
29622 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
29624         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
29625         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
29626         copying a directory.
29628 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
29630         regex: treat [x] as x if x is a unibyte encoding error
29631         Problem reported by Aharon Robbins in:
29632         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
29633         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
29634         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
29636         closedir, dirfd, opendir: port to OpenSolaris 5.10
29637         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
29638         * m4/dirfd.m4 (gl_FUNC_DIRFD):
29639         * m4/opendir.m4 (gl_FUNC_OPENDIR):
29640         Don't use ${word##pat} substitution, as it doesn't work in
29641         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
29642         http://bugs.gnu.org/22443#11
29644 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
29646         bootstrap: use American spelling
29647         * build-aux/bootstrap: Honor American spelling.
29649 2016-01-22  Karl Berry  <karl@freefriends.org>
29651         * doc/posix-functions/localtime.texi,
29652         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
29654 2016-01-21  Bruno Haible  <bruno@clisp.org>
29656         hash-pjw-bare: fix comment
29657         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
29659         wcwidth: Replace also on OpenBSD 5.8
29660         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
29661         * doc/posix-functions/wcwidth.texi: Update.
29663 2016-01-20  Pádraig Brady  <P@draigBrady.com>
29665         gnu-web-doc-update: fix addition of new files
29666         If there were already added (emnpty) dirs,
29667         then cvs aborts the add with the message:
29668           cvs [add aborted]: there is a version in <./dirname> already
29669         * build-aux/gnu-web-doc-update: Add directories separately
29670         to the addition of files, to avoid the above issue
29671         impacting the addition of files.
29673 2016-01-19  Daiki Ueno  <ueno@gnu.org>
29675         utimens-tests: avoid pulling gettext .m4 files
29676         Although this is not the right fix to the original problem:
29677         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
29678         it makes it possible again for consumer projects to use arbitrary
29679         version of gettext, through the steps described at:
29680         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
29681         See here for details:
29682         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
29683         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
29684         'gettext'.
29685         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
29686         'gettext'.
29688 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
29690         regex: pacify static checkers
29691         Problem and draft fix reported by Aharon Robbins in:
29692         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29693         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
29694         Clear memory to pacify static checkers.
29696         regex: fix [ diagnostic
29697         Problem and fix reported by Aharon Robbins in:
29698         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29699         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
29701         regex: fix memory leaks
29702         Problem and draft fix reported by Aharon Robbins in:
29703         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29704         * lib/regcomp.c (build_range_exp, build_charclass_op)
29705         * lib/regex_internal.c (re_dfa_add_node):
29706         Fix memory leak on failure.
29708 2016-01-18  Pádraig Brady  <P@draigBrady.com>
29710         fts: don't unconditionally use leaf optimization for NFS
29711         NFS st_nlink are not accurate on all implementations,
29712         leading to aborts() if that assumption is made.
29713         See <https://bugzilla.redhat.com/1299169>
29714         * lib/fts.c (leaf_optimization_applies): Remove NFS from
29715         the white list, and document the issue.
29717 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29718             KO Myung-Hun  <komh@chollian.net>
29720         gnulib-tool: don't assume ln -s works
29721         * gnulib-tool (func_ln_s): New function.
29722         (func_ln): Use it.
29724 2016-01-15  KO Myung-Hun  <komh@chollian.net>
29726         utimes: detect utimes() correctly on OS/2 kLIBC
29727         utimes() of OS/2 kLIBC has some limitations.
29728         1. OS/2 itself supports a file date since 1980 year in local time.
29729         2. OS/2 itself supports only even seconds for a file time.
29730         3. utimes() of OS/2 kLIBC does not work on an opened file.
29731         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
29732         * doc/posix-functions/utimes.texi: Document the above limitations of
29733         utimes() on OS/2 kLIBC.
29735 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29736             KO Myung-Hun  <komh@chollian.net>
29738         openat_proc_name: port to OS/2 kLIBC
29739         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
29740         instead of /proc/self/fd.
29741         * lib/openat-proc.c (openat_proc_name):
29742         Don't assume file name length is less than INT_MAX.
29743         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
29745 2016-01-14  KO Myung-Hun  <komh@chollian.net>
29747         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
29748         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
29749         definitions of intptr_t and uintptr_t (which use int and unsigned)
29750         to avoid clashes with declarations of system functions like sbrk.
29751         * lib/stdint.in.h (intptr_t, uintptr_t): Check
29752         _INTPTR_T_DECLARED before defining them.
29754         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
29755         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
29756         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
29757         Declare on kLIBC.
29758         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
29759         fd associated with dirp.
29760         (_gl_register_dirp_fd): New. Register fd associated with dirp to
29761         dirp_fd_list.
29762         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
29763         (dirfd): Implemented for kLIBC.
29764         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
29765         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
29766         succeeds.
29767         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
29768         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
29769         (REPLACE_DIRFD): Define to 1 if replaced.
29770         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
29771         * modules/closedir (Depends-on): Add dirfd.
29772         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
29773         condition.
29774         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
29775         * modules/opendir (Depends-on): Add dirfd.
29777         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
29778         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
29779         * lib/dup.c (dup_nothrow): New.
29780         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
29781         (klibc_dup2): New.
29782         * lib/fcntl.c (klibc_fcntl): New.
29783         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
29784         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
29785         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
29786         fd.
29788         pipe_filter_ii_execute: port to OS/2 kLIBC
29789         Pipes on kLIBC do not support O_NONBLOCK like Win32.
29790         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
29791         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
29792         Reuse Win32 code on OS/2 kLIBC.
29793         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
29794         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
29796         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
29797         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
29798         static inline function.  The implementation of wcwidth in wcwidth.c
29799         causes a "conflicting types" error.
29800         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
29802         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
29803         spawn() on OS/2 kLIBC is not silly like one on Windows
29804         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
29805         empty string on OS/2 kLIBC.
29807         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
29808         On OS/2 kLIBC, select() works only on sockets.
29809         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
29811         binary-io: don't put fd in binary mode if it is a console on EMX
29812         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
29813         a console on EMX.
29815 2016-01-15  Pádraig Brady  <P@draigBrady.com>
29817         doc: mention unfixed issues with unsupported localtime() values
29818         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
29819         returns nonsense for localtime(2^56).
29820         * doc/posix-functions/localtime_r.texi: Likewise.
29822 2016-01-14  Pádraig Brady  <P@draigBrady.com>
29824         doc: mention setlocale() issues on OpenBSD
29825         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
29826         never fails, and the need to check categories individually.
29828 2016-01-14  Pádraig Brady  <P@draigBrady.com>
29830         sig2str: list all signals on FreeBSD >= 7
29831         FreeBSD >= 7 is contravening POSIX by not defining NSIG
29832         to the maximal statically defined signal value.
29833         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
29834         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
29835         where available, even when NSIG is defined.
29837 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
29839         acl-permissions: port to USE_ACL==0 platforms
29840         I ran into this problem when building bleeding-edge GNU Emacs
29841         with gcc -fsanitize=address on Fedora 23.  On this platform
29842         the ACL library does not pass the 'configure' test and Emacs
29843         then does not build due in part to what appear to be typos in the
29844         ACL part of Gnulib.
29845         * lib/acl-internal.c (free_permission_context):
29846         * lib/acl-internal.h (struct permission_context):
29847         Test whether USE_ACL is nonzero, not whether it is defined.
29849 2016-01-12  Martin Sebor  <msebor@redhat.com>
29851         mktime: rename macro to avoid glibc clash
29852         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
29853         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
29855 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
29857         Port "$@" to OpenIndiana ksh93
29858         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
29859         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
29860         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
29861         bug long-dead shells, so remove the workaround.
29862         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
29863         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
29864         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
29865         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
29866         Use "$@" instead of ${1+"$@"}.
29868         Port Universal Time settings to strict POSIX
29869         * build-aux/announce-gen, build-aux/bootstrap:
29870         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
29871         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
29872         * build-aux/gnupload, build-aux/mkinstalldirs:
29873         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
29874         * build-aux/update-copyright, build-aux/useless-if-before-free:
29875         * build-aux/vc-list-files, tests/test-strftime.c:
29876         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
29877         but POSIX says the behavior of TZ="UTC" is undefined.
29879 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
29881         msvc-inval: fix problem with unset shell var
29882         Problem reported by Karl Berry in:
29883         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
29884         * modules/msvc-inval (Depends-on):
29885         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
29886         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
29888 2016-01-01  Pádraig Brady  <P@draigBrady.com>
29890         tests: for compare_(), use cmp -s where available
29891         * tests/init.sh (compare_): Only fall back to cmp without
29892         the POSIX defined -s option, where this is not available.
29894 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
29896         version-etc: new year
29897         * build-aux/gendocs.sh (version):
29898         * doc/gendocs_template:
29899         * doc/gendocs_template_min:
29900         * doc/gnulib.texi:
29901         * lib/version-etc.c (COPYRIGHT_YEAR):
29902         Update copyright dates by hand in templates and the like.
29903         * all files: Run 'make update-copyright'.
29905 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
29907         human: fix output buffer overrun by 1
29908         * lib/human.c (human_readable): Fix off-by-one typo in buffer
29909         calculation that could lead to a one-byte buffer overrun.
29911 2015-12-28  Daiki Ueno  <ueno@gnu.org>
29913         maint: fix operator precedence in mbrtowc test
29914         This is a fix for test breakage introduced by commit 45228d96; the
29915         equality expression must be parenthesized when negated with '!',
29916         otherwise we always get:
29918           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
29920         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
29921         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
29923 2015-12-23  James Youngman  <jay@gnu.org>
29925         regexprops-generic: update from regex.h
29926         * doc/regexprops-generic.texi: update by running the regexprops binary
29927         from findutils (the command line is 'regexprops "Regular Expressions"
29928         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
29929         gnulib with GNU grep had made this document out-of-date.
29931 2015-12-23  Pádraig Brady  <P@draigBrady.com>
29933         strftime-tests: avoid false failure on OS X
29934         * tests/test-strftime.c (struct localtime_rz_test): Add an
29935         ahistorical member which is used to warn rather than fail
29936         when tm_isdst isn't set for such entries.  This is the case for
29937         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
29939 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
29941         fts: ensure leaf optimization is used for NFS
29942         NFS provides usable dirent.d_type but not necessarily for all entries
29943         of large directories.  See <https://bugzilla.redhat.com/1252549>
29944         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
29946 2015-12-20  Pádraig Brady  <P@draigBrady.com>
29948         fts: enable leaf optimization for XFS
29949         XFS provides usable dirent.d_type only for DT_DIR,
29950         but the noleaf optimization still applies.
29951         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
29953 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
29955         intprops: comment fix
29956         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
29957         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
29959         intprops-test: work around GCC bug 68971
29960         Problem reported by Pádraig Brady in:
29961         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
29962         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
29963         (main): Add a case that better tests 64-bit long in this area.
29965 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
29967         gnulib-tool: allow multiple --local-dir usage
29968         * gnulib-tool: Use --local-dir to construct compound
29969         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
29970         PATH_SEPARATOR early.
29971         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
29972         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
29973         func_determine_path_separator because that needs to be detected
29974         earlier now.
29975         (func_determine_path_separator): New function.
29976         (func_path_foreach, func_path_foreach_inner): New functions.
29977         (func_path_prepend, func_path_append): Likewise.
29978         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
29979         (func_lookup_file, func_all_modules): Use new functions to work
29980         with local_gnulib_path.
29981         (func_modules_in_dir, func_exists_module): New callbacks for
29982         func_path_foreach.
29983         (func_exists_module, func_get_tests_module): Likewise.
29984         (func_is_local_file, func_should_symlink): New helper methods.
29985         (func_add_file, func_update_file): Use new func_should_symlink
29986         instead, DRY.
29987         (func_reconstruct_cached_local_gnulib_path): New helper.
29988         (func_reconstruct_cached_dir): New callback.
29989         (func_import): The cached_local_gnulib_dir renamed to
29990         cached_local_gnulib_path similarly to local_gnulib_dir.
29991         Use new func_reconstruct_cached_local_gnulib_path.
29992         (func_count_relative_local_gnulib_path): New sub-method.
29993         (func_create_testdir): Use func_should_symlink, DRY.
29994         (func_create_megatestdir): Use new functions to work with
29995         local_gnulib_path correctly.
29996         (func_append_local_dir): New helper.
29998 2015-12-08  Pádraig Brady  <P@draigBrady.com>
30000         fix freadptr to work with ungetc on all uClibc configs
30001         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
30002         where GNU coreutils cut(1) generates invalid output on uClibc
30003         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
30004         * lib/freadptr.c (freadptr): Return NULL if there are
30005         ungotten chars.  In this case freadseek() will iterate
30006         again to process the ungotten character.
30008 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
30010         xalloc-oversized: improve performance with GCC 5
30011         * lib/xalloc-oversized.h (xalloc_oversized):
30012         Improve performance with GCC 5 by using __builtin_mul_overflow.
30014 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
30016         intprops: new public macro EXPR_SIGNED
30017         Emacs can use this macro, so make it public.
30018         * doc/intprops.texi (Arithmetic Type Properties): Rename from
30019         'Integer Type Determination', since some of these macros apply
30020         to non-integer types.  Clarify what kinds of constant expressions
30021         these macros return.  Say when the arguments can be non-integers.
30022         Mention newly published macro EXPR_SIGNED.
30023         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
30024         make it public.  All uses changed.
30026         intprops: fix typo in clang port
30027         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
30028         '__builtin_add_overflow' that is not caught by compiler.
30030 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
30032         test-timespec: fix typo in previous change
30033         * tests/test-timespec.c (main): Fix typo that reduced test quality.
30035         timespec-sub: fix overflow bug; add tests
30036         * lib/timespec-add.c (timespec_add):
30037         * lib/timespec-sub.c (timespec_sub):
30038         Work even if time_t is narrower than int (a theoretical
30039         possibility).  Redo code for a bit more clarity.
30040         * lib/timespec-sub.c (timespec_sub):
30041         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
30042         * modules/timespec-tests, tests/test-timespec.c: New files.
30044         intprops-test: suppress -Woverlength-strings
30045         Problem reported by Pádraig Brady in:
30046         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
30047         It is not worth the hassle to port this test to compilers that
30048         cannot handle long strings in diagnostics.
30049         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
30051 2015-11-03  Pádraig Brady  <P@draigBrady.com>
30053         quotearg: add quotearg_n_style_colon()
30054         This quotes with default options of the specified style,
30055         but with quoting enabled for instances of ':'.
30056         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
30057         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
30059 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
30061         intprops: revise _WRAPV macros, revert _OVERFLOW
30062         The incompatible changes to the _OVERFLOW macros were too much of
30063         a hassle in practice, so revert them.  Instead, change the new
30064         _WRAPV macros to make them closer in behavior to GCC 5's new
30065         builtin_add_overflow etc. functions.  No other software was using
30066         these newly-added macros yet, so this should be OK.
30067         * NEWS: Revert previous change, since the incompatible change
30068         has been reverted, and nobody used the incompatible version.
30069         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
30070         Document revised behavior.
30071         (Integer Range Overflow): Adjust example to match above revisions.
30072         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
30073         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
30074         these can be used in integer constant expressions again.
30075         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
30076         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
30077         needed.
30078         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
30079         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
30080         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
30081         Remove, as they did not seem that useful.
30082         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
30083         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
30084         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
30085         Support new semantics.
30086         (__has_builtin): New macro, if not alreay defined.
30087         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
30088         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
30089         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
30090         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
30091         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
30092         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
30093         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
30094         New macros.
30095         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
30097 2015-11-03  Jim Meyering  <meyering@fb.com>
30099         intprops: add parentheses for when OP has precedence lower than "-"
30100         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
30101         "a OP b" must be parenthesized for when OP is like "<<", which has
30102         lower precedence than the following "-". Reported by Pádraig Brady.
30104 2015-11-03  Pádraig Brady  <P@draigBrady.com>
30106         quotearg: constify get_quoting_style parameters
30107         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
30108         * lib/quotearg.c (get_quoting_style): Likewise.
30110 2015-11-02  Pádraig Brady  <P@draigBrady.com>
30112         quotearg: add support for $'' shell escaping
30113         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
30114         items and descriptions.
30115         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
30116         above types by quoting like "shell", but using $'...' syntax
30117         for non printable characters, which should provide unambiguous
30118         printable output for any input.
30119         * tests/test-quotearg-simple.c: Update accordingly.
30121 2015-11-02  Pádraig Brady  <P@draigBrady.com>
30123         maint: use a more standard return from mbrtowc test
30124         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
30125         from the test program as this is non standard and often
30126         indicates an unhandled case in the test program.
30127         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
30129 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
30131         intprops: add WRAPV and const flavors for GCC 5
30132         If available, use GCC 5's builtin functions for efficient integer
30133         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
30134         and safely compute the low-order bits of the correct answer.
30135         A downside of these efficient functions is that they cannot be
30136         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
30137         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
30138         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
30139         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
30140         Document the changes.
30141         (Wraparound Arithmetic): New section.
30142         (Integer Range Overflow):
30143         Put this subsection last, since it's least useful.
30144         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
30145         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
30146         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
30147         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
30148         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
30149         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
30150         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
30151         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
30152         New macros.
30153         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
30154         Generate calls to GCC builtins if available, for speed.
30155         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
30156         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
30157         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
30158         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
30159         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
30160         (CHECK_QUOTIENT, CHECK_REMAINDER):
30161         Test WRAPV and CONST flavors (when available) too.
30163 2015-10-30  Pádraig Brady  <P@draigBrady.com>
30165         doc: use extended timezone format in iso-8601 example
30166         * doc/parse-datetime.texi: The standard states that extended format
30167         is to be used consistently throughout.
30168         Note that lib/parse-datetime.y can handle either tz format.
30170 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
30172         stdalign: port to Sun C 5.9
30173         * doc/posix-headers/stdalign.texi: Document this.
30174         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
30175         __attribute__ ((__aligned__ (...))).
30177 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
30179         time_rz: fix comment about tzalloc
30180         * lib/time_rz.c (tzalloc): Fix comment.
30182 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
30184         stdalign: work around pre-4.9 GCC x86 bug
30185         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
30186         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
30187         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
30189 2015-10-18  Pádraig Brady  <P@draigBrady.com>
30191         maint.mk: sc_tight_scope: remove extraneous expressions
30192         * top/maint.mk (tight_scope): This is not really required since
30193         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
30194         that matches all nm entries.  But it does remove extraneous entries
30195         that may be confusing or cause issue in future maintenance.
30197 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
30199         time_rz: return NULL if localtime_r fails
30200         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
30201         while still attempting to pacify bleeding-edge GCC.
30203         fts: port to C11 alignof
30204         * doc/posix-headers/stdalign.texi (stdalign.h):
30205         Document the C11 restriction.
30206         * lib/fts.c: Include stddef.h, for max_align_t.
30207         (fts_alloc): Align using max_align_t, not FTSENT.
30208         * modules/fts (Depends-on): Add stddef.
30210 2015-10-18  Jim Meyering  <meyering@fb.com>
30212         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
30213         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
30214         would see this:
30216         lib/time_rz.c: In function 'localtime_rz':
30217         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
30218           [-Werror=nonnull]
30219                    if (tm && !save_abbr (tz, tm))
30220                        ^
30222         That was complaining about "tm" because it is a parameter that was
30223         declared with the __nonnull__ attribute.
30224         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
30225         result of localtime_r.
30227 2015-10-17  Jim Meyering  <meyering@fb.com>
30229         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
30230         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
30231         name-extraction regexp mistakenly used \S+, and would mistakenly
30232         extract "*F" from "extern int *F()" rather than the desired "F".
30233         Use \w+ instead.
30235 2015-10-17  Jim Meyering  <meyering@fb.com>
30237         maint.mk: sc_tight_scope: factor and support OS X
30238         * top/maint.mk (_gl_tight_scope): Address three issues:
30239         - factor out four instances of code that wraps a string in "^...$"
30240         - allow nm-reported symbol names to have an optional leading "_"
30241         - add "main" to the list of ignored variable names, because on os x,
30242         "main" has nm-reported type "S" in the variable-checking section.
30244 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
30246         safe-alloc-tests: fix typo in license header
30247         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
30249 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
30251         copy-file: fix mem leak in error case
30252         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
30253         upon error opening or performing I/O to the src and dest files.
30255 2015-10-15  Mike Frysinger  <vapier@chromium.org>
30257         localename: control langinfo.h inclusion
30258         This header is only used to work around buggy behavior in old
30259         versions of glibc, so do not include it all the time.  Otherwise
30260         we get build failures on systems that do not provide langinfo.h.
30261         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
30262         in the source later on.
30263         The patch was originally submitted to gettext as:
30264         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
30266 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
30268         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
30269         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
30270         * lib/u64.c, lib/unistd.c:
30271         Append 'typedef int dummy;', to pacify compilers that are picky
30272         about empty translation units.
30274 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
30276         accept4-tests: fix to avoid non portable flags
30277         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
30278         as they are the only documented ones, and passing others may trigger
30279         EINVAL (seen on FreeBSD 10.1-RELEASE).
30280         * doc/glibc-functions/accept4.texi: Mention that we don't provide
30281         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
30283 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
30285         gnulib-tool: fix tests of 'extensions' module
30286         This complements f8fe25fab60e3c687a124 commit.
30287         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
30288         emitting of initial gl_EARLY macros.
30289         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
30290         replaced with func_emit_pre_early_macros call.
30292 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
30294         unicase/locale-language: fix typo in utf-8 cookie
30295         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
30296         Problem reported by Zbigniew Jędrzejewski-Szmek.
30298 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
30300         xalloc: do not worry about GCC 5 warning on 32 bit
30301         * lib/xalloc.h: Revert previous change.
30302         I found a better way to fix this in coreutils.
30304 2015-10-02  Pádraig Brady  <P@draigBrady.com>
30306         xalloc: avoid GCC 5.1 warning on 32 bit
30307         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
30308         xalloc_oversized(), which was seen to give this warning
30309         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
30310         when simplifying conditional".
30312 2015-10-02  Daiki Ueno  <ueno@gnu.org>
30314         uniname/uniname-tests: avoid compiler warnings
30315         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
30316         unused local variables.
30317         (test_alias_lookup): Fix alias name display in failure cases.
30319 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
30321         c-ctype: do not worry about EBCDIC + char signed
30322         Drop support for EBCDIC with char being signed, as this breaks too
30323         many programs.  Problem reported by Ben Pfaff in:
30324         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
30325         * lib/c-ctype.h: Verify that we are not using EBCDIC with
30326         char being signed.
30327         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
30328         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
30329         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
30330         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
30331         * tests/test-c-ctype.c (test_all):
30332         Simplify by assuming standard char values cannot be negative.
30333         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
30335 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
30337         c-ctype: port better to z/OS EBCDIC
30338         Problems reported by Daniel Richard G. in:
30339         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
30340         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
30341         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
30342         (_C_CTYPE_OTHER_CNTRL): New macro.
30343         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
30344         from SCHAR_MIN, as the functions are defined only from values
30345         promoted from char or from unsigned char, not necessarily from
30346         signed char.
30348 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
30350         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
30352         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
30353         and ARFLAGS variables.  Doing this unconditionally could break
30354         later Automake's AM_PROG_AR invocation (at least it's
30355         AC_CHECK_TOOLS call to detect correct 'ar' binary).
30357         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
30358         Amsterdam Compiler Kit, so make the previous code to have effects
30359         only on ACK, and rather automatically call the Automake's
30360         AM_PROG_AR as soon as possible to decide other cases.
30362         References:
30363         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
30365         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
30366         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
30367         is possible, keep setting AR/ARFLAGS to reasonable defaults.
30368         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
30369         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
30370         'extensions' module is used.
30371         * modules/extensions (configure.ac-early): Remove as this snippet
30372         is added to gnulib-comp.m4 earlier anyway.
30374 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
30376         sockets: MS Windows initalization fixes
30377         Problem reported by Test User in:
30378         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
30379         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
30380         Correct the endianness.
30381         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
30382         number mismatch, not just on <.  Cleanup before any such failure.
30384 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
30386         gc: fix detection of installed libgcrypt version
30387         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
30388         at least as recent as 1.4.4.  The previously used macro is not
30389         available now, since modules were removed in version 1.6.0.
30391 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
30393         c-ctype: rewrite to use inline functions
30394         This simplifies maintenance, since it makes for just one
30395         implementation of each function, letting the compiler have the fun
30396         of optimization.  In practice this works well nowadays with GCC.
30397         E.g., c_isascii might need only three instructions even though the
30398         source code lists every ASCII character individually in a large
30399         switch statement.
30400         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
30401         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
30402         * NEWS: Document the API change.
30403         * lib/c-ctype.c: Drastically simplify, since this now just expands
30404         inline functions.
30405         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30406         (C_CTYPE_INLINE): New macro.
30407         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
30408         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
30409         Verify that either ASCII or EBCDIC is being used.
30410         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
30411         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
30412         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
30413         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
30414         New private macros.
30415         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
30416         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
30417         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
30418         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
30419         (c_tolower, c_toupper): When converting, return the unsigned char,
30420         as that is what z/OS does.
30421         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
30422         of some c-ctype.h macros.
30423         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
30424         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
30425         c_tolower promotion to be compatible with z/OS.
30427 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
30429         gitlog-to-changelog: trim only trailing whitespaces
30430         This is fix for --format regression introduced by commit
30431         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
30432         doubled %n string) had no effect anymore.  This format
30433         specification has been used e.g. by GNU paxuitils (commit
30434         edfd8bcc3).
30436         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
30437         newlines in commmit messages.
30439 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
30441         Test that c_iscntrl agrees with iscntrl, etc.
30442         Suggested by Daniel Richard G. in:
30443         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
30444         * modules/c-ctype-tests (Depends-on): Add ctype.
30445         * tests/test-c-ctype.c: Include <ctype.h>.
30446         (NCHARS): New constant.
30447         (test_agree_with_C_locale): New function.
30448         (main): Use it.
30449         (test_all): Use named constants.
30451         c-ctype: improve c_isascii testing
30452         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
30453         Add a test to count the number of ASCII characters.
30455 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
30457         savewd: remove SAVEWD_CHDIR_READABLE
30458         It was problematic in the light of file systems that ignore umask.
30459         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
30460         * NEWS: Document this.
30461         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
30462         successful, -1 (setting errno) on failure, rather than something
30463         more complicated than that.
30464         * lib/mkdir-p.c (make_dir_parents):
30465         Do not use SAVEWD_CHDIR_READABLE.
30466         * lib/savewd.c (savewd_chdir):
30467         Remove support for SAVEWD_CHDIR_READABLE.
30468         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
30470         c-ctype: port better to EBCDIC
30471         Problems reported by Daniel Richard G. in
30472         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
30473         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
30474         Include "verify.h".
30475         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
30476         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
30477         Define as enum constants with value false, if not defined, so that
30478         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
30479         code more portable, as both branches of the 'if' are compiled on
30480         all platforms.
30481         (C_CTYPE_EBCDIC): New constant.
30482         Verify that the character set is either ASCII or EBCDIC.
30483         (to_char): New static function.
30484         (c_isascii, c_iscntrl):
30485         Assume standard control-character assignments for EBCDIC.
30486         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
30487         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
30488         Rewrite to use 'if' instead of 'ifdef'.
30489         Use to_char if non-ASCII.  Prefer <= to >=.
30490         Prefer true and false to 1 and 0, for booleans.
30491         (c_iscntrl): Use 'if', not 'ifdef'.
30492         * modules/c-ctype (Depends-on): Add verify.
30493         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
30494         (to_char): New function.
30495         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
30497 2015-09-21  Pádraig Brady  <P@draigBrady.com>
30499         nanosleep: fix return code for interrupted replacement
30500         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
30501         that we return -1 in the case the call is interrupted by a signal,
30502         rather than the current value of 1.
30503         Diagnosed and tested by Daniel Richard G.
30505 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
30507         Diagnose ERE '()|\1'
30508         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
30509         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
30510         track of the set of previously-completed subexpressions available
30511         before the first alternative, and restore this set just before
30512         parsing each subsequent alternative.  This lets us diagnose the
30513         invalid back-reference in the ERE '()|\1'.
30515         regex: merge patches from libc
30517         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
30518         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
30519         * lib/regex_internal.h:
30520         Include <libc-lock.h> instead of <bits/libc-lock.h>.
30522         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
30523         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
30524         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
30525         wcscoll.
30526         * lib/regexec.c (check_node_accept_bytes): Likewise.
30528         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
30529         Fix regex wcrtomb namespace (bug 18496).
30530         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
30531         instead of wcrtomb.
30533         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
30534         Fix regex wctype namespace (bug 18495).
30535         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
30536         instead of towlower.
30537         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
30538         instead of iswlower.  Call __towupper instead of towupper.
30539         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
30540         instead of iswalnum.
30542         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
30543         * lib/regcomp.c (parse_bracket_exp): Initialize type to
30544         COLL_SYM in a couple of places to avoid uninitialized variable
30545         wanings on tilegx gcc 4.8.2.
30547         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
30548         * lib/regex_internal.h: Remove NOT_IN_libc.
30550         2014-11-17  Andreas Schwab  <schwab@suse.de>
30551         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
30553         2014-09-11  Roland McGrath  <roland@hack.frob.com>
30554         Move findidx nested functions to top-level.
30555         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
30556         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
30557         Pass new arguments to findidx.
30558         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
30559         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
30560         Don't #include it inside the function.  Pass new arguments to findidx.
30561         * lib/regex_internal.h:
30562         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
30563         (re_string_elem_size_at): Don't #include it inside the function.
30564         Pass new arguments to findidx.
30566         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
30567         Check if DEBUG is defined in regex_internal.c
30568         * lib/regex_internal.c: Check if DEBUG is defined and is set.
30570 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
30572         ceill: detect buggy OpenBSD implementation
30573         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
30574         which returns zero for small values.  Discussed here:
30575         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
30577 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
30579         mountlist: add me_mntroot field on Linux machines
30580         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
30581         mount_entry so Linux machines based on /proc/self/mountinfo can
30582         distinguish between bind mounts and original mounts.  In reality bind
30583         mounts aren't treated differently than mountroot=/ mounts by the
30584         kernel, but the user often wants these bind mounts distinguished.
30585         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
30586         More details at https://pad.lv/1432871
30588 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
30590         doc: Describe to use multiple instances of gnulib
30591         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
30592         instances of gnulib with different modules can be used, for example one
30593         for a lib and another one for associated tools.
30595 2015-09-01  Pádraig Brady  <P@draigBrady.com>
30597         base32: mark function as __attribute__ const
30598         * lib/base32.h (isbase32): Mark __attribute__ const as
30599         suggested by GCC, and consistent with the base64 module.
30601 2015-08-20  Daiki Ueno  <ueno@gnu.org>
30603         gnulib-tool: don't transform binary files with sed
30604         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
30605         .mo and .class files.
30606         Reported by Denis Denisov.
30608 2015-08-10  Daiki Ueno  <ueno@gnu.org>
30610         gperf: respect silent rules
30611         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
30612         V_GPERF_0 for silent rules.
30613         * modules/iconv_open (Makefile.am): Use V_GPERF.
30614         * modules/unicase/locale-language (Makefile.am): Likewise.
30615         * modules/unicase/special-casing (Makefile.am): Likewise.
30616         * modules/unictype/category-byname (Makefile.am): Likewise.
30617         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
30618         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
30619         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
30620         * modules/unictype/property-byname (Makefile.am): Likewise.
30621         * modules/unictype/scripts (Makefile.am): Likewise.
30622         * modules/uninorm/composition (Makefile.am): Likewise.
30624 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
30626         Improve port of stdalign to C++11
30627         Problem reported by Sundaram in:
30628         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
30629         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
30630         (__alignas_is_defined): Define if C++11 or newer.
30632 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
30634         pmccabe2html: fix gawk regex escaping
30635         * build-aux/pmccabe2html: Add one more backslash to properly
30636         escape the gsub replacement value.  Fixes this error:
30637         gawk: ./build-aux/pmccabe2html:425: \
30638         warning: escape sequence `\&' treated as plain `&'
30640 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
30642         time_rz: port to pedantic memcpy
30643         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
30644         that reject memcpy (..., NULL, 0).
30646 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
30648         time_rz: port better to MinGW
30649         Don't change tzname, as this makes MinGW dump core (Bug#21020).
30650         Instead, store the tzname copy in the struct tm_zone object.
30651         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
30652         * lib/strftime.c [!_LIBC]:
30653         * lib/time_rz.c: Include time-internal.h.
30654         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
30655         name from *TZ rather than from TZNAME, doable because *TZ now has
30656         a tzname_copy member.
30657         * lib/time-internal.h: New file, with contents taken from
30658         lib/time_rz.c.  It's separate because strftime.c now accesses
30659         struct tm_zone members.
30660         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
30661         New member tzname_copy.
30662         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
30663         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
30664         Initialize tzname_copy member.
30665         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
30666         in tzname_copy member.
30667         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
30668         (restore_tzname): Remove; no longer needed.  All calls removed.
30669         * modules/time_rz (Files): Add lib/time-internal.h.
30671         time: port __need_time_t to MinGW
30672         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
30673         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
30675 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
30677         strftime: fix newly-introduced bug on Solaris
30678         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
30679         consistently at the start, rather than doing some of the setup at
30680         the start and some in the %Z format spec.  This is cleaner, and
30681         works better with time_rz on platforms like Solaris where struct
30682         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
30683         mktime_z and localtime_rz can mess up the tzname cache.
30685         test-strftime: test for Solaris bug
30686         * modules/strftime-tests (Depends-on): Add strerror.
30687         * tests/test-strftime.c: Include <errno.h>.
30688         (posixtm_test): New function, containing the old 'main'.
30689         (struct tzalloc_test, struct localtime_rz_test): New types.
30690         (TZ, LT): New static vars.
30691         (tzalloc_test): New function.
30692         (main): Rewrite in terms of posixtm_test and tzalloc_test.
30694         time_rz: port to Solaris etc.
30695         Works around a tzname problem on platforms like Solaris that have
30696         tzname but not tm_zone, by setting tzname at the appropriate time
30697         and restoring it later.
30698         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
30699         New static vars.
30700         (save_abbr) [HAVE_TZNAME]: Set them.
30701         (revert_tz) [HAVE_TZNAME]: Clear or use them.
30702         (restore_tzname): New function.
30703         (localtime_rz, mktime_z): Use it.
30705         time_rz: now LGPL
30706         * modules/time_rz (License): Now LGPL, because strftime depends on it.
30708         time_rz: make a constant 'const'
30709         * lib/time_rz.c (local_tz): Now const.
30711         time_rz: fix off-by-one typo
30712         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
30714 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
30716         fprintftime, strftime: use timezone_t args
30717         * NEWS: Document the change.
30718         * lib/fprintftime.h (fprintftime):
30719         * lib/strftime.c (extra_args) [my_strftime]:
30720         * lib/strftime.h (nstrftime):
30721         Time zone arg is now of type timezone_t, not int.
30722         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
30723         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
30724         (my_strftime) [emacs && !my_strftime]:
30725         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
30726         Remove; Emacs doesn't need this any more.
30727         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
30728         fprintftime and nstrftime to call tzset.
30729         (ut) [!my_strftime]: Remove, replacing with ...
30730         (tz) [!my_stftime]: ... this new macro.  All uses changed.
30731         (strftime_case_): Use localtime_rz and mktime_z instead
30732         of localtime_r and mktime.
30733         * modules/fprintftime (Depends-on): Add time_rz.
30734         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
30735         * tests/test-strftime.c (main): Adjust to new nstrftime API.
30737         time_rz: new module
30738         * MODULES.html.sh: Add time_rz.
30739         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
30740         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
30741         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
30742         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
30743         New var HAVE_TIMEZONE_T (default 0).
30744         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
30745         New var GNULIB_TIME_RZ (default 0).
30746         * modules/time (time.h): Substitute the new vars.
30748         flexmember: license is now unlimited
30749         * modules/flexmember (License): Change to unlimited,
30750         since its only source file gives an unlimited license.
30752 2015-07-15  Eric Blake  <eblake@redhat.com>
30754         maint: update copyright paper procedures
30755         * config/srclist.txt: Drop outdated files.
30756         * doc/Copyright/conditions.txt: Update to latest.
30757         * doc/Copyright/assign.changes.manual: Delete.
30758         * doc/Copyright/assign.future.manual: Likewise.
30759         * doc/Copyright/assign.manual: Likewise.
30760         * doc/Copyright/assign.translation.manual: Likewise.
30761         * doc/Copyright/disclaim.changes.manual: Likewise.
30762         * doc/Copyright/disclaim.manual: Likewise.
30763         * doc/Copyright/disclaim.program: Likewise.
30765 2015-07-07  Daiki Ueno  <ueno@gnu.org>
30767         localename: fix link error on Illumos
30768         Illumos defines __sun, but does not have getlocalename_l nor the
30769         equivalent.  This partially reverts commit 387c214.
30770         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
30771         available, as well as uselocale.
30772         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
30773         use getlocalename_l if it is not available.
30775 2015-07-07  Daiki Ueno  <ueno@gnu.org>
30777         unistr/uN-strtok-tests: avoid a trivial leak
30778         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
30779         input and delim after the multibyte delimiter tests.
30781 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
30783         file-has-acl, acl-permissions: fix HP-UX typos
30784         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
30785         * lib/file-has-acl.c (file_has_acl):
30786         * lib/set-permissions.c (context_acl_from_mode)
30787         (context_aclv_from_mode, set_acls):
30788         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
30789         They were introduced by the recent ACL changes.
30791         regex: match current GNU grep behavior
30792         These symbols have not matched GNU grep behavior for quite some time.
30793         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
30794         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
30795         Change to match current GNU behavior.
30796         Simplify by expressing it as differences from POSIX BREs and EREs.
30797         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
30799 2015-07-03  Jim Meyering  <meyering@fb.com>
30801         set-permissions.c: adjust acl_from_mode's cpp guard
30802         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
30803         directives identical to those guarding the sole use.
30804         Otherwise, on some systems, we'd get a warning about
30805         the function being defined but not used.
30806         Also, filter through cppi to correct misleading indentation
30807         of cpp directives.
30809 2015-07-03  Pádraig Brady  <P@draigBrady.com>
30811         tests: restrict shells to those that support 'local'
30812         The local keyword is very widely supported and used
30813         in tests in coreutils and grep at least.  Therefore
30814         restrict to testing with shells that support it.
30815         This mainly excludes /bin/sh on Solaris.
30816         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
30818 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
30819         and Daiki Ueno  <ueno@gnu.org>
30821         unistr/uN-strtok: handle multibyte delimiters
30822         Previously, uN_strtok moved PTR to the next unit to the token end.
30823         When DELIM contained a multibyte character, the new position could
30824         be a middle of a multibyte character.
30825         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
30826         after the token.
30827         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
30828         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
30829         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
30830         * modules/unistr/u8-strtok (Depends-on): Depend on
30831         unistr/u8-strmblen.
30832         * modules/unistr/u16-strtok (Depends-on): Depend on
30833         unistr/u16-strmblen.
30834         * modules/unistr/u32-strtok (Depends-on): Depend on
30835         unistr/u32-strmblen.
30836         * tests/unistr/test-u-strtok.h: New file.
30837         * tests/unistr/test-u8-strtok.c: New file.
30838         * tests/unistr/test-u16-strtok.c: New file.
30839         * tests/unistr/test-u32-strtok.c: New file.
30840         * modules/unistr/u8-strtok-tests: New file.
30841         * modules/unistr/u32-strtok-tests: New file.
30842         * modules/unistr/u16-strtok-tests: New file.
30844 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
30846         update-copyright: fix test failure with perl >= 5.22 (trivial)
30847         * build-aux/update-copyright: Escape a literal left curly bracket,
30848         required with perl >= 5.22
30850 2015-07-02  Daiki Ueno  <ueno@gnu.org>
30852         u{16,32}-strstr-tests: relax timeout condition
30853         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
30854         tests can take longer than 5 seconds to complete.
30855         Reported by Dagobert Michelsen in:
30856         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
30857         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
30858         seconds to 10 seconds.
30859         * tests/unistr/test-u32-strstr.c (main): Likewise.
30861 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
30863         gnulib-common.m4: change the ARFLAGS default to 'cr'
30864         In some GNU/Linux distributions people started to compile 'ar'
30865         binary with --enable-deterministic-archives (binutils project).
30866         That, however, in combination with previous autotools long time
30867         working default AR{_,}FLAGS=cru causes warnings on such
30868         installations:
30869         ar: `u' modifier ignored since `D' is the default (see `U')
30870         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
30871         set already.
30873 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
30875         selinux-h: avoid double free after *getfilecon()
30876         Originally reported by Ben Shelton on bug-tar:
30877         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
30878         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
30879         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
30880         param should be freed by freecon(3) (regardless the return value).
30882 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
30884         fix pty related tests issues on Windows (trivial)
30885         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
30886         however it's still present in tests/ subdirectory of the final project.
30887         Therefore avoid it to pass `make check`.
30888         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
30889         will just return -ENOSYS, so avoid this non applicable test allowing
30890         the build to proceed.
30892 2015-07-01  Pádraig Brady  <P@draigBrady.com>
30894         acl: fix definition of acl_from_mode on FreeBSD
30895         This was causing basic coreutils copy operations to fail
30896         with ENOTSUP or ENOENT error messages.
30897         * lib/acl-internal.h (acl_from_mode): Only define when
30898         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
30899         of acl_from_mode() defined in lib/set-permissions.c to
30900         be used on FreeBSD at least.
30901         * lib/set-permissions.c: Fix up comment spelling,
30902         and a redundant variable assignment; noticed in passing.
30904 2015-06-30  Pádraig Brady  <P@draigBrady.com>
30906         readutmp: port to FreeBSD >= 9
30907         * lib/readutmp.h: Map utmpxname() to setutxdb().
30908         With that coreutils who(1) and pinky(1) tests pass.
30910 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
30912         mgetgroups: port to strict OS X
30913         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
30914         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
30915         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
30916         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
30918 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
30920         mgetgroups: port to strict OS X
30921         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
30922         Document the getgrouplist problem.
30923         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
30924         New macro.
30925         (mgetgroups): Use it.
30926         * m4/mgetgroups.m4 (gl_MGETGROUPS):
30927         Check for OS X signature for getgrouplist.
30929 2015-06-29  Jim Meyering  <meyering@fb.com>
30931         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
30932         It started like this when building coreutils' latest on OS X,
30933         invoking ./configure with a nonempty --cache=.cache:
30935           lib/linkat.c:46:42: error: operator '||' has no right operand
30936           lib/linkat.c: In function 'rpl_linkat':
30937           lib/linkat.c:330:27: error: #if with no expression
30939         Here's linkat.c's line 46:
30941           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
30943         Here's some context:
30945           $ grep linkat_nofoll .cache
30946           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
30947           $ grep LINKAT_SYM lib/config.h
30948           #define LINKAT_SYMLINK_NOTSUP
30950         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
30951         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
30952         but that violates a tenet of AC_CACHE_CHECK: it must
30953         have no side effect other than setting its cache variable.
30955         What happens is that when the cache is set, we'd skip the
30956         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
30957         defined to whatever value it happened to have in configure's
30958         environment.  In my case, it was not defined, so this later code:
30960           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
30961             [Define to 1 if linkat can create hardlinks to symlinks])
30963         would emit code with an empty RHS.
30965         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
30966         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
30968 2015-06-28  Jim Meyering  <meyering@fb.com>
30970         mountlist: avoid an unused-label warning on OS X
30971         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
30972         Building on OS X, I saw a warning about the "free_then_fail" label
30973         being unused.  Give it the _GL_UNUSED_LABEL attribute.
30975         error.c: correct printf-style format: %d -> %u
30976         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
30977         rather than %d, to match the type of "line_number", unsigned int.
30979 2015-06-25  Pádraig Brady  <P@draigBrady.com>
30981         fts: avoid reading beyond the heap allocation
30982         GCC 5.1.1 with -O2 and -fsanitize=address reports
30983         a read of size 4 from a heap object of size 3 is indeed invalid,
30984         though this may be due to incorrect padding assumptions by GCC, see:
30985         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
30986         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
30987         * modules/fts: Depend on stdalign.
30989 2015-06-24  Pádraig Brady  <P@draigBrady.com>
30991         savedir: avoid undefined behavior in qsort call
30992         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
30993         "runtime error: null pointer passed as argument 1,
30994          which is declared to never be null"
30995         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
30997 2015-06-24  Pádraig Brady  <P@draigBrady.com>
30999         userspec: avoid undefined behavior in gettext call
31000         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
31001         "runtime error: null pointer passed as argument 2,
31002          which is declared to never be null"
31003         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
31005 2015-06-20  Glenn Morris  <rgm@gnu.org>
31007         gitlog-to-changelog: improve gitmerge.el commits
31008         Let the Emacs ChangeLog generation process exclude "skipped"
31009         messages from merge commits (Bug#20717).
31010         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
31012 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
31014         wchar: fix MinGW compilation warnings
31015         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
31016         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
31017         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
31019 2015-06-20  Daiki Ueno  <ueno@gnu.org>
31021         uniname/uniname-tests: use pristine data files
31022         For copyright and maintenance reasons, use the data files from UCD
31023         without modification.
31024         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
31025         (getfield): Remove.
31026         (aliases_count): New global variable.
31027         (fill_names): Skip comments and empty lines in the input.  Don't
31028         use getfield.
31029         (fill_aliases): Likewise.
31030         (main): Change the expected command line arguments to:
31031         NAMES... ["--" ALIASES...].
31032         * tests/uniname/test-uninames.sh: Adjust to the change in
31033         test-uninames.c.
31034         * tests/uniname/UnicodeDataNames.txt: Remove.
31035         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
31036         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
31037         file from Unicode 8.0.0.
31039 2015-06-19  Pádraig Brady  <P@draigBrady.com>
31041         linked-list, linkedhash-list: avoid compiler warnings
31042         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
31043         -Werror=suggest-attribute=pure (from GCC 5.1.1).
31045 2015-06-19  Daiki Ueno  <ueno@gnu.org>
31047         libunistring: bump minimum version to 0.9.6
31048         * all modules depending on updated Unicode data: Regenerate.
31049         The modules are listed by a script that does:
31050         - for each file listed by: git show --oneline --name-only 705f4efc
31051           - deduce the containing modules, based on "Files:"
31052         - deduce the modules which depend on the containing modules, based
31053           on "Depends-on:"
31055 2015-06-18  Daiki Ueno  <ueno@gnu.org>
31057         uniname/uniname: update to Unicode 8.0.0
31058         * lib/uniname/uninames.h: Regenerate.
31059         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
31060         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
31062 2015-06-18  Daiki Ueno  <ueno@gnu.org>
31064         libunistring: update to Unicode 8.0.0
31065         * lib/gen-uni-tables.c (SIZEOF): New macro.
31066         (output_numeric): Increase the maximum number of fractions from
31067         128 to 160.  Increase the level3 value width from 7 bits to 8
31068         bits.  Use SIZEOF instead of a hard-coded integer.
31069         (output_blocks): Decrease the cut-off threshold from 0x30000 to
31070         0x28000.
31071         (fill_blocks): Increase the maximum number of blocks from 256 to
31072         384.  Use SIZEOF instead of a hard-coded integer.
31073         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
31074         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
31075         value width.
31076         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
31077         a new case added to LBP22.
31078         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
31079         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
31080         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
31081         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
31082         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
31083         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31084         lib/uniwidth/width.c.
31085         * all generated files under lib/uni* and tests/uni*: Regenerate.
31087 2015-06-16  Pádraig Brady  <P@draigBrady.com>
31089         gnu-web-doc-update: add --mirror to remove stale files
31090         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
31091         out of date files from the CVS server.  Since this is usually
31092         appropriate, a prompt is given when the option is not specified,
31093         along with the `cvs remove` command that would be run.
31095 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
31097         acl-permissions: pacify -Wsuggest-attribute=const
31098         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
31099         * lib/acl-internal.h (free_permission_context):
31100         Declare with attribute const if ! (defined USE_ACL &&
31101         (HAVE_ACL_GET_FILE || defined GETACL)).
31103         fsync: document AIX misbehavior
31104         * doc/posix-functions/fsync.texi (fsync):
31105         Document failure on AIX with read-only file descriptor.
31107 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
31109         stdio: Don't redefine gets when using C++
31110         * lib/stdio.in.h (gets): Disable warning on C++.
31112 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
31114         acl-permissions: port to AIX, C89 HP-UX
31115         Problems reported by Michael Felt.
31116         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
31117         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
31118         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
31119         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
31120         Add cast for AIX, whose system calls are declared to accept
31121         char * even though the arguments are really char const *.
31122         * lib/get-permissions.c (get_permissions):
31123         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
31124         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
31125         that broke a build.
31126         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
31127         Rework types to pacify xlc.
31129 2015-06-03  Pádraig Brady  <P@draigBrady.com>
31131         vasprintf-posix: avoid compiling vasnprintf where possible
31132         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
31133         module where not required.  For example on a GNU/Linux system
31134         when gnulib-tool is run with the --conditional-dependencies option.
31136 2015-06-02  Pádraig Brady  <P@draigBrady.com>
31138         file-has-acl: fix build on Mac OS X 10
31139         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
31140         which has an incompatible 6 parameter getxattr() call.
31141         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
31142         call on Mac OS X >= 10.4.
31143         * doc/glibc-functions/fgetxattr.texi: Likewise.
31144         * lib/file-has-acl.c: Revert to more complete combined check.
31145         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
31146         Reported by Jack Howarth.
31148 2015-06-02  Pádraig Brady  <P@draigBrady.com>
31150         prefix-gnulib-mk: remove no longer needed special case
31151         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
31152         continued lib_SOURCES lines are no longer present,
31153         so special case handling of such entries is not required.
31155 2015-06-01  Pádraig Brady  <P@draigBrady.com>
31157         acl: don't depend on the deprecated qacl module
31158         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
31160 2015-06-01  Pádraig Brady  <P@draigBrady.com>
31162         gnulib-tool: concatenate lib_SOURCES to a single line
31163         * gnulib-tool: Refactor the line merging sed logic,
31164         and use that to output a single lib_SOURCES line for each module.
31165         gnulib using projects often postprocess this output to prepend
31166         subdir paths to each item, and having a single line simplifies this
31167         processing allowing better decoupling from the gnulib-tool output.
31169 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
31171         pthread_sigmask: discount system version if a simple macro (trivial)
31172         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
31173         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
31174         function to ensure it's available.
31176 2015-05-31  Pádraig Brady  <P@draigBrady.com>
31178         readlinkat: avoid OS X 10.10 trailing slash bug
31179         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
31180         has this bug.
31181         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
31182         that OS X 10.10 has this function.
31183         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
31184         as done for readlink().
31185         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
31186         trailing slash bug, and assume readlinkat() has the same issue.
31187         Also fix a typo where $gl_cv_decl_readlink_works was tested,
31188         rather than the correct $gl_cv_decl_readlinkat_works.
31190 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
31192         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
31193         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
31194         module rewrite.
31196         acl-permissions: Fix build on Solaris and Cygwin
31197         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
31198         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
31199         ace_entries variables have moved into struct permission_context but
31200         they were still accessed as local variables here.
31202 2015-05-29  Pádraig Brady  <P@draigBrady.com>
31204         linkat: avoid OS X 10.10 trailing slash with symlink bug
31205         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
31206         causes the symlink to be dereferenced, and if it points
31207         to a non existent file, that file will be created as
31208         a hard link to "path1".
31209         This fixes a test failure in test-linkat.c.
31210         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
31211         this case.  The existing workaround in linkat.c for
31212         trailing slash issues, suffices for this case.
31213         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
31214         the list of platforms with trailing slash issues.
31216 2015-05-28  Pádraig Brady  <P@draigBrady.com>
31218         unlinkat: handle ignoring of ".." on Darwin 14
31219         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
31220         on Mac OS X 10.10, where it ignores paths with a trailing "..",
31221         so handle in the same manner.
31222         * m4/unlinkat.m4: Comment on this Darwin issue.
31223         * doc/posix-functions/unlink.texi: Update the latest version
31224         where the issue was seen.
31225         * doc/posix-functions/unlinkat.texi: Mention this issue.
31226         Fixes a test failure in test-unlinkat.c.
31228 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
31230         qacl: split into qcopy-acl and qset-acl
31231         Emacs needs the former, but not the latter.
31232         * modules/acl-permissions: New file, containing most of the old qacl.
31233         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
31234         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
31235         * modules/qcopy-acl, modules/qset-acl: New files.
31236         * MODULES.html.sh (File system functions):
31237         Mention the new modules, and mention qacl while we're at it.
31239 2015-05-27  Glenn Morris  <rgm@gnu.org>
31241         gitlog-to-changelog: new option --ignore-line
31242         (This patch is imported from the GNU Emacs master.)
31243         This option ignores individual commit lines matching a pattern.
31244         * build-aux/gitlog-to-changelog: Add --ignore-line option.
31246 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
31248         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
31249         Implement get_permissions and set_permissions primitives for getting all
31250         the permissions of a file, storing them, and later setting them. (In the
31251         minimal case, the permissions consist only of a file mode.) Reimplement
31252         qset_acl and qcopy_acl based on these new primitives: this avoids code
31253         duplication and makes error handling more consistent.
31254         The Solaris and Cygwin code still uses duplicate code paths for setting
31255         a file mode while making sure that no acls exist and setting an explicit
31256         acl; this is no worse than before, but could be cleaned up.  The AIX
31257         code still doesn't read ACLs, it only makes sure that acls don't get in
31258         the way when setting a file mode.
31259         * lib/acl-internal.h (struct permission_context): New data structure.
31260         (get_permissions, set_permissions, free_permission_context): Declare.
31261         * lib/acl-internal.c (free_permission_context): New helper function.
31262         * lib/get-permissions.c (get_permissions): New helper function split off
31263         from qcopy_acl.
31264         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
31265         AIX, set a file's permissions based only on a file mode.
31266         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
31267         other platforms construct a temporary acl from the file mode and set
31268         that acl in the same way as setting an acl read from the source file.
31269         This should help avoid code duplication and inconsistent / buggy
31270         behavior.
31271         (set_acls): New helper function Split off from qcopy_acl.
31272         (chmod_or_fchmod): Moved here from qset-acl.c.
31273         (set_permissions): New helper function.
31274         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
31275         set_permissions.
31276         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
31277         * modules/qacl: Add get-permissions.c and set-permissions.c.
31279         file-has-acl: Split feature tests again (Bug#20667)
31280         * lib/file-has-acl.c: Instead of testing for
31281         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
31282         define them when needed.
31283         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
31284         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
31286 2015-05-27  Pádraig Brady  <P@draigBrady.com>
31288         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
31289         This avoids a conflict with "FORTIFY_SOURCE" variants
31290         of the string functions when they're replaced on NetBSD-6.0.1
31291         and Darwin-14.3.0 at least.
31292         * lib/string.in.h: Avoid including our "lib/string.h" while
31293         including the system <string.h>.
31295 2015-05-26  Eric Blake  <eblake@redhat.com>
31297         stdio: limit __gnu_printf__ witness to gcc 4.4+
31298         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
31299         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
31301         error: use correct printf attributes on mingw
31302         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
31304         inttypes: force correct mingw PRIdMAX even without <stdio.h>
31305         * modules/inttypes (Depends-on): Require extensions, so that mingw
31306         always uses GNU style inttypes.
31307         * lib/inttypes.in.h: On mingw, include <stdio.h>.
31309         stdio: fix probe on mingw under gcc 5.1
31310         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
31311         around new gcc preprocessor rules.
31313 2015-05-07  Glenn Morris  <rgm@gnu.org>
31315         gitlog-to-changelog: parse "Tiny-change"
31316         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
31317         "Copyright-paperwork-exempt".  (Bug#20324)
31319 2015-05-06  Pádraig Brady  <P@draigBrady.com>
31321         doc: document glibc posix_fallocate() issues
31322         * doc/posix-functions/posix_fallocate.texi: Mention the
31323         glibc efficiency problems and issues with NFS.
31325 2015-05-05  Karl Berry  <karl@freefriends.org>
31327         * build-aux/gendocs.sh (usage): document new css default
31328         for HTML (--htmlarg).
31330 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
31332         extern-inline: no need for workaround in GCC 5.1
31333         * doc/extern-inline.texi (extern inline):
31334         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
31335         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
31336         around these bugs in GCC 5.1 and later.  Maybe in a decade or
31337         two we can remove these workarounds.
31339 2015-04-28  Pádraig Brady  <P@draigBrady.com>
31341         eealloc, pagealign_alloc, xalloc: avoid clang warnings
31342         Avoid [-Wunknown-attributes] warnings like:
31343         warning: unknown attribute '__alloc_size__' ignored
31344         * lib/xalloc.h: Don't use the __alloc_size__  attribute
31345         with clang, as support has been fully removed as of clang 3.5:
31346         https://github.com/llvm-mirror/clang/commit/c047507a
31347         * lib/eealloc.h: Likewise.
31348         * lib/pagealign_alloc.h: Likewise.
31350 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
31352         tests: pacify GCC 5.1's stricter printf checking
31353         * tests/test-dirname.c (main):
31354         * tests/test-getaddrinfo.c (simple):
31355         * tests/test-getlogin.c (main):
31356         * tests/test-getndelim2.c (main):
31357         * tests/test-inttostr.c (CK):
31358         * tests/test-md5.c (main):
31359         * tests/test-read-file.c (main):
31360         * tests/test-sha1.c (main):
31361         Fix mismatches between printf format and value signedness.
31362         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
31363         Remove, as CAST_VAL always returned a value of type uintmax_t.
31365         fts: port to GCC 5.1 with --enable-gcc-warnings
31366         Without this fix, GCC 5.1 (correctly) warns about a subscript
31367         error on the fts_name component of FTSENT.  It's actually a
31368         flexible member, so define it that way on C99 or later hosts.
31369         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
31370         structure that now has a flexible array member.
31371         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
31372         (FTSENT): fts_name is now flexible on C99-or-later platforms.
31373         * modules/fts (Depends-on): Add flexmember.
31375 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
31377         file-has-acl: port to CentOS 6
31378         Problem reported by Tom G. Christensen in:
31379         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
31380         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
31381         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
31382         HAVE_GETXATTR.
31383         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
31384         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
31385         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
31386         file-has-acl.c actually needs.
31388 2015-04-26  Pádraig Brady  <P@draigBrady.com>
31390         file-has-acl: always return false when ACLs aren't supported
31391         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
31392         change the GNU/Linux getxattr path, to transform "not supported"
31393         errors to a false return rather than an error.  This is handled
31394         within file_has_acl() due to the platform specific tests to
31395         determine if ACLs are not supported.
31397 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
31399         gettext: propagate po/Makefile.in.in too
31400         * build-aux/po/Makefile.in.in: Copy from latest gettext.
31401         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
31402         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
31403         between Makefile.in.in and the gettext-runtime m4 files.
31405 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
31407         file-has-acl: new module, split from acl
31408         And add a new module file-has-acl-tests to match.
31409         I ran into a problem with the recent changes to the acl module,
31410         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
31411         When using the fixed version with Emacs, I discovered that
31412         file-has-acl wasn't separated out well enough for Emacs (e.g., it
31413         had multiple libraries, but needed only one), so I fixed that too.
31414         * NEWS: Document this incompatible change.
31415         * modules/file-has-acl, modules/file-has-acl-tests: New files.
31416         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
31417         Initialize gl_need_lib_has_acl.
31418         (gl_FUNC_ACL): Require it.
31419         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
31420         Move the file-has-acl.c-relevant stuff to ...
31421         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
31422         use_xattrs = 0' typo, and omit some needless work.  Set
31423         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
31424         when gl_FUNC_ACL is called.
31425         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
31426         (Link): Remove $(LIB_HAS_ACL).
31427         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
31428         (check_PROGRAMS): Move stuff relevant to file-has-acl to
31429         modules/file-has-acl-tests.
31430         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
31432         manywarnings: add GCC 5.1 warnings
31433         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
31434         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
31435         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
31436         -Wsuggest-override, -Wuse-without-only.  Change
31437         -Wnormalized=... operands to match 5.1.
31438         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
31439         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
31440         -Wdiscarded-qualifiers, -Wformat-signedness,
31441         -Wincompatible-pointer-types, -Wint-conversion,
31442         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
31443         -Wshift-count-negative, -Wshift-count-overflow,
31444         -Wsizeof-array-argument, -Wsuggest-final-methods,
31445         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
31446         and add -Warray-bounds=2 as a special case.
31448 2015-04-21  Simon Josefsson  <simon@josefsson.org>
31450         doc: update FDL template to match FDL examples.
31451         * doc/alloca-opt.texi:
31452         * doc/alloca.texi:
31453         * doc/c-ctype.texi:
31454         * doc/c-strcase.texi:
31455         * doc/c-strcaseeq.texi:
31456         * doc/c-strcasestr.texi:
31457         * doc/c-strstr.texi:
31458         * doc/c-strtod.texi:
31459         * doc/c-strtold.texi:
31460         * doc/ctime.texi:
31461         * doc/error.texi:
31462         * doc/gcd.texi:
31463         * doc/gnulib-tool.texi:
31464         * doc/inet_ntoa.texi:
31465         * doc/intprops.texi:
31466         * doc/lib-symbol-visibility.texi:
31467         * doc/maintain.texi:
31468         * doc/parse-datetime.texi:
31469         * doc/quote.texi:
31470         * doc/regexprops-generic.texi:
31471         * doc/standards.texi: Remove spurious 'with' in FDL license
31472         template.
31474 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
31476         lstat: fix cross-compilation 'ln -s' problem
31477         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
31478         Have the test program call 'symlink' rather than a separate
31479         script run 'ln -s'; this is more likely to work in
31480         cross-compilation environments.  Reported by Pavel Fedin in:
31481         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
31483 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
31485         gendocs.sh: default to a common CSS style sheet for HTML output
31486         * build-aux/gendocs.sh (htmlarg): Change default value.
31488 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
31490         gnulib-tool: output bold attribute more portably
31491         * gnulib-tool (func_show_module_list): Change hexadecimal
31492         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
31493         encoded numbers as arguments to `printf' is not portable,
31494         and is not claimed by POSIX.  This is the case with FreeBSD.
31496 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
31498         qacl: Simplify HP-UX acl_nontrivial check
31499         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
31500         acl_nontrivial. Check if the acl has at most three entries instead (it must
31501         have exactly three entries according to the HP-UX documentation). Ignore
31502         uids and gids as long as an entry is either for a user (i.e., the owner),
31503         a group (i.e., the owning group), or others.
31504         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
31505         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
31507 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
31509         acl: On Linux, check for acls without libacl
31510         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
31511         library function to check for the presence of acls, avoiding a library.
31512         * lib/file-has-acl.c: Include xattr headers if we have them.
31513         (file_has_acl): On Linux, use getxattr().
31514         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
31515         file_has_acl(). Check for xattr headers and getxattr().
31517 2015-04-14  Ángel González  <keisial@gmail.com>
31519         tempname: avoid unused parameter warnings (trivial)
31520         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
31521         (try_nocreate): Likewise.
31523 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
31525         fseeko: fix build failure on NetBSD >= 6 (trivial)
31526         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
31527         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
31529 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
31531         gitlog-to-changelog: port to MS-Windows
31532         * build-aux/gitlog-to-changelog (git_dir_option):
31533         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
31534         MS-Windows Perl.  Reported by Eli Zaretskii in:
31535         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
31537 2015-04-07  Karl Berry  <karl@gnu.org>
31539         gendocs: new option --tex for passing args to texi2dvi.
31540         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
31541         (TEXI2DVI): cut to just command name.
31542         (usage): mention new option, and update copyright.
31543         <generate_tex>: use it.
31545 2015-04-07  Karl Berry  <karl@gnu.org>
31547         * config/srclistvars.sh (GETTEXT): new definition.
31548         * config/srclist.txt: use it for gettext .m4 files.
31549         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
31550         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
31551         and continuing into April.
31553 2015-04-07  Daiki Ueno  <ueno@gnu.org>
31555         uniname/uniname-tests: fix failure due to alias
31556         Reported by Jack Howarth in:
31557         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
31558         * tests/uniname/test-uninames.c (name_has_alias): New function.
31559         (test_inverse_lookup): Exclude character name with valid alias,
31560         from randomly generated character names.
31561         (main): Fill unicode_aliases before calling test functions.
31563 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
31565         hash: remove deprecated hash_insert0 function
31566         * lib/hash.h (hash_insert0): Remove deprecated function.
31567         * lib/hash.c (hash_insert0): Likewise.
31569 2015-04-02  Pádraig Brady  <P@draigBrady.com>
31571         mountlist: remove dependency on libmount
31572         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
31573         directly, rather than depending on libmount, which has many
31574         dependencies due to its dependence on libselinux, as detailed at:
31575         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
31576         Note we restrict this to __linux__ as that's probably where this
31577         interface will remain.  If ever porting, it would be best
31578         to first pull the makedev() wrapper from coreutils to a gnulib module.
31579         Note also we don't add a getline dependency to the mountlist module,
31580         as all Linux versions are sufficient.
31582 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
31584         stddef: port to pre-C11 GCC on x86
31585         On this platform, max_align_t should have an alignment of 8 even
31586         though the storage alignments of double, long, etc. max out at 4.
31587         Inspired by a comment of Andreas Schwab's here:
31588         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
31589         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
31590         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
31591         * tests/test-stddef.c: Test __alignof__ too, if available.
31593 2015-03-24  Pádraig Brady  <P@draigBrady.com>
31595         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
31596         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
31598 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
31600         yesno: make EOL optional in ENABLE_NLS case also (trival)
31601         * lib/yesno.c (yesno): Check for EOL before replacing.
31602         * tests/test-yesno.sh: Add a test case (test along with gettext).
31604 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
31606         fdopendir-tests: test it does not close its arg
31607         * tests/test-fdopendir.c (main): Test that fdopendir does not
31608         close its argument.  From a suggestion by David Grayson in:
31609         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
31611 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
31613         gitlog-to-changelog: trim trailing white space
31614         * build-aux/gitlog-to-changelog (main):
31615         Trim trailing white space from commit message lines.
31616         This is helpful for processing the GNU Emacs repository,
31617         which dates back to 1985 and contains a lot of such lines.
31619         gitlog-to-changelog: new option --ignore-matching
31620         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
31621         Support new option --ignore-matching=PAT, which ignores all
31622         commit messages whose first line matches PAT.
31624 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
31626         fdopendir: port better to MinGW
31627         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
31628         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
31629         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
31630         * modules/fdopendir (Depends-on): Add dirfd.
31632 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
31634         fdopendir: fix typo in comment
31635         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
31637 2015-03-09  Eric Blake  <eblake@redhat.com>
31639         error: document all entry points provided
31640         * doc/glibc-functions/error_print_progname.texi
31641         (error_print_progname): Mention the error module.
31642         * doc/glibc-functions/error_at_line.texi (error_at_line):
31643         Likewise.
31644         * doc/glibc-functions/error_message_count.texi
31645         (error_message_count): Likewise.
31646         * doc/glibc-functions/error_one_per_line.texi
31647         (error_one_per_line): Likewise.
31649 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
31651         vasnprintf: pacify clang 3.5.0
31652         Problem reported by Werner Lemberg in:
31653         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
31654         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
31655         The casts aren't needed, since the characters in question are ASCII.
31657 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
31659         glob, etc.: port to MSVC v18 on MS-Windows 8.1
31660         * lib/dirent--.h (GNULIB_defined_opendir):
31661         * lib/dirent.in.h (GNULIB_defined_opendir)
31662         (GNULIB_defined_closedir):
31663         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
31664         #undef only if Gnulib defined it.
31666         poll: port to MSVC v18 on MS-Windows 8.1
31667         Problem reported by Gisle Vanem in:
31668         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
31669         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
31670         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
31671         Add sys_socket.
31673 2015-02-24  Pádraig Brady  <P@draigBrady.com>
31675         tests: support stderr verification with returns_()
31676         * tests/init.sh (returns_): Disable tracing for this wrapper
31677         function, so that stderr of the wrapped command is unchanged,
31678         allowing for verification of the contents.
31680 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
31682         passfd: avoid valgrind uninitalised data warning
31683         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
31684         to include just the fd we've initialized, rather than including
31685         the extra space used for alignment.
31687 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
31689         uniwbrk/u32-wordbreaks-tests: fix copyright
31690         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
31692         dup2: doc and test for Android bug
31693         Reported by Kevin Cernekee in:
31694         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
31695         * doc/posix-functions/dup2.texi (dup2): Document the bug.
31696         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
31698 2015-02-23  Kevin Cernekee  <cernekee@google.com>
31700         Replace dup2() on Android
31701         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
31702         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
31703         fails.  Using rpl_dup2() fixes this because it has an explicit test
31704         for this condition.
31706 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
31708         Android doesn't define RLIM_SAVED_*
31709         Portability problem reported by Kevin Cernekee in:
31710         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
31711         * doc/posix-headers/sys_resource.texi (sys/resource.h):
31712         Mention the portability problem.
31713         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
31714         Define if not defined.
31715         * m4/dup2.m4 (gl_FUNC_DUP2):
31716         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31717         Likewise.
31719 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
31721         vasnprintf-posix-tests: use consistent test
31722         * tests/test-vasnprintf-posix.c (test_function):
31723         Use "<" in assert instead of "<=", for consistency with other tests.
31725 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
31727         printf, isinf, etc.: noncanonical != NaN
31728         Do not require that isinf, printf, etc. treat noncanonical
31729         values as NaNs.  Instead, require only that they do not crash.
31730         Problem reported by Joseph Myers in:
31731         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
31732         * doc/posix-functions/dprintf.texi (dprintf):
31733         * doc/posix-functions/fprintf.texi (fprintf):
31734         * doc/posix-functions/isfinite.texi (isfinite):
31735         * doc/posix-functions/isinf.texi (isinf):
31736         * doc/posix-functions/isnan.texi (isnan):
31737         * doc/posix-functions/printf.texi (printf):
31738         * doc/posix-functions/snprintf.texi (snprintf):
31739         * doc/posix-functions/sprintf.texi (sprintf):
31740         * doc/posix-functions/vdprintf.texi (vdprintf):
31741         * doc/posix-functions/vfprintf.texi (vfprintf):
31742         * doc/posix-functions/vprintf.texi (vprintf):
31743         * doc/posix-functions/vsnprintf.texi (vsnprintf):
31744         * doc/posix-functions/vsprintf.texi (vsprintf):
31745         Document this.
31746         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
31747         * m4/isinf.m4 (gl_ISINFL_WORKS):
31748         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
31749         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
31750         * tests/test-isfinite.c (test_isfinitel):
31751         * tests/test-isinf.c (test_isinfl):
31752         * tests/test-isnan.c (test_long_double):
31753         * tests/test-isnanl.h (main):
31754         * tests/test-snprintf-posix.h (test_function):
31755         * tests/test-sprintf-posix.h (test_function):
31756         * tests/test-vasnprintf-posix.c (test_function):
31757         * tests/test-vasprintf-posix.c (test_function):
31758         Test only that noncanonical values do not cause crashes, not that
31759         they are treated as NaNs.  In some cases this means a larger
31760         output buffer is needed.
31762 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
31764         fts: remove redundant close() (trivial)
31765         * lib/fts.c (fts_read): Remove redundant call to close().
31766         Spotted by coverity.
31768 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
31770         getdtablesize: port better for Android
31771         Problem reported by Kevin Cernekee in:
31772         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
31773         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
31774         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
31775         Instead, just use getrlimit, taking care to avoid Cygwin bug.
31777         poll: fixes for large fds
31778         * lib/poll.c (poll): Don't check directly for NFD too large.
31779         Don't rely on undefined behavior in FD_SET when an arg exceeds
31780         FD_SETSIZE.  Always set revents afterwards, even if to zero.
31781         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
31782         as that makes the test a bit stricter.
31784 2015-02-19  Kevin Cernekee  <cernekee@google.com>
31786         fcntl: Fix cross compiling
31787         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
31788         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
31790 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
31792         dup2, fcntl: cross-compile better for Android
31793         Problem reported by Kevin Cernekee in:
31794         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
31795         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
31796         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
31797         there's little need to cross-compile for older kernels nowadays.
31798         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
31799         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
31801 2015-02-18  Pádraig Brady  <P@draigBrady.com>
31803         getopt: don't crash on memory exhaustion
31804         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
31805         memory exhaustion.  In the _LIBC case we use alloca() as is
31806         already done in glibc, so we don't need to consider the separate
31807         error path in that awkward case.  Also fix a memory leak when
31808         ambiguous options are present.
31809         Reported by Tobias Stoeckmann
31811 2015-02-17  Mike Miller  <mtmiller@ieee.org>
31813         tempname: allow compilation with C++ (trivial)
31814         * lib/tempname.h [C++]: Specify extern "C" linkage.
31815         * lib/tempname.h (try_tempname):
31816         * lib/tempname.c (__try_tempname, __gen_tempname):
31817         Rename 'try' to 'tryfunc'.
31819 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
31821         dup2, fcntl: port to AIX
31822         * m4/dup2.m4 (gl_FUNC_DUP2):
31823         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31824         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
31825         The former works on AIX 7.1 but the latter does not.
31826         Also, this may work better with Android; see:
31827         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
31829 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
31831         getdtablesize, dup2, fcntl: port to Android
31832         Problem reported by Kevin Cernekee in:
31833         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
31834         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
31835         Mention that getdtablesize doesn't work on Android.
31836         * lib/getdtablesize.c: Use getrlimit substitute only if
31837         getdtablesize is declared.  This should suffice for Cygwin
31838         while not breaking Android.
31839         * m4/dup2.m4 (gl_FUNC_DUP2):
31840         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31841         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
31842         standardized but the latter is not, and sysconf works on Android.
31843         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
31844         Also check that getdtablesize is declared.
31845         This removes the need for a special case for Android.
31847 2015-02-16  Kevin Cernekee  <cernekee@google.com>
31849         localename: Implement gl_locale_name_thread_unsafe for Android
31850         * lib/localename.c: Android API level >= 21 supports two hardcoded
31851         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
31852         the internal __locale_t struct.
31854 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
31856         fts: avoid crash when a cycle is added while traversing
31857         This could be triggered by auto-mounting a recursive bind mount.
31858         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
31859         * lib/fts.c (fts_read): Avoid removing the original hash table item
31860         when leaving a directory that caused a cycle, and preserve the FTS_DC
31861         flag.
31863 2015-02-16  Daiki Ueno  <ueno@gnu.org>
31865         uniname/uniname: support character alias
31866         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
31867         Generate one-way mapping from aliases to codepoints in the
31868         generated tables.  Special case variation selectors to reduce
31869         table size.
31870         * lib/uniname/uniname.c (unicode_character_name): Special case
31871         variation selectors.
31872         (unicode_name_character): Special case variation selectors and
31873         their aliases.
31874         * lib/uniname/uninames.h: Regenerate.
31875         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
31876         * modules/uniname/uniname-tests (Files): Add
31877         tests/uniname/NameAliases.txt.
31878         * tests/uniname/test-uninames.c: Mark as static.
31879         (ALIASLEN): Define.
31880         (struct unicode_alias): New struct.
31881         (unicode_aliases): New variable.
31882         (fill_aliases): New function.
31883         (test_alias_lookup): New test function.
31884         (main): Run the 'test_alias_lookup' test if the second argument is
31885         given.
31886         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
31887         second argument.
31889 2015-02-11  Kevin Cernekee  <cernekee@google.com>
31891         Fix FILE struct compatibility with Android API level >= 21
31892         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
31893         __sferror.  Recent versions of Bionic's stdio.h no longer define
31894         __sferror.
31895         * lib/fbufmode.c: Likewise.
31896         * lib/fflush.c: Likewise.
31897         * lib/fpurge.c: Likewise.
31898         * lib/freadable.c: Likewise.
31899         * lib/freadahead.c: Likewise.
31900         * lib/freading.c: Likewise.
31901         * lib/freadptr.c: Likewise.
31902         * lib/freadseek.c: Likewise.
31903         * lib/fseeko.c: Likewise.
31904         * lib/fseterr.c: Likewise.
31905         * lib/fwritable.c: Likewise.
31907         Assume unbroken ungetc() on Android
31908         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
31909         test case passed when running on an Android host, and the code
31910         hasn't really changed since 2009.
31912         getdtablesize: Fix Android build
31913         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
31914         versions have this symbol in the .so library (at least 32-bit
31915         platforms) but are missing the declaration in the header file,
31916         causing the m4 logic to guess incorrectly.
31918         localename: Fix Android build
31919         * modules/localename (Depends-on): Add langinfo.
31921         getugroups: Fix Android build
31922         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
31923         functions.
31925         euidaccess: Fix Android build
31926         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
31927         AT_EACCESS gets declared.
31929         linkat_nofollow: Add fallback case for cross compiling
31930         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
31932         net_if: Handle content-free <net/if.h> system headers
31933         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
31934         struct if_nameindex.  If not, enable the replacement header.
31936         signal_h: Fix Android build
31937         * lib/signal.in.h: Add Android to the list of platforms that declare
31938         pthread_sigmask() in <pthread.h> instead of <signal.h>.
31940         duplocale: Fix Android build of duplocale-tests
31941         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
31942         is included by test-duplocale.c (but not by duplocale.c).
31943         * modules/duplocale-tests (configure.ac): Check for monetary.h.
31944         * tests/test-duplocale.c: Skip test if monetary.h is absent.
31945         * doc/posix-headers/monetary.texi: Add Android to the list of
31946         platforms missing monetary.h.
31948 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31950         tests: avoid recent -Werror=unused-variable regression in test-locale
31951         * tests/test-locale.c (main): Reference the variable to avoid the
31952         "unused variable" warning.
31954 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31956         maint: various whitespace cleanups in tempname
31957         * lib/tempname.c: Normalize spacing and line length.
31958         * lib/tempname.h: Likewise.
31959         * modules/tempname: Likewise.
31961 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31963         tests: provide returns_() to simplify exit status checking
31964         * tests/init.sh (returns_): A new function for use in tests,
31965         to allow for easier checking of return values, where you expect
31966         a command to exit with failure status.  By checking for a particular
31967         exit code, you don't hide any crashes for example.
31969 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31971         mountlist: only use libmount when specified
31972         There are currently many shared libs dependencies introduced by
31973         libmount with associated runtime and virt mem overhead.
31974         Therefore don't enable by default.
31975         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
31977 2015-02-08  Daiki Ueno  <ueno@gnu.org>
31979         uniname/unimame-tests: don't link with -lunistring
31980         * modules/uniname/uniname-tests (Makefile.am): Don't link against
31981         $(LIBUNISTRING).  Document the rationale why we need to
31982         conditionalize the test.
31984 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
31986         fstrcmp: don't assume strlen < INT_MAX
31987         * lib/fstrcmp.c: Include stddef.h and stdint.h.
31988         (uintptr_t): Remove, as we're now assuming stdint.
31989         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
31990         Prefer ptrdiff_t to int when the value could exceed INT_MAX
31991         if the input string is long.
31992         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
31993         uintptr_t to size_t when the underlying value is a pointer casted
31994         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
31995         * modules/fstrcmp (Depends-on): Add stdint.
31997         diffseq: prefer ptrdiff_t to ssize_t
31998         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
31999         ptrdiff_t is the natural type for signed indexes.
32000         On a few older platforms, ssize_t is narrower than size_t.
32002         xalloc: fix typo that suppressed warnings
32003         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
32004         This typo, introduced a couple of years ago, mistakenly suppressed
32005         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
32006         -Wmissing-declarations warnings.
32008         full-read: fix license notice typo
32009         * lib/full-read.h: Remove a stray line in the license notice.
32010         Reported by Sam Ellis in: http://bugs.gnu.org/19808
32012         crypto/gc: fix a -Wswitch warning
32013         Reported by Bruce Korb in:
32014         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
32015         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
32017 2015-02-03  Pádraig Brady  <P@draigBrady.com>
32019         gnulib-tool: fix handling of patch(1) diagnostics
32020         * gnulib-tool: Send diagnostics from patch(1) to stderr,
32021         as otherwise gnulib-tool will reparse that output and attempt
32022         to lookup modules.
32024 2015-02-03  Pádraig Brady  <P@draigBrady.com>
32026         bootstrap: exit immediately upon gnulib-tool failure
32027         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
32028         This was noticed when gnulib-tool exited early due to failure
32029         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
32030         but various confusing errors were then given as the build proceeded.
32032 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
32034         symlinkat: include all required header files
32035         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
32036         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
32037         Reported at https://savannah.gnu.org/bugs/index.php?44151
32038         and by Jack Howarth.
32040 2015-01-29  Pádraig Brady  <P@draigBrady.com>
32042         localename: support Solaris 12 and illumos
32043         * lib/localename.c (gl_locale_name_thread_unsafe): call
32044         getlocalename_l() on newer __sun platforms.
32045         Reported by Alexander Pyhalov.
32046         Fix suggested by Rich Burridge.
32048 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
32050         locale: fix tests on illumos (trivial)
32051         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
32052         so move from global scope to main().
32054 2015-01-24  Daiki Ueno  <ueno@gnu.org>
32056         unictype: avoid undefined left-shift behavior
32057         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
32058         gcc's -fsanitize=shift and running its tests triggered:
32059           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
32060             places cannot be represented in type 'int'
32061         Cast LHS to 'unsigned int' after integer promotion.
32062         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
32063         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
32065 2015-01-20  Daiki Ueno  <ueno@gnu.org>
32067         libunistring: bump version of unitypes dependants
32068         Due to the header file search order, all the headers which depend
32069         on unitypes.h need to be generated, when the preinstalled
32070         libunistring is older.
32071         * modules/unicase/base (configure.ac): Bump minimum version to
32072         0.9.4.
32073         * modules/uniconv/base (configure.ac): Likewise.
32074         * modules/unilbrk/base (configure.ac): Likewise.
32075         * modules/uninorm/base (configure.ac): Likewise.
32076         * modules/unistdio/base (configure.ac): Likewise.
32077         * modules/unistr/base (configure.ac): Likewise.
32078         * modules/uniwbrk/base (configure.ac): Likewise.
32079         * modules/uniwidth/base (configure.ac): Likewise.
32081 2015-01-20  Daiki Ueno  <ueno@gnu.org>
32083         unictype/category-none: fix link with libunistring
32084         Since _UC_CATEGORY_NONE is not a public symbol, it will be
32085         prefixed with "libstring_" when compiled as part of libunistring.
32086         To avoid undefined symbol at link time, increase the minimum
32087         version when the dependant modules are updated.
32088         * modules/unictype/category-none (configure.ac): Bump minimum
32089         version to 0.9.5.
32091 2015-01-20  Daiki Ueno  <ueno@gnu.org>
32093         unitypes: fix build with installed libunistring
32094         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
32095         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
32096         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
32098 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
32100         time: port to MinGW32 3.21
32101         Problem reported by Eli Zaretskii in:
32102         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
32103         * lib/time.in.h:
32104         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
32105         * modules/time (Depends-on):
32106         Fall back on unistd.h if the other include files don't define
32107         struct timespec.
32109         update-copyright: apply to self
32110         * build-aux/update-copyright: Fix copyright date.  How ironic!
32112 2015-01-15  Daiki Ueno  <ueno@gnu.org>
32114         libunistring: update to Unicode 7.0.0
32115         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
32116         Manichaean names.
32117         * lib/unictype/joininggroup_name.h: Likewise.
32118         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
32119         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
32120         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
32121         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
32122         (fill_arabicshaping, joining_group_as_c_identifier): Support those
32123         enum values.
32124         (is_property_alphabetic): Accept newly added characters to
32125         cuneiform numeric signs.
32126         (is_property_default_ignorable_code_point): Reject U+0605.
32127         (FIELDLEN): Increase from 120 to 160.
32128         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
32129         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
32130         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
32131         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
32132         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
32133         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
32134         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
32135         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
32136         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
32137         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
32138         U+1E8D0..U+1E8D6.
32139         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
32140         * tests/uniwidth/test-uc_width2.sh: Same updates as in
32141         lib/uniwidth/width.c.
32142         * all generated files under lib/uni* and tests/uni*: Regenerate.
32144 2015-01-14  Daiki Ueno  <ueno@gnu.org>
32146         libunistring: update to Unicode 6.3.0
32147         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
32148         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
32149         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
32150         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
32151         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
32152         Update WB5, WB9, WB10, WB13a, and WB13b.
32153         * tests/uniwbrk/test-uc-wordbreaks.c
32154         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
32155         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
32156         (UC_BIDI_PDI): New enumeration values.
32157         (bidi_category_byname): Support those enum values.
32158         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
32159         dedicated property assigned.
32160         (is_property_case_ignorable): Check 0x0027.
32161         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
32162         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
32163         (output_wbp): Support those enum values.
32164         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
32165         (UC_BIDI_PDI): New enumeration values.
32166         * lib/unictype/bidi_byname.gperf: Add those property names.
32167         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
32168         U+180E, U+1A1B, and U+2066..U+2069.
32169         * tests/uniwidth/test-uc_width2.sh: Same updates as in
32170         lib/uniwidth/width.c.
32171         * all generated files under lib/uni* and tests/uni*: Regenerate.
32173 2015-01-14  Daiki Ueno  <ueno@gnu.org>
32175         libunistring: update to Unicode 6.2.0
32176         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
32177         (unilbrk_table): Adjust table size.
32178         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
32179         for LBP_RI.
32180         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
32181         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
32182         Normalize table index skipping ignored properties.
32183         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
32184         WBP_EXTEND and WBP_FORMAT, which are now computed without using
32185         the table.
32186         * lib/uniwbrk/wbrktable.h: Adjust table size.
32187         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
32188         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
32189         Support rule GB8a.
32190         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
32191         * tests/unigbrk/test-uc-is-grapheme-break.c
32192         (graphemebreakproperty_to_string): Support GBP_RI.
32193         * tests/uniwbrk/test-uc-wordbreaks.c
32194         (wordbreakproperty_to_string): Support WBP_RI.
32195         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
32196         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
32197         (output_lbp): Support LBP_RI.  Adjust some characters changed from
32198         LBP_AL to LBP_ID.
32199         (output_lbp): Support LBP_RI.
32200         (WBP_RI): New enumeration value.
32201         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
32202         (output_wbp): Support WBP_RI.
32203         (GBP_RI): New enumeration value.
32204         (output_gbp_test, fill_org_gbp): Support GBP_RI.
32205         * all generated files under lib/uni* and tests/uni*: Regenerate.
32207 2015-01-14  Daiki Ueno  <ueno@gnu.org>
32209         libunistring: update to Unicode 6.1.0
32210         * lib/gen-uni-tables.c (output_joining_group): Switch to
32211         3-level table to accommodate joining groups defined with higher
32212         codepoint value.  Since there are only 88 groups defined in
32213         Unicode 7.0.0, use 7-bit packed format for level3 entries.
32214         (get_lbp): Update for Unicode 6.1.0.
32215         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
32216         3-level table.
32217         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
32218         joining group name.
32219         * lib/unictype/joininggroup_name.h: Likewise.
32220         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
32221         (unilbrk_table): Adjust table size.
32222         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
32223         for LBP_HL.
32224         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
32225         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
32226         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
32227         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
32228         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
32229         U+302E..U+302F.
32230         * tests/uniwidth/test-uc_width2.sh: Same updates as in
32231         lib/uniwidth/width.c.
32232         * all generated files under lib/uni* and tests/uni*: Regenerate.
32233         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
32235 2015-01-15  Daiki Ueno  <ueno@gnu.org>
32237         uniwbrk/u32-wordbreaks-tests: add conformance test
32238         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
32239         tests/uniwbrk/test-uc-wordbreaks.c,
32240         tests/uniwbrk/test-uc-wordbreaks.sh, and
32241         tests/uniwbrk/WordBreakTest.txt.
32242         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
32243         test-uc-wordbreaks to $(check_PROGRAMS), and define
32244         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
32245         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
32246         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
32248 2015-01-15  Daiki Ueno  <ueno@gnu.org>
32250         uniwbrk: ignore Extended/Format characters at BOL not BOS
32251         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
32252         characters if the previous character property is one of
32253         WBP_NEWLINE, WBP_CR, and WBP_LF.
32255 2015-01-11  Jim Meyering  <meyering@fb.com>
32257         test-strstr.c: avoid a trivial leak
32258         * tests/test-strstr.c (main): Free haystack.
32260         update-copyright: recognize groff's \(co marker
32261         * build-aux/update-copyright (circle_c_re): Also accept
32262         uses of \(co, as found in gzip.1.
32264 2015-01-08  Pádraig Brady  <P@draigBrady.com>
32266         maint.mk: fix compatibility with OS X nm
32267         * top/maint.mk (_gl_tight_scope): Use the -g option to
32268         show exported items rather than the -e option which is
32269         ignored on all platforms except OS X where it gives an error.
32270         Reported by Assaf Gordon.
32272 2015-01-07  KO Myung-Hun  <komh@chollian.net>
32274         localcharset: improve charset detection on OS/2
32275         Use system codepage when appropriate.  Map OS/2 codepages to
32276         GNU canonical charset names if possible.
32277         * lib/config.charset: Don't output aliases if "$os" is os2*.
32278         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
32279         result for OS/2.
32280         (locale_charset) [OS2]: Use system codepage if codeset is omitted
32281         from the locale name which is neither "C" nor "POSIX".
32283 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
32285         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
32286         This reverts the last patch but one, as it shouldn't be needed now
32287         that the typo is fixed.
32288         * lib/count-leading-zeros.h (count_leading_zeros_ll):
32289         * lib/count-trailing-zeros.h:
32290         * lib/count-one-bits.h:
32291         Go back to using 64-bit intrinsics.
32293         count-leading-zeros: fix pragma typos
32294         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
32295         Fix typos in declaration of intrinsics when _MSC_VER.
32297 2015-01-06  Pádraig Brady  <P@draigBrady.com>
32299         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
32300         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
32301         intrinsics in this case.
32302         * lib/count-trailing-zeros.h: Likewise.
32303         * lib/count-one-bits.h: Likewise.
32305 2015-01-06  Daiki Ueno  <ueno@gnu.org>
32307         uniname/uniname: update to Unicode 7.0.0
32308         To accommodate new characters added since Unicode 5.1.0, this
32309         changes the internal representation of codepoint ranges.
32310         Previously, we grouped codepoint ranges by manually assigned 4-bit
32311         tag, which only allowed 16 groups.  This removes the limitation by
32312         switching to binary search on a table.  For the detail rationale
32313         and the benchmark results, see:
32314         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
32315         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
32316         to INDEX, as it no longer represents a codepoint.
32317         (range): New struct.
32318         (main): Switch to intervals list from a bit-pattern based
32319         classification.
32320         * lib/uniname/uninames.h: Regenerate.
32321         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
32322         * modules/uniname/base (configure.ac): Bump minimum version to
32323         0.9.5.
32324         * modules/uniname/uniname (configure.ac): Bump minimum version to
32325         0.9.5.
32327 2015-01-05  Eric Blake  <eblake@redhat.com>
32329         doc: update INSTALL from autoconf
32330         * doc/install.texi: Resync from autoconf.
32331         * doc/INSTALL: Reflect recent autoconf update.
32332         * doc/INSTALL.ISO: Likewise.
32333         * doc/INSTALL.UTF-8: Likewise.
32335         stdio: fix use of PRIdMAX on modern mingw
32336         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
32337         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
32338         to work with modern mingw.
32340 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
32342         pthread: detect git mingw builds with only partial pollution
32343         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
32344         pollution, as seen temporarily in Fedora 21.
32346 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
32348         lib-symbol-versions: cache script check
32349         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
32350         Cache the check for linker version scripts.
32351         From a suggestion by Christophe Curis in:
32352         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
32354 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
32356         maint: fix grammar nits in propername (trivial change)
32357         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
32358         and use an adequate verb and tense.
32360 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
32362         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
32363         * module/gendocs: Add 'doc/gendocs_template_min'.
32365         * build-aux/gendocs.sh: Change email addresses and upstream URLs
32366         from to Gnulib's.
32367         (scripturl, templateurl): Adjust accordingly.
32369 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
32371         gendocs: copyright date and version fix
32372         Reported by Karl Berry in:
32373         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
32374         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
32375         Fix copyright date.
32376         * build-aux/gendocs.sh (scriptversion): Update.
32378 2015-01-01  Karl Berry  <karl@gnu.org>
32380         * doc/install.texi,
32381         * build-aux/mdate-sh,
32382         * build-aux/depcomp,
32383         * build-aux/config.guess,
32384         * build-aux/config.sub,
32385         * build-aux/ar-lib,
32386         * build-aux/compile: revert copyright updates (some from last
32387         year) in slaved files.
32389 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
32391         version-etc: new year
32392         * doc/gnulib.texi:
32393         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
32394         * all files: Run 'make update-copyright'.
32396 2014-12-30  Pádraig Brady  <P@draigBrady.com>
32398         xstrtol: ensure errno is reset
32399         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
32400         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
32402         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
32404 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
32406         utimens: fix dependency typo
32407         * modules/utimens (Depends-on): Remove 'assure'.
32408         This bug was introduced in the recent 'assure' patch.
32410 2014-12-22  Eric Blake  <eblake@redhat.com>
32412         docs: mention why libgen.h is bad
32413         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
32415 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
32417         assure: new module
32418         This works better than 'assert' when compiling with -DNDEBUG,
32419         as it avoids some compiler diagnostics in that case.
32420         Reported by Norihiro Tanaka in:
32421         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
32422         * MODULES.html.sh (func_all_modules): Add 'assure'.
32423         * lib/assure.h, modules/assure: New files.
32424         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
32425         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
32426         Prefer 'assure' to 'assert'.
32427         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
32428         * modules/chdir-long, modules/cycle-check, modules/fchdir:
32429         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
32430         Depend on 'assure'.
32432 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
32434         stdalign: port better to HP compilers
32435         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
32436         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
32438         stdalign: work around Apple GCC 4.0 bug
32439         Reported by David Fang in:
32440         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
32441         * lib/stdalign.in.h (_Alignas):
32442         * m4/stdalign.m4 (gl_STDALIGN_H):
32443         Do not use aligned attribute with GCC 4.0 on Apple.
32445 2014-12-16  Pádraig Brady  <P@draigBrady.com>
32447         getcwd: fix test failure on OS X 10.9
32448         * m4/getcwd-path-max.m4: Avoid the replacement if it
32449         won't be effective due to the PATH_MAX limitation of lstat().
32450         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
32451         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
32452         for this case for use in tests, and also exclude this
32453         case when setting REPLACE_GETCWD.
32454         * tests/test-getcwd.c (test_long_name): Restrict the
32455         tested path length so that lstat() will not be passed
32456         a path greater than PATH_MAX.
32457         Also key a test condition on HAVE_OPENAT_SUPPORT rather
32458         than AT_FDCWD, since the latter is set unconditionally
32459         since Sep 2009 in commit 52c658e9.
32461 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
32463         parse-datetime: avoid a compiler warning with byacc (trivial)
32464         * lib/parse-datetime.y (yylex): Use the same prototype in the
32465         function definition as the declaration, to avoid a -Wstrict-prototypes
32466         warning seen when using byacc.
32468 2014-12-12  Daiki Ueno  <ueno@gnu.org>
32470         unicase/locale-language-tests: fix LOCALE_FR test
32471         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
32472         a French locale with traditional encoding.
32473         Reported by umerqayam in:
32474         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
32476 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
32478         stddef: support C11's max_align_t
32479         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
32480         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
32481         Do not undef, as that might cause max_align_t to be defined twice.
32482         Instead, change use to check for _GL_STDDEF_WINT_T too.
32483         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
32484         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
32485         Check for max_align_t.
32486         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
32487         * modules/stddef-tests (Depends-on): Add stdalign.
32488         * tests/test-stddef.c: Test max_align_t.
32490 2014-12-11  Daiki Ueno  <ueno@gnu.org>
32492         unistd: fix iOS check conditional
32493         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
32494         as 0 or 1 in <TargetConditionals.h>, and the previous check always
32495         yielded true on non-iOS environment.
32496         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
32497         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
32498         they are defined.
32500 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
32502         posixtm: avoid compiler warning in a better way
32503         * lib/posixtm.c (IF_LINT): Remove.
32504         (year, posix_time_parse):
32505         Return true (not 0) if successful.  All callers changed.
32506         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
32508 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
32510         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
32511         started with '/' on EMX.
32513 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
32515         freopen: workaround freopen() on OS/2 kLIBC
32516         * lib/freopen.c (rpl_freopen): Workaround.
32517         * m4/freopen.m4: Add os2* case.
32519         get_shared_library_fullname: port to EMX
32520         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
32521         on EMX, respectively.
32522         (_DLL_InitTerm): New on EMX.
32523         (get_shared_library_fullname): Implement on EMX.
32525         find_executable: port to EMX
32526         * lib/progreloc.c (find_executable): Implement on EMX.
32528         sched: check struct sched_param in spawn.h as well
32529         * lib/sched.in.h: Include spawn.h on kLIBC.
32530         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
32532 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
32534         bootstrap: Allow perl modules in $buildreq
32535         * build-aux/bootstrap: Add case for perl modules.
32537 2014-12-08  Pádraig Brady  <P@draigBrady.com>
32539         apply _GL_ATTRIBUTE_PURE to some inline functions
32540         clang 3.4.2 flagged these inline functions as pure
32541         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
32542         * lib/sig-handler.h (get_handler): Likewise.
32543         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
32544         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
32546 2014-12-06  Pádraig Brady  <P@draigBrady.com>
32548         vasnprintf: fix potential use after free
32549         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
32550         flagged by clang-analyzer 3.4.2.
32552 2014-12-05  Pádraig Brady  <P@draigBrady.com>
32554         filevercmp, posixtm: avoid compiler warnings with -O3
32555         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
32556         * lib/posixtm.c: (IF_LINT): Define.
32557         (posix_time_parse): Use it to void a "may be used uninitialized"
32558         warning, seen only with -O3.
32560 2014-12-05  Bruno Haible  <bruno@clisp.org>
32562         Fix LDBL80_WORDS macro on big endian platforms.
32563         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
32564         LDBL80_WORDS macro.
32565         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
32566         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
32567         * tests/test-isfinite.c (test_isfinitel): Likewise.
32568         * tests/test-isinf.c (test_isinfl): Likewise.
32569         * tests/test-isnan.c (test_long_double): Likewise.
32570         * tests/test-isnanl.h (main): Likewise.
32571         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
32572         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
32573         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
32574         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
32575         Reported by Pádraig Brady.
32577 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
32579         git-version-gen: do not print new line characters
32580         * build-aux/git-version-gen: Use printf instead of echo and tr.
32582         gnulib-tool: recognize x:* as an absolute path
32583         * gnulib-tool (func_gnulib_dir): Add ?:* case.
32584         (func_relconcat): Likewise.
32586 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
32588         argp: avoid extraneous translation and mem leak with empty pre doc
32589         * lib/argp-help.c (argp_doc): Never translate the empty string,
32590         when "\v" is the first or last character of the string, as that
32591         has a reserved meaning to return the header info from a po file.
32592         This also fixes a small memory leak in the !post case.
32593         The issue can be seen with this command for example:
32594         LC_MESSAGES=en_US grub2-mknetdir --help
32596 2014-11-27  Daiki Ueno  <ueno@gnu.org>
32598         uniname/uniname-tests: skip if system's libunistring is used
32599         * modules/uniname/uniname-tests (Makefile.am): Skip test if
32600         uniname/uniname module is not compiled.
32602 2014-11-27  Pádraig Brady  <P@draigBrady.com>
32604         printf: fix configure check on big endian systems
32605         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
32607 2014-11-22  Daiki Ueno  <ueno@gnu.org>
32609         pipe-filter-gi, pipe-filter-ii: port to AIX
32610         On AIX 7.1, 'select' is defined as static and cannot be referred
32611         to from inline function.
32612         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
32613         the definition...
32614         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
32615         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
32617 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
32619         gitlog-to-changelog: add --until
32620         * build-aux/gitlog-to-changelog: Support new --until option.
32621         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
32623 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
32625         extern-inline: update commentary about GCC bugs
32626         * m4/extern-inline.m4: Add another GCC bug number to comments.
32628 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32630         gen-uni-tables: untabify
32631         * lib/gen-uni-tables.c: Untabify.
32633 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32635         gen-uni-tables: check out-of-range values added to 3-level tables
32636         * lib/gen-uni-tables.c (output_category, output_bidi_category)
32637         (output_joining_type, output_ident_category): Check out-of-range
32638         values added to 3-level tables.
32640 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32642         gen-uni-tables: utilize 'assert'
32643         * lib/gen-uni-tables.c: Include <assert.h>.
32644         (output_category, output_combclass, output_decimal_digit_test)
32645         (output_decimal_digit, output_digit_test, output_digit)
32646         (output_numeric, get_mirror_value, fill_properties)
32647         (fill_property30, is_property_alphabetic)
32648         (is_property_default_ignorable_code_point)
32649         (is_property_uppercase, is_property_lowercase)
32650         (is_property_cased, is_property_case_ignorable)
32651         (is_property_changes_when_lowercased, is_property_iso_control)
32652         (is_property_math, fill_arabicshaping, output_joining_group)
32653         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
32654         (output_wbp, fill_org_gbp, get_decomposition)
32655         (output_decomposition, fill_composition_exclusions)
32656         (debug_output_composition_tables, output_composition_tables)
32657         (redistribute_casefolding_rules, output_casing_rules): Use
32658         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
32659         reporting.
32661 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32663         gen-uni-tables: cosmetic improvements
32664         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
32665         variables specification.
32666         (is_outdigit): Remove unused function.
32668 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
32670         fcntl-h-tests: port to PA-RISC GNU/Linux
32671         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
32673 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
32675         fts: port to C89
32676         Problem reported for MSVC 16 by Gisle Vanem in:
32677         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
32678         * lib/fts.c (fts_build): Avoid declaration before statement.
32680 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
32682         unistd: port to iOS
32683         Problem reported by André Klitzing in:
32684         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
32685         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
32687 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
32689         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
32690         Problem reported by Alan Modra in:
32691         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
32692         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
32693         Always cast the function arg, reverting this part of the previous
32694         change.
32696 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
32698         obstack: avoid potentially-nonportable function casts
32699         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
32700         Remove, replacing with ...
32701         (call_chunkfun, call_freefun): New static functions.
32702         All uses changed.  Avoid potentially-nonportable casts.
32703         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
32704         (_obstack_begin_worker): Omit last two args, since they
32705         rely on potentially-nonportable casts.  All callers changed.
32706         * lib/obstack.h (_OBSTACK_CAST): New macro.
32707         Use it everywhere the old API used a potentially-nonportable cast.
32708         The new API doesn't cast.
32709         (struct obstack): Use unions rather than requiring
32710         potentially-nonportable casts.
32711         (obstack_chunkfun, obstack_freefun): Return void.
32713 2014-11-03  Alan Modra  <amodra@gmail.com>
32715         obstack: fix macro return values
32716         * lib/obstack.h (obstack_next_free): Return void *.
32717         (obstack_1grow_fast, obstack_blank_fast): Return void.
32718         For __GNUC__ macros:
32719         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
32720         For !__GNUC__ macros:
32721         (obstack_make_room, obstack_grow, obstack_grow0)
32722         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
32724 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
32726         obstack: do not assume system-supplied obstack is size_t safe
32727         * m4/obstack.m4: New file.
32728         * modules/obstack (Files): Add it.
32730         obstack: port to platforms that #define __alignof__
32731         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
32732         not if !_LIBC.  We don't know of any platforms that #define
32733         __alignof__, but it might be useful in tests.  Conversely,
32734         glibc assumes GCC.
32736 2014-11-03  Pádraig Brady  <P@draigBrady.com>
32738         linkat: don't unconditionally replace on GNU/Linux
32739         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
32740         was redundant for a few reasons.  It was present to support compiling
32741         on new systems but running on the old narrow window of Linux 2.6.1[67].
32742         It setup and cleaned up test files which weren't actually used.
32743         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
32744         implicit in the following check.
32746 2014-11-03  Pádraig Brady  <P@draigBrady.com>
32748         linkat: wrap to handle symlinks on OS X 10.10
32749         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
32750         but not usable because it doesn't support creating hardlinks
32751         to symlinks.  Therefore add a generic test for this capability
32752         and fallback to our emulation if linkat() fails with ENOTSUP.
32754 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
32756         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
32757         * doc/posix-functions/open.texi (open):
32758         * doc/posix-functions/openat.texi (openat):
32759         Document that these functions do not set errno to ELOOP when
32760         a symlink is opened with O_NOFOLLOW.
32762 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
32764         obstack: add NEWS entry for recent incompatible changes
32765         * NEWS: Describe recent changes.
32767 2014-10-30  Pádraig Brady  <P@draigBrady.com>
32769         mountlist: don't use libmount to decide on dummy/remote
32770         * lib/mountlist.c (read_file_system_list): Don't use the libmount
32771         routines to determine whether a file system is dummy or remote,
32772         as they're not currently compatible.  For example the remoteness
32773         is determined on file system type (for which the list seems incomplete),
32774         rather than simply checking for a ':' in the device name.
32775         Also libmount currently determines that 'tmpfs' is a dummy file system
32776         even though it has associated storage.
32778 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
32780         obstack: prefer __alignof__ to alignof
32781         This is for portability to pre-4.7 GCC when compiling glibc.
32782         See Joseph S. Myers in:
32783         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
32784         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
32785         New macro, defined by including and using <alignof.h>.
32786         (MAX): New macro.
32787         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
32788         Do not use enums as they are not portable to some broken compilers.
32789         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
32791         obstack: prefer alignof to calculating alignments by hand
32792         * lib/obstack.c: Include <stdalign.h>.
32793         (struct fooalign): Remove.
32794         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
32795         * modules/obstack (Depends-on): Add stdalign.
32797 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
32799         obstack: use size_t alignments and check for overflow
32800         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
32801         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
32802         * lib/obstack.h (struct obstack.alignment_mask):
32803         Use _OBSTACK_SIZE_T, not int, for alignments.
32804         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
32805         overflows, e.g., when adding the alignment.
32807 2014-10-29  Alan Modra  <amodra@gmail.com>
32809         obstack: 64-bit obstack support, part 3
32810         This finally enables full 64-bit obstack support.  The glibc
32811         shared library specific code is removed from obstack.c too, and
32812         the error handling code conditionally compiled under control of
32813         another macro, _OBSTACK_NO_ERROR_HANDLER.
32814         * lib/obstack.h: Include string.h earlier.
32815         (_OBSTACK_INTERFACE_VERSION): Define.
32816         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
32817         * lib/obstack.c: Don't include shlib-compat.h.
32818         (OBSTACK_INTERFACE_VERSION): Delete.
32819         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
32820         glibc code is compatible with version 2.  Don't include stdio.h for
32821         __GNU_LIBRARY.
32822         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
32823         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
32824         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
32825         glibc shared library specific source.
32827         obstack: 64-bit obstack support, part 2
32828         This gets us 4G obstack support, without changing ABI
32829         compatibility, apart from possibly introducing some
32830         signed/unsigned comparison warnings in code that uses obstack.h.
32831         a) Replace "int" size parameters, return values, and macro local vars
32832            with _OBSTACK_SIZE_T, an "unsigned int" for now.
32833         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
32834         c) Make all obstack macros checking available room use obstack_room.
32835            "next_free + desired > chunk_limit" may wrap the lhs for chunks
32836            allocated near the top of memory.
32837         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
32838         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
32839         in place of "int" size parameters, return values and local vars.
32840         (_CHUNK_SIZE_T): Define.
32841         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
32842         union use an _OBSTACK_SIZE_T integer type.
32843         For __GNUC__ versions of the following macros...
32844         (obstack_room): Rename local var.
32845         (obstack_make_room): Use obstack_room.
32846         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
32847         obstack_int_grow, obstack_blank): Likewise.
32848         (obstack_finish): Use unsigned comparison when comparing aligned
32849         next_free against chunk_limit.
32850         (obstack_free): Cast OBJ to remove possible const qualifier.
32851         For !__GNUC__ versions of the following macros...
32852         (obstack_make_room): Use obstack_room.
32853         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
32854         obstack_int_grow, obstack_blank): Likewise.
32855         (obstack_finish): Use unsigned comparision when comparing aligned
32856         next_free against chunk_limit.
32857         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
32858         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
32859         _OBSTACK_SIZE_T.
32860         (_obstack_begin, _obstack_begin_1): Likewise.
32861         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
32862         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
32864         obstack: 64-bit obstack support, part 1
32865         a) Correct calls to alloc function, to use a size_t arg.  "long" is
32866            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
32867            and "size_t" 64 bits.
32868         b) Consolidate _obstack_begin and _obstack_begin1 code.
32869         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
32870         use "size_t" rather than "long".
32871         (_obstack_begin, _obstack_begin1): Likewise.
32872         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
32873         obstack_chunkfun): Update alloc function casts.
32874         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
32875         (chunkfun_type, freefun_type): New typdefs.
32876         (_obstack_begin_worker): Split out from ..
32877         (_obstack_begin, _obstack_begin_1): ..here.
32879         obstack: tidy part 2
32880         a) Don't be concerned about "not polluting the namespace with stddef.h
32881            symbols" in obstack.h, since gnulib string.h includes stddef.h
32882            anyway, and it seems unlikely that anyone would care.
32883         b) Don't roll our own slow memcpy in _obstack_newchunk.
32884         c) Rename obstack_free to _obstack_free.  This makes the naming
32885            consistent with other obstack functions and obviates the need for
32886            __obstack_free.  Ancient obstack.c defined both obstack_free and
32887            _obstack_free.  We continue to do that for _LIBC via an alias.
32888         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
32889            is clever, but nowadays gcc warns on undefined macros.  You'll get
32890            an undefined macro warning if simulating an old gcc with -U__GNUC__
32891            -U__GNUC_MINOR__ -D__GNUC__=1.
32892         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
32893         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
32894         (__obstack_free): Delete, update refs.
32895         (_obstack_free): Rename from obstack_free.
32896         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
32897         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
32898         * lib/obstack.c: Don't include stddef.h.
32899         (COPYING_UNIT): Delete.
32900         (_obstack_begin): Formatting fix.
32901         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
32902         (_obstack_free): Rename from __obstack_free, update alias.  Move
32903         undef of obstack_free to where it is needed.
32905         obstack: tidy part 1
32906         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
32907            to me, and result in overlong lines after later patches.
32908         b) Move error handling code, to avoid a forward declaration and to
32909            simplify later patches in this series.
32910         * lib/obstack.h (struct obstack <temp>): Rename fields of union
32911         and update all uses.
32912         * lib/obstack.c: Include stdlib.h earlier.
32913         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
32914         in file.
32915         (print_and_abort): Remove now redundant forward declaration.
32917 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
32919         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
32920         Without this change, in bleeding-edge fileutils Autoconf complains
32921         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
32922         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
32923         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
32924         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
32926 2014-10-24  Daiki Ueno  <ueno@gnu.org>
32928         iconv: avoid false detection of non-working iconv
32929         The INBUF arguments of iconv can be either 'const char **'
32930         or 'char **'.  If CC is g++, the difference causes a compile error
32931         and thus leads to a false detection of non-working iconv.
32932         Reported by Eli Zaretskii and Werner LEMBERG in:
32933         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
32934         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
32935         iconv.  Bump serial number.
32937 2014-10-23  Pádraig Brady  <P@draigBrady.com>
32939         bootstrap: print more diagnostics for missing programs
32940         * build-aux/bootstrap: only suppress stderr when checking for
32941         alternative program names.  This supports programs issuing non
32942         standard error messages.
32944 2014-10-23  Pádraig Brady  <P@draigBrady.com>
32946         bootstrap: only update the gnulib submodule
32947         * build-aux/bootstrap: Restrict the "submodule update" command
32948         to the gnulib path.
32950 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
32952         symlinkat: port to AIX 7.1
32953         * doc/posix-functions/symlinkat.texi (symlinkat):
32954         Mention AIX porting problem.
32955         * lib/symlinkat.c: Always include errno.h.
32956         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
32957         * lib/unistd.in.h (symlinkat): Add replacement machinery.
32958         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
32959         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
32960         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
32961         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
32962         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
32964         readlinkat: port to AIX 7.1
32965         * doc/posix-functions/readlink.texi (readlink):
32966         * doc/posix-functions/readlinkat.texi (readlinkat):
32967         Mention AIX porting problem.
32968         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
32969         New function.
32970         * lib/unistd.in.h (readlinkat): Add replacement machinery.
32971         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
32972         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
32973         * modules/readlinkat (configure.ac): Also compile replacement
32974         if REPLACE_READLINKAT.
32975         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
32977 2014-10-12  Karl Berry  <karl@gnu.org>
32979         * doc/posix-functions/dirname.texi: remove spurious {.
32981 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
32983         basename, dirname: Improve documentation.
32984         * doc/posix-functions/basename.texi: Mention dirname module and
32985         base_name() function.
32986         * doc/posix-functions/dirname.texi: Mention dir_name() and
32987         mdir_name() functions.
32988         Suggested by Werner LEMBERG <wl@gnu.org>.
32990 2014-09-24  Jim Meyering  <meyering@fb.com>
32992         exclude: declare exclude_patopts static
32993         * lib/exclude.c (exclude_patopts): Declare static,
32994         to avoid triggering a -Wmissing-prototypes warning.
32995         The alternative (declaring it in the .h file) would
32996         require publicizing the private "struct patopts".
32998 2014-09-21  Werner Lemberg  <wl@gnu.org>
33000         dirname: support compilation with C++
33001         * lib/dirname.h: Add necessary C linkage declarations.
33003 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
33005         qsort_r: include <config.h>
33006         Problem reported by Tom G. Christensen in:
33007         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
33008         * lib/qsort.c [!_LIBC]: Include <config.h> first.
33010 2014-09-16  Dylan Cali  <calid1984@gmail.com>
33012         avltree-list: avoid compiler warnings (trivial)
33013         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
33014         -Werror=suggest-attribute=pure.
33015         * lib/gl_array_list.c: Likewise.
33016         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
33017         declaration to avoid -Werror=missing-prototypes.  This is not added
33018         to a header as only exported for tests.  Add (void) to the
33019         check_invariants() call to indicate we're discarding the result
33020         in this context which avoids -Werror=unused-value.  Note we don't
33021         use ignore_value here to avoid a dependency as we know we'll not
33022         be adding __attribute__((warn_unused_result)) to check_invariants().
33023         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
33025 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
33027         qsort_r: new module, for GNU-style qsort_r
33028         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
33030 2014-09-15  Werner LEMBERG  <wl@gnu.org>
33032         strerror_r-posix: support compilation with C++
33033         * lib/strerror_r.c: Add necessary C linkage declarations.
33035 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
33037         fcntl-h: fix compilation with Intel C++ compiler (trivial)
33038         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
33040 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
33042         mountlist: use /proc/self/mountinfo when available
33043         Use libmount to propagate device IDs provided by Linux in
33044         /proc/self/mountinfo.  This will give more accurate output when
33045         using df in chroot'ed environments as the device IDs are not
33046         determined by stat() which may be inaccurate within the chroot.
33047         * lib/mountlist.c (read_file_system_list): Use the libmount routines
33048         from util-linux to parse "/proc/self/mountinfo" or fall back to
33049         standard getmntent() processing.
33050         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
33051         getmntent() is used, as is the case on GNU/Linux.
33053 2014-09-07  Eric Wong  <normalperson@yhbt.net>
33055         users.txt: add cmogstored
33056         cmogstored has used gnulib since the beginning in 2012 to support
33057         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
33059 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
33061         Trivial change.
33062         * gnulib-tool: Use same options as build-aux/bootstrap to download
33063         PO files.
33065 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
33067         Trivial change.
33068         * gnulib-tool: Fallback to wget when rsync of PO files fails.
33070 2014-09-04  Eric Blake  <eblake@redhat.com>
33072         maintainer-makefile: add syntax check for useless ';;'
33073         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
33075 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
33077         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
33078         Problem reported by Assaf Gordon in:
33079         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
33080         Apparently Ubuntu is doing some fancy link-time optimization
33081         that doesn't work with -lpthread but does work with -pthread.
33082         Work around the bug by preferring -pthread to -lpthread.
33083         * m4/pthread.m4 (gl_PTHREAD_CHECK):
33084         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
33085         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
33086         Treat -pthread like -lpthread.
33088 2014-09-04  Eric Blake  <eblake@redhat.com>
33090         error: drop spurious semicolon
33091         * lib/error.c (__error_at_line): Fix ';;'.
33093 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
33095         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
33096         * m4/gnulib-common.m4 (AC_C_RESTRICT):
33097         Override AC_C_RESTRICT unconditionally.
33098         Update from autoconf, incorporating:
33099         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
33100         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
33102 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
33104         manywarnings: add GCC 4.9 warnings
33105         Also, make it easier to maintain this in the future.
33106         * build-aux/gcc-warning.spec: Add -Wabi-tag,
33107         -Wconditionally-supported, -Wdelete-incomplete,
33108         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
33109         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
33110         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
33111         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
33112         only for older GCC versions that need them.  Handle
33113         -Wnormalized=nfc specially, so that the 'comm' command used
33114         for maintenance doesn't get confused.
33116 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
33118         vasnprintf: fix bugs in width computation
33119         * lib/vasnprintf.c (VASNPRINTF):
33120         Rework previous change, which introduced a bug,
33121         to avoid the warning in a different way.
33122         Avoid undefined behavior if the width arg is less than -INT_MAX.
33123         Avoid unnecessary use of HAS_WIDTH local.
33125 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
33127         vasnprintf: Avoid signed/unsigned comparison warning.
33128         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
33129         compare end addr of generated string w/ maximum end addr.
33131 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
33133         parse-datetime: Avoid pointer difference.
33134         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
33135         instead of calculating difference of pointers.  This removes an
33136         annoying warning, devoid of any use.
33138 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
33140         qsort_r: new module, for GNU-style qsort_r
33141         This works even on FreeBSD, which has an incompatible qsort_r API.
33142         * MODULES.html.sh: Add it.
33143         * doc/glibc-functions/qsort_r.texi: It's now supported.
33144         * lib/qsort.c: New file, taken from glibc with minor changes
33145         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
33146         removed.
33147         * lib/qsort_r.c: New file, compiled only on FreeBSD.
33148         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
33149         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
33150         * modules/qsort_r, modules/qsort_r-tests: New files.
33151         * modules/stdlib (Makefile): Set up its defaults.
33152         * tests/test-qsort_r.c: New file.
33154 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
33156         vla: new module
33157         GNU RCS can use this, mostly for documentation I expect.  See:
33158         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
33159         * MODULES.html.sh: Add vla.
33160         * lib/vla.h, modules/vla: New files.
33162 2014-08-07  Daiki Ueno  <ueno@gnu.org>
33164         localename: make gl_locale_name_thread really thread-safe on Windows
33165         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
33166         "glthread/lock.h".
33167         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
33168         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
33170 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
33172         getpass: don't assume struct termios
33173         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
33174         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
33175         * lib/getpass.c (getpass): Port to systems lacking struct termios.
33177         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
33178         Problem reported by Jonas 'Sortie' Termansen in:
33179         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
33180         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
33181         Implement via sysconf for platforms that lack getdtablesize.
33183         vararrays: modernize AC_C_VARARRAYS for C11
33184         This backports a change I recently made to Autoconf.
33185         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
33186         VLAs are not supported, as this is what C11 does.  The old macro
33187         HAVE_C_VARARRAYS is still defined if they are supported, but is
33188         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
33190 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
33192         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
33193         * build-aux/install-reloc (func_create_wrapper): Also wrap
33194         strerror-override, stat, stat.
33196 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
33198         sys_select: fix FD_ZERO problem on Solaris 10
33199         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
33200         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
33201         to expand to an expression that invoked memset without necessarily
33202         including <string.h>.  The problem was that the first include
33203         defined _SYS_TIME_H, causing the second include to short-circuit.
33204         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
33205         Also, fix what appears to be a cut-and-paste typo, by replacing
33206         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
33207         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
33209         accept: document Solaris 10 type glitch
33210         * doc/posix-functions/accept.texi (accept): Mention that
33211         Solaris 10 'accept' takes void * last arg, not socklen_t *.
33213 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
33215         extern-inline: port to FreeBSD, DragonFly
33216         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
33217         is present if either __DragonFly__ or __FreeBSD__ is defined.
33218         FreeBSD problem reported by Andrey Borzenkov in:
33219         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
33220         Also, worry about __APPLE__ only if __MACH__ is also defined,
33221         as this is more consistent with the rest of gnulib.
33222         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
33223         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
33225 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
33227         regex: Make #if/#ifdef usage consistent for DEBUG
33228         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
33229         of the inconsistent usage of #if and #ifdef as that works with
33230         both Glibc and Gnulib's style.
33232 2014-07-31  Eric Blake  <eblake@redhat.com>
33234         openat-die: use _Noreturn markup
33235         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
33236         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
33237         _Noreturn.
33239 2014-07-30  Eric Blake  <eblake@redhat.com>
33241         test-open: port to cygwin, which lacks Fortify
33242         * tests/test-open.h (ALWAYS_INLINE): New macro.
33243         (__always_inline): Don't abuse internal symbol on non-glibc.
33245 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
33247         localename: Enforce declarations before statements.
33248         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
33249         first statement.
33251 2014-07-18  Jim Meyering  <meyering@fb.com>
33253         test-userspec: don't look up numeric user names
33254         * tests/test-userspec.c: I found a system for which getpwnam("0")
33255         returned a pointer to a non-root user's entry, and that made the
33256         test fail.
33257         (T): Prefix each numeric input with "+", to inhibit lookup.
33259 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
33261         localcharset, localename: MS-Windows support for non-default locales
33262         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
33263         falling back on the default system codepage, try extracting
33264         the codepage from what 'setlocale' returns.  This allows to
33265         take into account changes of the codeset due to non-default
33266         locale set by a previous call to 'setlocale'.
33267         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
33268         Define if not already defined.
33269         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
33270         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
33271         current locale by calling 'setlocale', then converting the
33272         locale name into LCID by calling 'get_lcid'.  This allows to
33273         take into account changes in the current locale from the
33274         default one, in contrast to GetThreadLocale.
33276 2014-07-14  Daiki Ueno  <ueno@gnu.org>
33278         announce-gen: avoid failure when Digest::SHA is installed
33279         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
33280         Digest::SHA1->new in print_checksums fails.
33281         * build-aux/announce-gen (digest_classes): New associative array
33282         for available message digest implementations.
33283         (print_locations): Use it.
33285 2014-07-13  Pádraig Brady  <P@draigBrady.com>
33287         gettext: revert "update macros to version 0.19"
33288         This reverts commit 9b9370ca, as it currently requires that
33289         developers of any project that explicitly uses the gettext module
33290         or implicitly uses it through the utimens-tests or
33291         futimens-tests modules, use gettext >= 0.19.
33292         However there are some stability and availablity issues with
33293         that version at present.  We can reinstate this soon, when stability
33294         is addressed and packages are more readily available.
33296 2014-07-12  Jim Meyering  <meyering@fb.com>
33298         regex: don't deref NULL upon heap allocation failure
33299         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
33300         failure in one more place.
33301         To trigger the segfault, configure grep -with-included-regex,
33302         build it, and run these commands:
33303         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
33304         I discovered this while replying to a private report from
33305         Jens Schleusener about excessive memory consumption by grep
33306         when using a regular expression like the one above.
33308 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
33310         regex: fix memory leak in compiler
33311         Fix by Andreas Schwab in:
33312         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
33313         * lib/regcomp.c (parse_reg_exp): Deallocate partially
33314         constructed tree before returning error.
33316 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
33318         announce-gen: avoid perl warnings
33319         * build-aux/announce-gen: add two minor checks to avoid
33320         "use of uninitialized value" warnings when command-line parameters are
33321         missing.
33323 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
33325         localename: avoid -Wsuggest-attribute={const,pure} warnings
33326         * lib/localename.c (string_has): Tag internal function as pure.
33327         * lib/localename.h (gl_locale_name_default): Tag extern declaration
33328         as const when appropriate.
33330 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
33332         nl_langinfo: Fix last change.
33333         * lib/nl_langinfo.c (includes): Drop redundant include.
33335 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
33337         error: Fix -Wundef warnings in glibc
33338         * lib/error.c [_LIBC]: Define default macros for
33339         glibc.
33340         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
33341         Check _LIBC before STRERROR_R_CHAR_P.
33343         error: Sync from glibc master
33344         * lib/error.c [_LIBC]: Remove INTUSE usage.
33345         (error_tail): Remove unused macro ALLOCA_LIMIT.
33346         Fix potential buffer overflow.  Fix potential NULL dereference
33347         in strcmp.
33349 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
33351         nl_langinfo: fix build under mingw
33352         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
33354 2014-07-09  Andrew D Warshall  <warshall@99main.com>
33356         mountlist: do not classify a bind-mounted dir entry as "dummy"
33357         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
33358         1-argument getmntent() (instead of assuming absence).
33360 2014-07-08  Eric Blake  <eblake@redhat.com>
33362         maint.mk: less syntax-check noise when SIGPIPE is ignored
33363         * top/maint.mk (_sc_header_without_use)
33364         (sc_require_config_h_first): Parse full list.
33366 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
33367             Paul Eggert  <eggert@cs.ucla.edu>
33369         nl_langinfo: CODESET on MS-Windows and more items from localeconv
33370         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
33371         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
33372         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
33373         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
33374         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
33375         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
33376         Include <stdio.h> if Microsoft Windows.
33377         Include <time.h> if !REPLACE_NL_LANGINFO.
33378         (ctype_codeset): New function, taken from rpl_nl_langinfo,
33379         and with improvements for Microsoft Windows.
33380         (rpl_nl_langinfo): Use it.
33381         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
33382         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
33383         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
33384         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
33385         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
33386         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
33387         corresponding values returned by 'localeconv'.  Compute the values
33388         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
33389         'strftime' with a suitable struct tm value.
33391 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
33393         Bruno Haible has stepped down as maintainer.
33394         See Karl Berry in:
33395         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
33396         Daiki Ueno has volunteered to maintain libunistring; see:
33397         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
33398         * modules/gen-uni-tables, modules/libunistring:
33399         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
33400         * modules/unicase/base, modules/unicase/cased:
33401         * modules/unicase/empty-prefix-context:
33402         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
33403         * modules/unicase/locale-language, modules/unicase/special-casing:
33404         * modules/unicase/tocasefold, modules/unicase/tolower:
33405         * modules/unicase/totitle, modules/unicase/toupper:
33406         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
33407         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
33408         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
33409         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
33410         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
33411         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
33412         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
33413         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
33414         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
33415         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
33416         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
33417         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
33418         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
33419         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
33420         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
33421         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
33422         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
33423         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
33424         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
33425         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
33426         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
33427         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
33428         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
33429         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
33430         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
33431         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
33432         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
33433         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
33434         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
33435         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
33436         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
33437         * modules/unicase/ulc-casexfrm, modules/unicodeio:
33438         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
33439         * modules/uniconv/u16-conv-to-enc:
33440         * modules/uniconv/u16-strconv-from-enc:
33441         * modules/uniconv/u16-strconv-from-locale:
33442         * modules/uniconv/u16-strconv-to-enc:
33443         * modules/uniconv/u16-strconv-to-locale:
33444         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
33445         * modules/uniconv/u32-strconv-from-enc:
33446         * modules/uniconv/u32-strconv-from-locale:
33447         * modules/uniconv/u32-strconv-to-enc:
33448         * modules/uniconv/u32-strconv-to-locale:
33449         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
33450         * modules/uniconv/u8-strconv-from-enc:
33451         * modules/uniconv/u8-strconv-from-locale:
33452         * modules/uniconv/u8-strconv-to-enc:
33453         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
33454         * modules/unictype/bidicategory-all:
33455         * modules/unictype/bidicategory-byname:
33456         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
33457         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
33458         * modules/unictype/bidiclass-byname:
33459         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
33460         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
33461         * modules/unictype/block-all, modules/unictype/block-list:
33462         * modules/unictype/block-of, modules/unictype/block-test:
33463         * modules/unictype/category-C, modules/unictype/category-Cc:
33464         * modules/unictype/category-Cf, modules/unictype/category-Cn:
33465         * modules/unictype/category-Co, modules/unictype/category-Cs:
33466         * modules/unictype/category-L, modules/unictype/category-LC:
33467         * modules/unictype/category-Ll, modules/unictype/category-Lm:
33468         * modules/unictype/category-Lo, modules/unictype/category-Lt:
33469         * modules/unictype/category-Lu, modules/unictype/category-M:
33470         * modules/unictype/category-Mc, modules/unictype/category-Me:
33471         * modules/unictype/category-Mn, modules/unictype/category-N:
33472         * modules/unictype/category-Nd, modules/unictype/category-Nl:
33473         * modules/unictype/category-No, modules/unictype/category-P:
33474         * modules/unictype/category-Pc, modules/unictype/category-Pd:
33475         * modules/unictype/category-Pe, modules/unictype/category-Pf:
33476         * modules/unictype/category-Pi, modules/unictype/category-Po:
33477         * modules/unictype/category-Ps, modules/unictype/category-S:
33478         * modules/unictype/category-Sc, modules/unictype/category-Sk:
33479         * modules/unictype/category-Sm, modules/unictype/category-So:
33480         * modules/unictype/category-Z, modules/unictype/category-Zl:
33481         * modules/unictype/category-Zp, modules/unictype/category-Zs:
33482         * modules/unictype/category-all, modules/unictype/category-and:
33483         * modules/unictype/category-and-not, modules/unictype/category-byname:
33484         * modules/unictype/category-longname, modules/unictype/category-name:
33485         * modules/unictype/category-none, modules/unictype/category-of:
33486         * modules/unictype/category-or, modules/unictype/category-test:
33487         * modules/unictype/category-test-withtable:
33488         * modules/unictype/combining-class:
33489         * modules/unictype/combining-class-all:
33490         * modules/unictype/combining-class-byname:
33491         * modules/unictype/combining-class-longname:
33492         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
33493         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
33494         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
33495         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
33496         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
33497         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
33498         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
33499         * modules/unictype/digit, modules/unictype/joininggroup-all:
33500         * modules/unictype/joininggroup-byname:
33501         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
33502         * modules/unictype/joiningtype-all:
33503         * modules/unictype/joiningtype-byname:
33504         * modules/unictype/joiningtype-longname:
33505         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
33506         * modules/unictype/mirror, modules/unictype/numeric:
33507         * modules/unictype/property-all, modules/unictype/property-alphabetic:
33508         * modules/unictype/property-ascii-hex-digit:
33509         * modules/unictype/property-bidi-arabic-digit:
33510         * modules/unictype/property-bidi-arabic-right-to-left:
33511         * modules/unictype/property-bidi-block-separator:
33512         * modules/unictype/property-bidi-boundary-neutral:
33513         * modules/unictype/property-bidi-common-separator:
33514         * modules/unictype/property-bidi-control:
33515         * modules/unictype/property-bidi-embedding-or-override:
33516         * modules/unictype/property-bidi-eur-num-separator:
33517         * modules/unictype/property-bidi-eur-num-terminator:
33518         * modules/unictype/property-bidi-european-digit:
33519         * modules/unictype/property-bidi-hebrew-right-to-left:
33520         * modules/unictype/property-bidi-left-to-right:
33521         * modules/unictype/property-bidi-non-spacing-mark:
33522         * modules/unictype/property-bidi-other-neutral:
33523         * modules/unictype/property-bidi-pdf:
33524         * modules/unictype/property-bidi-segment-separator:
33525         * modules/unictype/property-bidi-whitespace:
33526         * modules/unictype/property-byname:
33527         * modules/unictype/property-case-ignorable:
33528         * modules/unictype/property-cased:
33529         * modules/unictype/property-changes-when-casefolded:
33530         * modules/unictype/property-changes-when-casemapped:
33531         * modules/unictype/property-changes-when-lowercased:
33532         * modules/unictype/property-changes-when-titlecased:
33533         * modules/unictype/property-changes-when-uppercased:
33534         * modules/unictype/property-combining:
33535         * modules/unictype/property-composite:
33536         * modules/unictype/property-currency-symbol:
33537         * modules/unictype/property-dash:
33538         * modules/unictype/property-decimal-digit:
33539         * modules/unictype/property-default-ignorable-code-point:
33540         * modules/unictype/property-deprecated:
33541         * modules/unictype/property-diacritic:
33542         * modules/unictype/property-extender:
33543         * modules/unictype/property-format-control:
33544         * modules/unictype/property-grapheme-base:
33545         * modules/unictype/property-grapheme-extend:
33546         * modules/unictype/property-grapheme-link:
33547         * modules/unictype/property-hex-digit:
33548         * modules/unictype/property-hyphen:
33549         * modules/unictype/property-id-continue:
33550         * modules/unictype/property-id-start:
33551         * modules/unictype/property-ideographic:
33552         * modules/unictype/property-ids-binary-operator:
33553         * modules/unictype/property-ids-trinary-operator:
33554         * modules/unictype/property-ignorable-control:
33555         * modules/unictype/property-iso-control:
33556         * modules/unictype/property-join-control:
33557         * modules/unictype/property-left-of-pair:
33558         * modules/unictype/property-line-separator:
33559         * modules/unictype/property-logical-order-exception:
33560         * modules/unictype/property-lowercase, modules/unictype/property-math:
33561         * modules/unictype/property-non-break:
33562         * modules/unictype/property-not-a-character:
33563         * modules/unictype/property-numeric:
33564         * modules/unictype/property-other-alphabetic:
33565         * modules/unictype/property-other-default-ignorable-code-point:
33566         * modules/unictype/property-other-grapheme-extend:
33567         * modules/unictype/property-other-id-continue:
33568         * modules/unictype/property-other-id-start:
33569         * modules/unictype/property-other-lowercase:
33570         * modules/unictype/property-other-math:
33571         * modules/unictype/property-other-uppercase:
33572         * modules/unictype/property-paired-punctuation:
33573         * modules/unictype/property-paragraph-separator:
33574         * modules/unictype/property-pattern-syntax:
33575         * modules/unictype/property-pattern-white-space:
33576         * modules/unictype/property-private-use:
33577         * modules/unictype/property-punctuation:
33578         * modules/unictype/property-quotation-mark:
33579         * modules/unictype/property-radical:
33580         * modules/unictype/property-sentence-terminal:
33581         * modules/unictype/property-soft-dotted:
33582         * modules/unictype/property-space:
33583         * modules/unictype/property-terminal-punctuation:
33584         * modules/unictype/property-test, modules/unictype/property-titlecase:
33585         * modules/unictype/property-unassigned-code-value:
33586         * modules/unictype/property-unified-ideograph:
33587         * modules/unictype/property-uppercase:
33588         * modules/unictype/property-variation-selector:
33589         * modules/unictype/property-white-space:
33590         * modules/unictype/property-xid-continue:
33591         * modules/unictype/property-xid-start:
33592         * modules/unictype/property-zero-width, modules/unictype/scripts:
33593         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
33594         * modules/unictype/syntax-c-whitespace:
33595         * modules/unictype/syntax-java-ident:
33596         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
33597         * modules/unigbrk/u16-grapheme-breaks:
33598         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
33599         * modules/unigbrk/u32-grapheme-breaks:
33600         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
33601         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
33602         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
33603         * modules/unigbrk/uc-is-grapheme-break:
33604         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
33605         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
33606         * modules/unilbrk/u16-width-linebreaks:
33607         * modules/unilbrk/u32-possible-linebreaks:
33608         * modules/unilbrk/u32-width-linebreaks:
33609         * modules/unilbrk/u8-possible-linebreaks:
33610         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
33611         * modules/unilbrk/ulc-possible-linebreaks:
33612         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
33613         * modules/uniname/uniname, modules/uninorm/base:
33614         * modules/uninorm/canonical-decomposition:
33615         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
33616         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
33617         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
33618         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
33619         * modules/uninorm/nfkc, modules/uninorm/nfkd:
33620         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
33621         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
33622         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
33623         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
33624         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
33625         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
33626         * modules/unistdio/base, modules/unistdio/u-printf-args:
33627         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
33628         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
33629         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
33630         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
33631         * modules/unistdio/u16-u16-sprintf:
33632         * modules/unistdio/u16-u16-vasnprintf:
33633         * modules/unistdio/u16-u16-vasprintf:
33634         * modules/unistdio/u16-u16-vsnprintf:
33635         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
33636         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
33637         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
33638         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
33639         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
33640         * modules/unistdio/u32-u32-asnprintf:
33641         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
33642         * modules/unistdio/u32-u32-sprintf:
33643         * modules/unistdio/u32-u32-vasnprintf:
33644         * modules/unistdio/u32-u32-vasprintf:
33645         * modules/unistdio/u32-u32-vsnprintf:
33646         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
33647         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
33648         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
33649         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
33650         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
33651         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
33652         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
33653         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
33654         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
33655         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
33656         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
33657         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
33658         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
33659         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
33660         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
33661         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
33662         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
33663         * modules/unistr/u16-check, modules/unistr/u16-chr:
33664         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
33665         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
33666         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
33667         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
33668         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
33669         * modules/unistr/u16-move, modules/unistr/u16-next:
33670         * modules/unistr/u16-prev, modules/unistr/u16-set:
33671         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
33672         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
33673         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
33674         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
33675         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
33676         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
33677         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
33678         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
33679         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
33680         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
33681         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
33682         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
33683         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
33684         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
33685         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
33686         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
33687         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
33688         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
33689         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
33690         * modules/unistr/u32-next, modules/unistr/u32-prev:
33691         * modules/unistr/u32-set, modules/unistr/u32-startswith:
33692         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
33693         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
33694         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
33695         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
33696         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
33697         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
33698         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
33699         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
33700         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
33701         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
33702         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
33703         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
33704         * modules/unistr/u8-check, modules/unistr/u8-chr:
33705         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
33706         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
33707         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
33708         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
33709         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
33710         * modules/unistr/u8-next, modules/unistr/u8-prev:
33711         * modules/unistr/u8-set, modules/unistr/u8-startswith:
33712         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
33713         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
33714         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
33715         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
33716         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
33717         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
33718         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
33719         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
33720         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
33721         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
33722         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
33723         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
33724         * modules/uniwbrk/base, modules/uniwbrk/table:
33725         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
33726         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
33727         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
33728         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
33729         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
33730         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
33731         * modules/uniwidth/width, modules/utf16-ucs4:
33732         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
33733         * modules/utf8-ucs4-unsafe:
33734         Change maintainer from Bruno Haible to Daiki Ueno.
33735         This is my guess at the libunistring modules; please feel free
33736         to fix if I guessed incorrectly.
33737         * modules/accept4, modules/acl, modules/acos, modules/acosf:
33738         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
33739         * modules/areadlink, modules/array-list, modules/array-mergesort:
33740         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
33741         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
33742         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
33743         * modules/binary-io, modules/bison-i18n, modules/btowc:
33744         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
33745         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
33746         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
33747         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
33748         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
33749         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
33750         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
33751         * modules/closedir, modules/concat-filename, modules/copy-file:
33752         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
33753         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
33754         * modules/csharpcomp-script, modules/csharpexec:
33755         * modules/csharpexec-script, modules/ctype, modules/diffseq:
33756         * modules/dprintf, modules/dprintf-posix, modules/dup:
33757         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
33758         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
33759         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
33760         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
33761         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
33762         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
33763         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
33764         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
33765         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
33766         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
33767         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
33768         * modules/findprog, modules/findprog-lgpl, modules/floor:
33769         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
33770         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
33771         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
33772         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
33773         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
33774         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
33775         * modules/freadable, modules/freadahead, modules/freadptr:
33776         * modules/freadseek, modules/freopen, modules/frexp:
33777         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
33778         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
33779         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
33780         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
33781         * modules/ftello, modules/full-read, modules/full-write:
33782         * modules/fwritable, modules/fwriteerror, modules/gcd:
33783         * modules/get-rusage-as, modules/get-rusage-data:
33784         * modules/getdtablesize, modules/getrusage, modules/gettext:
33785         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
33786         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
33787         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
33788         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
33789         * modules/iconv, modules/iconv-h, modules/iconv_open:
33790         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
33791         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
33792         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
33793         * modules/integer_length_ll, modules/ioctl, modules/isatty:
33794         * modules/isblank, modules/isnand, modules/isnand-nolibm:
33795         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
33796         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
33797         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
33798         * modules/javaexec, modules/javaexec-script, modules/javaversion:
33799         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
33800         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
33801         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
33802         * modules/lib-symbol-visibility, modules/libsigsegv:
33803         * modules/linked-list, modules/linkedhash-list, modules/list:
33804         * modules/localcharset, modules/locale, modules/localeconv:
33805         * modules/localename, modules/lock, modules/log, modules/log-ieee:
33806         * modules/log10, modules/log10-ieee, modules/log10f:
33807         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
33808         * modules/log1p, modules/log1p-ieee, modules/log1pf:
33809         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
33810         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
33811         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
33812         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
33813         * modules/logf, modules/logf-ieee, modules/login_tty:
33814         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
33815         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
33816         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
33817         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
33818         * modules/mbscspn, modules/mbsinit, modules/mbslen:
33819         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
33820         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
33821         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
33822         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
33823         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
33824         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
33825         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
33826         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
33827         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
33828         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
33829         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
33830         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
33831         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
33832         * modules/posix_spawn, modules/posix_spawn-internal:
33833         * modules/posix_spawn_file_actions_addclose:
33834         * modules/posix_spawn_file_actions_adddup2:
33835         * modules/posix_spawn_file_actions_addopen:
33836         * modules/posix_spawn_file_actions_destroy:
33837         * modules/posix_spawn_file_actions_init:
33838         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
33839         * modules/posix_spawnattr_getpgroup:
33840         * modules/posix_spawnattr_getschedparam:
33841         * modules/posix_spawnattr_getschedpolicy:
33842         * modules/posix_spawnattr_getsigdefault:
33843         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
33844         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
33845         * modules/posix_spawnattr_setschedparam:
33846         * modules/posix_spawnattr_setschedpolicy:
33847         * modules/posix_spawnattr_setsigdefault:
33848         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
33849         * modules/pow, modules/powf, modules/printf-frexp:
33850         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
33851         * modules/progname, modules/propername, modules/pselect:
33852         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
33853         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
33854         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
33855         * modules/read, modules/readdir, modules/readlink:
33856         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
33857         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
33858         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
33859         * modules/relocatable-script, modules/remainder:
33860         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
33861         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
33862         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
33863         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
33864         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
33865         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
33866         * modules/setlocale, modules/sh-quote, modules/shutdown:
33867         * modules/signal, modules/signbit, modules/sigpipe:
33868         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
33869         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
33870         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
33871         * modules/snippet/link-warning, modules/snippet/unused-parameter:
33872         * modules/snprintf, modules/snprintf-posix, modules/spawn:
33873         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
33874         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
33875         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
33876         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
33877         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
33878         * modules/streq, modules/strerror_r-posix, modules/striconv:
33879         * modules/striconveh, modules/striconveha, modules/strncat:
33880         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
33881         * modules/sublist, modules/sys_resource, modules/sys_utsname:
33882         * modules/sys_wait, modules/system-posix, modules/system-quote:
33883         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
33884         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
33885         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
33886         * modules/truncf, modules/truncf-ieee, modules/truncl:
33887         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
33888         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
33889         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
33890         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
33891         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
33892         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
33893         * modules/wait-process, modules/waitpid, modules/wcpcpy:
33894         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
33895         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
33896         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
33897         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
33898         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
33899         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
33900         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
33901         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
33902         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
33903         * modules/write, modules/xconcat-filename, modules/xlist:
33904         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
33905         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
33906         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
33907         * modules/y0, modules/y1, modules/yn:
33908         Remove Bruno Haible as maintainer; if he's the sole maintainer,
33909         change the maintainer to 'all'.  Let's hope someone volunteers.
33911 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
33913         mktime: merge #if/#ifdef usage from glibc
33914         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
33915         as that works with both Glibc's and Gnulib's style.
33916         See thread starting at Siddhesh Poyarekar's bug report at:
33917         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
33919 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
33921         git-version-gen: improve option descriptions
33922         * build-aux/git-version-gen: Mention that --prefix and --fallback
33923         have a mandatory argument.
33925 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
33927         regex: fix memory leak in compiler
33928         Fix by Andreas Schwab in:
33929         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
33930         * lib/regcomp.c (parse_expression): Deallocate partially
33931         constructed tree before returning error.
33933         regex: merge patch from libc
33934         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
33935         Combine __USE_BSD and __USE_SVID into __USE_MISC.
33936         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
33938 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
33940         acl: port to gcc -Wredundant-decls
33941         From a request by Dmitry Antipov in:
33942         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
33943         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
33944         "#ifndef _GL_ACL_H".
33946 2014-06-11  Bruce Korb  <bkorb@gnu.org>
33947         Jim Meyering  <meyering@fb.com>
33949         parse-duration: eliminate 68-year duration limit
33950         * lib/parse-duration.c: Include "intprops.h".
33951         (TIME_MAX): Rename to MAX_DURATION and define to
33952         TYPE_MAXIMUM(time_t).
33953         * modules/parse-duration (Depends-on): Add intprops.
33954         Reported by Jonas 'Sortie' Termansen.
33956 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
33958         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
33959         * modules/pthread (Depends-on): Add 'extensions', as it defines
33960         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
33961         (configure.ac-early): New section.
33962         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
33963         it is no longer needed.
33965 2014-06-14  Pádraig Brady  <P@draigBrady.com>
33967         pthread: define thread-safe macros on some platforms
33968         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
33969         for thread-safe operation on some platforms.
33971 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
33973         regex: don't be multithreaded if USE_UNLOCKED_IO.
33974         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
33975         * lib/regex_internal.h: Do not use multithreaded version if
33976         USE_UNLOCKED_IO is defined.  This is a hack, but it works
33977         around a porting bug with coreutils 8.22 on AIX 7.1.
33979 2014-06-11  Daiki Ueno  <ueno@gnu.org>
33981         gettext: update macros to version 0.19
33982         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
33983         depend on gl_EXTERN_INLINE and drop support for older Bison
33984         versions.
33986 2014-06-10  Pádraig Brady  <P@draigBrady.com>
33988         select,poll: fix console handle check on windows 8
33989         lib/poll.c (IsConsoleHandle): Change from testing the lower
33990         2 bits of the handle to the more expensive but accurate syscall.
33991         lib/select.c: Likewise.
33993 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
33995         select: fix waiting on anonymous pipes on MS-Windows
33996         * lib/select.c (rpl_select): Fall back to polling when select()
33997         indicates there is nothing to check, while due to the timeout not
33998         expiring, activity is indicated on one of the handles.
33999         Also clear the TIMEOUT argument if the timer does expire.
34001 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
34003         times: fix to return non constant value on MS-Windows
34004         * lib/times.c (times): Don't use the process creation time,
34005         rather clock() which on windows returns the number of
34006         clock ticks since the process started.
34008 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
34010         isatty: fix to work on windows 8
34011         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
34012         2 bits of the handle to the more expensive but accurate syscall.
34014 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
34016         maint: fix typo in fdl.texi
34017         * doc/fdl.texi: Fix typo (missing '@').
34018         Somehow this was in fdl.texi but not fdl-1.3.texi.
34020 2014-06-06  Ben Walton  <bdwalton@gmail.com>
34022         mountlist: avoid hasmntopt const type warning on solaris
34023         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
34024         with char * instead of const char *.  Passing the constant string
34025         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
34026         to avoid the warning.
34028 2014-06-04  Eric Blake  <eblake@redhat.com>
34030         maintainer-makefile: delete obsolete code
34031         * top/maint.mk (build_aux): Drop old code, as threatened.
34033         maintainer-makefile: avoid spurious error messages
34034         * top/maint.mk (syntax-check): Guard definition and use of
34035         $(shell) by whether Makefile is present.
34037 2014-06-03  Ben Walton  <bdwalton@gmail.com>
34039         rename: avoid unused-but-set-variable compiler warning
34040         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
34041         it is possible that dst_exists may be set but not used.  Mark it with
34042         the unused attribute to avoid compiler warnings.
34044 2014-06-02  Ben Walton  <bdwalton@gmail.com>
34046         rename: mark a label as potentially unused
34047         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
34048         by marking the out label as potentially unused.
34049         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
34051 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
34053         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
34054         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
34056 2014-06-02  Ben Walton  <bdwalton@gmail.com>
34058         acl: apply pure attribute to two functions
34059         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
34060         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
34062 2014-06-01  Pádraig Brady  <P@draigBrady.com>
34064         gnulib-common.m4: add _GL_UNUSED_LABEL
34065         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
34066         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
34068 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
34070         dup2, fcntl, fcntl-h: port to AIX 7.1
34071         This fixes some porting problems discovered when testing the latest
34072         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
34073         in grep but it could be important for other applications.
34074         * doc/posix-functions/dup2.texi:
34075         * doc/posix-functions/fcntl.texi:
34076         * doc/posix-headers/fcntl.texi:
34077         Document AIX bugs.
34078         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
34079         Define to 0 if outside 'int' range.
34080         * m4/dup2.m4 (gl_FUNC_DUP2):
34081         * m4/fcntl.m4 (gl_FUNC_FCNTL):
34082         Check for getdtablesize.  If it's available, test a value just
34083         outside its range instead of testing 1000000.  When cross-compiling,
34084         guess that AIX will fail this improved test.
34086 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
34088         printf, config.rpath: Port to FreeBSD 10.
34089         Problem reported by Tijl Coosemans in:
34090         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
34091         * build-aux/config.rpath (hardcode_libdir_flag_spec)
34092         (hardcode_direct): Simplify FreeBSD configuration.
34093         (library_names_spec): Don't mishandle FreeBSD 10+.
34094         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
34095         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
34096         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
34097         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
34098         Don't mishandle FreeBSD 10+ when cross-compiling.
34100         ftoastr: work around compiler bug in IBM xlc 12.1
34101         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
34102         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
34103         around a compiler bug in IBM xlc 12.1.0.0: it complains
34104         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
34105         _GL_FLT_PREC_BOUND.'
34107 2014-05-30  Kieran Colford  <colfordk@gmail.com>
34109         valgrind-tests: fixed misleading help message
34110         * m4/valgrind-tests.m4: The help message generated by configure
34111         implied that valgrind was disabled by default, which it wasn't.
34112         Adjusted the help message using s/enable/disable/ to clarify.
34114 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
34116         isfinite, isinf, isnan tests: fix for little-endian PowerPC
34117         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
34118         first double of a PowerPC "double double" pair.
34119         * tests/test-isinf.c (test_isinfl): Likewise.
34120         * tests/test-isnan.c (test_long_double): Likewise.
34121         * tests/test-isnanl.h (main): Likewise.
34122         * tests/test-signbit.c (test_signbitl): Likewise.
34124 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
34126         exclude-tests: port to AIX 7.1
34127         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
34128         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
34129         the regex code uses locks.
34131 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
34133         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
34134         Without this fix, Emacs would sometimes call sigprocmask instead
34135         of pthread_sigmask, which is a no-no in multithreaded applications.
34136         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
34137         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
34138         Suppress check for pthread_sigmask working without -lpthread if
34139         the application always links with -lpthread.  Do not link with
34140         $LIBMULTITHREAD if gl_THREADLIB is not defined.
34141         * m4/timer_time.m4 (gl_TIMER_TIME):
34142         Require gl_THREADLIB only if it is defined.  Do not append
34143         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
34145 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
34147         gnulib-tool: wget translations using --no-verbose rather than --quiet
34148         This allows the user to see error messages if any (--quiet hides them)
34149         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
34151 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
34153         gnulib-tool: adjust translation wget to avoid a https redirection
34154         Context: http://translationproject.org/latest/gnulib redirects to
34155            https://translationproject.org/latest/gnulib/
34156         Rationale: if the user falls back to wget, she doesn't have rsync and
34157         is probably in a minimal build environment, where packages such as
34158         'ca-certificates' are missing as well, resulting in a failed (and
34159         difficult to detect since ignored) translation initial fetch.
34160         Consequently let's avoid https if possible, and add the missing
34161         trailing slash.  This also avoids an unnecessary 302 redirection.
34162         * gnulib-tool: Add trailing slash to gnulib URL.
34164 2014-05-22  Pádraig Brady  <P@draigBrady.com>
34166         getlogin_r-tests: check return value rather than errno
34167         * tests/test-getlogin_r.c (main): As per POSIX we should be
34168         verifying the return value from getlogin_r() rather than errno.
34170 2014-05-22  Pádraig Brady  <P@draigBrady.com>
34172         getlogin_r-tests: fix various issues in recent change
34173         * tests/test-getlogin_r.c: Include required headers that were
34174         missed in recent commit eec20b4e.
34175         Also consistently check the errno rather than the return value from
34176         getlogin_r as POSIX only specifies that non zero is returned on error.
34177         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
34179 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
34181         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
34182         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
34183         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
34184         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
34185         * lib/spawn-pipe.c:
34186         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
34187         and then 'int open64(const char *, int, ...);', which means the
34188         declaration for 'open' gets lost if we later '#undef open'.
34189         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
34190         where the compilation reported the non-fatal error "In function
34191         'openat_proc_name' ... warning: implicit declaration of function
34192         'open'".  In this case the error is relatively harmless, but in
34193         other cases it might not be so minor.
34195 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
34197         xalloc: don't potentially generate invalid code for xmemdup calls
34198         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
34199         this function can initialize the newly-allocated storage with new
34200         pointers, which means this function is not malloc-like.  See:
34201         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
34203 2014-05-19  Pádraig Brady  <P@draigBrady.com>
34205         getlogin_r-tests: avoid false failure under sudo/ssh etc.
34206         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
34207         changes from commit 97249cf29 to not depend on environment variables.
34209 2014-05-18  Pádraig Brady  <P@draigBrady.com>
34211         getlogin-tests: avoid false failure under cron
34212         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
34213         since that's not what's under test.  Centos 6 was seen to return
34214         EINVAL for ttyname() when run from cron.
34216 2014-05-16  Jim Meyering  <meyering@fb.com>
34218         mbrtowc.m4: fix a comment typo
34219         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
34220         emitted documentation string.
34222 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
34224         mbrlen, mbrtowc: fix bug with empty input
34225         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
34226         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
34227         so this is mainly for documentation.
34228         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
34229         (gl_FUNC_MBRTOWC): Use it.
34230         * tests/test-mbrtowc.c (main): Test for the bug.
34232 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
34234         doc: document mbrtowc and mbrlen problem with empty input
34235         * doc/posix-functions/mbrlen.texi (mbrlen):
34236         * doc/posix-functions/mbrtowc.texi (mbrtowc):
34237         Document portability problem when the input string is empty.  See:
34238         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
34240         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
34241         Problem reported by Eli Zaretskii in:
34242         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
34243         * doc/posix-functions/execl.texi (execl):
34244         * doc/posix-functions/execle.texi (execle):
34245         * doc/posix-functions/execlp.texi (execlp):
34246         * doc/posix-functions/execv.texi (execv):
34247         * doc/posix-functions/execve.texi (execve):
34248         * doc/posix-functions/execvp.texi (execvp):
34249         Mention spawn+exit problem on non-Cygwin Windows platforms.
34251 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
34253         getlogin-tests: avoid false failure under sudo/ssh etc.
34254         * modules/getlogin-tests (configure.ac): Check for ttyname().
34255         * tests/test-getlogin.c (main): Don't depend on environment variables
34256         to correlate with getlogin(), since sudo and ssh etc. can tamper
34257         with the LOGNAME and USER env vars.  Instead lookup the name from
34258         the uid associated with the stdin tty.
34260 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
34262         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
34263         These were found when building the latest grep snapshot on IRIX 6.5.
34264         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
34265         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
34266         never used later.
34267         * lib/quotearg.c (quoting_options_from_style):
34268         * lib/xstrtol.c (__xstrtol):
34269         Use enum instead of 0, to pacify IRIX 6.5 cc.
34271 2014-04-18  Pádraig Brady  <P@draigBrady.com>
34273         gitlog-to-changelog: revert inclusion of git-log-fix file
34274         * build-aux/git-log-fix: Delete dummy file.
34275         * modules/gitlog-to-changelog: Don't reference (overwrite)
34276         the project specific git-log-fix file.
34278 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
34280         maint.mk: Relax the copyright check to cater for non FSF projects
34281         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
34282         to not require the "Free" suffix after the copyright years.
34284 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
34286         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
34287         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
34288         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
34289         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
34290         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
34292 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
34294         exclude: port to strict C99
34295         Strict C does not allow converting a function pointer to void *
34296         and vice versa.  Pass a pointer to a function pointer instead.
34297         * lib/exclude.c (add_exclude_file):
34298         Pass the address of the function pointer.
34299         (call_addfn): And deference the address here, to match.
34301 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
34303         regex: do not depend on malloc-gnu
34304         * modules/regex (Depends-on): Remove malloc-gnu.
34305         It's no longer needed, because of the 2012-12-29 patch
34306         "regex: port to hosts where malloc (0) == NULL".
34307         Reported by Nathan Kennedy in:
34308         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
34310 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
34312         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
34313         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
34314         * doc/posix-functions/expl.texi: Mention the workaround.
34316 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
34318         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
34319         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
34320         size to be zero even when the pointer is nonnull.  This
34321         accommodates the use case where P is malloc (0) and *PN is 0 on a
34322         host where malloc (0) yields nonnull.
34324 2014-04-09  Eric Blake  <eblake@redhat.com>
34326         fts: avoid unnecessary strlen calls
34327         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
34329 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
34331         fts: avoid unnecessary strlen calls
34332         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
34333         when that can be faster than strlen.
34335 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
34337         fts: avoid unnecessary strlen calls
34338         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
34339         (fts_build): Store the length of the dp->d_name entry in a local variable
34340         instead of calling strlen() several times via the above, removed macro.
34341         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
34342         run by ~4%, yet this reduces the execution time by about a third if run
34343         via "ltrace -c rm -rf some-dir".
34345 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
34347         obstack: Remove ancient NeXTSTEP gcc support conditional
34348         This change will ease merging with glibc.  The "#if ... __NEXT__"
34349         causes a warning with -Wundef which glibc now enables by default.
34350         Problem reported by Will Newton in
34351         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
34352         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
34353         so go with that.
34354         * lib/obstack.h (__extension__):
34356 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
34358         obstack: merge with glibc changes
34359         * lib/obstack.c, lib/obstack.h: Merge from glibc.
34360         This is mostly indenting and commentary changes.
34361         Instances of 'register' have been removed.
34363 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
34365         strftime: wrap macros in "do {...} while(0)"
34366         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
34367         this macro in "do {...} while(0)" to prevent false use as a
34368         single statement, e.g., in an un-braced "{}" else-block.
34369         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
34370         (strftime_case_): Remove 'else' after 'goto' - which was the
34371         only non-fatal, un-braced use of one of the above macros.
34372         Spotted by coverity (NESTING_INDENT_MISMATCH).
34374 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
34376         modechange: avoid memory leaks for invalid octal modes
34377         * lib/modechange.c (mode_compile): During the parsing of
34378         notations like +40, free the 'mc' buffer for invalid mode
34379         strings like +17777 (greater than the maximum octal mode),
34380         =18 (bad octal mode characters) or u=1 ('affected' with
34381         octal modes).
34382         Reproducer, e.g.:
34383             $ valgrind --leak-check=full chmod +17777 file
34384         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
34385         add notations +40, 00440, etc.".
34386         Spotted by coverity (RESOURCE_LEAK).
34388 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
34390         gitlog-to-changelog: include a dummy git-log-fix file
34391         Problem reported by Nathan Stratton Treadway in:
34392         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
34393         * build-aux/git-log-fix: New file.
34395 2014-03-13  Jim Meyering  <meyering@fb.com>
34397         gitlog-to-changelog: also include the file, git-log-fix
34398         * modules/gitlog-to-changelog (Files): Add git-log-fix.
34399         Reported by Assaf Gordon.
34401 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
34403         regex: port to OS X 10.8.5 en_US.UTF-8 locale
34404         This fixes a bug when ignoring case and when comparing the
34405         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
34406         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
34407         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
34408         titlecase letter is neither lowercase nor uppercase, but
34409         uppercasing the titlecase letter (via towupper) yields the
34410         uppercase letter, so the two letters should match when ignoring case.
34411         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
34412         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
34413         Don't test whether a character is lowercase before uppercasing it.
34415 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
34417         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
34418         This is basically one of the options Bruno Haible proposed in:
34419         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
34420         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
34421         * lib/stdint.in.h: Use it.
34422         * modules/stdint (Depends-on): Add sys_types.
34424 2014-02-26  Pádraig Brady  <P@draigBrady.com>
34426         parse-datetime: fix crash or infloop in TZ="" parsing
34427         * lib/parse-datetime.y (parse_datetime): Break out of the
34428         TZ="" parsing loop once the second significant " is found.
34429         Also skip over any subsequent whitespace to be consistent
34430         with the non TZ= case.
34431         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
34433 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
34435         savedir: new symbol for fast-read version
34436         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
34437         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
34438         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
34439         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
34441 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
34443         unistd: port readlink to Mac OS X 10.3.9
34444         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
34445         around self-include problem in Mac OS X 10.3.9 when combined with
34446         readlink module.  Problem reported by Klaus Zietler in
34447         <http://bugs.gnu.org/16825>.
34449 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
34451         diffseq: remove TOO_EXPENSIVE heuristic
34452         Problem with diffutils reported by Vincent Lefevre in
34453         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
34454         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
34455         Although appropriate for circa-1993 hardware, these days the heuristic
34456         seems to be more trouble than it's worth.
34457         * lib/diffseq.h: Modernize citations.
34458         (struct context): Remove member too_expensive.
34459         All uses changed.
34460         (struct partition): Remove members lo_minimal, hi_minimal.
34461         All uses changed.
34462         (diag, compareseq): Remove arg find_minimal.  All uses changed.
34463         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
34464         1993 to make 'diff' run faster (but not as well) on large inputs.
34465         These days, computers are fast enough that it's typically better
34466         to run slower but more accurately.
34467         * lib/fstrcmp.c: Remove duplicate comment.
34468         * lib/fstrcmp.c (strcmp_bounded):
34469         * lib/git-merge-changelog.c (compute_differences):
34470         Adjust to diffseq.h changes.
34471         * NEWS: Document the change.
34473         savedir: simplify by using stpcpy
34474         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
34475         (streamsavedir): Use stpcpy instead.
34476         * modules/savedir (Depends-on): Add stpcpy.
34478 2014-02-21  Pádraig Brady  <P@draigBrady.com>
34480         spawn: fix link error on uclibc
34481         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
34482         to incorporate -lrt if needed (on uclibc for example).
34483         * modules/posix_spawn: Reference the substituted LIB.
34485 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
34486         timer: fix uClibc detection of threading
34487         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
34488         enabled in uClibc.
34490 2014-02-21  Eric Blake  <eblake@redhat.com>
34492         maintainer-makefiles: provide AC_PROG_SED for older autoconf
34493         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
34495 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
34497         exclude: add support for posix regexps
34499         This commit adds support for POSIX extended regular expressions
34500         and fixes a long-standing memory leak (pattern buffer was never
34501         freed).  It also implements a new interface function to read
34502         exclude patterns from a FILE, which passes an additional parameter
34503         to its callback function, thereby allowing to preserve its state
34504         between invocations.
34506         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
34507         (pattern_buffer): New struct.
34508         (exclude): New member patbuf.
34509         (exclude_add_pattern_buffer): New function.
34510         (free_exclude_segment): Free regexps.
34511         (free_exclude): Free allocated pattern buffers.
34512         (exclude_patopts): New function.
34513         (file_pattern_matches): Use exclude_patopts.
34514         (add_exclude): support regexps.
34515         (add_exclude_fp): New function.
34516         (add_exclude_file): Rewrite using add_exclude_fp.
34517         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
34518         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
34519         (add_exclude_fp)
34520         (add_exclude_file): Rewrite using add_exclude_fp.
34521         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
34522         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
34523         (add_exclude_fp)
34524         (exclude_add_pattern_buffer): New prototypes.
34525         * modules/exclude: Depends on regex and filename.
34527 2014-02-20  Eric Blake  <eblake@redhat.com>
34529         maintainer-makefiles: use $(SED) for syntax check
34530         * modules/maintainer-makefile (configure.ac): Check for sane sed.
34531         * top/maint.mk: Change sed to $(SED).
34533 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
34534             Paul Eggert  <eggert@cs.ucla.edu>
34536         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
34537         Patch based on an idea by Dick Streefland in
34538         <https://savannah.gnu.org/patch/?7892>.
34539         * NEWS: Document this.
34540         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
34541         (direntry_t, comparison_function): New types.
34542         (direntry_cmp_name): New function.
34543         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
34544         (streamsavedir, savedir): New arg OPTION.
34545         (streamsavedir): Simplify memory allocation.
34546         (fdsavedir): Remove.
34547         * lib/savedir.h (enum savedir_option): New type.
34548         (streamsavedir, savedir): New arg OPTION.
34549         (fdsavedir): Remove.
34551 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
34553         file-type: add support for doors and other less-common file types
34554         Problem with S_ISDOOR reported by Rich Burridge.
34555         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
34556         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
34557         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
34559 2014-01-23  Eric Blake  <eblake@redhat.com>
34561         pthread: work around winpthread header pollution on mingw
34562         * lib/time.in.h: Move pthread workarounds...
34563         * lib/pthread.in.h: ...here.
34564         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
34565         detect macro pollution on mingw.
34566         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
34568 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
34570         qacl: check for fchmod
34571         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
34572         and qset-acl.c both use HAVE_FCHMOD.
34574 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
34576         fdopen-tests: port to Tru64
34577         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
34578         descriptor that is not open, as POSIX doesn't specify the
34579         resulting behavior and the test does not work on Tru64.
34580         Problem reported by Steven M. Schweda in:
34581         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
34583         stdalign: port to HP-UX compilers
34584         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
34585         if __HP_cc or __HP_aCC are nonzero.
34587 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
34589         strtoimax: port to platforms lacking 'long long'
34590         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
34591         check whether strtoll is declared, which causes the C file to
34592         wrongly report an error.  Problem reported by Steven M. Schweda in:
34593         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
34594         * lib/strtoimax.c (strtoull):
34595         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
34596         (strtoll): Declare only if HAVE_LONG_LONG_INT.
34598 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
34600         relocatable-perl: fix texi syntax
34601         * doc/relocatable-maint.texi: Escape braces.
34603 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
34605         relocatable-perl: like relocatable-script, but for Perl scripts
34606         * build-aux/relocatable.pl.in: Add.
34607         * doc/relocatable-maint.texi: Add documentation.
34608         * modules/relocatable-perl: Add.
34610 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
34612         tests: fix export bug in previous patch
34613         Problem reported by Jim Meyering.
34614         * tests/init.sh (re_shell): New var, which is exported instead of
34615         re_shell_.
34617         tests: simplify porting to Solaris 10 /bin/sh
34618         Some test cases in 'grep' need a shell that groks '$(';
34619         export re_shell_ for their benefit.  Problem reported for 'grep'
34620         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
34621         * tests/init.sh (re_shell_): Export if it's used.
34623 2014-01-06  Eric Blake  <eblake@redhat.com>
34625         md5, sha1, sha256, sha512: support older autoconf
34626         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
34627         for autoconf < 2.63b.
34629         include_next: port to autoconf 2.63
34630         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
34632 2014-01-04  Jim Meyering  <meyering@fb.com>
34634         maint: add a gnulib-local rule to keep non-ascii out of .texi files
34635         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
34636         so that "make sc_maint" will ding anyone who puts non-ascii
34637         in any of gnulib's .texi files.
34639 2014-01-03  Jim Meyering  <meyering@fb.com>
34641         freadable, fwritable, fwriting: declare with the "pure" attribute
34642         * lib/freadable.h (freadable): Declare with the "pure" attribute.
34643         * lib/fwritable.h (fwritable): Likewise.
34644         * lib/fwriting.h (fwriting): Likewise.
34645         Suggested by Bruno Haible.
34647         maint.mk: adapt openat.h-include-without-use test
34648         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
34649         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
34650         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
34651         With this change, running "make sc_maint" in gnulib's top-level
34652         directory now passes for me.
34654 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
34656         doc: use ASCII in .texi files where UTF-8 isn't needed
34657         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
34658         * doc/posix-functions/setkey.texi, doc/regex.texi:
34659         Use ASCII input, not UTF-8.
34661 2014-01-02  Jim Meyering  <meyering@fb.com>
34663         freading: declare with the "pure" attribute
34664         * lib/freading.h (freading): Declare with the "pure" attribute.
34666         manywarnings: remove -Wmudflap
34667         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
34668         it is no longer supported in gcc-4.9-to-be.
34670 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34672         relocatable-script: remove unused code
34673         Problem reported by Reuben Thomas in:
34674         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
34675         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
34677 2014-01-01  Jim Meyering  <meyering@fb.com>
34679         maint: fix public-submodule-commit to work with newer git
34680         * top/maint.mk (public-submodule-commit): Remove excess quoting.
34681         We were over-quoting the test arguments, and somewhere prior to
34682         version 1.8.5.2.229, git stopped removing those excess quotes,
34683         which made the test fail, since the unexpanded strings would
34684         always differ; using GIT_TRACE=1 confirmed that the git merge-base
34685         command wasn't even being run.
34687 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34689         doc: update main copyright year
34690         * doc/gnulib.texi: Update copyright date.
34692 2014-01-01  Eric Blake  <eblake@redhat.com>
34694         version-etc: new year
34695         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
34696         * all files: run 'make update-copyright'
34698 2013-12-24  Eric Blake  <eblake@redhat.com>
34700         passfd: give nicer error for recvfd at eof
34701         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
34702         * tests/test-passfd.c (main): Enhance test to cover this.
34704 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
34706         gettimeofday: port recent C++ fix to Emacs
34707         Without this further patch, Emacs won't build due to
34708         the portcheck failing.  Also, this simplifies the patch a bit.
34709         * lib/time.in.h (localtime, gmtime): Don't replace unless
34710         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
34711         * lib/time.in.h (localtime, gmtime):
34712         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
34713         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
34714         * modules/time (time.h):
34715         Don't worry about the possibility of localtime and gmtime
34716         being absent; they're present in all C libraries we know about.
34717         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
34718         Don't assume sys_time is present and has been initialized.
34719         Instead, use a hack that should work even if it hasn't been.
34720         Don't use a portcheck for gmtime or localtime; this supports
34721         the hack.
34722         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
34724 2013-12-17  John W. Eaton  <jwe@gnu.org>
34726         gettimeofday: fix C++ crosscompilation
34728         Never replace gmtime and localtime by macros when compiling with
34729         C++, this prevents <ctime> from being included.
34731         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
34732         define gmtime and localtime as preprocessor macros.  Instead
34733         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
34734         REPLACE_LOCALTIME substitutions.
34735         * lib/time.in.h: Declare gmtime and localtime when needed.
34736         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
34737         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
34738         * modules/time: Depend on gettimeofday, and substitute the above
34739         variables in time.h.
34741 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
34743         qacl: port to Windows better
34744         See Eli Zaretskii in
34745         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
34746         * lib/file-has-acl.c (acl_access_nontrivial):
34747         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
34748         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
34750 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
34752         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
34753         * lib/gl_openssl.h: Cast void pointers to a specific type.
34755 2013-12-07  Pádraig Brady  <P@draigBrady.com>
34757         open-tests: fix build failure with -Werror=old-style-declaration
34758         * tests/test-open.h: Reorder the inline to avoid the issue.
34760 2013-12-07  Pádraig Brady  <P@draigBrady.com>
34762         md5, sha1, sha256, sha512: fix link error with partial libcrypto
34763         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
34764         init time, so that if early checks find crypto routines,
34765         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
34766         avoiding link failures.
34768 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
34770         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
34771         This provides a new way to specify the default for
34772         gl_CRYPTO_CHECK, one that is reflected in the --help message.
34773         Emacs uses this, as well as the old way.
34774         This attempts to implement a suggestion by Pádraig Brady in
34775         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
34776         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
34777         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
34779         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
34780         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
34781         Add support for a new option, --with-openssl=auto, which causes
34782         the library to be used if available and silently ignored if not.
34783         Add support to allow configure.ac to specify its own
34784         default, by setting with_openssl_default before invoking gl_INIT.
34786 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
34788         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
34789         Problem reported by Daiki Ueno in:
34790         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
34791         * tests/test-open.h (__always_inline):
34792         New macro, if not already defined.
34793         (test_open): Use it.
34795 2013-12-04  Eric Blake  <eblake@redhat.com>
34797         include_next: minimize code duplication
34798         * modules/include_next (Depends-on): Add absolute-header.
34799         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
34800         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
34802 2013-12-04  Pádraig Brady  <P@draigBrady.com>
34804         getcwd: fix compile error in configure check
34805         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
34807 2013-12-04  Pádraig Brady  <P@draigBrady.com>
34809         regex: suppress core dumps from detection code
34810         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
34811         to suppress core dumps that may well occur on glibc systems.
34812         These core dumps might not be cleaned up automatically, or could
34813         trigger some system core dump handling logic.
34815 2013-12-03  Pádraig Brady  <P@draigBrady.com>
34817         md5, sha1, sha256, sha512: support mandating use of openssl
34818         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
34819         description, to list the now 3 separate options.  also don't
34820         mention the default=no, since this is implicit given the option
34821         is described as --with-openssl rather than --without-openssl.
34822         If projects change the default they're free to document that.
34823         with --with-openssl[=yes] we now error out when the specified
34824         hash algorithm is not available in libcrypto.
34826 2013-12-03  Ivailo  <xakepa10@gmail.com>
34828         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
34829         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
34830         -Wformat-nonliteral checks, as these edge cases are part of the test.
34832 2013-12-03  Eric Blake  <eblake@redhat.com>
34834         regex: avoid glibc deadlock during configure
34835         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
34836         glibc bug 15078 in turn triggers bug 16159.
34837         Reported by Michal Privoznik.
34839 2013-12-02  Pádraig Brady  <P@draigBrady.com>
34841         md5, sha1, sha256, sha512: use openssl routines if available.
34842         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
34843         routines will be used if available, requiring apps to link @LIB_CRYPTO@
34844         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
34845         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
34846         in the standard system location.
34847         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
34848         * m4/sha256.m4: Likewise with SHA256.
34849         * m4/sha512.m4: Likewise with SHA512.
34850         * m4/md5.m4: Likewise with MD5.
34851         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
34852         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
34853         * lib/sha256.h: Likewise with SHA256.
34854         * lib/sha512.h: Likewise with SHA512.
34855         * lib/md5.h: Likewise with MD5.
34856         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
34857         * lib/sha256.c: Likewise with SHA256.
34858         * lib/sha512.c: Likewise with SHA512.
34859         * lib/md5.c: Likewise with MD5.
34860         * modules/crypto/sha1 (Link:): Add the new optional lib.
34861         (Depends-on:): Add dependency on extern-inline.
34862         * modules/crypto/sha256: Likewise.
34863         * modules/crypto/sha512: Likewise.
34864         * modules/crypto/md5: Likewise.
34865         * modules/crypto/sha1-tests: Reference the lib here too.
34866         * modules/crypto/md5-tests: Likewise.
34867         * modules/crypto/gc-des-tests: Likewise.
34868         * modules/crypto/gc-hmac-md5-tests: Likewise.
34869         * modules/crypto/gc-hmac-sha1-tests: Likewise.
34870         * modules/crypto/gc-hmac-sha256-tests: Likewise.
34871         * modules/crypto/gc-hmac-sha512-tests: Likewise.
34872         * modules/crypto/gc-md5-tests: Likewise.
34873         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
34874         * modules/crypto/gc-sha1-tests: Likewise.
34875         * modules/crypto/gc-tests: Likewise.
34876         * modules/crypto/hmac-md5-tests: Likewise.
34877         * modules/crypto/hmac-sha1-tests: Likewise.
34878         * modules/crypto/hmac-sha256-tests: Likewise.
34879         * modules/crypto/hmac-sha512-tests: Likewise.
34881 2013-11-29  RV1971  <rv1971@web.de>
34883         base64: (trivial) fix compilation regression on some compilers
34884         * lib/base64.c: Don't return the void function,
34885         instead split to a separate return statement.
34887 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
34889         ignore-value: revert previous code change
34890         * lib/ignore-value.h (ignore_value): Use __extension__ and
34891         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
34892         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
34893         Change the comment to try to explain this better.
34895 2013-11-27  Pádraig Brady  <P@draigBrady.com>
34897         selinux-h: improve stub types and add more stub functions
34899         * lib/se-selinux.in.h: Change security_context_t to a typedef
34900         rather than a define, as it's a pointer type and so is better
34901         as a typedef to avoid issues declaring multiple variables
34902         with the comma operator.  Also add stub for string_to_security_class().
34903         * lib/se-context.in.h: Add stub functions for
34904         context_{type,range,role,user}_get().
34906 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
34908         ignore-value: prefer GCC version back through 2.0
34909         The code didn't match the comments, so I did a bit of software
34910         archaeology.  GCC 2.0 seems to support __extension__ and
34911         __typeof__, so fix both code and comments to use 2.0.
34912         * lib/ignore-value.h (ignore_value): Use __extension__ and
34913         __typeof__ for GCC 2.0 through 3.3, too.
34915 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
34917         pty: Activate the signature wrapper of forkpty.
34918         The intended preprocessor macro HAVE_FORKPTY is
34919         never defined, yet `lib/forkpty.c' depends on it.
34921         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
34922         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
34923         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
34925 2013-11-18  Jim Meyering  <meyering@fb.com>
34926         and Paul Eggert  <eggert@cs.ucla.edu>
34928         quotearg: don't attempt to store 1 << 31 into an "int"
34929         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
34930         gcc's new -fsanitize=undefined and running its tests triggered some
34931         new test failures due to undefined behavior, all with this diagnostic:
34932           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
34933             cannot be represented in type int
34934         Rather than shifting "1" left to form a mask, shift the bits right and
34935         simply use "1" as the mask.
34937 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
34939         error: depend on stdio
34940         Problem reported by Nikos Mavrogiannopoulos in
34941         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
34942         * modules/error (Depends-on): Add stdio.
34944 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
34946         * doc/relocatable-maint.texi (Supporting Relocation): Improve
34947         wording.
34948         Reported by Reuben Thomas <rrt@sc3d.org>.
34950 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
34952         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
34953         New function and macro, to work around _DARWIN_C_SOURCE problem.
34954         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
34956 2013-11-11  Pádraig Brady  <P@draigBrady.com>
34958         base64: provide a fast path for encoding well sized buffers
34959         Avoid conditionals in the base64 encoding loop,
34960         which was seen to give 60% better throughput.
34961         * lib/base64.c (base64_encode_fast): A new function to be called
34962         when we don't want to NUL terminate, and we have enough space
34963         in the output to encode the given input.
34964         (base64_encode): Call the _fast() version when appropriate.
34965         Also remove a redundant mask with 0x3F on the first encoded byte.
34967 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
34969         extern-inline: port better to OS X 10.9
34970         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
34971         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
34972         OS X 10.9, except for g++ where the bug is still present.
34973         See <http://trac.macports.org/ticket/41033>.
34975 2013-11-08  Eric Blake  <eblake@redhat.com>
34977         fpending: fix regression on DragonFly BSD
34978         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
34979         * lib/fpending.h (__fpending): Don't declare twice.
34980         Reported by GW in
34981         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
34983 2013-11-05  Jim Meyering  <meyering@fb.com>
34985         hash: relax license to LGPLv2+, for libguestfs
34986         * modules/hash (License): Change from GPL to LGPLv2+.
34988 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
34990         intprops: port to Oracle Studio c99
34991         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
34992         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
34994 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
34996         obstack: pacify HP C
34997         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
34998         warning "conversion from pointer to smaller integer" from HP
34999         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
35000         C89 or later nowadays, so cast to void instead of int.  Privately
35001         reported by H.Merijn Brand.  Also, change header to match glibc's,
35002         to make checking against glibc easier.
35004 2013-10-29  Jim Meyering  <meyering@fb.com>
35006         maint.mk: prefer gpgv2 over gpgv
35007         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
35008         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
35009         Reported by Gary Vaughan.
35011 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
35013         isnan: port to VAX
35014         Reported by John Klos for NetBSD-5/VAX in
35015         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
35016         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
35017         (FUNC): Use it.
35019 2013-10-28  Jim Meyering  <meyering@fb.com>
35021         gnulib-tool: protect against CDPATH
35022         * gnulib-tool: Many "cd" built-in functions print a directory name
35023         to stdout when CDPATH is set, e.g.,
35024           $ bash -c 'CDPATH=/; cd tmp'
35025           /tmp
35026         Unset it, when possible.  Prompted by a comment from Bruce Korb.
35028         maint.mk: restore functionality removed by recent change...
35029         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
35030         the context of a shallow-cloned gnulib repository: "git describe"
35031         would fail in such a directory.  However, that change made it so
35032         the reported gnulib revision no longer includes the version number
35033         or a commit count, even when run from a full clone.
35034         * top/maint.mk (gnulib-version): Use the full "git describe"
35035         output when possible, e.g., the form above, rather than the
35036         abbreviated, no-tag, no-commit-count string, and fall back to
35037         using a 10-byte hash, rather than the default minimal-length
35038         hash prefix, since while the minimal-length one may be fine today,
35039         it is likely not to be unique for very long.
35041 2013-10-26  Jim Meyering  <meyering@fb.com>
35043         maint.mk: fix "release" target to build _version
35044         This fixes a bug in README-release whereby following the outlined
35045         steps, one would publish a tarball whose programs would report
35046         --version output not consistent with the package version number.
35047         This bug caused grep-2.15 to produce a grep program whose
35048         --version option made it print 2.14.56-1e3d rather than 2.15.
35049         * top/maint.mk (release): Making this target build "_version"
35050         ensures that the new version number is reflected in configure.
35052 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
35054         install-reloc: Support multi-binary installation.
35055         * build-aux/install-reloc: Support installing multiple programs in
35056         one invocation, as done by Automake starting with commit
35057         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
35058         Haible <bruno@clisp.org>, archived at
35059         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
35060         Reported by Sylvain <beuc@gnu.org>.
35062 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
35064         selinux-h: Really build without selinux when library is missing.
35065         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
35066         continue without selinux, as already told in the warning message.
35068 2013-10-21  Jim Meyering  <meyering@fb.com>
35070         regex: also remove dependency on HAVE_WCSCOLL
35071         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
35073 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
35075         xfreopen: Fix typo. s/frepoen/freopen/
35076         * lib/xfreopen.c: Fix description.
35077         * modules/xfreopen: Likewise.
35079 2013-10-21  Jim Meyering  <meyering@fb.com>
35081         regex: don't depend on wcscoll
35082         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
35083         It is no longer used.
35085 2013-10-20  Jim Meyering  <meyering@fb.com>
35087         error: add the printf attribute to a static function
35088         * lib/error.c (error_tail): Add the printf attribute, to placate
35089         gcc's -Werror=suggest-attribute=format option.
35091 2013-09-30  Jim Meyering  <meyering@fb.com>
35093         fpending, obstack, strerror-override: use pure+const function attrs
35094         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
35095         * lib/obstack.c (_obstack_allocated_p): Likewise.
35096         * lib/obstack.h (_obstack_memory_used): Likewise.
35097         (_obstack_memory_used): Likewise.
35098         * lib/strerror-override.h (strerror_override): Declare with
35099         the "const" attribute.
35101 2013-10-18  Eric Blake  <eblake@redhat.com>
35103         extern-inline: make safe for -Wundef usage
35104         Reported by Vladimir 'phcoder' Serbinenko in
35105         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
35106         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
35108 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
35110         mkfifo-tests, etc.: allow HP-UX 11.11 bug
35111         Problem reported by Daniel Richard G. in
35112         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
35113         * doc/posix-functions/mkfifo.texi (mkfifo):
35114         * doc/posix-functions/mkfifoat.texi (mkfifoat):
35115         * doc/posix-functions/mknod.texi (mknod):
35116         * doc/posix-functions/mknodat.texi (mknodat):
35117         Document the HP-UX 11.11 bug.
35118         * tests/test-mkfifo.h (test_mkfifo):
35119         Allow the HP-UX 11.11 bug.
35121 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
35123         acl: allow cross-compilation to Gentoo
35124         Problem reported by Gabriel Marcano in
35125         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
35126         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
35127         test only whether it links.
35129 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
35131         mgetgroups: remove dependency on realloc-gnu
35132         The dependency violates the comment in realloc-gnu, which
35133         says that tests can't depend on realloc-gnu; some tests depend
35134         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
35135         Problem reported by Daniel Richard G. in
35136         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
35137         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
35138         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
35139         not realloc-gnu.
35141 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
35143         regex-tests: port to HP-UX 11.11
35144         Problem reported by Daniel Richard G. in
35145         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
35146         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
35148 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
35150         verify: document some 'assume' pitfalls
35151         * doc/verify.texi (Compile-time Assertions):
35152         Mention that 'assume (E)' can sometimes slow things down.
35153         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
35155 2013-10-10  Eric Blake  <eblake@redhat.com>
35157         strtoumax: fix typo in previous commit.
35158         * modules/strtoumax (Depends-on): Fix typo.
35159         * modules/strtoimax (Depends-on): Likewise.
35161 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
35163         strtoumax: port to Solaris 8
35164         This problem was introduced in the recent HP-UX patch.
35165         Reported by Tom G. Christensen in
35166         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
35167         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
35168         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
35170 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
35172         strtoimax, strtoumax: port to HP-UX 11.11
35173         Problem reported by Daniel Richard G. in
35174         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
35175         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
35176         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
35177         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
35178         REPLACE_STRTOUMAX.
35179         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
35180         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
35181         Replace the function if defined as a macro but not as a function.
35182         * modules/inttypes-incomplete (inttypes.h): Substitute
35183         REPLACE_STRTOUMAX.
35184         * modules/strtoumax (configure.ac): Replace strtoumax if
35185         REPLACE_STRTOUMAX.
35187 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
35189         strtoimax: port to HP-UX 11.11
35190         Problem reported by Daniel Richard G.
35191         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
35192         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
35193         they might clash with inttypes.h.
35195 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
35197         New module 'count-trailing-zeros'.
35198         * MODULES.html.sh: Mention it.
35199         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
35200         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
35201         * modules/count-trailing-zeros-tests:
35202         * tests/test-count-trailing-zeros.c:
35203         New files.
35205         count-leading-zeros: port to MSC; support types wider than 64 bits
35206         The ideas behind the MSC port are stolen from Emacs.
35207         * lib/count-leading-zeros.h:
35208         Don't include verify.h: it's no longer needed, as types wider than
35209         64 bits are now supported.
35210         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
35211         performance with MSC.  All uses changed.  Do not assume that TYPE
35212         has at most 64 bits.
35213         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
35214         All uses changed.  Fold the subtraction from 31 into the table.
35216         count-one-bits: port to MSC; support types wider than 64 bits
35217         The ideas behind the MSC port are stolen from Emacs.
35218         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
35219         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
35220         Don't include verify.h: it's no longer needed, as types wider than
35221         64 bits are now supported.
35222         (COUNT_ONE_BITS_GENERIC): New macro.
35223         (popcount_supported) [_MSC_VER]: New inline function.
35224         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
35225         performance with MSC.  All uses changed.  Do not assume that TYPE
35226         has at most 64 bits.
35227         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
35229 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
35231         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
35232         * lib/mountlist.c (read_file_system_list): fix leak of directory
35233         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
35235 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
35237         tests: improve diagnostic when an assertion fails
35238         * tests/macros.h (ASSERT): Report the assertion that failed.
35240 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
35242         verify: new macro 'assume'
35243         This is taken from Emacs, and should be generally useful.
35244         * doc/verify.texi (assume): Document it.
35245         * lib/verify.h (assume): New macro.
35246         (__has_builtin): Expand to 0 if not defined.
35248 2013-09-26  Eric Blake  <eblake@redhat.com>
35250         dup2, dup3: work around another cygwin crasher
35251         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
35252         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
35253         * tests/test-dup2.c (main): Likewise.
35254         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
35255         * lib/dup3.c (dup3): Likewise.
35256         * doc/posix-functions/dup2.texi (dup2): Document it.
35257         * doc/glibc-functions/dup3.texi (dup3): Likewise.
35259         getdtablesize: work around cygwin issue
35260         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
35261         * modules/getdtablesize (configure.ac): Build replacement.
35262         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
35263         * modules/unistd (Makefile.am): Expose the witness.
35264         * lib/unistd.in.h (getdtablesize): Declare replacement.
35265         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
35266         * tests/test-getdtablesize.c (main): Test it.
35267         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
35269 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
35271         pmccabe2html: escaping of special characters
35272         Escape all '<', '>', and '&' in HTML output.
35273         * build-aux/pmccabe2html (html_fnc): Call gsub()
35274         instead of sub() to capture all '<', '>', and '&'.
35275         Neither of '<' and '>' is special in a regexp,
35276         so first arguments to gsub() are corrected. Also,
35277         in replacement strings, ampersand must be escaped.
35278         Finally, '&' must be handled first, then '<' and '>'.
35280 2013-09-24  Eric Blake  <eblake@redhat.com>
35282         manywarnings: enable nicer gcc warning messages
35283         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
35284         some -f options for optimal warnings.
35286 2013-09-21  Jim Meyering  <meyering@fb.com>
35288         timespec: use the new TIMESPEC_RESOLUTION in a few more places
35289         * lib/timespec-add.c (timespec_add): Also replace 999999999
35290         with TIMESPEC_RESOLUTION - 1.
35291         * lib/timespec-sub.c (timespec_sub): Likewise.
35293 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
35295         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
35296         Problem reported by Dagobert Michelsen via Eric Blake in
35297         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
35298         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
35299         not AC_COMPILE_IFELSE.
35301 2013-09-23  Eric Blake  <eblake@redhat.com>
35303         configmake: support new --runstatedir option
35304         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
35305         even if autoconf was too old to provide the command line option.
35306         * modules/configmake (Makefile.am): Propagate it to .h file.
35308 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
35310         ctype, string: depend on extern-inline
35311         This is needed to complete the recent OS X fixes.
35312         Also, fix related documentation as suggested by Eric Blake.
35313         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
35314         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
35315         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
35316         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
35317         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
35318         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
35319         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
35320         * doc/posix-functions/toupper.texi:
35321         List the 'ctype' gnulib module.
35322         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
35323         * doc/posix-functions/strncpy.texi:
35324         List the 'string' gnulib module.
35325         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
35326         Add string.
35327         * modules/ctype, modules/string (Depends-on): Add extern-inline.
35329 2013-09-19  Pádraig Brady  <P@draigBrady.com>
35331         userspec: support optional parameters to parse_user_spec()
35332         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
35333         then avoid group processing and treat the full spec as a user.
35334         (parse_with_separator): Allow the USERNAME and GROUPNAME to
35335         be optional params (NULL), in which case they're ignored.
35337 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
35339         timespec: new function make_timespec, and new constants
35340         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
35341         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
35342         (make_timespec): New function.
35343         * lib/dtotimespec.c (dtotimespec):
35344         * lib/timespec-add.c (timespec_add):
35345         * lib/timespec-sub.c (timespec_sub):
35346         * lib/utimens.c (validate_timespec):
35347         * lib/utimensat.c (rpl_utimensat):
35348         Use these new constants and functions.
35350         stdio: OS X port of putc_unlocked + extern inline
35351         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
35352         * doc/posix-functions/putc_unlocked.texi:
35353         * doc/posix-functions/putchar_unlocked.texi:
35354         Document this portability problem.
35356         signal: OS X port of sigaddset etc. + extern inline
35357         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
35358         (sigismember): #undef on problematic Apple platforms.
35359         * doc/posix-functions/sigaddset.texi:
35360         * doc/posix-functions/sigdelset.texi:
35361         * doc/posix-functions/sigemptyset.texi:
35362         * doc/posix-functions/sigfillset.texi:
35363         * doc/posix-functions/sigismember.texi:
35364         Document this portability problem.
35366         extern-inline: do not always suppress extern inline on OS X
35367         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
35368         extern inline on Apple only if the particular compile-time
35369         configuration is known to have the problem.
35370         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
35371         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
35372         other Gnulib modules.
35374         extern-inline: document fixes for ctype and wctype macros
35375         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
35376         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
35377         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
35378         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
35379         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
35380         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
35381         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
35382         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
35383         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
35384         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
35385         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
35386         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
35387         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
35388         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
35389         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
35390         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
35391         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
35392         * doc/posix-functions/strncpy.texi:
35393         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
35394         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
35395         Document that Gnulib fixes portability problems with these
35396         functions on OS X 10.8 and earlier when called from plain inline
35397         or extern inline functions.
35399 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
35401         fflush, freadahead, fseeko: Fix for Android
35402         Suggested by Bruno Haible in:
35403         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
35404         * lib/stdio-impl.h: Use local __sfileext definition.
35406 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
35408         pmccabe2html: Portability to other awk versions.
35409         The functions systime() and strftime() are available
35410         in Gawk only.  Properly close two HTML-tags 'style'
35411         and 'span'.
35412         * build-aux/pmccabe2html (BEGIN): Store timing
35413         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
35414         systime() in HTML_COMMENT.
35415         (html_header): Correctly close tag 'style'.
35416         (END): Replace strftime() by CHRONOS_TIME.  Close
35417         tag 'span' correctly, not as 'div'.
35419 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
35421         getgroups: statement without effect
35422         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
35423         Change equality conditional to expected assignment.
35425 2013-09-09  Eric Blake  <eblake@redhat.com>
35427         glob: fix compilation
35428         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
35430 2013-09-07  Eric Blake  <eblake@redhat.com>
35432         glob: fix build for platforms without __THROW
35433         * lib/glob.in.h (__THROW): Add definition again.
35435 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
35437         regex-quote: fix buffer access out of bounds
35438         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
35439         * lib/regex-quote.c (regex_quote_spec_pcre):
35440         Fix typo that resulted in an out-of-bounds read.
35442 2013-09-04  Eric Blake  <eblake@redhat.com>
35444         glob: avoid -Wattribute warnings on glibc
35445         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
35446         __THROWNL, not __THROW, on static functions.
35447         * lib/glob.in.h (__THROW): Adjust...
35448         (__THROWNL): ...accordingly.
35450 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
35452         headers: check that _GL_INLINE_HEADER_BEGIN is defined
35453         Suggested by Bruce Korb in:
35454         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
35455         * doc/extern-inline.texi (extern inline):
35456         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
35457         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
35458         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
35459         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
35460         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
35461         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
35462         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
35463         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
35464         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
35465         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
35466         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
35467         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
35468         * lib/xtime.h:
35469         Check that _GL_INLINE_HEADER_BEGIN is defined.
35471 2013-08-29  Pádraig Brady  <P@draigBrady.com>
35473         bootstrap: remove the --version requirement from ancillary tools
35474         * build-aux/bootstrap (check_exists): A new refactored function to
35475         determine if a command exists.
35476         (find_tool): Use the new function which does not require the
35477         --version option to be supported.
35478         (check_versions): Use the new function.
35480 2013-08-26  Simon Josefsson  <simon@josefsson.org>
35482         gc: support HMAC-SHA256 and HMAC-SHA512.
35483         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
35484         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
35485         functions.
35486         (gc_hmac_md5): Use symbolic constant.
35487         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
35488         (gc_hmac_sha256, gc_hmac_sha512): New functions.
35489         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
35490         * m4/sha256.m4: Protect against empty expansion.
35491         * m4/sha512.m4: Likewise.
35492         * lib/hmac-sha256.c: New file.
35493         * lib/hmac-sha512.c: Likewise.
35494         * m4/gc-hmac-sha256.m4: Likewise.
35495         * m4/gc-hmac-sha512.m4: Likewise.
35496         * m4/gc-sha256.m4: Likewise.
35497         * m4/gc-sha512.m4: Likewise.
35498         * modules/crypto/gc-hmac-sha256: Likewise.
35499         * modules/crypto/gc-hmac-sha256-tests: Likewise.
35500         * modules/crypto/gc-hmac-sha512: Likewise.
35501         * modules/crypto/gc-hmac-sha512-tests: Likewise.
35502         * modules/crypto/hmac-sha256: Likewise.
35503         * modules/crypto/hmac-sha256-tests: Likewise.
35504         * modules/crypto/hmac-sha512: Likewise.
35505         * modules/crypto/hmac-sha512-tests: Likewise.
35506         * tests/test-gc-hmac-sha256.c: Likewise.
35507         * tests/test-gc-hmac-sha512.c: Likewise
35508         * tests/test-hmac-sha256.c: Likewise.
35509         * tests/test-hmac-sha512.c: Likewise
35511 2013-08-24  Daiki Ueno  <ueno@gnu.org>
35513         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
35514         of AC_CHECK_DECLS.
35516 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
35518         selinux-at: omit unnecessary include
35519         * lib/selinux-at.c: Don't include dosname.h; not needed, since
35520         this source file doesn't use its macros, and subsidiary files that
35521         use the macros already include it.
35523 2013-08-21  Eric Blake  <eblake@redhat.com>
35525         d-ino: avoid false negative on symlink
35526         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
35527         Reported by Stephane Chazelas.
35529 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
35531         bootstrap: port to OpenBSD sed
35532         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
35533         does not interpret `-' as a file argument to mean stdin.
35535 2013-08-15  Eric Blake  <eblake@redhat.com>
35537         warnings: minor optimization
35538         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
35540         warnings: check -Wfoo rather than -Wno-foo
35541         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
35542         -Wno-, test if the compiler recognizes the positive form instead.
35544 2013-08-15  Karl Berry  <karl@gnu.org>
35546         * config/srclist-update: add option "doclicense" to placate
35547         pulling *.texi files from Emacs.  Write terse usage
35548         documentation at the top.
35550 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
35552         xvasprintf-tests: port to GCC with hardening flags
35553         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
35554         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
35555         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
35557 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
35559         fpending: port to recent Cygwin change to stdio_ext.h
35560         Reported by LRN in
35561         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
35562         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
35563         just declare __fpending unless it's a macro.
35564         A duplicate decl shouldn't hurt.
35565         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
35566         call compiles and links, instead of separately checking for
35567         decl and lib function.
35568         * modules/fpending (configure-ac):
35569         Adjust to fpending.m4's renaming of shell variable.
35571 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
35573         sys_time: port to OpenBSD
35574         * lib/sys_time.in.h: Simply delegate to the system's header
35575         in the BSDish cases as well.  Problem reported by Mike Miller in
35576         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
35577         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
35578         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
35579         wider than time_t.
35581 2013-08-09  Pádraig Brady  <P@draigBrady.com>
35583         bootstrap: support checksum utils having -c but not --status
35584         * build-aux/bootstrap: Only look for sha1sum if updating po files.
35585         Add sha1 to the list of supported checksum utils since it's now
35586         supported through adjustments below.
35587         (update_po_files): Remove the use of --status
35588         in a way that will suppress all error messages, but since this is
35589         only used to minimize updates, it shouldn't cause an issue.
35590         Exit early if there is a problem updating the po file checksums.
35591         (find_tool): Remove the check for --version support as this
35592         is optional as per commit 86186b17.  Don't even check for the
35593         presence of the command as if that is needed, it's supported
35594         through configuring prerequisites in bootstrap.conf.
35595         Prompt that when a tool isn't found, one can define an environment
35596         variable to add to the hardcoded search list.
35598 2013-08-05  Jim Meyering  <meyering@fb.com>
35600         regex: port to non-glibc/lock-using systems
35601         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
35602         system with GNULIB_LOCK would fail due to absence of the
35603         included "glthread/lock.h".  This would affect any package
35604         for which the "lock" module is used only by the regex module,
35605         and not explicitly used.
35606         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
35607         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
35608         Add a dependency on the "lock" module.
35610 2013-07-20  Daiki Ueno  <ueno@gnu.org>
35612         localecharset: make locale_charset thread-safe on Mac OS X
35613         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
35614         instead of MB_CUR_MAX.
35616 2013-07-20  Daiki Ueno  <ueno@gnu.org>
35618         gettext: update to version 0.18.3
35619         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
35620         require AC_PROG_SED to allow user to specify custom sed command when
35621         generating en@quot PO file.
35623 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
35625         bootstrap: use correct source when copying build-aux files
35626         * build-aux/bootstrap (gnulib_extra_files): This variable is
35627         relative to upstream gnulib layout, not downstream.
35629 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
35631         tmpdir: fix bug in VMS port
35632         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
35633         See Steven M. Schweda in
35634         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
35636 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
35638         tmpdir: port to VMS, to // != /, and to long dirs
35639         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
35640         __secure_getenv, so that we're more like the glibc version.
35641         All uses changed.
35642         (path_search): Don't put slash after directory if __VMS.
35643         Problem reported by Steven M. Schweda in
35644         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
35645         Simplify code to add slash; no need for a loop.
35646         Do not remove trailing slash from "//".
35647         Do not assume dlen <= INT_MAX.
35649 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
35651         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
35652         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
35653         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
35654         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
35656         accept4, dup3, pipe2: port to Cygwin
35657         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
35658         * lib/accept4.c (accept4) [O_BINARY]:
35659         * lib/dup3.c (dup3) [O_BINARY]:
35660         * lib/pipe2.c (pipe2) [O_BINARY]:
35661         Use set_binary_mode, not setmode.
35662         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
35663         * modules/binary-io (Depends-on): Remove module indicator.
35664         These last two bits undo the previous change to pipe2 and binary-io.
35666 2013-07-09  Pádraig Brady  <P@draigBrady.com>
35668         mountlist: add support for deallocating returned list entries
35669         * lib/mountlist.c (free_mount_entry): A new exported function
35670         to deallocate a mount list entry.
35671         (read_file_system_list): Refactor to use the new deallocation function.
35672         Suggested by Anton Ovchinnikov.
35674 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
35676         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
35677         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
35678         * lib/stdalign.in.h (_Alignas, _Alignof):
35679         Port to FreeBSD 9.1, and to C11 and C++11.
35680         (_Alignas): Also support ICC.
35681         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
35682         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
35684 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
35686         fnmatch: don't goto over declaration
35687         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
35688         undefined behavior for goto over a declaration.
35689         Problem reported by Charlie Brown in
35690         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
35692         pipe2: decouple from binary-io a bit
35693         This is for Emacs, which needs pipe2 but not binary-io.
35694         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
35695         * modules/binary-io (Depends-on): Add module indicator.
35697 2013-07-03  Eric Blake  <eblake@redhat.com>
35699         mgetgroups: relax license to LGPLv2+
35700         * modules/getugroups (License): Change from GPLv3+.
35701         * modules/mgetgroups (License): Likewise.
35702         * modules/getgroups (License): Change from LGPLv3+.
35704         xalloc-oversized: relax license to LGPLv2+
35705         * modules/xalloc-oversized (License): Change from GPLv3+.
35707         nproc: relax license to LGPLv2+
35708         * modules/nproc (License): Change from LGPLv3+.
35710         bootstrap: honor --no-git
35711         * build-aux/bootstrap: Don't even try to use git when user is
35712         pointing to a static checkout.
35714 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
35716         ignore-value: port to gcc -pedantic
35717         * lib/ignore-value.h (ignore_value):
35718         Port to gcc -pedantic, by using __extension__.
35719         Reindent as per usual gnulib style nowadays.
35720         Simplify GCC version check.
35722 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
35724         extern-inline: port to gcc -std=c89
35725         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
35726         Do not use __gnu_inline__ if pedantic and pre-C99.
35728 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
35730         doc: document extern-inline
35731         * doc/extern-inline.texi: New file.
35732         * doc/gnulib.texi (alloca-opt): Include it.
35733         * m4/extern-inline.m4: Move some comments to documentation,
35734         and others closer to what they describe.
35736         doc: chatter less
35737         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
35738         (updated-stamp): Use it.  This causes 'make' to output just
35739         one file name rather than zillions.
35741         fflush, fseeko: port to musl cross-compiles
35742         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
35743         on some implementation that (1) is not known to be buggy,
35744         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
35745         cross-compiled to so we can't easily check for lack of
35746         conformance.  This is for cross-compiling to musl.
35747         Reported by Rich Felker in
35748         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
35749         * m4/fclose.m4 (gl_FUNC_FCLOSE):
35750         * m4/fflush.m4 (gl_FUNC_FFLUSH):
35751         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
35752         Adjust to above change.
35753         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
35754         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
35755         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
35756         known not to work, or unknown.
35758 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
35760         msvc-inval: port to mingw-w64
35761         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
35762         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
35763         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
35765 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
35767         getcwd-lgpl: port to Tru64
35768         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
35769         Problem reported by Steven M. Schweda in
35770         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
35772         tests: port large-fd POSIX spawn tests to OS X
35773         Problem reported by Daiki Ueno in
35774         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
35775         * tests/test-posix_spawn_file_actions_addclose.c:
35776         * tests/test-posix_spawn_file_actions_adddup2.c:
35777         * tests/test-posix_spawn_file_actions_addopen.c:
35778         Include <limits.h>, for OPEN_MAX, if available.
35779         (big_fd): New static function.
35780         (main): Use it.
35782 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
35784         tests/nap.h: use an adaptive delay to avoid ctime update issues
35785         The recent change in nap.h (5191133e) decreased the probability of lost
35786         races to about a third, however such problems could still be observed
35787         in virtual machines and openSUSE's OBS.
35788         Before, nap() detected the needed time once empirically and then used
35789         that delay (together with a small correction multiplier) in further
35790         calls.  This problem has been reported and discussed several times,
35791         including guesses about possible kernel issues:
35792         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
35793         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
35794         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
35795         http://bugs.gnu.org/12820
35796         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
35797         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
35798         Now, nap() avoids the race alltogether by verifying on a reference
35799         file whether a timestamp difference has happened.
35800         * tests/nap.h (nap_fd): Define file descriptor variable for the
35801         witness file.
35802         (nap_works): Change return value to bool.  Change passing
35803         the old file's status by value instead of by reference as this function
35804         does no longer update that timestamp; rename the function argument from
35805         st to old_st.  Remove the local variables cdiff and mdiff because that
35806         function now returns true/false instead of the precise delay.
35807         (guess_delay): Remove function.
35808         (clear_tmp_file): Add new function to close and unlink the witness file.
35809         (nap): Instead of re-using the delay which has been calculated during
35810         the first call, avoid the race by actually verifying that a timestamp
35811         difference can be observed on the current file system.  Use an adaptive
35812         approach for the delay to minimize execution time.  Assert that the
35813         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
35814         = 2^31 - 1 = 2.1s.
35815         Use atexit to call clear_tmp_file when the process terminates.
35817 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
35819         sig2str: port to C++
35820         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
35821         Reported by Daniel J Sebald in
35822         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
35824 2013-05-30  Eric Blake  <eblake@redhat.com>
35826         docs: mention cygwin shortcoming in <sys/un.h>
35827         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
35829         vasnprintf: silence mingw compiler warning
35830         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
35832 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
35834         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
35835         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
35836         This fixes a porting bug I recently reintroduced in regex, and
35837         some other instances that I discovered while testing the fix.
35838         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
35839         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
35840         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
35841         with an empty argument if this is a pedantic pre-C99 GCC.
35842         * lib/verify.h: Do not use _Static_assert if this is a pedantic
35843         pre-C11 GCC.
35845         regex: adapt to locking regime instead of depending on pthread
35846         Instead of depending on pthread, adapt to whatever thread
35847         modules are in use.  Problem reported by Ludovic Courtès in
35848         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
35849         and by Mats Erik Andersson in
35850         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
35851         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
35852         Support either the 'lock' module, or the 'pthread' module, or
35853         no module.
35854         (lock_lock, lock_unlock): New macros.
35855         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
35856         * modules/lock, modules/pthread (configure.ac): Add module indicator.
35857         * modules/regex (Depends-on): Remove pthread.
35859 2013-05-22  Eric Blake  <eblake@redhat.com>
35861         getgroups: document portability issues
35862         * doc/glibc-functions/initgroups.texi (initgroups): Mention
35863         multithread safety.
35864         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
35865         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
35866         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
35867         getugroups.
35868         * doc/posix-functions/getgroups.texi (getgroups): Mention
35869         multithread safety and mgetgroups.
35871 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
35873         test-lchown, test-chown: also skip test if chown fails with EPERM
35874         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
35875         skip this test, to handle FAT file systems.
35876         * tests/test-chown.h (test_chown): Likewise.
35878 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
35880         regex: fix dfa race in multithreaded uses
35881         Problem reported by Ludovic Courtès in
35882         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
35883         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
35884         New macros.  All uses of __libc_lock_define, __libc_lock_init
35885         changed to use the first two of these.
35886         (__libc_lock_lock, __libc_lock_unlock): New macros, for
35887         non-glibc platforms.
35888         (struct re_dfa_t): Define the lock unconditionally.
35889         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
35890         '#ifdef _LIBC"s.
35891         * modules/regex (Depends-on): Add pthread, if we use the
35892         included regex.
35894         * lib/regcomp.c: Do actions that are not needed for glibc,
35895         but may be needed elsewhere.
35896         (regfree, re_compile_internal): Destroy the lock.
35897         (re_compile_internal): Check for lock-initialization failure.
35899         malloca: port to compilers that reject size-zero arrays
35900         This fixes a bug introduced in my previous patch.
35901         * lib/malloca.c (struct preliminary_header): Use an int
35902         rather than a character array of size int; that's simpler.
35903         (struct header): Remove, replacing with ...
35904         (union header): New type.  This avoids the need for declaring a
35905         character array of size zero, which is not allowed on some platforms.
35906         All uses changed.
35908 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
35910         parse-datetime, tests: don't use "string" + int
35911         Recent versions of 'clang' complain about C source code that
35912         uses expressions of the form '"string literal" + integer',
35913         I guess on the theory that it's confusing for readers who are
35914         used to C++.  On those grounds I suppose it's OK to make this
35915         minor style change.
35916         * lib/parse-datetime.y (parse_datetime):
35917         * tests/test-fchdir.c (main):
35918         * tests/test-snprintf-posix.h (test_function):
35919         * tests/test-snprintf.c (main):
35920         * tests/test-vasnprintf-posix.c (test_function):
35921         * tests/test-vasnprintf.c (test_function):
35922         * tests/test-vsnprintf.c (main):
35923         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
35924         Rewrite '"str" + E' to '&"str"[E]'.
35926 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
35928         argmatch: port to C++
35929         * lib/argmatch.h [__cplusplus]: Add extern "C".
35931         argp: typo fix
35932         * lib/argp-help.c: Typo in comment.
35934 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
35936         manywarnings: update for GCC 4.8.0
35937         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
35938         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
35939         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
35940         -Wmissing-noreturn, as they are duplicates of other warnings.
35941         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
35942         was documented to be flaky in earlier versions of GCC.
35944         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
35945         * tests/test-spawn.c (main):
35946         * tests/test-sys_socket.c (main):
35947         * tests/test-sys_wait.c (main):
35948         Don't have a switch value that isn't covered by a case.
35950         getaddrinfo-tests: port --enable-gcc-warnings to clang
35951         * tests/test-getaddrinfo.c (simple):
35952         Avoid casts from looser to stricter-aligned pointers.
35954         thread: port --enable-gcc-warnings to clang
35955         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
35956         Include <signal.h>, to pacify a warning about pthread_sigmask.
35958         stdio: use __REDIRECT for fwrite, fwrite_unlocked
35959         * lib/stdio.in.h (fwrite):
35960         When working around bug 11959, use __REDIRECT rather than '#define
35961         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
35962         fix the -Wunused-value issue with clang, and it works with GCC too.
35963         Problem with targeting reported by Eric Blake in
35964         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
35965         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
35966         debugging the fwrite issue.
35968         stdio: port --enable-gcc-warnings to clang
35969         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
35970         since the GCC workaround for fwrite does not pacify clang.
35972         sig2str: port --enable-gcc-warnings to clang
35973         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
35975         obstack: port --enable-gcc-warnings to clang
35976         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
35977         Avoid casts from looser to stricter-aligned pointers.
35979         memchr2: port --enable-gcc-warnings to clang
35980         * lib/memchr2.c (memchr2):
35981         Avoid casts from looser to stricter-aligned pointers.
35983         mbsstr: port --enable-gcc-warnings to clang
35984         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
35985         Avoid casts from looser to stricter-aligned pointers.
35987         malloca: port --enable-gcc-warnings to clang
35988         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
35989         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
35991         inttostr: port --enable-gcc-warnings to clang
35992         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
35994         warnings: port to clang
35995         Problem reported by Daniel P. Berrange via Eric Blake in
35996         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
35997         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
35998         (gl_WARN_ADD): Use it.
36000 2013-05-11  Jim Meyering  <meyering@fb.com>
36002         quotearg: do not read beyond end of buffer
36003         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
36004         end of an ARG for which no length was specified.  With an N-byte
36005         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
36006         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
36007         via coreutils' misc/sort-debug-keys.sh test and detected by running
36008         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
36009         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
36010         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
36011         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
36012         characters correctly."
36014 2013-05-11  Daiki Ueno  <ueno@gnu.org>
36016         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
36017         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
36018         compilation target is Mac OS X 10.6.
36019         Problem reported by parafin and Andoni Morales in
36020         <http://savannah.gnu.org/bugs/?37844> and
36021         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
36023 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
36025         mkdir-p: remove assumptions about umask and mode
36026         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
36027         umask is 0, or that MODE is a subset of MODE_BITS.
36029 2013-05-10  Eric Blake  <eblake@redhat.com>
36031         maint.mk: catch more abuse of HAVE_DECL in syntax-check
36032         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
36034 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
36036         deps: require Automake >= 1.9.6 in generated Makefile fragments
36038         That is the same minimal version required in the DEPENDENCIES file.
36039         Moreover, the old code generated a requirement of Automake >= 1.5,
36040         and that is an insanely outdated version.
36042         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
36043         * tests/havelib/rpathlx/Makefile.am: Likewise.
36044         * tests/havelib/rpathly/Makefile.am: Likewise.
36045         * tests/havelib/rpathlyx/Makefile.am: Likewise.
36046         * tests/havelib/rpathlz/Makefile.am: Likewise.
36047         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
36048         * tests/havelib/rpathx/Makefile.am: Likewise.
36049         * tests/havelib/rpathy/Makefile.am: Likewise.
36050         * tests/havelib/rpathz/Makefile.am: Likewise.
36052 2013-05-08  Eric Blake  <eblake@redhat.com>
36054         bootstrap: AC_INIT may have more than four parameters
36055         * build-aux/bootstrap (extract_package_name): Correctly extract
36056         non-empty tarname field.  Avoid range in regex.
36057         Based on a report by Sami Kerola <kerolasa@iki.fi>.
36059 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
36061         qacl: port to MS-Windows port of GNU Emacs
36062         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
36063         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
36064         port of GNU Emacs.  Problem reported by Eli Zaretskii in
36065         <http://bugs.gnu.org/14295#14>.
36067 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
36069         acl: include quote.h
36070         * lib/copy-acl.c: Include quote.h.
36071         * lib/set-acl.c: Likewise.
36073 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
36075         fchownat, renameat, unlinkat: update statat dependencies
36076         These modules use statat and lstatat, not fstatat; so depend on
36077         the statat module, which was split out recently from fstatat.
36078         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
36079         * modules/renameat: Likewise.  Also delete fstat.
36080         URL: http://bugs.gentoo.org/468790
36082 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
36084         Assume gnulib is checked out from Git, not CVS
36086         In fact, access to the gnulib repository through CVS has been
36087         disabled, or more precisely, got broken and was never restored; see:
36088         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
36090         Note that support for CVS is not removed completely and unthinkingly
36091         by this change: only support for CVS checkouts of gnulib itself is
36092         removed.  For example, the 'bootstrap' script still cater to .cvsingore
36093         files and CVS directories, for the benefit of those poor gnulib clients
36094         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
36096         * gnulib-tool: Simplify accordingly.
36097         * posix-modules: Likewise.
36098         * MODULES.html.sh: Likewise.
36099         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
36100         repository.
36101         * doc/gnulib-intro.texi: Likewise.
36102         * doc/gnulib-readme.texi: Likewise.
36103         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
36104         sample '.gitignore' file rather than a sample '.cvsignore'.
36105         * NEWS: Update.
36106         * m4/extensions.m4: While at it, remove a comment mistakenly referring
36107         to "CVS Autoconf" rather than "git Autoconf".
36109 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
36111         utimensat-tests, etc.: try to fix some races
36112         Problem reported by Bernhard Voelker in
36113         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
36114         I don't know whether this patch fixes that race condition, but it
36115         fixes *some* race conditions, so it should be a win.
36116         * modules/chown-tests (Depends-on):
36117         * modules/fchownat-tests (Depends-on):
36118         * modules/fdutimensat-tests (Depends-on):
36119         * modules/futimens-tests (Depends-on):
36120         * modules/lchown-tests (Depends-on):
36121         * modules/stat-time-tests (Depends-on):
36122         * modules/utimens-tests (Depends-on):
36123         * modules/utimensat-tests (Depends-on):
36124         Depend on nanosleep, not usleep.
36125         * modules/chown-tests (test_chown_LDADD):
36126         * modules/lchown-tests (test_lchown_LDADD):
36127         * modules/stat-time-tests (test_stat_time_LDADD):
36128         New macro.
36129         * modules/fchownat-tests (test_fchownat_LDADD):
36130         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
36131         * modules/futimens-tests (test_futimens_LDADD):
36132         * modules/utimens-tests (test_utimens_LDADD):
36133         * modules/utimensat-tests (test_utimensat_LDADD):
36134         Add $(LIB_NANOSLEEP).
36135         * modules/stat-time-tests (Files): Add tests/nap.h.
36136         * tests/nap.h: Include <limits.h>, for INT_MAX.
36137         (lt_mtime): Remove.
36138         (diff_timespec): New function.
36139         (get_stat): Rename from get_mtime.  All callers changed.
36140         (nap_works): Determine the needed delay by inspecting the
36141         file system's timestamp jumps; this should be more reliable.
36142         Look at both mtime and ctime, and take the maximum of the two jumps.
36143         (nap_works, guess_delay):
36144         Return a nanosecond count, not a microsecond count.
36145         All callers changed.
36146         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
36147         failure.
36148         (nap): Multiply the guess by 1.125, to accommodate the case where
36149         the file system's clock is a bit slower than nanosleep's clock.
36150         * tests/test-stat-time.c (BASE): New macro.
36151         Include nap.h.
36152         (nap): Remove; nap.h now defines this.  This removes a duplicate
36153         implementation of 'nap'.
36155         utimens, utimensat: work around Solaris UTIME_OMIT bug
36156         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
36157         Linux kernel 2.6.32 does.  Work around it in the same way.
36158         * doc/posix-functions/futimens.texi (futimens):
36159         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
36160         * lib/utimens.c (fdutimens, lutimens):
36161         * lib/utimensat.c (rpl_utimensat): Work around the bug.
36163         gettext: now it's your responsibility to add -I$(top_builddir)/intl
36164         Formerly, it was your responsibility to do this for all Makefile.ams
36165         other than Gnulib's.  Now it's your responsibility to do it for
36166         Gnulib's Makefile.am, too.
36167         * NEWS: Document this.
36168         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
36170         acl: include errno.h to get errno
36171         Reported by Daiki Ueno in
36172         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
36173         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
36175 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
36177         tests: don't assume getdtablesize () <= 10000000
36178         * modules/cloexec-tests:
36179         * modules/dup2-tests:
36180         * modules/dup3-tests:
36181         * modules/nonblocking-tests:
36182         * modules/posix_spawn_file_actions_addclose-tests:
36183         * modules/posix_spawn_file_actions_adddup2-tests:
36184         * modules/posix_spawn_file_actions_addopen-tests:
36185         * modules/unistd-safer-tests:
36186         Depend on the getdtablesize module.
36187         * tests/test-cloexec.c:
36188         * tests/test-dup-safer.c:
36189         * tests/test-dup2.c:
36190         * tests/test-dup3.c:
36191         * tests/test-fcntl.c:
36192         * tests/test-nonblocking.c:
36193         * tests/test-posix_spawn_file_actions_addclose.c:
36194         * tests/test-posix_spawn_file_actions_adddup2.c:
36195         * tests/test-posix_spawn_file_actions_addopen.c:
36196         Don't assume getdtablesize () <= 10000000.
36198 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
36200         extern-inline: work around bug in Sun c99
36201         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
36202         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
36204 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
36206         qacl: new module, broken out from the acl module
36207         This is for GNU Emacs, which wants the acl functions but does
36208         not want 'error' invoked when they fail.
36209         * lib/acl-internal.h: Do not include error.h, quote.h.
36210         (ENOSYS, ENOTSUP): Remove; no longer needed.
36211         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
36212         * lib/acl.h: Include <stdbool.h>.
36213         (acl_errno_valid): New function.
36214         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
36215         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
36216         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
36217         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
36218         (ACL_INTERNAL_INLINE): Remove; no longer needed.
36219         * lib/file-has-acl.c (file_has_acl):
36220         * lib/qcopy-acl.c (qcopy_acl):
36221         * lib/qset-acl.c (qset_acl):
36222         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
36223         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
36224         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
36225         lib/file-has-acl.c, m4/acl.m4 to qacl module.
36226         Add lib/set-acl.c.
36227         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
36228         Add qacl.
36229         (configure.ac): Move gl_FUNC_ACL to qacl module.
36230         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
36231         Rename set-mode-acl.c to set-acl.c.
36232         * lib/acl-errno-valid.c: New file.
36233         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
36234         copy_acl function remains in copy-acl.c.
36235         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
36236         (_): Remove; not needed.
36237         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
36238         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
36239         * modules/qacl: New file, moved from the old modules/acl.
36240         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
36241         Remove set-mode-acl.c, copy-acl.c.
36242         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
36244         alignof, intprops, malloca: port better to IBM's C compiler
36245         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
36246         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
36247         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
36249 2013-04-25  Daiki Ueno  <ueno@gnu.org>
36251         wctype-h: fix gettext link error on mingw
36252         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
36253         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
36254         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
36255         rpl_towupper and rpl_towupper.
36257 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
36259         regex-tests, regex: allow glibc re_search behavior
36260         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
36261         re_search input data to make the multi-character collating element
36262         in it clearly visible, and treat re_search return code 0 as valid.
36263         * m4/regex.m4 (gl_REGEX): Likewise.
36265 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
36267         stdalign: doc fix
36268         * doc/posix-headers/stdalign.texi (stdalign.h):
36269         Gnulib doesn't support '_Alignof expr'.
36271 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
36273         stdalign: port to stricter ISO C11
36274         ISO C11 says that _Alignof's operand must be a parenthesized type.
36275         Problem reported by Eli Zaretskii in
36276         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
36277         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
36278         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
36280 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
36282         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
36283         Problem reported by Marco Atzeri in
36284         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
36285         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
36286         Simply delegate to the system <sys/select.h> in this case too.
36287         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
36288         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
36289         be needed on Solaris either.
36290         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
36291         Simply delegate to the system <sys/time.h> in this case.
36293 2013-03-19  Karl Berry  <karl@gnu.org>
36295         * build-aux/gnupload: check for erroneous (with gnupload) use of
36296         ftp-upload.gnu.org, tweak help.
36298 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
36300         copy-file, rpmatch: fix problems found by cppcheck
36301         Reported by Arno Onken in
36302         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
36303         * lib/rpmatch.c (try): Fix memory leak.
36304         * lib/copy-file.c: Include "ignore-value.h".
36305         (qcopy_file_preserving): Ignore chown value.
36306         * modules/copy-file (Depends-on): Add ignore-value.
36308 2013-01-27  Jim Meyering  <jim@meyering.net>
36310         prefix-gnulib-mk: give better diagnostics
36311         * build-aux/prefix-gnulib-mk: Don't just "die".
36312         Give better diagnostics upon failure.
36314 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
36316         putenv: port to Solaris 10
36317         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
36318         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
36319         is not what is wanted here.
36320         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
36321         declaration, not for its existence.
36323 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
36325         mktime: fix configure typo
36326         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
36328 2013-03-12  Eric Blake  <eblake@redhat.com>
36330         regex-tests: skip UTF-8 test on mingw
36331         * modules/regex-tests (Depends-on): Add localcharset.
36332         * tests/test-regex.c (main): Use it to skip test on mingw.
36334 2013-03-11  Eric Blake  <eblake@redhat.com>
36336         tests: make it easier to bypass alarm time in debugger
36337         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
36338         * tests/test-memmem.c (main): Likewise.
36339         * tests/test-passfd.c (main): Likewise.
36340         * tests/test-ptsname.c (main): Likewise.
36341         * tests/test-ptsname_r.c (main): Likewise.
36342         * tests/test-strcasestr.c (main): Likewise.
36343         * tests/test-strstr.c (main): Likewise.
36345         regex: port to mingw's recent addition of undeclared alarm
36346         * doc/posix-functions/alarm.texi (alarm): Document that alarm
36347         exists but still doesn't work in newer mingw.
36348         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
36349         not existence.  Ensure SIGALRM is not trapped.
36350         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
36351         * m4/regex.m4 (gl_REGEX): Likewise.
36352         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
36353         * tests/test-regex.c (main): Use correct probe for alarm.
36355         putenv: avoid compilation warning on mingw
36356         * lib/putenv.c (_unsetenv): Protect variable declaration.
36357         (putenv): Fix indentation.
36359 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
36361         unistd: don't prevent Tru64 Unix from using gnulib strtod.
36362         * lib/unistd.in.h: be careful not to include un-needed system
36363         stdlib.h from here, because that prevents gnulib stdlib.h from
36364         defining rpl_strtod correctly.
36366 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
36368         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
36369         changesets, but for the 'precision 0' test.
36370         * tests/test-vasprintf-posix.c (test_function): Don't insist on
36371         round-to-even, since POSIX says rounding is implementation-defined
36372         and OS X 10.8.2 rounds 1.51 to 1 here.
36374         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
36375         changeset.
36376         * tests/test-vasprintf-posix.c (test_function): Don't insist on
36377         round-to-even, since POSIX says rounding is implementation-defined
36378         and OS X 10.8.2 rounds 1.5 to 1 here.
36380 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
36382         vasnprintf-posix-tests: allow rounding 1.5 to 1
36383         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
36384         round-to-even, since POSIX says rounding is implementation-defined
36385         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
36386         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
36388         bootstrap: port to FreeBSD
36389         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
36390         that treat '--' differently.  Reported by Mats Erik Andersson in
36391         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
36393 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
36395         regex: rename remaining __attribute calls to __attribute__.
36396         2012-02-25 changed definition of __attribute, but left some uses
36397         unchanged, preventing compilation of regex module on most non-gcc
36398         environments.
36399         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
36400         (lookup_collation_sequence_value, build_range_exp)
36401         (build_collating_symbol): Set attributes with newly renamed
36402         __attribute__ decorator.
36403         * lib/regex_internal.c (re_string_peek_byte_case)
36404         (re_node_set_compare, re_node_set_contains): Likewise.
36405         * lib/regexec.c (acquire_init_state_context): Likewise.
36407 2013-03-06  Bruno Haible  <bruno@clisp.org>
36409         execute: Revert last change, but use a different condition.
36410         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
36411         on Windows.
36413 2013-03-05  Eric Blake  <eblake@redhat.com>
36415         execute: drop dead code
36416         * lib/execute.c (nonintr_close, nonintr_open): Delete.
36418 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
36420         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
36421         * m4/non-recursive-gnulib-prefix-hack.m4
36422         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
36423         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
36424         <http://bugs.gnu.org/10305#237>.
36426 2013-03-04  Eric Blake  <eblake@redhat.com>
36428         test-getsockopt: avoid compiler warning
36429         * tests/test-getsockopt.c (includes): Ensure close is declared.
36431 2013-03-02  Bruno Haible  <bruno@clisp.org>
36433         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
36434         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
36436 2013-03-02  Bruno Haible  <bruno@clisp.org>
36438         gettext: Update to version 0.18.2.
36439         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
36440         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
36441                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
36443 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
36445         regex: merge patches from libc
36447         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
36448         * lib/regex_internal.h (__attribute__): Rename from __attribute.
36449         All uses changed.
36450         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
36451         (re_string_wchar_at, re_string_elem_size_at):
36452         Mark function as possibly unused.
36454         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
36455         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
36456         elements compare against the byte sequence of it, not its name.
36458 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
36460         putenv: port better to native Windows
36461         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
36462         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
36463         (_unsetenv): Use _putenv if available.
36464         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
36465         a bit less likely to cause damage.
36466         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
36467         Fix the wrong value with SetEnvironmentVariable.
36468         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
36469         code better.
36471 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
36473         regex: ignore old-style-definition warnings
36474         * lib/regex.c: Add pragma to ignore these warnings.
36475         Problem reported for GNU tar by Pavel Raiskup.
36477 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
36479         getcwd: support coreutils better
36480         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
36481         but this might not be correct in coreutils, which disables
36482         the raw decl checks.  Problem reported by Nagendra in
36483         <http://bugs.gnu.org/10305#192>.
36484         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
36485         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
36486         Test the getcwd function, not any macro, since getcwd.c wants the
36487         function.
36488         * m4/getcwd.m4 (gl_FUNC_GETCWD):
36489         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
36490         compile, as might happen if there's a macro but no function.
36492         strtod: support coreutils better
36493         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
36494         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
36495         disables the raw decl checks.  This assumes there is an underlying
36496         strtod, but that's a safe assumption these days.
36497         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
36499         mountlist: port to HP NonStop
36500         Reported by Joachim Schmitz in
36501         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
36502         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
36503         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
36505 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
36507         extern-inline: avoid compilation error with HP-UX cc
36508         Reported by Richard Lloyd in
36509         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
36510         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
36511         Suppress extern inline with HP-UX cc.  This should be safe,
36512         though it may hurt performance.  Perhaps someone with some HP-UX
36513         experience can come up with a higher-performance fix.
36515 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
36517         putenv: fix heap corruption with mixed putenv/_putenv
36518         Problem reported by Michael Goffioul in
36519         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
36520         * lib/putenv.c (putenv) [HAVE__PUTENV]:
36521         Rely on _putenv to allocate the new environment.
36522         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
36523         * modules/putenv (configure.ac): Use it.
36525 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
36527         unsetenv etc.: port to Solaris 11 + GNU Emacs
36528         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
36529         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
36530         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
36531         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
36532         idea but is too painful to fix right now), and without this gnulib
36533         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
36534         compiling unsetenv.c on Solaris 11.  Fix the problem for
36535         unsetenv.c, and fix other similar occurrences.
36537 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
36539         secure_getenv: fix C++ declaration typo
36540         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
36541         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
36542         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
36544 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
36546         careadlinkat: stop exporting careadlinkatcwd
36547         Only Emacs used it directly, and Emacs no longer needs it.
36548         * NEWS: Document this simplification.
36549         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
36550         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
36551         for readlink.
36552         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
36553         Don't include stdlib.h; no longer needed.
36554         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
36555         * lib/relocwrapper.c: Adjust comment to match new dependencies.
36556         * modules/areadlink (Depends-on): Add readlink.
36557         (Maintainer): Add self.
36558         * modules/careadlinkat (Depends-on): Remove readlink.
36560         extensions: port better to HP-UX
36561         This is merged from git Autoconf.
36562         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
36563         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
36564         so that it's compatible with the value used when compiling.
36566         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
36567         Problem reported by Mats Erik Andersson in
36568         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
36569         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
36570         openpty function exists, not merely when we intend to replace it.
36571         This corrects the 2013-01-31 patch, which mistakenly defined
36572         HAVE_OPENPTY even on hosts that lacked it.
36574 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
36576         secure_getenv: fix include typo
36577         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
36579         secure_getenv: port better to FreeBSD and Solaris
36580         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
36581         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
36582         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
36583         This works better on BSDish platforms.
36584         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
36585         Test for issetugid if __secure_getenv is missing.
36587 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
36589         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
36590         Some of these changes are merged in from git Autoconf.
36591         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
36592         When deciding whether to define _XOPEN_SOURCE, inspect the
36593         preprocessor macro __hpux instead of the more-heavyweight
36594         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
36595         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
36596         as the key for __EXTENSIONS__.
36598         unistd: avoid namespace pollution on non-glibc systems
36599         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
36600         This avoids namespace pollution on non-glibc systems, by causing
36601         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
36602         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
36603         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
36605 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
36607         tmpdir: use secure_getenv
36608         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
36609         Define to secure_getenv, not getenv.
36610         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
36611         as that's now secure_getenv's job.
36612         * modules/tmpdir (Depends-on): Add secure_getenv.
36614         tempname: use secure_getenv
36615         * lib/tempname.c (__secure_getenv) [!_LIBC]:
36616         Define to secure_getenv, not getenv.
36617         * modules/tempname (Depends-on):
36618         Add secure_getenv.
36620         secure_getenv: new module
36621         * MODULES.html.sh (Extra functions based on ANSI C 89):
36622         Add secure_getenv.
36623         * doc/glibc-functions/secure_getenv.texi: New file.
36624         * doc/gnulib.texi: Include it.
36625         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
36626         New files.
36627         * lib/stdlib.in.h (secure_getenv): New decl.
36628         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
36629         * modules/stdlib (stdlib.h):
36630         Add secure_getenv checks.
36632 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
36634         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
36635         Reported for OS X 10.8.2 by Assaf Gordon in
36636         <http://bugs.gnu.org/13516>.
36637         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
36638         !HAVE_OPENAT && !HAVE_FDOPENDIR.
36639         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
36640         so that they can be kept in sync more easily.  Avoid PATH_MAX
36641         test on the Hurd.  Sync from test-getcwd.c for errno tests after
36642         mkdir or chdir failure.
36643         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
36644         lib/getcwd.c.
36645         (test_abort_bug): Do not test for the deep directory bug unless we
36646         have openat support.  Avoid PATH_MAX test on the Hurd.
36648         regex-tests, regex: fix bug: memset undeclared
36649         * tests/test-regex.c: Don't include regex.h twice.  Include
36650         string.h, to declare memset.  Christensen's report also mentioned
36651         this issue.
36652         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
36653         test-regex.c, to avoid future problems like this.  Remove
36654         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
36655         twice.
36657         regex-tests: fix link errors on older Solaris
36658         These need to link with @LIBINTL@ to get libintl_gettext.
36659         Problem reported by Tom G. Christensen in
36660         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
36661         * modules/regex-tests (test_regex_LDADD): New macro.
36663 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
36665         regex-tests: new module
36666         * modules/regex-tests, tests/test-regex.c: New files.
36668         regex: fix off-by-one error in configure test
36669         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
36671 2013-01-31  Eric Blake  <eblake@redhat.com>
36673         regex: avoid infinite configure test
36674         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
36676 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
36678         openpty: fix bug where HAVE_OPENPTY wasn't defined
36679         See the thread starting at:
36680         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
36681         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
36682         openpty function exists, not merely when we intend to replace it.
36684 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
36686         sys_time: port to Solaris 2.6
36687         There is a circularity problem on Solaris 2.6, where <time.h> includes
36688         <sys/time.h> for struct timespec.  The include nesting is gnulib
36689         <time.h>, system <time.h>, gnulib <sys/time.h>, system
36690         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
36691         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
36692         <sys/siginfo.h>; the last, innermost file needs struct
36693         timestruc_t, which is defined in <sys/time.h>, which has not been
36694         fully parsed.  Problem reported by Tom G. Christensen in
36695         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
36696         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
36697         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
36698         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
36699         uses split double-inclusion guards.
36701 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
36703         regex: test for buffer overrun
36704         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
36705         for the just-fixed regex bug.
36707 2013-01-29  Andreas Schwab  <schwab@suse.de>
36709         regex: fix buffer overrun in regexp matcher [BZ #15078]
36710         * lib/regexec.c (extend_buffers): Add parameter min_len.
36711         (check_matching): Pass minimum needed length.
36712         (clean_state_log_if_needed): Likewise.
36713         (get_subexp): Likewise.
36715 2013-01-28  Pádraig Brady  <P@draigBrady.com>
36717         mountlist: don't consider "devtmpfs" as dummy
36718         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
36719         as there is storage associcated with it.
36721 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
36723         futimens-tests, utimens-tests: Depend on gettext.
36724         This works around a problem introduced in my 2013-01-12 patch,
36725         which added @LIBINTL@ to these modules.
36726         * modules/futimens-tests (Depends-on):
36727         * modules/utimens-tests (Depends-on): Add gettext.
36729 2013-01-26  Eric Blake  <eblake@redhat.com>
36731         test-getpeername: fix typo
36732         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
36734 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
36736         bootstrap: remove the need for a sorted .gitignore file
36737         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
36738         rename to insert_if_absent(), so that we don't need or generate
36739         a sorted .gitignore file.  We do require a .gitignore with no
36740         existing duplicate entries and enforce that.
36741         (sort_patterns): Remove this function as we now use the simpler
36742         technigue of inserting blacklist entries at the top of the file,
36743         assuming gnulib won't be inserting !whitelist entries.
36745 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
36747         readlinkat: don't depend on gl_FUNC_OPENAT
36748         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
36749         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
36750         renameat.m4, symlinkat.m4; but one thing at a time.
36752         statat: new module, split out from fstatat
36753         GNU Emacs needs the POSIX-specified fstatat, but not the
36754         gnulib-specified statat and lstat.  Split the latter two into a
36755         new module 'statat'.
36756         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
36757         * lib/openat.h, lib/statat.c (STATAT_INLINE):
36758         Rename from FSTATAT_INLINE. All uses changed.
36759         * modules/fstatat (Files): Remove lib/statat.c.
36760         (gl_MODULE_INDICATOR([fstatat])): Remove.
36761         (lib_SOURCES): Remove.
36762         (Maintainer): Add self.
36763         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
36764         * tests/test-fstatat.c (BASE): Don't define if already defined.
36765         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
36767 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
36769         tests: don't assume fd 99 is closed
36770         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
36771         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
36772         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
36773         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
36774         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
36775         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
36776         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
36777         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
36778         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
36779         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
36780         * tests/test-fwrite.c, tests/test-getpeername.c:
36781         * tests/test-getsockname.c, tests/test-getsockopt.c:
36782         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
36783         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
36784         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
36785         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
36786         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
36787         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
36788         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
36789         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
36790         * tests/test-unlinkat.c, tests/test-unlockpt.c:
36791         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
36792         Close file descriptor 99, instead of assuming it's already closed.
36794 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
36796         stpncpy: port to OS X 10.8
36797         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
36798         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
36800 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
36802         unistd: port to recent mingw
36803         * lib/unistd.in.h: Remove special invocation convention for mingw,
36804         which breaks for the latest mingw version.  See John W. Eaton in
36805         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
36807         largefile: port better to Mac OS X 10.5
36808         This patch is backported from Autoconf git.
36809         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
36810         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
36811         with ino_t size being different for configuration time versus
36812         build/run time.  Problem reported by PHO in
36813         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
36815 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
36817         doc: clarify -Werror
36818         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
36819         clarify that it's intended for developers, not for ordinary builds,
36820         and mention --enable-gcc-warnings as one possible use.
36822 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
36824         stdint: fix build with Android's Bionic fox x86
36825         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
36826         was already included as _SSIZE_T_DEFINED_ might also be defined
36827         in include/machine/_types.h, which is included by stdio.h
36829 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
36831         net_if-tests: port to Solaris 7 + GCC 3.4.6
36832         Problem reported by Tom G. Christensen in
36833         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
36834         * tests/test-net_if.c (ni): Move to next the code that uses it,
36835         so that it's declared only if needed.
36837 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
36839         net_if-tests: port to older Solaris
36840         Problem reported by Tom G. Christensen in
36841         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36842         * modules/net_if-tests (NET_IF_LIB): New substitution.
36843         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
36844         (HAVE_IF_NAMEINDEX): New C macro.
36845         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
36847         system-quote-tests: port to older Solaris
36848         Problem reported by Tom G. Christensen in
36849         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36850         * tests/test-system-quote-child.c (fopen, fread): Undef.
36852         c-xvasprintf etc.: fix link errors on older Solaris
36853         These need to link with @LIBINTL@ to get libintl_gettext.
36854         Problem reported by Tom G. Christensen in
36855         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36856         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
36857         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
36858         * modules/futimens-tests (test_futimens_LDADD):
36859         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
36861 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
36863         locale: port to Solaris 2.6 and 7 + GNU gettext
36864         * lib/locale.in.h: Just include_next <locale.h> when
36865         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
36866         when combining the localename module with GNU gettext 0.18.2.
36867         Problem reported by Tom G. Christensen in
36868         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
36870 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
36872         stdlib: port to Solaris 2.6
36873         Also, the code worked on Solaris 7 through 9 only by accident.
36874         Problem reported by Tom G. Christensen in
36875         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
36876         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
36877         simply include the system stdlib.h.
36878         * lib/getopt.in.h (__need_system_stdlib_h):
36879         * lib/pthread.in.h (__need_system_stdlib_h):
36880         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
36881         Define when including <stdlib.h>, to avoid problems at least for
36882         the pthread case on Solaris 2.6 and 7.  These .h files can get by
36883         with the system stdlib.h.
36885 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
36887         doc: update main copyright year
36888         * doc/gnulib.texi: Update copyright date.
36890         doc: improve ISO 8601 discussion
36891         * doc/parse-datetime.texi (Combined date and time of day items):
36892         Specify more carefully what formats are supported and what is
36893         done with excess precision.
36895 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
36897         doc: avoid small caps
36898         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
36899         they're more trouble than they're worth.  Suggested by Karl Berry
36900         in <http://bugs.gnu.org/13360>.
36902         regex: conform to strict C
36903         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
36904         From Aharon Robbins.
36906         gnulib-tool: fix incompatibility with autopoint 0.18.2
36907         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
36908         Problem reported by Tom G. Christensen in
36909         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
36911 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
36913         fprintftime: bring back and reword fwrite comment
36914         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
36916         stdio: remove now-unnecessary stdio.c
36917         Since stdio.in.h no longer uses inline functions, we no longer
36918         need to compile the extern versions.
36919         * lib/stdio.c: Remove.
36920         * modules/stdio (Files): Remove lib/stdio.c.
36921         (lib_SOURCES): Remove.
36923         unicodeio: depend on stdio, not ignore-value
36924         * lib/unicodeio.c: Do not include ignore-value.h.
36925         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
36926         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
36928         fprintftime: depend on stdio, not ignore-value
36929         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
36930         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
36931         since the stdio module arranges to silence that warning now.
36932         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
36934 2012-10-04  Simon Josefsson  <simon@josefsson.org>
36936         stdint-tests: Fix expanded-before-required-warning.
36937         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
36939 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
36941         fwrite: silence __wur only for older glibc versions
36942         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
36943         This will help us remove this workaround some time in the far future.
36945 2013-01-03  Eric Blake  <eblake@redhat.com>
36947         fwrite: silence __wur without using inline
36948         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
36949         just gcc, and in a way that avoids inline issues.
36950         * modules/stdio (Depends-on): Drop extern-inline.
36952 2013-01-03  Jim Meyering  <jim@meyering.net>
36954         update-copyright: avoid copyright notice date corruption
36955         Given a sequence of copyright year numbers in which the final
36956         one was a two-digit number that happened to be a substring of
36957         a preceding four-digit year number, we would mistakenly update
36958         the substring (from two- to four-digit) rather than the two-digit
36959         number at the end, which, combined with the addition of the current
36960         4-digit year number would yield two 5-digit year numbers, e.g.,
36961         here, it would convert the first "99" to "1999, 2013" rather than
36962         the final one:
36963           1991, 99
36964           11999, 20131, 1999
36965         * build-aux/update-copyright: Tighten a regexp.
36966         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
36967         Reported by Joseph Myers in
36968         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
36970 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
36972         regex: omit needless signed-pointer casts
36973         * lib/regcomp.c (build_charclass, build_charclass_op):
36974         Use char *, not unsigned char *, for class name and extra.
36975         The char values are always nonnegative so there's no need to
36976         insist on unsigned char * here, and using char * removes the need
36977         for casts.  Reported by Aharon Robbins in
36978         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36980         regex: support Gawk, which never uses alloca
36981         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
36982         Do not include in this case.  Gawk doesn't supply a substitute
36983         alloca.h and doesn't need one.
36985         regex: port __libc_lock_define usage to C89
36986         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
36987         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
36988         does not conform to C89, as it has an empty macro argument.
36989         Reported by Aharon Robbins in
36990         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36992 2013-01-01  Eric Blake  <eblake@redhat.com>
36994         maint: update all copyright year number ranges
36995         Run "make update-copyright".
36997         version-etc: bump copyright year reported in --version
36998         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
37000 2012-12-31  Eric Blake  <eblake@redhat.com>
37002         sigprocmask-tests: skip test if pid is unexpectedly large
37003         * tests/test-sigprocmask.c (main): Add range check.
37005         git-version-gen: avoid test -z portability glitch
37006         * build-aux/git-version-gen: Prefer portable test spelling, since
37007         git-version-gen is run on more than just developer machines.
37009 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
37011         git-version-gen: add --fallback option to use if git is not present
37012         * build-aux/git-version-gen: Add support for the new option --fallback,
37013         which comes into play when there is no $tarball_version_file and
37014         git is not working.
37015         (scriptversion): Update.
37017         maint.mk: handle missing git with more grace
37018         * top/maint.mk (no-submodule-changes, public-submodule-commit):
37019         Quietly proceed if git is not present.
37021 2012-12-31  Eric Blake  <eblake@redhat.com>
37023         dup2: work around cygwin bug
37024         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
37025         * lib/dup2.c (rpl_dup2): Work around it.
37026         * doc/posix-functions/dup2.texi (dup2): Document it.
37028 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
37030         regex: remove unnecessary dependency on localcharset.h
37031         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
37032         hasn't been needed for years.
37033         * modules/regex (Depends-on): Remove localcharset.
37035         regex: revert single-byte change
37036         * lib/regexec.c (check_node_accept_bytes): Revert previous change
37037         to this function.  This was alredy fixed in a different way, at
37038         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
37039         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
37040         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
37042         regex: simplify based on Gawk version
37043         * lib/regex_internal.c (re_dfa_add_node): Simplify.
37044         Reported by Aharon Robbins in
37045         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37047 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
37049         regex: check that pattern char is single-byte
37050         Reported by Aharon Robbins in
37051         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37052         * lib/regexec.c (check_node_accept_bytes):
37053         Return 0 if the pattern string has a multibyte character here.
37055         regex: implement rational ranges
37056         Reported by Aharon Robbins in
37057         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37058         * lib/regcomp.c (build_range_exp) [!_LIBC]:
37059         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
37060         Implement rational ranges.
37062         regex: avoid redefining __wctype
37063         Reported by Aharon Robbins in
37064         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37065         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
37066         #undef before defining.
37068         regex: port to hosts where malloc (0) == NULL
37069         Reported by Aharon Robbins in
37070         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37071         * lib/regex_internal.c (re_node_set_alloc):
37072         Don't assume that malloc (0) yields nonnull.
37073         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
37074         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
37075         * modules/regex (Files): Add m4/eealloc.m4.
37077         regex: port to C89
37078         Reported by Aharon Robbins in
37079         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
37080         * lib/regcomp.c (init_word_char): Declaration before statement.
37082         regex: merge glibc changes
37083         Also, copy the license wording from glibc.  This simplifies
37084         merging changes.  gnulib-tool will change the wording to GPL as
37085         appropriate, when importing it to other packages.  The only
37086         glibc change made since the last merge, which needs merging, is:
37087         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
37088         * lib/regex_internal.h (gettext): Remove use of INTUSE.
37090         * users.txt: Add Emacs.
37092         doc: omit mention of version when not needed
37093         * doc/gnulib-intro.texi (Portability and Application Code):
37094         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
37095         Don't mention particular dates or versions when not necessary, so
37096         that the documentation won't go out of date so quickly.
37098         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
37100 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
37102         bootstrap: pass --force to autoreconf.
37103         * build-aux/bootstrap (AUTORECONFFLAGS): New.
37104         Add "--force" so that Automake's ylwrap and other such tools
37105         be updated at each bootstrap invocation.
37106         Use it.
37108 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
37110         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
37111         The earlier patch forgot to update one of the #if conditions, causing
37112         a problem on Debian testing i386 reported by Mats Erik Andersson
37113         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
37114         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
37115         (__argp_fmtstream_puts, argp_fmtstream_puts)
37116         (__argp_fmtstream_write, argp_fmtstream_write)
37117         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
37119         * doc/gnulib-readme.texi: Minor fixups.
37120         (Portability guidelines): Modernize URLs.  Remove some repetition.
37121         (Indent with spaces not TABs): Reword to avoid too-long lines.
37122         Remove some '@ifset standalone' stuff that isn't used.
37124         * doc/gnulib-readme.texi (Portability guidelines):
37125         ctype.h, not ctime.h.
37127         Correct name of POSIX.1-2001.
37128         * doc/posix-functions/fgetc.texi (fgetc):
37129         * doc/posix-functions/fgets.texi (fgets):
37130         * doc/posix-functions/fread.texi (fread):
37131         * doc/posix-functions/fscanf.texi (fscanf):
37132         * doc/posix-functions/getc.texi (getc):
37133         * doc/posix-functions/getchar.texi (getchar):
37134         * doc/posix-functions/scanf.texi (scanf):
37135         POSIX.1-2001, not POSIX-2001.
37137         doc: move README into manual
37138         * README: Move contents to new file doc/gnulib-readme.texi.
37139         Replace with a one-line summary.
37140         * doc/gnulib.texi (Brief Overview): New section,
37141         with old intro preface.  Include gnulib-readme.texi for contents.
37142         (Philosophy): Rename from "Introduction", since this
37143         section no longer introduces the rest.  Write a new preface.
37144         * doc/gnulib-readme.texi: New file, with the old contents of
37145         README texinfo-ized.  This way, the README info appears
37146         in the online and printed manual.
37148 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
37150         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
37151         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
37152         c_vasprintf() prototype.
37154 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
37156         c-vasprintf: Fix "empty declaration" warning reported by GCC.
37157         * lib/c-vasprintf.h: Remove stray semicolon.
37159 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
37161         gettext: avoid obsolete macro AM_PROG_MKDIR_P
37162         It is obsolete and is planned to be removed from Automake 1.14; see
37163         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
37164         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
37165         (installdirs-data, installdirs-data-yes):
37166         Use $(MKDIR_P), not $(mkdir_p).
37167         * m4/intl.m4 (AM_INTL_SUBDIR):
37168         * m4/po.m4 (AM_PO_SUBDIRS):
37169         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
37171 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
37173         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
37174         On this platform, we are not optimizing but we are using
37175         the substitute for extern inlines, so compile as if
37176         C99-style extern inline, or a substitute, is available.
37177         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
37178         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
37179         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
37180         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
37181         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
37182         Declare as ARGP_FS_EI, not as extern.
37183         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
37184         (__option_is_short, _option_is_end, __option_is_end)
37185         [!_LIBC && __USE_EXTERN_INLINES]:
37186         Declare as ARGP_EI, not as extern.
37188 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
37190         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
37191         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
37192         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
37193         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
37194         ...), as the latter is fatal with older Autoconfs.
37195         Problem reported and fix suggested by Eric Blake in thread starting at
37196         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
37198 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
37200         AC_PROG_MKDIR_P: don't workaround if not buggy
37201         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
37202         Define only for Autoconf versions before 2.62.
37203         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
37204         undocumented m4_PACKAGE_VERSION, for consistency with the
37205         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
37206         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
37207         was introduced in 2.62.
37209 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
37211         New 'c-*printf' modules for formatted output in C locale.
37213         New module 'c-vasnprintf'.
37214         * modules/c-vasnprintf: New file.
37215         * lib/c-vasnprintf.c: New file.
37216         * lib/c-vasnprintf.h: New file.
37218         New module 'c-snprintf'.
37219         * modules/c-snprintf: New file.
37220         * modules/c-snprintf-tests: New file.
37221         * lib/c-snprintf.c: New file.
37222         * lib/c-snprintf.h: New file.
37223         * tests/test-c-snprintf.c: New file.
37224         * tests/test-c-snprintf.sh: New file.
37226         New module 'c-vsnprintf'.
37227         * modules/c-vsnprintf: New file.
37228         * modules/c-vsnprintf-tests: New file.
37229         * lib/c-vsnprintf.c: New file.
37230         * lib/c-vsnprintf.h: New file.
37231         * tests/test-c-vsnprintf.c: New file.
37232         * tests/test-c-vsnprintf.sh: New file.
37234         New module 'c-vasprintf'.
37235         * modules/c-vasprintf: New file.
37236         * modules/c-vasprintf-tests: New file.
37237         * lib/c-asprintf.c: New file.
37238         * lib/c-vasprintf.c: New file.
37239         * lib/c-vasprintf.h: New file.
37240         * tests/test-c-vasprintf.c  +: New file.
37241         * tests/test-c-vasprintf.sh: New file.
37243         New module 'c-xvasprintf'.
37244         * modules/c-xvasprintf: New file.
37245         * modules/c-xvasprintf-tests: New file.
37246         * lib/c-xasprintf.c: New file.
37247         * lib/c-xvasprintf.c: New file.
37248         * lib/c-xvasprintf.h: New file.
37249         * tests/test-c-xvasprintf.c: New file.
37250         * tests/test-c-xvasprintf.sh: New file.
37252 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
37254         argp: better 'inline'
37255         Use extern-inline module to declare extern inline functions.
37256         This avoids some bogus warning diagnostics.  Problem discovered
37257         when modifying GNU tar to use the manywarnings module.
37258         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
37259         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
37260         Define based on extern-inline.
37261         * modules/argp (Depends-on): Add extern-inline.
37263 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
37265         filemode, sys_stat: Handle MPX files a la AIX.
37266         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
37267         * lib/sys_stat.in.h (S_ISMPX): New macro.
37268         * tests/test-sys_stat.c: Add tests for MPX files.
37270 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
37272         x-to-1: honor $PERL
37273         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
37274         a chance to use his preferred version of Perl.  This is typically
37275         required by Darwin users whose default /usr/bin/perl does not have all
37276         the libraries required by help2man, and who need to use their MacPorts
37277         installation of Perl instead.
37279 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
37281         gnu-web-doc-update: add all the new files, even in new directories
37282         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
37283         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
37284         Use it.
37285         (main): Don't use cvsutils to get the list of unknown files,
37286         just add all the existing files and directories.
37288 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
37290         gnu-web-doc-update: improve --help
37291         * build-aux/gnu-web-doc-update: Move comments into --help.
37293 2012-12-07  Eric Wong  <normalperson@yhbt.net>
37295         mountlist: recognize more "dummy" file systems
37296         * lib/mountlist.c (ME_DUMMY_0):
37297         Add these dummy FS names to the list:
37298         - "debugfs" virtual filesystem for kernel debugging
37299         - "devpts" PTY slave filesystem
37300         - "devtmpfs" device filesystem on top of tmpfs/ramfs
37301         - "fusectl" control filesystem for FUSE
37302         - "mqueue" enumerates POSIX message queues
37303         - "rpc_pipefs" kernel <-> userspace bridge for NFS
37304         - "sysfs" is for exporting kernel objects
37305         - "devfs" device filesystem for Linux 2.4 and FreeBSD
37307 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
37309         extern-inline: avoid incompatibility with Darwin Libc
37310         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
37311         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
37312         Problem reported by Akim Demaille in
37313         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
37315 2012-12-11  Simon Josefsson  <simon@josefsson.org>
37317         gnupload: Work with GnuPG using gpg-agent (for smartcards).
37318         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
37319         let it handle password prompting.
37321 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
37323         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
37324         * lib/canonicalize.c (canonicalize_filename_mode):
37325         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
37326         fetching the current directory.  Don't overrun the beginning of
37327         rpath if there's no slashes after the MS-Windows drive letter.
37329 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
37331         maint.mk: avoid extra forks
37332         * top/maint.mk (_cfg_mk): The GNU make manual documents that
37333         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
37334         So use that instead of "$(shell test -f FILE && echo FILE)".
37336 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
37338         vasnprintf: fix ASCII_ONLY typo
37339         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
37340         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
37341         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
37342         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
37343         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
37345 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
37347         list, oset, xlist, xoset: fix extern inline issue with C99
37348         This was introduced by my recent changes for 'inline'.
37349         Problem reported for gettext by Daiki Ueno in
37350         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
37351         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
37352         (gl_list_nx_create, gl_list_size, gl_list_node_value)
37353         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
37354         (gl_list_previous_node, gl_list_get_at)
37355         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
37356         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
37357         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
37358         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
37359         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
37360         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
37361         (gl_list_iterator_free, gl_sortedlist_search)
37362         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
37363         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
37364         (gl_sortedlist_remove):
37365         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
37366         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
37367         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
37368         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
37369         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
37370         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
37371         (gl_list_add_at, gl_sortedlist_add):
37372         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
37373         Wrap these extern decls inside "#if 0", because they are implemented
37374         as inline functions, and extern inline is not what's wanted here.
37375         It would simplify these .h files to remove the extern decls entirely,
37376         although a downside would be less-clear separation between
37377         specification and implementation.
37379 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
37381         sys_stat: no 'static inline'
37382         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
37383         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
37385         extern-inline: no 'static inline'
37386         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
37387         Do not require AC_C_INLINE.
37388         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
37389         'static inline', for older compilers.
37391         snippet/warn-on-use: no 'static inline'
37392         * build-aux/snippet/warn-on-use.h:
37393         Remove unnecessary 'inline' in comment.
37395         rbtree-list, rbtreehash-list: no 'static inline'
37396         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
37397         * lib/gl_anytree_list2.h (node_at):
37398         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
37399         (gl_oset_first, add_nodes_to_buckets):
37400         Now static, not static inline.
37402         regex: no 'static inline'
37403         * lib/regex_internal.c (calc_state_hash):
37404         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
37405         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
37406         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
37407         Now static, not static inline.
37408         (inline) [__GNUC__ < 3 && _LIBC]:
37409         Remove macro; no longer needed.
37411         xvasprintf: no 'static inline'
37412         * lib/xvasprintf.c (xstrcat):
37413         Now static, not static inline.
37414         * m4/xvasprintf.m4 (gl_XVASPRINTF):
37415         Do not require AC_C_INLINE.
37417         parse-datetime, parse-duration: no 'static inline'
37418         * lib/parse-datetime.y (to_uchar):
37419         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
37420         (scale_n_add):
37421         Now static, not static inline.
37422         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
37423         * modules/parse-duration (configure.ac):
37424         Do not require AC_C_INLINE.
37426         getaddrinfo: no 'static inline'
37427         * lib/getaddrinfo.c (validate_family):
37428         Now static, not static inline.
37429         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
37430         Do not require AC_C_INLINE.
37432         ftruncate, fts, lstat, openat, raise: no 'static inline'
37433         * lib/ftruncate.c (chsize_nothrow):
37434         * lib/fts.c (opendirat, diropen):
37435         * lib/lstat.c (orig_lstat):
37436         * lib/openat.c (orig_openat):
37437         * lib/raise.c (raise_nothrow):
37438         Now static, not static inline.
37439         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
37440         * m4/fts.m4 (gl_FUNC_FTS_CORE):
37441         * m4/lstat.m4 (gl_PREREQ_LSTAT):
37442         * m4/openat.m4 (gl_PREREQ_OPENAT):
37443         * m4/raise.m4 (gl_PREREQ_RAISE):
37444         Do not require AC_C_INLINE.
37446         fflush, stat: no 'static inline'
37447         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
37448         (clear_ungetc_buffer, disable_seek_optimization)
37449         (restore_seek_optimization, update_fpos_cache):
37450         * lib/stat.c (orig_stat):
37451         Now static, not static inline.
37452         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
37453         (update_fpos_cache):
37454         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
37455         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
37456         * m4/stat.m4 (gl_PREREQ_STAT):
37457         Do not require AC_C_INLINE.
37459         error, filevercmp: no 'static inline'
37460         * lib/error.c (is_open, flush_stdout):
37461         * lib/filevercmp.c (order):
37462         Now static, not static inline.
37463         * m4/error.m4 (gl_PREREQ_ERROR):
37464         * modules/filevercmp (configure.ac):
37465         Do not require AC_C_INLINE.
37467         dup, execute, fatal-signal, etc.: no 'static inline'
37468         * lib/dup.c (dup_nothrow):
37469         * lib/execute.c (nonintr_close, nonintr_open):
37470         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
37471         * lib/fopen.c (orig_fopen):
37472         * lib/freadseek.c (freadptrinc):
37473         * lib/freopen.c (orig_freopen):
37474         * lib/fstat.c (orig_fstat, fstat_nothrow):
37475         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
37476         (get_rusage_as_via_iterator):
37477         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
37478         * lib/getdtablesize.c (_setmaxstdio_nothrow):
37479         * lib/isatty.c (_isatty_nothrow):
37480         * lib/open.c (orig_open):
37481         * lib/read.c (read_nothrow):
37482         * lib/sigprocmask.c (signal_nothrow):
37483         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
37484         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
37485         * lib/wait-process.c (unregister_slave_subprocess):
37486         * lib/write.c (write_nothrow):
37487         Now static, not static inline.
37488         * lib/spawn-pipe.c (nonintr_open): Define only if
37489         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
37490         * m4/dup.m4 (gl_PREREQ_DUP):
37491         * m4/execute.m4 (gl_EXECUTE):
37492         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
37493         * m4/fopen.m4 (gl_PREREQ_FOPEN):
37494         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
37495         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
37496         * m4/fstat.m4 (gl_PREREQ_FSTAT):
37497         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
37498         * m4/isatty.m4 (gl_PREREQ_ISATTY):
37499         * m4/open.m4 (gl_PREREQ_OPEN):
37500         * m4/read.m4 (gl_PREREQ_READ):
37501         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
37502         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
37503         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
37504         * m4/wait-process.m4 (gl_WAIT_PROCESS):
37505         * m4/write.m4 (gl_PREREQ_WRITE):
37506         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
37507         Do not require AC_C_INLINE.
37509         c-strtod, memcoll, readutmp: no 'static inline'
37510         * lib/c-strtod.c (c_locale):
37511         * lib/memcoll.c (strcoll_loop):
37512         * lib/readutmp.c (desirable_utmp_entry):
37513         Now static, not static inline.
37514         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
37515         * m4/memcoll.m4 (gl_MEMCOLL):
37516         * m4/readutmp.m4 (gl_READUTMP):
37517         Do not require AC_C_INLINE.
37519         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
37520         * lib/arctwo.c (to_uchar):
37521         * lib/md4.c (set_uint32):
37522         * lib/md5.c (set_uint32):
37523         * lib/sha1.c (set_uint32):
37524         * lib/sha256.c (set_uint32):
37525         * lib/sha512.c (set_uint64):
37526         Now static, not static inline.  This is a bit simpler, and doesn't
37527         affect performance with GCC and default optimization.
37528         * m4/arctwo.m4 (gl_ARCTWO):
37529         * m4/md4.m4 (gl_MD4):
37530         * m4/md5.m4 (gl_MD5):
37531         * m4/sha1.m4 (gl_SHA1):
37532         * m4/sha256.m4 (gl_SHA256):
37533         * m4/sha512.m4 (gl_SHA512):
37534         Do not require AC_C_INLINE.
37536         cond, lock, thread: better 'inline'
37537         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
37538         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
37539         New macros.  Use them instead of static inline, for header functions.
37540         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
37541         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
37542         * lib/glthread/lock.c (gl_waitqueue_init)
37543         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
37544         * lib/glthread/thread.c (get_current_thread_handle):
37545         Change 'static inline' to 'inline'.
37546         * lib/glthread/cond.h, lib/glthread/thread.h:
37547         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37548         * m4/cond.m4 (gl_COND):
37549         * m4/lock.m4 (gl_PREREQ_LOCK):
37550         * m4/thread.m4 (gl_THREAD):
37551         Do not require AC_C_INLINE.
37552         * modules/cond, modules/thread (Depends-on): Add extern-inline.
37554         chdir-long, cycle-check, savewd: better 'inline'
37555         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
37556         (find_non_slash):
37557         * lib/cycle-check.c (is_zero_or_power_of_two):
37558         * lib/savewd.c (savewd_delegating):
37559         Change 'static inline' to 'inline'.
37560         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
37561         Replace all remaining uses of 'static inline' with it.
37562         * lib/savewd.h:
37563         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37564         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
37565         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
37566         * m4/savewd.m4 (gl_SAVEWD):
37567         Do not require AC_C_INLINE.
37568         * modules/savewd (Depends-on): Add extern-inline.
37570         base32, base64: no need for 'inline'
37571         * lib/base32.c (to_uchar, get_8, decode_8):
37572         * lib/base64.c (to_uchar, get_4, decode_4):
37573         Change 'static inline' to 'inline'.
37574         * m4/base32.m4 (gl_PREREQ_BASE32):
37575         * m4/base64.m4 (gl_PREREQ_BASE64):
37576         Do not require AC_C_INLINE.
37578         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
37579         * lib/gl_array_oset.c (gl_array_nx_add_at):
37580         (gl_array_remove_at):
37581         * lib/gl_linkedhash_list.c (hash_resize_after_add)
37582         (add_to_bucket, remove_from_bucket):
37583         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
37584         Change 'static inline' to 'static', as it's simpler to omit
37585         'inline' unless there's a significant performance advantage.
37587         list, oset, xlist, xoset, xsublist: simplify via extern inline
37588         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
37589         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
37590         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
37591         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
37592         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
37593         New macro.  Replace all uses of 'static inline' with it.
37594         [HAVE_INLINE]: Implement functions as *_INLINE functions,
37595         instead of as macros FOO that are defined to static inline
37596         functions FOO_inline.
37597         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
37598         * lib/gl_xsublist.c:
37599         Reimplement from scratch, by defining the corresponding *_INLINE
37600         macro and including the corresponding .h file.  This is simpler.
37601         * modules/list, modules/oset, modules/xlist, modules/xoset:
37602         (Files): Remove m4/gl_list.m4.
37603         (configure.ac): Remove gl_LIST.
37604         * m4/gl_list.m4: Remove.
37605         * modules/list, modules/oset, modules/xlist, modules/xoset:
37606         * modules/xsublist:
37607         (Depends-on): Depend on extern-inline, not inline.
37609         xalloc: better 'inline'
37610         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
37611         New macro.  Replace all uses of 'static inline' with it.
37612         (static_inline): Remove.
37613         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
37614         Let 'extern inline' do the work automatically, instead of doing
37615         it by hand.
37616         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
37617         Remove.  All uses removed.
37618         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
37620         gethrxtime: better 'inline'
37621         * lib/xtime.c: New file.
37622         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
37623         * lib/xtime.h (XTIME_INCLUDE):
37624         New macros.  Replace all uses of 'static inline' with them.
37625         * lib/gethrxtime.c (gethrxtime): Define only if
37626         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
37627         this source file is now always compiled, because of the extern inline.
37628         * lib/gethrxtime.h, lib/xtime.h:
37629         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37630         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
37631         if gethrtime works, as they're not needed in that case.
37632         (gl_XTIME): Do not require AC_C_INLINE.
37633         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
37634         compiled now.  Move the check into gl_GETHRXTIME.
37635         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
37636         (Depends-on): Add extern-inline.
37637         (configure.ac): gethrxtime is always compiled now.
37638         (lib_SOURCES): Add gethrxtime.c.
37640         wctype-h: better 'inline'
37641         * lib/wctype-h.c: New file.
37642         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
37643         New macro.  Replace all uses of 'static inline' with it.
37644         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37645         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
37646         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
37647         (Depends-on): Add extern-inline.
37649         unistd: better 'inline'
37650         * lib/unistd.c: New file.
37651         * lib/unistd.in.h (_GL_UNISTD_INLINE):
37652         New macro.  Replace all uses of 'static inline' with it.
37653         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37654         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
37655         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
37656         (Depends-on): Add extern-inline.
37658         sys_socket: better 'inline'
37659         * lib/sys_socket.c: New file.
37660         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
37661         New macro.  Replace all uses of 'static inline' with it.
37662         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37663         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
37664         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
37665         (Depends-on): Add extern-inline.
37667         stdio: better 'inline'
37668         * lib/stdio.c: New file.
37669         * lib/stdio.in.h (_GL_STDIO_INLINE):
37670         New macro.  Replace all uses of 'static inline' with it.
37671         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37672         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
37673         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
37674         (Depends-on): Add extern-inline.
37676         sigaction: better 'inline'
37677         * lib/sig-handler.c: New file.
37678         * lib/sig-handler.h (SIG_HANDLER_INLINE):
37679         New macro.  Replace all uses of 'static inline' with it.
37680         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37681         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
37682         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
37683         (Depends-on): Add extern-inline.
37685         selinux-h: better 'inline'
37686         * lib/se-context.c, lib/se-selinux.c: New files.
37687         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
37688         * lib/se-context.in.h (SE_CONTEXT_INLINE):
37689         New macro.  Replace all uses of 'static inline' with it.
37690         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37691         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
37692         New macro.  Replace all uses of 'static inline' with it.
37693         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37694         * modules/selinux-h (Files, lib_SOURCES):
37695         Add lib/se-context.c, lib/se-selinux.c.
37696         (Depends-on): Add extern-inline.
37697         (configure.ac): Do not require AC_C_INLINE.
37699         pthread: better 'inline'
37700         * lib/pthread.c: New file.
37701         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
37702         New macro.  Replace all uses of 'static inline' with it.
37703         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37704         * m4/pthread.m4 (gl_PTHREAD_CHECK):
37705         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
37706         * modules/pthread (Files): Add lib/pthread.c.
37707         (Depends-on): Add extern-inline.
37709         math: better 'inline'
37710         * lib/math.c: New file.
37711         * lib/math.in.h (_GL_MATH_INLINE):
37712         New macro.  Replace all uses of 'static inline' with it.
37713         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37714         * m4/math_h.m4 (gl_MATH_H):
37715         Do not require AC_C_INLINE.
37716         * modules/math (Files, lib_SOURCES):
37717         Add lib/math.c.
37718         (Depends-on): Add extern-inline.
37720         count-one-bits: better 'inline'
37721         * lib/count-one-bits.c: New file.
37722         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
37723         New macro.  Replace all uses of 'static inline' with it.
37724         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37725         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
37726         Do not require AC_C_INLINE.
37727         * modules/count-one-bits (Files, lib_SOURCES):
37728         Add lib/count-one-bits.c.
37729         (Depends-on): Add extern-inline.
37731         count-leading-zeros: better 'inline'
37732         * lib/count-leading-zeros.c: New file.
37733         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
37734         New macro.  Replace all uses of 'static inline' with it.
37735         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37736         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
37737         Do not require AC_C_INLINE.
37738         * modules/count-leading-zeros (Files, lib_SOURCES):
37739         Add lib/count-leading-zeros.c.
37740         (Depends-on): Add extern-inline.
37742         bitrotate: better 'inline'
37743         * lib/bitrotate.c: New file.
37744         * lib/bitrotate.h (BITROTATE_INLINE):
37745         New macros.
37746         Replace all uses of 'static inline' with them.
37747         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37748         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
37749         (Depends-on): Add extern-inline.
37750         (configure.ac): Do not require AC_C_INLINE.
37752 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
37754         maint.mk: avoid gratuitous failure
37755         Reported by Stefano Lattarini in
37756         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
37757         * top/maint.mk (public-submodule-commit): Quote more safely.
37759 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
37761         canonicalize, canonicalize-lgpl: support MS-Windows file names
37762         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
37763         for test cases, which it'd be nice to add at some point.
37764         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
37765         * lib/canonicalize.c (canonicalize_filename_mode):
37766         * lib/canonicalize-lgpl.c (__realpath):
37767         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
37768         slash is at the beginning of the file name.  Use ISSLASH, instead
37769         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
37770         the first character with '/'.  Test for
37771         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
37772         with a drive letter.
37773         * lib/canonicalize.c (SLASHES): New macro.
37774         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
37776 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
37778         fts: introduce FTS_VERBATIM
37779         * lib/fts_.h (FTS_VERBATIM): New bit flag.
37780         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
37781         * lib/fts.c (fts_open): Honor it.
37783 2012-11-09  Pádraig Brady  <P@draigBrady.com>
37785         getlogin-tests: allow errno == ENXIO
37786         * tests/test-getlogin.c (main): Skip tests if getlogin fails
37787         with errno == ENXIO (No controlling tty).
37788         getlogin_r-tests: Likewise. Also allow errno == ENOENT
37789         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
37790         with errno == ENOENT.  This was reported to happen in various
37791         situations on GNU/Linux.
37793 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
37795         getlogin-tests: allow errno == ENOENT
37796         * tests/test-getlogin.c (main): Skip tests if getlogin fails
37797         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
37798         when running a test in an Emacs shell buffer.
37800 2012-11-08  Jim Meyering  <jim@meyering.net>
37802         tests/nap.h: avoid warning about unused variable
37803         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
37805         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
37806         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
37807         white space before each of the special-cased file names, to avoid
37808         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
37809         in http://bugs.gnu.org/12830.
37811 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
37813         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
37814         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
37815         fails with errno == EBADF when fd is opened with O_PATH.
37816         Reported by Jim Meyering in
37817         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
37818         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
37819         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
37821 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
37823         test-utimens: speed up by taking shorter naps
37824         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
37825         New functions.
37826         (nap): Use them, to do a better job of guessing the delay.
37827         On Fedora 17 with ext4 atop md atop hard disks, this made
37828         test-utimens run 10x faster, because the test napped for
37829         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
37830         <http://bugs.gnu.org/12820#11>.
37832 2012-11-07  Jim Meyering  <jim@meyering.net>
37834         mountlist.c: fix a compilation failure
37835         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
37836         I introduced while transforming commit v0.0-7683-g613bcb6
37838 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
37840         errno: port to LynxOS 178 2.2.2
37841         Problem reported by Joel Brobecker in
37842         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
37843         * doc/posix-headers/errno.texi (errno.h): Document this.
37844         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
37845         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
37846         Supply a string for EILSEQ.
37847         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
37849 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
37851         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
37852         Linux kernel 2.6.39 introduced O_PATH (see
37853         <http://lwn.net/Articles/433854/>) and this is a better fallback
37854         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
37855         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
37856         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
37857         * lib/fcntl.in.h (O_ACCMODE):
37858         * tests/test-fcntl-h.c (main):
37859         Do not reject O_ACCMODE merely because it has more than the
37860         minimal number of bits, as POSIX allows extensions here.
37862 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
37864         mountlist: do not classify a bind-mounted dir entry as "dummy"
37865         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
37866         the "none"-testing clause.
37867         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
37868         exception for bind-mounted directories.
37870 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
37872         quote: provide a means to escape strings with nul characters
37873         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
37874         (quote, quote_n): Rename formal arguments for consistency with
37875         quotearg.
37877 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
37879         test-raise: don't assume 199 is an invalid signal
37880         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
37882         sh-quote-tests: port to Solaris 9
37883         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
37884         Problem reported by Dagobert Michelsen in
37885         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
37887 2012-10-28  Jim Meyering  <jim@meyering.net>
37889         maint.mk: rename a new configurable variable
37890         * top/maint.mk (_gl_translatable_string_re): Rename from
37891         translation-markers: _gl_ prefix to insulate from user Makefile code,
37892         and the _re suffix to inform that it's a regular expression.
37894 2012-10-26  Eric Blake  <eblake@redhat.com>
37896         maint.mk: let packages tweak sc_po_check pattern
37897         * top/maint.mk (sc_po_check): Add translation-markers, to allow
37898         finding files with other translation markers.
37900 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
37902         euidaccess: speed up 'configure' on GNU hosts
37903         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
37904         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
37905         it's needed only in this case.  Use AC_CHECK_DECLS, not
37906         AC_CHECK_DECLS_ONCE.
37907         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
37908         or AC_REQUIRE for AC_FUNC_GETGROUPS.
37910         * lib/regexec.c (re_search_internal): Fix grammar in comment.
37912 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
37914         fchmodat, fchownat, fstatat: port to non-inlining compilers
37915         Problem reported for FreeBSD 9 by Jim Meyering in
37916         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
37917         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
37918         New files, which define FCHMODAT_INLINE etc.
37919         * lib/fchmodat.c (FCHMODAT_INLINE):
37920         * lib/fchownat.c (FCHOWNAT_INLINE):
37921         * lib/fstatat.c (FSTATAT_INLINE):
37922         Remove, as chmodat.c etc. now do this.
37923         * modules/fchmodat (Files): Add lib/chmodat.c.
37924         * modules/fchownat (Files): Add lib/chownat.c.
37925         * modules/fstatat (Files): Add lib/statat.c.
37927 2012-10-15  Jim Meyering  <jim@meyering.net>
37929         fchmodat.c, fchownat.c: compile-impeding typos
37930         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
37931         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
37932         Introduced in commit v0.0-7636-gd202279.
37934 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
37936         fcntl-h: support GNU flags like O_IGNORE_CTTY
37937         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
37938         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
37939         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
37940         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
37941         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
37942         Define to 0 if not already defined.
37943         * tests/test-fcntl-h.c: Test these new flags.
37945 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
37947         faccessat, etc.: support AT_FDCWD-only use
37948         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
37949         this function only if its first argument is AT_FDCWD.
37950         Emacs wants faccessat for AT_EACCESS but not for any first-arg
37951         values other than AT_FDCWD, so it doesn't want all the openat
37952         machinery with fchdir etc.
37953         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
37954         * modules/fstatat, modules/mkdirat, modules/openat (Files):
37955         * modules/unlinkat (Files):
37956         Remove lib/openat-priv.h, as at-internal supplies this file.
37957         Removing this file here allows us to support programs like Emacs
37958         that avoid at-internal.
37960         faccessat: speed up 'configure' on mainstream hosts
37961         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
37962         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
37963         since it's only on unusual platforms that we need to check for
37964         'access', and it's better not to slow 'configure' down on all
37965         platforms.
37967         faccessat: port to Solaris 10
37968         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
37969         Needed on Solaris 10, which doesn't have AT_EACCESS,
37970         so we need the Gnulib fcntl.h, which defines it.
37972 2012-10-14  Pádraig Brady  <P@draigBrady.com>
37973         canonicalize: fix C89 compilation
37974         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
37975         declarations so C89 is supported.  Also remove the comment
37976         referencing memorty allocation as the suggested feature could
37977         not be implemented as suggested.
37978         Reported by Michael Goffioul.
37980 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
37982         group-member: omit unnecessary dependencies
37983         This is for Emacs, which has its own allocator and where we
37984         don't want to use xalloc.
37985         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
37986         since we no longer use xmalloc.  Do not include stdbool.h, since
37987         the changes below happen to remove the only use of bool.
37988         (GROUPBUF_SIZE): New constant.
37989         (struct group_info): Remove n_groups member.  Add groupbuf member.
37990         This lets us get the groups without using malloc, usually.
37991         (free_group_info, get_group_info): Adjust to this.
37992         (get_group_info): Return the number of groups found, or -1 on error.
37993         Use plain malloc not xmalloc, and treat its failure as if there
37994         are no groups, as the user already loses in case of error.
37995         (group_member): Simplify, based on changes to get_group_info.
37996         * modules/group-member (Depends-on): Remove dependencies on
37997         xalloc and stdbool.  Add dependency on xalloc-oversized.
37999 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
38001         gethrxtime: port to C++
38002         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
38004 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
38006         ptsname: fix macro-name typo
38007         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
38009 2012-10-03  Simon Josefsson  <simon@josefsson.org>
38011         inttostr: Relax license.
38012         * modules/inttostr (License): Change from LGPL to LGPLv2+.
38014 2012-10-03  Eric Blake  <eblake@redhat.com>
38016         ptsname_r: support ptys returned by FreeBSD posix_openpt
38017         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
38018         lives in /dev/pts/.
38020 2012-10-02  Eric Blake  <eblake@redhat.com>
38022         pselect: reject invalid file descriptors
38023         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
38024         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
38025         * modules/pselect (Depends-on): Add dup2.
38026         * doc/posix-functions/pselect.texi (pselect): Document this.
38028         select: reject invalid file descriptors
38029         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
38030         * lib/select.c (rpl_select) [!win32]: Work around it.
38031         * modules/select (Depends-on): Add dup2.
38032         * doc/posix-functions/select.texi (select): Document this.
38034         select: enhance test
38035         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
38036         New functions.
38037         (test_function): Enhance test.
38038         (do_select_bad_fd): Avoid any stale errno values.
38040         ptsname: reject invalid file descriptors
38041         http://www.austingroupbugs.net/view.php?id=503
38042         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
38043         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
38044         * modules/stdlib (Makefile.am): Replace witness.
38045         * lib/stdlib.in.h (ptsname): Allow for replacement.
38046         * modules/ptsname (configure.ac): Trigger replacement.
38047         * doc/posix-functions/ptsname.texi (ptsname): Document this.
38049 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
38051         hash-pjw-bare: new module
38052         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
38053         * lib/hash-pjw-bare.h: Likewise.
38054         * modules/hash-pjw-bare: New file.
38055         * MODULES.html.sh (Misc): Add it.
38057 2012-10-02  Eric Blake  <eblake@redhat.com>
38059         manywarnings: cater to more gcc infelicities
38060         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
38061         -Wuninitialized without -O.
38063 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
38065         select, poll tests: Make setsockopt invocation effective.
38066         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
38067         the bind() call.
38068         * tests/test-select.h (open_server_socket): Likewise.
38070 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
38072         sockets, sys_stat: restore AC_C_INLINE
38073         This undoes the 2012-09-22 patch.
38074         * m4/sockets.m4 (gl_SOCKETS):
38075         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
38076         Restore AC_C_INLINE, since MSVC requires __inline or _inline
38077         and does not support plain 'inline'.  Reported by Bruno Haible in
38078         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
38080 2012-09-30  Bruno Haible  <bruno@clisp.org>
38082         localeconv tests: Avoid test failure on OpenIndiana.
38083         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
38084         skip the 'grouping' and 'mon_grouping' tests.
38085         Reported by Jim Meyering.
38087 2012-09-30  Bruno Haible  <bruno@clisp.org>
38089         havelib: Follow libtool developments.
38090         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
38091         Suggested by Simon Josefsson.
38093 2012-09-29  Jim Meyering  <meyering@redhat.com>
38095         fstatat.c: fix a compile-impeding typo
38096         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
38097         Introduced in commit v0.0-7636-gd202279.
38098         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
38100 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
38102         extern-inline: provide a -Wundef safe config.h
38103         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
38104         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
38105         to produce a -Wundef warning free config.h.
38107 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
38109         hash-pjw: relax license to LGPLv2+
38110         * modules/hash-pjw (License): Relax, with consent of author.
38112 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
38114         maint.mk: fix strict vs. lazy variable issues with RELEASE
38115         * top/maint.mk (_equal): New function.
38116         (member_check): Strip the result to avoid spurious spaces.
38117         (url_dir_list): Do not use ifeq, which is strict, as it will
38118         require RELEASE_TYPE to be defined.
38119         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
38120         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
38121         (announcement_Cc_alpha,announcement_mail_headers_alpha)
38122         (announcement_Cc_beta,announcement_mail_headers_beta)
38123         (announcement_Cc_stable,announcement_mail_headers_stable): these.
38124         (release): Do not depend on $(release-type), as it forces its
38125         evaluation.  Bounce to it.
38127 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
38129         maint.mk: formatting changes
38130         * top/maint.mk: Indent bodies of if's.
38132 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
38134         maint.mk: factor the validation of RELEASE_TYPE
38135         With help from Jim Meyering.
38136         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
38137         * top/maint.mk (_empty, _sp): Move their definition earlier.
38138         (member-check, release-type): New.
38139         Use the latter instead of $(RELEASE_TYPE).
38140         Remove now useless local checks.
38142 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
38144         maint.mk: provide "make upload" to ease uploading
38145         See
38146         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
38147         Do not depend simply on the current $(VERSION), as there may have been
38148         new commits since the tarball generation.  Rather, rely on $(RELEASE),
38149         as "make release-commit" already does.
38151         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
38152         "make TYPE".
38154         * top/maint.mk (upload_command, upload, release): New.
38155         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
38156         (VERSION): first word of $(RELEASE) is always right.
38157         (emit_upload_commands): Adjust.
38158         * top/README-release: Update.
38160 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
38162         maint.mk: silent rules
38163         With help from Stefano Lattarini.
38164         * top/maint.mk (writable-files): Use $(AM_V_GEN).
38165         (announcement): Use $(AM_V_at).
38167 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
38169         localename: port gl_locale_name_thread_unsafe to FreeBSD
38170         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
38171         and use the simpler FreeBSD implementation on Mac OS X as well.
38172         Original idea suggested by Ed Maste in
38173         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
38175 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
38177         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
38178         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
38179         * lib/mbuiter.c, lib/xsize.c: New files.
38180         * lib/binary-io.h (BINARY_IO_INLINE):
38181         * lib/eealloc.h (EEALLOC_INLINE):
38182         * lib/mbfile.h (MBFILE_INLINE):
38183         * lib/mbiter.h (MBITER_INLINE):
38184         * lib/mbuiter.h (MBUITER_INLINE):
38185         * lib/xsize.h (XSIZE_INLINE):
38186         New macros.
38187         Replace all uses of 'static inline' with them.
38188         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38189         * m4/eealloc.m4 (gl_EEALLOC):
38190         * m4/mbfile.m4 (gl_MBFILE):
38191         * m4/mbiter.m4 (gl_MBITER):
38192         * m4/xsize.m4 (gl_XSIZE):
38193         Do not require AC_C_INLINE.
38194         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
38195         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
38196         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
38197         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
38198         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
38199         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
38200         * modules/binary-io, modules/eealloc, modules/mbfile:
38201         * modules/mbiter, modules/mbuiter:
38202         (Depends-on): Add extern-inline.
38204         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
38205         * lib/pipe-filter-aux.c: New file.
38206         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
38207         Replace all uses of 'static inline' with it.
38208         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38209         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
38210         (filter_retcode): No real need for inline here.
38211         * modules/pipe-filter-gi, modules/pipe-filter-ii:
38212         (Files): Add lib/pipe-filter-aux.c.
38213         (Depends-on): Add extern-inline.
38214         (configure.ac): Do not require AC_C_INLINE.
38215         (lib_SOURCES): Add pipe-filter-aux.c.
38217         fdutimensat: omit unnecessary AC_C_INLINE
38218         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
38220         fchmodat, fchownat, fstatat: use extern-inline
38221         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
38222         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
38223         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
38224         New macros.
38225         * lib/openat.h:
38226         Replace all uses of 'static inline' with them.
38227         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38228         * modules/fchmodat, modules/fchownat, modules/fstatat:
38229         * modules/openat-h:
38230         (Depends-on):
38231         Add extern-inline.
38232         (configure.ac): Remove AC_C_INLINE.
38234         acl, mbchar, priv-set: use extern-inline
38235         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
38236         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
38237         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
38238         New macros.
38239         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
38240         Replace all uses of 'static inline' with it.
38241         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38242         * m4/acl.m4 (gl_FUNC_ACL):
38243         * m4/mbchar.m4 (gl_MBCHAR):
38244         * m4/priv-set.m4 (gl_PRIV_SET):
38245         Remove AC_C_INLINE, since 'inline' is no longer used directly.
38246         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
38247         Add extern-inline.
38249         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
38250         * m4/sockets.m4 (gl_SOCKETS):
38251         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
38252         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
38253         environments where it's already guaranteed to work, so we needn't
38254         check for it at 'configure'-time.
38256         tls-tests: omit unnecessary 'inline'
38257         * tests/test-tls.c (perhaps_yield): No longer inline.
38258         Simplicity and portability trump efficiency in test cases.
38260         utimens-tests: avoid unnecessary 'inline'
38261         * modules/fdutimensat-tests (configure.ac):
38262         * modules/futimens-tests (configure.ac):
38263         * modules/utimens-tests (configure.ac):
38264         * modules/utimensat-tests (configure.ac):
38265         Remove AC_C_INLINE.
38266         * tests/test-utimens-common.h (ctime_compare):
38267         No longer inline.  Simplicity and portability trump efficiency here.
38269         misc: don't limit commentary to inline functions
38270         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
38271         * lib/xalloc-oversized.h, lib/xsize.h:
38272         Contrast macros to functions in general, not just to inline functions,
38273         when the commentary does not apply only to inline functions.
38275 2012-09-20  Jim Meyering  <meyering@redhat.com>
38277         non-recursive-gnulib-prefix-hack: new module
38278         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
38279         the file that originated in Bison.
38280         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
38281         largely copied from a snippet that resided in bison's configure.ac.
38282         * modules/non-recursive-gnulib-prefix-hack: New file.
38283         * MODULES.html.sh (Support for maintaining and releasing projects):
38284         Add it.
38286 2012-09-18  Jim Meyering  <meyering@redhat.com>
38288         maint.mk: generalize _gl_tight_scope for non-recursive make
38289         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
38290         that *.h would describe additional .h files in the directory
38291         specified by $(_gl_TS_dir).  I.e., add this...
38292         (_gl_TS_other_headers): New variable.
38294         maint.mk: exempt trailing blanks found in "binary" files
38295         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
38296         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
38297         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38299 2012-09-17  Jim Meyering  <meyering@redhat.com>
38301         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
38302         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
38303         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
38304         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38306 2012-09-17  Jim Meyering  <meyering@redhat.com>
38308         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
38309         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
38310         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
38311         It is not in the same category as "exit (0)" or "exit (1)", and
38312         besides, I know of no symbolic name for that 77.  Reported by
38313         Richard W.M. Jones in
38314         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38316 2012-09-17  Jim Meyering  <meyering@redhat.com>
38318         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
38319         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
38320         all uses of #define, not just those that start in column 1.
38321         Richard W.M. Jones reported a false positive in
38322         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
38324 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
38326         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
38327         * lib/localcharset.c (locale_charset) [DARWIN7]:
38328         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
38329         as these two values are incompatible.  Problem reported by Max Horn.
38330         For more discussion, please see
38331         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
38333         doc: document sticky-EOF issue
38334         * doc/posix-functions/fgetc.texi (fgetc):
38335         * doc/posix-functions/fgets.texi (fgets):
38336         * doc/posix-functions/fread.texi (fread):
38337         * doc/posix-functions/fscanf.texi (fscanf):
38338         * doc/posix-functions/getc.texi (getc):
38339         * doc/posix-functions/getchar.texi (getchar):
38340         * doc/posix-functions/scanf.texi (scanf):
38341         Mention that glibc and default Solaris do not conform to
38342         C99 and POSIX-2001 or later, with respect to how getchar
38343         etc. behave when feof reports nonzero.
38345 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
38347         poll: fix poll(0, NULL, msec)
38348         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
38349         but nfd is 0.  In that case poll should behave like select.
38351 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
38352             Paolo Bonzini  <bonzini@gnu.org>
38354         poll: fix for systems that can't recv() on a non-socket
38355         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
38356         is readable.  In this case POLLHUP will not be supported.
38357         * doc/posix-functions/poll.texi: Document this.
38359 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
38361         poll/select: document portability problems not fixed by Gnulib.
38362         * doc/posix-functions/poll.texi: poll does not work well on
38363         pipes under Windows.  It has the same limitations as select on
38364         BeOS.
38365         * doc/posix-functions/select.texi: select does not work well
38366         on pipes under Windows.
38368 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
38370         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
38371         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
38372         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
38373         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
38375 2012-09-06  Eric Blake  <eblake@redhat.com>
38377         net_if: give more details about the bug being fixed
38378         * doc/posix-headers/net_if.texi: Add clarification.
38380 2012-09-05  Eric Blake  <eblake@redhat.com>
38382         net_if: new module
38383         * modules/net_if: New module, borrowing ideas from netinet_in.
38384         * m4/net_if_h.m4: New file.
38385         * lib/net_if.in.h: Likewise.
38386         * doc/posix-headers/net_if.texi (net/if.h): Document it.
38387         * MODULES.html.sh (lacking POSIX:2008): Likewise.
38388         * tests/test-net_if.c: Make function checks conditional.
38389         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
38391 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
38393         readutmp: fix non-portable UT_PID use
38394         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
38395         Use `UT_PID (u) > 0' as absolute condition.
38397 2012-09-04  Jim Meyering  <meyering@redhat.com>
38399         fts: reduce two or more trailing spaces to just one, usually
38400         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
38401         or more slashes, trim all but the final one.  But if a name consists
38402         solely of two slashes, don't modify it.  If it consists solely of
38403         three or more slashes, strip all but one.
38405         This is part of the solution to a minor problem with rm:
38406         it would print a bogus ELOOP diagnostic when failing to remove
38407         the slash-decorated name of a symlink-to-directory:
38409             $ mkdir d && ln -s d s && env rm -r s/
38410             rm: cannot remove 's': Too many levels of symbolic links
38412         With the change below and a trivial don't-trim-trailing-slashes
38413         adjustment to remove.c, it does this:
38415             $ env rm -r s/
38416             rm: cannot remove 's/': Not a directory
38418         Improved by: Eric Blake
38420         fts: when there is no risk of overlap, use memcpy, not memmove
38421         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
38423 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
38425         stdbool: be more compatible with mixed C/C++ compiles
38426         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
38427         Define to bool, true, false, respectively, as GCC's builtin
38428         stdbool.h does.  Problem reported by Michael Goffioul in
38429         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
38431 2012-08-28  Jim Meyering  <meyering@redhat.com>
38433         revert last change: it was not needed
38434         * tests/test-vc-list-files-git.sh: There's already a test for
38435         a working git, just below.
38437 2012-08-28  Jim Meyering  <meyering@redhat.com>
38439         tests: test-vc-list-files-git.sh: skip if git is not available
38440         * tests/test-vc-list-files-git.sh: Skip this test when git is
38441         not available.
38443 2012-08-26  Bruno Haible  <bruno@clisp.org>
38445         gnulib-tool: Remove no-op option --no-changelog.
38446         * gnulib-tool (func_usage): Don't mention --no-changelog.
38447         (do_changelog): Remove variable.
38448         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38450 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
38452         doc: remove fdl-1.2.texi
38453         It is no longer used or maintained, and its use of @acronym
38454         is problematic.  See the thread containing
38455         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
38456         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
38457         * doc/old-licenses/fdl-1.2.texi: Remove.
38459         execinfo: port to FreeBSD
38460         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
38461         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
38462         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
38463         * modules/execinfo (Link): Add $(LIB_EXECINFO).
38465 2012-08-23  Jim Meyering  <meyering@redhat.com>
38467         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
38468         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
38469         to placate gcc's -Wold-style-declaration.
38471 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
38473         doc: do not use @acronym
38474         * doc/inet_ntoa.texi (inet_ntoa):
38475         * doc/parse-datetime.texi (Seconds since the Epoch)
38476         (Specifying time zone rules):
38477         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
38478         Don't use @acronym.  Problem reported by John Darlington in
38479         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
38481 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
38483         stdnoreturn: port to newer GCCs
38484         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
38485         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
38486         Problem reported by Jim Meyering in
38487         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
38488         Also, rename the 'test' function to a void a clash with the
38489         already-supplied 'main' function; this fixes a bug that incorrectly
38490         rejected GCC 4.7.1's <stdnoreturn.h>.
38491         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
38492         Document GCC problem.
38494 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
38496         pipe-filter: fix comment typo
38497         * lib/pipe-filter.h: Mention correct function.
38499 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
38501         execinfo: new module
38502         This is for Emacs.  Currently, it provides a no-effect stub
38503         on all platforms where it does not already work.
38504         It already works on glibc-based systems, and on Solaris 11.
38505         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
38506         New files.
38507         * doc/glibc-headers/execinfo.texi (execinfo.h):
38508         * MODULES.html.sh (Misc): Document it.
38510 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
38512         extern-inline: support old GCC 'inline'
38513         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
38514         if available.  This applies to GCC versions 2.7 through 4.2, or
38515         when newer GCC is using -fgnu89-inline.  The goal is to address
38516         some of the performance issues mentioned by Bruno Haible in
38517         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
38519 2012-08-20  Eric Blake  <eblake@redhat.com>
38521         maint.mk: avoid redundant file name in message
38522         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
38523         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
38524         (sc_makefile_path_separator_check): Remove bogus $(ME).
38526 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
38528         timer-time: fix link order when static linking on glibc
38529         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
38530         _after_ -lrt so that it's significant.
38532 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
38534         timespec: omit unnecessary AC_C_INLINE
38535         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
38537         stat-time: omit unnecessary AC_C_INLINE
38538         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
38539         Do not require AC_C_INLINE.
38541         ignore-value: omit unnecessary AC_C_INLINE
38542         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
38544         sys_select: avoid 'static inline'
38545         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
38547         mktime: avoid 'static inline'
38548         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
38549         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
38551 2012-08-19  Bruno Haible  <bruno@clisp.org>
38553         gnulib-tool: Improve coding style.
38554         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
38555         func_emit_lib_Makefile_am.
38556         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38558 2012-08-19  Bruno Haible  <bruno@clisp.org>
38560         gnulib-tool: Fix indentation.
38561         * gnulib-tool (func_import): Fix indentation.
38563 2012-08-19  Bruno Haible  <bruno@clisp.org>
38565         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
38566         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
38567         on the list of removed files.
38569 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
38571         test-parse-datetime: avoid glibc leap-second glitch
38572         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
38573         with the 2012 rules.  Problem reported by Bruce Dubbs in
38574         <http://bugs.gnu.org/12206>.
38576 2012-08-14  Bruno Haible  <bruno@clisp.org>
38578         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
38579         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
38580         from argument.
38581         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38583 2012-08-14  Eric Blake  <eblake@redhat.com>
38585         ldexp: relax license
38586         * modules/ldexp (License): Trivial relax, since the module only
38587         provides a permissively licensed m4 file.
38589 2012-08-13  Bruno Haible  <bruno@clisp.org>
38591         gnulib-tool: Fix persistence of --witness-c-macro option.
38592         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
38593         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38595 2012-08-11  Eric Blake  <eblake@redhat.com>
38597         count-leading-zeros: use a lookup table on non-gcc compilers
38598         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
38599         alternate implementation, suggested by Jim Meyering.
38601 2012-08-10  Eric Blake  <eblake@redhat.com>
38603         count-leading-zeros: new module
38604         * modules/count-leading-zeros: New module.
38605         * m4/count-leading-zeros.m4: New file.
38606         * lib/count-leading-zeros.h: Likewise.
38607         * modules/count-leading-zeros-tests: New test.
38608         * tests/test-count-leading-zeros.c: New file.
38609         * MODULES.html.sh (Integer arithmetic functions): Document it.
38611 2012-08-07  Simon Josefsson  <simon@josefsson.org>
38612             Jim Meyering  <meyering@redhat.com>
38614         maintainer-makefile: Fix syntax error with dash.
38615         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
38616         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
38618 2012-08-05  Jim Meyering  <meyering@redhat.com>
38620         extern-inline: also ignore -Wmissing-declarations
38621         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
38622         required with gcc-4.8.0-to-be.
38624         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
38625         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
38626         for /error ?([^,]*)/.  This avoids false-positives for strings like
38627         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
38629 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
38631         gnumakefile: better interaction with Automake-NG
38632         * modules/gnumakefile [Makefile.am]: The makefiles generated by
38633         Automake-NG always contain a definition of VPATH, even in non-VPATH
38634         builds (its value being simply '.' in that case).  So, in the
38635         'clean-GNUmakefile' rule, to determine whether running under a
38636         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
38637         '$(VPATH)' expands to the empty string.
38639 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
38641         base64: Use extern C scope in header file, for C++.
38642         * lib/base64.h: Add C++ namespace protection.
38644 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
38646         stat-time, timespec, u64: support naive out-of-dir builds
38647         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
38648         Use '#include "foo.h"', not '#include <foo.h>', when including
38649         one's own interface.  This works better when configuring with
38650         out-of-directory builds, since packages need not add an
38651         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
38653 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
38655         utimens: use extern-inline
38656         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
38657         * lib/utimens.h: Add copyright notice, since this is now large enough
38658         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38659         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
38660         * modules/utimens (Depends-on): Add extern-inline.
38662         u64: use extern-inline
38663         * lib/u64.c: New file.
38664         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38665         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
38666         * modules/u64 (Files): Add lib/u64.c.
38667         (Depends-on): Add extern-inline.
38668         (configure.ac): No need to require AC_C_INLINE, since extern-inline
38669         does that now.
38670         (lib_SOURCES): Add u64.c.
38672         timespec: use extern-inline
38673         * lib/timespec.c: New file.
38674         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38675         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
38676         * modules/timespec (Files): Add lib/timespec.c.
38677         (Depends-on): Add extern-inline.
38678         (lib_SOURCES): Add timespec.c.
38680         stat-time: use extern-inline
38681         * lib/stat-time.c: New file.
38682         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38683         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
38684         * modules/stat-time (Files): Add lib/stat-time.c.
38685         (Depends-on): Add extern-inline.
38686         (lib_SOURCES): Add stat-time.c.
38688         extern-inline: new module
38689         * modules/extern-inline, m4/extern-inline.m4: New files.
38690         This is for better support of 'extern inline' a la ISO C99,
38691         with a portable alternative on compilers that do not support
38692         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
38693         of the Emacs executable, when compiled with debugging disabled,
38694         which is a typical way that Emacs is built while developing.
38696 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
38698         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
38699         * build-aux/do-release-commit-and-tag: Move variable definitions
38700         together.
38701         ($branch): Instead of defaulting to "master", default to the current
38702         branch (as gnu-web-doc-update does).
38703         (help): Display the current values of the option arguments.
38704         * top/maint.mk (release-commit): New.
38705         * top/README-release: Simplify the corresponding step.
38707 2012-07-30  Eric Blake  <eblake@redhat.com>
38709         passfd: fix comment on recvfd
38710         * lib/passfd.c (recvfd): Fix comment.
38711         Reported by Jann Horn <jannhorn@googlemail.com>.
38713 2012-07-30  Jim Meyering  <meyering@redhat.com>
38715         maint.mk: avoid a sub-shell
38716         * top/maint.mk (release-prep): Remove unneeded sub-shell.
38718 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38720         maint.mk: use silent-rules support from Automake
38721         * top/maint.mk (news-check, vc-diff-check, announcement)
38722         (no-submodule-changes, alpha beta stable, release-prep)
38723         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
38725 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38727         maint.mk: provide a web-manual-update target
38728         * top/maint.mk: here.
38729         * top/README-release: Use it to simplify the web manual update step.
38731 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38733         README-release: shorten the circuit to post a news
38734         * top/README-release: Point directly to the news submission form.
38736 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38738         gnu-web-doc-update: fix --help
38739         * build-aux/gnu-web-doc-update: The information "top level" was written
38740         twice.
38742 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38744         maint.mk: absolute VPATH issue
38745         * top/maint.mk (release-prep): Help Git find .git/.
38746         From Jim Meyering.
38748 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38750         gitlog-to-changelog: fix previous change
38751         * build-aux/gitlog-to-changelog: Fix condition.
38752         Add missing ";".
38754 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38756         gitlog-to-changelog: don't expect .git to be in $srcdir
38757         Reported by Bruno Haible.
38758         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
38759         * build-aux/gitlog-to-changelog (&git_dir_option): New.
38760         Use it.
38762 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38764         maint.mk: absolute VPATH build fix
38765         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
38766         $(srcdir) is not a parent of $(builddir).
38768 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
38770         clean-temp: Fix memory leak.
38771         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
38772         'files' members of tmpdir.
38774 2012-07-27  Jim Meyering  <meyering@redhat.com>
38776         maint.mk: new rule: refresh-gnulib-patches
38777         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
38778         Use this rule to refresh them.
38779         * top/maint.mk (refresh-gnulib-patches): New rule.
38781 2012-07-24  Bruno Haible  <bruno@clisp.org>
38783         gnulib-tool: Fix handling of inctests variable.
38784         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
38785         Reported by Nick Bowler <nbowler@elliptictech.com>.
38787 2012-07-22  Bruno Haible  <bruno@clisp.org>
38789         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
38790         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
38791         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
38792         Remove exemption for getpass.h.
38793         Suggested by Eric Blake.
38795 2012-07-20  Eric Blake  <eblake@redhat.com>
38797         verify: document conflict with -Wnested-externs
38798         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
38800         maint.mk: forbid exit(-1)
38801         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
38803 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
38805         fsusage: port back to Solaris
38806         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
38807         error (fsd not declared) on Solaris 10.  Reported privately by
38808         Andrew Borodin.
38810 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
38812         gnu-web-doc-update: fix error messages
38813         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
38815         gnu-web-doc-update: check the requirements.
38816         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
38817         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
38818         * build-aux/bootstrap (find_tool): Comment change.
38820 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
38822         maint.mk: minor simplication.
38823         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
38824         for default values.
38826 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
38828         gitlog-to-changelog: VPATH build issues
38829         If builddir is not a subdirectory of srcdir, running git from it will
38830         fail.
38831         * build-aux/gitlog-to-changelog (--srcdir): New option.
38833 2012-07-15  Bruno Haible  <bruno@clisp.org>
38835         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
38836         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
38837         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
38838         Remove exemption for fpending.h.
38839         Suggested by Eric Blake.
38841 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
38843         pthread_sigmask: fix bug on FreeBSD 9
38844         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
38845         Include string.h.
38846         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
38847         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
38848         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
38849         but pthread_sigmask (1729, NULL, NULL) returns zero.
38850         See <http://bugs.gnu.org/11884>.
38851         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
38852         by inspecting whether the main call changed the old mask.
38854 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
38856         README-release: make it more legible
38857         * top/README-release: Improve typography slightly.
38859 2012-07-15  Jim Meyering  <meyering@redhat.com>
38861         maint: require that each sc_... command start with "@"
38862         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
38863         "make sc_maint" helps us avoid this nit.
38865 2012-07-15  Jim Meyering  <meyering@redhat.com>
38867         maint.mk: add leading "@" to quiet new "make syntax-check" rule
38868         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
38870 2012-07-13  Eric Blake  <eblake@redhat.com>
38872         maint.mk: new syntax check for HAVE_DECL checks
38873         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
38874         * cfg.mk
38875         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
38876         Exempt some false positives.
38877         Based on a report by Karel Zak.
38879         argp: make HAVE_DECL usage consistent
38880         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
38881         macros, not whether they are defined.
38882         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
38883         convention with other declaration checks.
38884         Reported by Karel Zak, with suggestions from Paul Eggert.
38886         stat-time: relax license to LGPLv2+
38887         * modules/stat-time (License): Relax, with consent of all authors.
38889         strndup: fix m4 usage error
38890         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
38891         defined, to either 0 or 1.
38892         Reported by Karel Zak.
38894 2012-07-11  Jim Meyering  <meyering@redhat.com>
38896         maint: enable the sc_avoid_if_before_free syntax-check rule
38897         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
38898         (if_before_free_offenders_): Define.
38899         (if_before_free_basename_re_): Define.
38900         Exempt current files with useless if-before-free.
38902 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
38904         gettext: do not assume '#define ... defined ...' behavior
38905         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
38906         Do not use '#define FOO ... defined BAR ...', as the C standard says
38907         it's not portable to expect that this works after macro expansion.
38908         Problem reported for gzip by Steven M. Schweda in
38909         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
38911 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
38913         getloadavg: clean out old Emacs and Autoconf cruft
38914         See Glenn Morris in <http://bugs.gnu.org/11905>.
38915         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
38916         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
38917         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
38918         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
38920 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
38922         bootstrap: let warn be like tests/init.sh's warn_
38923         Reported by Jim Meyering.
38924         * build-aux/bootstrap (warn): Remove, replaced by...
38925         (warnf_, warn_): these.
38926         Adjust callers.
38927         Shorten messages that no longer fit in 80 columns.
38929 2012-07-09  Bruno Haible  <bruno@clisp.org>
38931         getopt: Simplify after Emacs changed.
38932         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
38933         (gl_GETOPT_IFELSE): Remove macro.
38935 2012-07-09  Jim Meyering  <meyering@redhat.com>
38937         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
38938         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
38940         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
38941         Bugs in both of those conspired to make the
38942         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
38943         _sc_search_regexp's handling of non-empty $in_files would filter
38944         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
38945         choice of in_files value meant there would be no match in most
38946         projects, due to the presence of two or more Makefile.in files.
38947         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
38948         Fix a bug in how a non-empty $$in_files was processed:
38949         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
38950         in spite of the name, it's a regexp, not a list of file names.
38952 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
38954         getloadavg, getopt: fix commentary re configure.in
38955         Autoconf is deprecating the name 'configure.in', so change it to
38956         to the new name 'configure.ac' in a couple of places.
38957         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
38958         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
38959         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
38960         Emacs has renamed it to configure.ac, and it no longer refers
38961         to these macros anyway.
38963         timespec: mark functions with const attributes
38964         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
38965         Mark with _GL_ATTRIBUTE_CONST.
38967 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
38969         canonicalize[-lgpl]: handle "guessing" values when cross-building
38970         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
38971         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
38972         matches "*yes" instead of just "yes".  Regression introduced in commit
38973         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
38975 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
38976             Bruno Haible  <bruno@clisp.org>
38978         canonicalize: make the right guess when cross-compiling to GNU
38979         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
38980         determine whether cross-compiling to glibc systems, so as to
38981         include GNU/Hurd.
38983 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
38985         timespec-sub: avoid duplicate include
38986         * lib/timespec-sub.c: Do not include <config.h> twice.
38987         Reported by Juanma Barranquero.
38989 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
38991         bootstrap: use a more consistent error reporting scheme
38992         * build-aux/bootstrap (warn, die): New.
38993         Use them.
38995 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
38997         sys_time: allow too-wide tv_sec
38998         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
38999         timeval even if tv_sec is wider than time_t.  This allows
39000         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
39001         as without this patch gnulib replaces struct timeval
39002         and OpenBSD futimes therefore has a type mismatch.
39003         * doc/posix-headers/sys_time.texi: Mention this.
39005         pthread: check for both pthread_create and pthread_join
39006         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
39007         alter the check so that it tests for both pthread_create and
39008         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
39009         Suggested by Bruno Haible and Richard Yao in
39010         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
39012         parse-datetime: doc tuneup
39013         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
39014         spacing issues.
39016 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
39018         do-release-commit-and-tag: fix the previous commit
39019         * build-aux/do-release-commit-and-tag: Actually the test was right,
39020         but the comment and the error message were misleading.
39021         Fix comment, and improve error message.
39022         Perform check first, so that NEWS is not modified uselessly.
39024         do-release-commit-and-tag: fix typo
39025         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
39026         _not_ start with a stub.
39028 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
39030         pthread: check for pthread_create, not pthread_join
39031         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
39032         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
39033         pthread_join in libc.  I hope this removes the need for all the
39034         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
39035         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
39037 2012-07-04  Jim Meyering  <meyering@redhat.com>
39039         parse-datetime: fix failure to diagnose invalid input
39040         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
39041         rather than diagnosing the invalid input.  Now it reports this:
39042         date: invalid date '\260'
39043         * lib/parse-datetime.y (to_uchar): Define.
39044         (yylex): Don't sign-extend "other" bytes.
39045         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
39046         Thanks to Bruno Haible for the patch to this file.
39047         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
39048         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
39050 2012-07-03  Jim Meyering  <meyering@redhat.com>
39052         bootstrap: do not require now-removed build-aux/missing
39053         Now that build-aux/missing is, er, missing, bootstrap would
39054         silently fail.
39055         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
39056         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
39057         no longer part of gnulib.
39058         Diagnose the failure.
39060 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
39062         alloca: add support for HP NonStop TNS/E native
39063         * lib/alloca.in.h (alloca): Support the new host.
39064         From a suggestion by Joachim Schmitz in
39065         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
39067 2012-07-02  Pádraig Brady  <P@draigBrady.com>
39069         fsusage: remove code not needed on non GNU/Linux systems.
39071         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
39072         Don't include headers no longer needed in this case.
39073         * lib/fsusage.c [STAT_STATVFS &&
39074         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
39075         STAT_STATFS2_FRSIZE to exclude code not used in this case.
39077 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
39079         fsusage: include files needed for glibc 2.6 fallback
39080         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
39081         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
39082         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
39083         Problem reported by Ludovic Courtès in
39084         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
39086         fsusage: avoid needless check on GNU/Linux
39087         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
39088         on GNU/Linux systems, since it can't possibly work.
39090 2012-07-01  Bruno Haible  <bruno@clisp.org>
39092         log: Fix an autoconf >= 2.64 warning.
39093         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
39094         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
39096 2012-06-28  Bruno Haible  <bruno@clisp.org>
39098         log10f: Fix possible configuration problem.
39099         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
39100         $LOGF_LIBM.
39101         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
39103 2012-06-28  Bruno Haible  <bruno@clisp.org>
39105         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
39106         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
39107         not gl_cv_func_unlink_works.
39108         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
39110 2012-06-27  Eric Blake  <eblake@redhat.com>
39112         config: drop scripts that automake says are not independent
39113         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
39114         * build-aux/elisp-comp: Delete.
39115         * build-aux/missing: Likewise.
39116         * build-aux/ylwrap: Likewise.
39117         * modules/elisp-comp: Likewise.
39118         * MODULES.html.sh: Drop mention of elisp-comp.
39119         * NEWS: Mention this.
39121 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
39123         root-uid: new module
39124         This is for portability to Tandem's NonStop Kernel.
39125         * lib/root-uid.h, modules/root-uid: New files.
39126         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
39127         * lib/write-any-file.c, tests/test-sethostname2.c:
39128         Include "root-uid.h".
39129         * lib/euidaccess.c (euidaccess):
39130         * lib/pt_chown.c (main):
39131         * lib/unlinkdir.c (cannot_unlink_dir):
39132         * lib/write-any-file.c (can_write_any_file):
39133         * m4/mknod.m4 (gl_FUNC_MKNOD):
39134         * tests/test-sethostname2.c (geteuid, main):
39135         Don't assume ROOT_UID == 0.
39136         * modules/euidaccess (Depends-on):
39137         * modules/pt_chown (Depends-on):
39138         * modules/sethostname-tests (Depends-on):
39139         * modules/unlinkdir (Depends-on):
39140         * modules/write-any-file (Depends-on):
39141         Add root-uid.
39143         regex: use locale-independent comparison for codeset name
39144         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
39145         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
39146         for codeset name.
39147         * lib/regex_internal.h: Do not include <strings.h>, since we
39148         no longer use strcasecmp.
39149         * modules/regex (Depends-on): Remove strcase.
39151 2012-06-23  Bruno Haible  <bruno@clisp.org>
39153         getopt-posix: No longer guarantee that option processing is resettable.
39154         * doc/posix-functions/getopt.texi: Drop description of problem with
39155         internal state. Fix info about mingw and msvc9.
39156         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
39157         option processing by getopt(). Run three test programs instead of one.
39158         Simplify cross-compilation guess.
39159         * NEWS: Mention the change.
39160         Reported by Rich Felker <dalias@aerifal.cx>.
39162 2012-06-26  Bruno Haible  <bruno@clisp.org>
39164         argp, regex: Ensure strcasecmp gets declared.
39165         * lib/argp-help.c: Include <strings.h>.
39166         * lib/regex_internal.h: Likewise.
39167         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
39169 2012-06-24  Bruno Haible  <bruno@clisp.org>
39171         ptsname_r: Make it consistent with ptsname on AIX.
39172         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
39173         implementation as for OSF/1.
39174         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
39175         a pty master.
39177         ptsname_r: Make it consistent with ptsname on OSF/1.
39178         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
39179         OSF/1.
39181 2012-06-24  Bruno Haible  <bruno@clisp.org>
39183         ttyname_r: Fix result on OSF/1, Solaris.
39184         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
39186 2012-06-24  Bruno Haible  <bruno@clisp.org>
39188         ptsname_r: Add support for Solaris.
39189         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
39190         Solaris.
39192         ptsname_r: Fix test failure on native Windows.
39193         * modules/ptsname_r (Depends-on): Add isatty.
39195         ptsname_r: Fix test failures on IRIX, Solaris.
39196         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
39197         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
39198         accordingly.
39199         * lib/ptsname_r.c: Include <fcntl.h>.
39200         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
39201         set errno if fd is invalid.
39202         * tests/test-isatty.c (main): Update comments.
39204 2012-06-24  Bruno Haible  <bruno@clisp.org>
39206         ptsname test: Extend test.
39207         * tests/test-ptsname.c: Include <errno.h>.
39208         (main): Test behaviour with invalid file descriptor.
39210 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
39212         time: fix obsolete comment
39213         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
39214         reference to HAVE_STRUCT_TIMESPEC in comment.
39216 2012-06-23  Bruno Haible  <bruno@clisp.org>
39218         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
39219         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
39220         does not handle abbreviated long options with equivalent
39221         disambiguations, set gl_replace_getopt to yes.
39222         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
39224 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
39226         time_r: fix typo that always overrode localtime_r decl
39227         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
39228         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
39229         not in a standard include.
39231 2012-06-22  Bruno Haible  <bruno@clisp.org>
39233         Write "Mac OS X" instead of "MacOS X".
39234         * README: Write "Mac OS X" instead of "MacOS X".
39235         * build-aux/bootstrap: Likewise.
39236         * build-aux/install-reloc: Likewise.
39237         * lib/acl-internal.h: Likewise.
39238         * lib/acl_entries.c: Likewise.
39239         * lib/argp-ba.c: Likewise.
39240         * lib/argp-pv.c: Likewise.
39241         * lib/config.charset: Likewise.
39242         * lib/copy-acl.c: Likewise.
39243         * lib/csharpexec.c: Likewise.
39244         * lib/euidaccess.c: Likewise.
39245         * lib/fbufmode.c: Likewise.
39246         * lib/fflush.c: Likewise.
39247         * lib/file-has-acl.c: Likewise.
39248         * lib/filemode.h: Likewise.
39249         * lib/fpurge.c: Likewise.
39250         * lib/freadable.c: Likewise.
39251         * lib/freadahead.c: Likewise.
39252         * lib/freading.c: Likewise.
39253         * lib/freadptr.c: Likewise.
39254         * lib/freadseek.c: Likewise.
39255         * lib/fseeko.c: Likewise.
39256         * lib/fseterr.c: Likewise.
39257         * lib/fsusage.c: Likewise.
39258         * lib/fwritable.c: Likewise.
39259         * lib/fwriting.c: Likewise.
39260         * lib/get-rusage-as.c: Likewise.
39261         * lib/get-rusage-data.c: Likewise.
39262         * lib/getdomainname.c: Likewise.
39263         * lib/idpriv-drop.c: Likewise.
39264         * lib/idpriv-droptemp.c: Likewise.
39265         * lib/localcharset.c: Likewise.
39266         * lib/locale.in.h: Likewise.
39267         * lib/localename.c: Likewise.
39268         * lib/mbsrtowcs-state.c: Likewise.
39269         * lib/nproc.c: Likewise.
39270         * lib/passfd.c: Likewise.
39271         * lib/posix_openpt.c: Likewise.
39272         * lib/printf-parse.c: Likewise.
39273         * lib/progreloc.c: Likewise.
39274         * lib/safe-read.h: Likewise.
39275         * lib/safe-write.h: Likewise.
39276         * lib/sched.in.h: Likewise.
39277         * lib/set-mode-acl.c: Likewise.
39278         * lib/signal.in.h: Likewise.
39279         * lib/stdint.in.h: Likewise.
39280         * lib/stdio-impl.h: Likewise.
39281         * lib/stdlib.in.h: Likewise.
39282         * lib/strtod.c: Likewise.
39283         * lib/sys_select.in.h: Likewise.
39284         * lib/tcgetsid.c: Likewise.
39285         * lib/unistd.in.h: Likewise.
39286         * lib/unlockpt.c: Likewise.
39287         * lib/vasnprintf.c: Likewise.
39288         * lib/vma-iter.c: Likewise.
39289         * lib/wcsrtombs-state.c: Likewise.
39290         * m4/acl.m4: Likewise.
39291         * m4/acosl.m4: Likewise.
39292         * m4/asinl.m4: Likewise.
39293         * m4/atanl.m4: Likewise.
39294         * m4/c-stack.m4: Likewise.
39295         * m4/cosl.m4: Likewise.
39296         * m4/expl.m4: Likewise.
39297         * m4/extensions.m4: Likewise.
39298         * m4/fdatasync.m4: Likewise.
39299         * m4/fmal.m4: Likewise.
39300         * m4/frexp.m4: Likewise.
39301         * m4/frexpf.m4: Likewise.
39302         * m4/frexpl.m4: Likewise.
39303         * m4/fsusage.m4: Likewise.
39304         * m4/getdomainname.m4: Likewise.
39305         * m4/getloadavg.m4: Likewise.
39306         * m4/getopt.m4: Likewise.
39307         * m4/gettext.m4: Likewise.
39308         * m4/gnulib-common.m4: Likewise.
39309         * m4/intdiv0.m4: Likewise.
39310         * m4/intlmacosx.m4: Likewise.
39311         * m4/largefile.m4: Likewise.
39312         * m4/ldexpl.m4: Likewise.
39313         * m4/link-follow.m4: Likewise.
39314         * m4/locale-ar.m4: Likewise.
39315         * m4/locale-fr.m4: Likewise.
39316         * m4/locale-ja.m4: Likewise.
39317         * m4/locale-tr.m4: Likewise.
39318         * m4/locale-zh.m4: Likewise.
39319         * m4/locale_h.m4: Likewise.
39320         * m4/lock.m4: Likewise.
39321         * m4/logl.m4: Likewise.
39322         * m4/mathfunc.m4: Likewise.
39323         * m4/minus-zero.m4: Likewise.
39324         * m4/mktime.m4: Likewise.
39325         * m4/mmap-anon.m4: Likewise.
39326         * m4/multiarch.m4: Likewise.
39327         * m4/nanosleep.m4: Likewise.
39328         * m4/nocrash.m4: Likewise.
39329         * m4/poll.m4: Likewise.
39330         * m4/printf-frexpl.m4: Likewise.
39331         * m4/printf.m4: Likewise.
39332         * m4/signbit.m4: Likewise.
39333         * m4/sinl.m4: Likewise.
39334         * m4/sqrtl.m4: Likewise.
39335         * m4/strerror_r.m4: Likewise.
39336         * m4/tanl.m4: Likewise.
39337         * m4/threadlib.m4: Likewise.
39338         * m4/ttyname_r.m4: Likewise.
39339         * m4/unlink.m4: Likewise.
39340         * m4/visibility.m4: Likewise.
39341         * m4/wcwidth.m4: Likewise.
39342         * tests/minus-zero.h: Likewise.
39343         * tests/test-alloca-opt.c: Likewise.
39344         * tests/test-copy-acl.sh: Likewise.
39345         * tests/test-copy-file.sh: Likewise.
39346         * tests/test-fdatasync.c: Likewise.
39347         * tests/test-file-has-acl.sh: Likewise.
39348         * tests/test-flock.c: Likewise.
39349         * tests/test-fsync.c: Likewise.
39350         * tests/test-localename.c: Likewise.
39351         * tests/test-malloca.c: Likewise.
39352         * tests/test-nonblocking-pipe.h: Likewise.
39353         * tests/test-nonblocking-socket.h: Likewise.
39354         * tests/test-openpty.c: Likewise.
39355         * tests/test-posix_openpt.c: Likewise.
39356         * tests/test-ptsname.c: Likewise.
39357         * tests/test-ptsname_r.c: Likewise.
39358         * tests/test-sameacls.c: Likewise.
39359         * tests/test-select.h: Likewise.
39360         * tests/test-set-mode-acl.sh: Likewise.
39361         * tests/test-snprintf-posix.h: Likewise.
39362         * tests/test-sprintf-posix.h: Likewise.
39363         * tests/test-strtod.c: Likewise.
39364         * tests/test-time.c: Likewise.
39365         * tests/test-vasnprintf-posix.c: Likewise.
39366         * tests/test-vasprintf-posix.c: Likewise.
39367         * doc/acl-resources.txt: Likewise.
39368         * doc/**/*.texi: Likewise.
39369         Reported by Max Horn <max@quendi.de>.
39371 2012-06-22  Bruno Haible  <bruno@clisp.org>
39373         grantpt: Relax requirement regarding invalid file descriptors.
39374         * lib/grantpt.c: Don't include <fcntl.h>.
39375         (grantpt): Don't verify the validity of the file descriptor.
39376         * modules/grantpt (Depends-on): Remove fcntl-h.
39377         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
39378         file descriptors.
39379         * doc/posix-functions/grantpt.texi: Document more platforms on which
39380         grantpt succeeds for invalid file descriptors.
39381         Reported by Rich Felker <dalias@aerifal.cx>.
39383 2012-06-22  Bruno Haible  <bruno@clisp.org>
39385         fbufmode test: Don't test unportable behaviour.
39386         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
39387         (main): Invoke it three times.
39388         Reported by Szabolcs Nagy <nsz@port70.net>
39389         and Rich Felker <dalias@aerifal.cx>.
39391 2012-06-21  Bruno Haible  <bruno@clisp.org>
39393         gnulib-tool: Refactor inctests variable.
39394         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
39395         (func_modules_transitive_closure,
39396         func_modules_transitive_closure_separately,
39397         func_import, func_create_testdir): Update.
39399         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
39400         * gnulib-tool: Accept option --without-tests.
39401         (func_usage): Document --without-tests option. Rearrange.
39402         (inctests): Normalize according to the mode.
39403         * NEWS: Mention the change.
39404         Suggested by Simon Josefsson.
39406 2012-06-21  Bruce Korb  <bkorb@gnu.org>
39408         parse-duration test: Avoid spurious output.
39409         * tests/test-parse-duration.sh: Reindent with leading tabs.
39411 2012-06-21  Jim Meyering  <meyering@redhat.com>
39413         maint: disable the strncpy prohibition
39414         * cfg.mk: Do not prohibit strncpy here.
39416 2012-06-21  Bruno Haible  <bruno@clisp.org>
39418         nonblocking: Avoid compilation error on mingw64.
39419         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
39420         fscanf.
39421         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
39422         * modules/vfscanf (configure.ac): Likewise.
39423         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
39424         definition only if stdio.h has prepared it.
39425         Reported by Daniel P. Berrange <berrange@redhat.com>.
39427 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
39429         gnulib-tool: Use readlink if it is available.
39430         * gnulib-tool (func_readlink): Choose function more appropriately.
39432 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
39434         posixtm-tests: port to buggy compiler
39435         Problem reported by Simon Josefsson in
39436         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
39437         * modules/posixtm-tests (Depends-on): Add stdint.
39438         * tests/test-posixtm.c (struct posixtm_test.t_expected):
39439         Now of type int_least64_t, not int64_t, both because that's
39440         what INT64_C returns and because int_least64_t works even
39441         on 72-bit hosts.
39442         (T): Use INT64_C on constants outside the traditional int range,
39443         to work around compiler bug noted by Simon.
39445         mktime: fix integer overflow in 'configure'-time test
39446         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
39447         after integer overflow.  Problem reported by Rich Felker in
39448         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
39449         Also, don't look for further instances of a bug if we've already
39450         found one instance; this helps 'configure' run faster.
39452 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
39454         tmpfile, clean-temp: Fix invocation of GetVersionEx.
39455         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
39456         GetVersionEx correctly.
39457         * lib/clean-temp.c (supports_delete_on_close): Likewise.
39459 2012-06-20  Bruno Haible  <bruno@clisp.org>
39461         fdopen: Allow implementations that don't reject invalid fd arguments.
39462         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
39463         succeeds.
39464         Reported by Rich Felker <dalias@aerifal.cx>.
39466 2012-06-20  Simon Josefsson  <simon@josefsson.org>
39468         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
39469         bring in LIBINTL.
39471 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
39473         init.sh: do not rely on autoupated PWD
39474         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
39475         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
39476         Although Nelson's bug was not necessarily fixed by this patch,
39477         it seems wise to make the change for safety.
39478         * tests/init.sh (path_prepend_): Do not rely on PWD updating
39479         automagically after 'cd'; this is not reliable on older shells.
39480         (setup_): Fail if we cannot cd to temporary directory.
39482 2012-06-19  Bruno Haible  <bruno@clisp.org>
39484         stat, fstat: Avoid warnings on mingw64.
39485         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
39486         redefining.
39487         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
39488         Reported by Daniel P. Berrange <berrange@redhat.com>.
39490 2012-06-19  Bruno Haible  <bruno@clisp.org>
39492         stdioext: Add support for musl libc.
39494         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
39495         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
39497         * m4/fseterr.m4: New file.
39498         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
39499         function exists.
39500         * modules/fseterr (Files): Add m4/fseterr.m4.
39501         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
39502         __fseterr does not exist.
39503         (Makefile.am): Remove fseterr.c from lib_SOURCES.
39505         * lib/freadable.h: Update comment.
39507         * lib/fwritable.h: Update comment.
39509         * lib/freading.h: Update comment.
39511         * lib/fwriting.h: Update comment.
39513         * m4/freadahead.m4: New file.
39514         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
39515         that function exists.
39516         * modules/freadahead (Files): Add m4/freadahead.m4.
39517         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
39518         __freadahead does not exist.
39519         (Makefile.am): Remove freadahead.c from lib_SOURCES.
39521         * m4/freadptr.m4: New file.
39522         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
39523         function exists.
39524         * modules/freadptr (Files): Add m4/freadptr.m4.
39525         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
39526         __freadptr does not exist.
39527         (Makefile.am): Remove freadptr.c from lib_SOURCES.
39529         * m4/freadseek.m4: New file.
39530         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
39531         exists.
39532         * modules/freadseek (Files): Add m4/freadseek.m4.
39533         (configure.ac): Invoke gl_FUNC_FREADSEEK.
39535         * lib/fpurge.c (fpurge): Update comment.
39537         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
39539 2012-06-19  Bruno Haible  <bruno@clisp.org>
39541         *printf-posix: Put more info into config.log.
39542         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
39543         exit code into config.log.
39545 2012-06-19  Bruno Haible  <bruno@clisp.org>
39547         getopt-gnu: Fix exit code overflow in autoconf test.
39548         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
39549         to keep them below < 128.
39551 2012-06-17  Jim Meyering  <meyering@redhat.com>
39553         maint.mk: fix typo in code to derive GPG key at release time
39554         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
39556 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
39558         regex: avoid warning when pointers are not long
39559         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
39560         and uintptr_t, not long, for portability to hosts where pointers and
39561         long have different sizes.  Issue noted by Daniel P. Berrange in
39562         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
39563         and fix suggested by Bruno Haible in
39564         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
39566 2012-06-17  Bruno Haible  <bruno@clisp.org>
39568         dummy: Relicense into the public domain.
39569         * modules/dummy (License): Set to "public domain".
39570         Suggested by Reuben Thomas.
39572 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
39574         announce-gen: VPATH issues
39575         * build-aux/announce-gen (--srcdir): New option, used to trim the
39576         $srcdir part of the path from $builddir to NEWS.
39577         * top/maint.mk (announcement): Adjust.
39579 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
39581         gnu-web-doc-update: VPATH builds
39582         * build-aux/gnu-web-doc-update (--builddir): New option.
39583         Revamp the handling of options.
39584         Prefer $(...) to `...`.
39585         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
39586         the template, and it is GNU mktemp specific.
39587         Prefer set -e to long series of &&.
39588         Restore the initial git branch, not "master".
39589         Properly initialize submodules (don't rely only on bootstrap).
39590         Do not reconfigure blindly, use config.status.
39591         * top/README-release: Update instructions for gnu-web-doc-update.
39593 2012-06-11  Jim Meyering  <meyering@redhat.com>
39595         maint.mk: revert most of the previous change re "all these"
39596         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
39597         For rationale, see the discussion at
39598         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
39600 2012-06-10  Karl Berry  <karl@gnu.org>
39602         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
39604         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
39606 2012-06-10  Bruce Korb  <bkorb@gnu.org>
39608         parse-duration: Relicense under LGPLv2+.
39609         * modules/parse-duration (License): Change to LGPLv2+.
39611 2012-06-10  Jim Meyering  <meyering@redhat.com>
39613         maint.mk: prohibit common grammar error: "all these"
39614         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
39615         the list of prohibited word sequences.  It should be "all of these".
39616         * lib/tempname.c (__gen_tempname): Fix one of them.
39618 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39620         do-release-commit-and-tag: support VPATH builds
39621         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
39622         (noteworthy): Defined earlier to factor its value.
39623         (noteworthy_stub): New.
39624         Use it to factor.
39625         (help_version): Split into...
39626         (help, version): these.
39627         Adjust the option processing part.
39628         Support "--option=value" in addition to "--option value".
39629         (builddir): New.
39630         (--builddir): New option.
39631         * top/README-release: Document this.
39632         Reword slightly so that the reader cannot understand that he
39633         has to do these steps before calling do-release-commit-and-tag.
39635 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39637         readme-release: also require announce-gen and maintainer-makefile
39638         * modules/readme-release (Depends-on): here.
39639         * modules/announce-gen, modules/do-release-commit-and-tag,
39640         modules/gnu-web-doc-update, modules/maintainer-makefile
39641         (Description): Point to readme-release.
39643 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39645         maint.mk: fix VPATH issues.
39646         * top/maint.mk (news-check): GNU Make understand $< very well.
39647         (release-prep): NEWS is in $(srcdir).
39649 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
39651         readme-release: require the promoted modules.
39652         * modules/readme-release (Depends-on): Add
39653         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
39654         in this text.
39656 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39657             Bruno Haible  <bruno@clisp.org>
39659         error, strerror-override: Support mingw64 from Fedora 17.
39660         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
39661         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
39662         EINPROGRESS.
39663         * lib/strerror-override.h (strerror_override): Test it.
39664         * lib/strerror-override.c (strerror_override): Likewise.
39665         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
39667 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39668             Bruno Haible  <bruno@clisp.org>
39670         error, strerror-override: Support mingw64 from Fedora 17.
39671         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
39672         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
39673         * lib/strerror-override.h (strerror_override): Test it.
39674         * lib/strerror-override.c (strerror_override): Likewise.
39676 2012-06-03  Bruno Haible  <bruno@clisp.org>
39678         error, strerror-override: Support new errno values from POSIX:2008.
39679         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
39680         ENOTRECOVERABLE.
39681         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
39682         platforms.
39683         * lib/strerror-override.c (strerror_override): Conditionalize the
39684         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
39685         * lib/strerror-override.h (strerror_override): Declare also if
39686         GNULIB_defined_EOWNERDEAD is defined.
39687         * tests/test-errno.c (e130, e131): New variables.
39688         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
39689         ENOTRECOVERABLE.
39690         Reported by Paolo Bonzini.
39692 2012-05-31  Jim Meyering  <meyering@redhat.com>
39694         savewd: add missing dependency on sys_wait module
39695         * modules/savewd (Depends-on): Add sys_wait, needed at least
39696         for MSVC.  Report and suggested change by Michael Goffioul.
39698 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
39700         system-quote-tests: port to CentOS 5
39701         Problem reported by Tom G. Christensen in
39702         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
39703         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
39705 2012-05-29  Jim Meyering  <meyering@redhat.com>
39707         maint: fix typos in comments and ChangeLog
39708         Culprits identified and fixed mostly automatically using these commands:
39709         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
39710         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
39711         using http://github.com/lyda/misspell-check
39712         * ChangeLog: Fix typos.
39713         * doc/solaris-versions: Likewise.
39714         * lib/regexec.c (re_search_stub): Likewise.
39715         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
39717 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
39719         manywarnings: remove duplicate -Wmultichar entry
39720         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
39721         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
39722         so keep the entry marked as documented.
39724 2012-05-27  Karl Berry  <karl@gnu.org>
39726         * config/srclist.txt (mktime.c): remove last libc sync,
39727         perhaps just temporarily.
39729 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
39731         regex: don't assume uint64_t or uint32_t
39732         * lib/regcomp.c (init_word_char): Don't assume that the types
39733         uint64_t and uint32_t exist.  The C standard doesn't guarantee
39734         them, and on some 32-bit compilers there is no uint64_t.
39735         Problem reported by Gianluigi Tiesi in
39736         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
39738 2012-05-25  Jim Meyering  <meyering@redhat.com>
39740         maint.mk: add strncpy-prohibiting syntax-check rule
39741         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
39743 2012-05-24  Jim Meyering  <meyering@redhat.com>
39745         maint.mk: compute $(gpg_key_ID) more portably
39746         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
39747         That use of sed is not portable to some fringe systems.
39748         Reported by Paul Eggert in
39749         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
39751 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
39753         mktime: sync from glibc
39754         * config/srclist.txt: Uncomment mktime.c.
39755         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
39756         First, indent with tabs, since glibc uses tabs and doesn't want to
39757         change and we'd rather be identical to glibc.  Also, two small
39758         coding changes:
39759         (isdst_differ): Use &&, not &, as && is the usual style.
39760         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
39761         for clarity.
39763 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39765         announce-gen: du -h is more portable than du --human
39766         * build-aux/announce-gen (sizes): Invoke du with -h instead
39767         of --human.  Accept leading white space in its output.
39769 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39771         announce-gen: Improve diagnostics.
39772         * build-aux/announce-gen: When parsing command line options,
39773         prefer "announce-gen: option --release-type requires an argument"
39774         to "Option release-type requires an argument".
39776 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39778         maint.mk: gpg_key_ID: use sed more portably
39779         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
39780         the closing brace.
39781         (refresh-po): Fuse two sed invocations into one.
39783 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
39785         gitlog-to-changelog: support the log message format used in Bison.
39786         * build-aux/gitlog-to-changelog: Support --strip-tab and
39787         --strip-cherry-picked.
39789 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39791         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
39792         the rest of the current time slice to another thread in the current
39793         process. So if the thread that feeds the file decscriptor we're
39794         polling is not in the current process, we get busy-waiting.
39795         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
39796         Patch from Theodore Leblond.
39797         * lib/select.c: Split polling out of the loop that sets the output
39798         fd_sets.  Check for zero result and loop if the wait timeout is
39799         infinite.
39801 2012-05-21  Simon Josefsson  <simon@josefsson.org>
39803         select: Fix build error on IRIX 6.5.
39804         * lib/select.c: Include stddef.h for NULL.
39806 2012-05-21  Simon Josefsson  <simon@josefsson.org>
39808         gc: fix libgcrypt detection on older machines.
39809         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
39810         copyright years because the file has been distributed every year
39811         since it was created.
39813 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39815         crypto: fix bug in large buffer handling
39816         Problem reported by Serge Belyshev for glibc in
39817         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
39818         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
39819         * lib/md4.c (md4_process_block):
39820         * lib/md5.c (md5_process_block):
39821         * lib/sha1.c (sha1_process_block):
39822         * lib/sha256.c (sha256_process_block):
39823         Don't assume the buffer length is less than 2**32.
39824         * lib/sha512.c (sha512_process_block): Likewise.
39825         Here, the bug is present only in the rare case where the host does
39826         not support uint64_t or where size_t is wider than 64 bits.
39827         Use u64size to work around the problems.
39828         * lib/u64.h (u64size): New macro.
39830 2012-05-15  Pádraig Brady  <P@draigBrady.com>
39832         fsusage: fix block size returned on older Linux 2.6
39834         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
39835         which is available since Linux 2.6.
39836         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
39837         when the member is available so it can be used as a fallback.
39838         * doc/posix-functions/statvfs.texi: Mention the hang issue
39839         on Linux < 2.6.36.
39841 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
39843         bootstrap: suppress stderr chatter
39844         * build-aux/bootstrap (insert_sorted_if_absent, main program):
39845         Omit unnecessary chatter to stderr.  The main program chatter
39846         was there only inadvertantly.
39848         bootstrap: .gitignore files created by autopoint, libtool
39849         I ran into this problem when bootstrapping the latest diffutils.
39850         After './bootstrap', 'git status' reported lots of untracked files
39851         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
39852         autopoint and do not need to be version-controlled.
39853         * build-aux/bootstrap: Put into .gitignore the files that
39854         autopoint and libtool create, by keeping track of files that exist
39855         after but not before these programs are run.
39856         (version_controlled_file): Move up.  2nd arg is now full file
39857         name, not base name; this is more convenient.  Put CVS at the end,
39858         as it's now somewhat deprecated.
39860 2012-05-14  Jim Meyering  <meyering@redhat.com>
39862         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
39863         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
39864         definition.  Reported by Bruno Haible.
39866 2012-05-13  Bruno Haible  <bruno@clisp.org>
39867             Paul Eggert  <eggert@cs.ucla.edu>
39869         binary-io: Define set_binary_mode function.
39870         * lib/binary-io.h (set_binary_mode): New function.
39871         (SET_BINARY): Define in terms of set_binary_mode.
39872         * modules/binary-io (configure.ac): Require AC_C_INLINE.
39873         * tests/test-binary-io.c (main): Accept an argument, and test either
39874         set_binary_mode or SET_BINARY depending on the argument.
39875         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
39876         argument. Clean up also t-bin-out0.tmp.
39878 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
39880         bootstrap: take advantage of POSIX shell features
39882         The 'bootstrap' script offered by Gnulib script already uses POSIX
39883         shell features (like $((...)) arithmetic expansions) that are not
39884         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
39885         means that bootstrap must already be run using a proper POSIX shell,
39886         which will thus provide more features, like ${var#pattern} parameter
39887         expansion or inversion of a command exit status with '!'.  We can
39888         thus use these features to improve the clarity and the performances
39889         of the bootstrap script.
39891         Suggested by Eric Blake.
39893         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
39894         of sed/expr plus command substitutions, to save some forks.  While
39895         we are at it, prefer the POSIX $(...) form of command substitution,
39896         rather than the legacy form `...` (since the former is visually
39897         clearer and interacts better with quoting), and prefer the idiom:
39898           "if ! CMD; then ACTION ..."
39899         over the idiom:
39900           "if CMD; then :; else ACTION ..."
39901         which was required by legacy Bourne shells not supporting '!'.
39903 2012-05-12  Bruno Haible  <bruno@clisp.org>
39905         system-quote: Add more comments.
39906         * lib/system-quote.h: Add more comments about wilcards and limitations.
39907         Suggested by Eli Zaretskii <eliz@gnu.org>.
39909         sh-quote, system-quote: Add comments about wildcards.
39910         * lib/sh-quote.h: Clarify what happens with wildcard characters.
39911         * lib/system-quote.h: Likewise.
39912         Reported by Eli Zaretskii <eliz@gnu.org>.
39914 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
39916         fsusage: check for GNU/Linux statvfs problem dynamically
39917         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
39918         Define STAT_STATFS2_BSIZE too, since in this case the code now
39919         checks dynamically whether statvfs is reliable, falling back on
39920         Linux-style statfs otherwise.
39921         (statvfs_works): New function, for dynamically testing statvfs.
39922         (get_fs_usage) [STAT_STATVFS]: Use it.
39923         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
39924         statvfs on GNU/Linux hosts, since it's now done dynamically.
39926 2012-05-10  Bruno Haible  <bruno@clisp.org>
39928         system-quote, execute, spawn-pipe: Escape '?' on Windows.
39929         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
39930         '?' character.
39931         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
39932         * tests/test-system-quote-main.c (check_all): Check also strings like
39933         "??????????".
39934         Reported by Eli Zaretskii <eliz@gnu.org>.
39936 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
39938         _Noreturn: port config.h to gcc -Wundef
39939         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
39940         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
39941         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
39943 2012-05-10  Bruno Haible  <bruno@clisp.org>
39945         system-quote: Refactor.
39946         * lib/system-quote.h (system_quote_copy): Fix comment.
39947         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
39948         New functions, extracted from system_quote_copy.
39949         (system_quote_length, system_quote_copy): Use these functions.
39950         Reported by Paul Eggert.
39952 2012-05-08  Bruno Haible  <bruno@clisp.org>
39954         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
39955         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
39957 2012-05-08  Bruno Haible  <bruno@clisp.org>
39959         Tests for module 'system-quote'.
39960         * modules/system-quote-tests: New file.
39961         * tests/test-system-quote.sh: New file.
39962         * tests/test-system-quote-main.c: New file.
39963         * tests/test-system-quote-child.c: New file.
39965         New module 'system-quote'.
39966         * lib/system-quote.h: New file.
39967         * lib/system-quote.c: New file.
39968         * modules/system-quote: New file.
39970 2012-05-08  Bruno Haible  <bruno@clisp.org>
39972         sh-quote: Make C++ safe and allow multiple inclusion.
39973         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
39974         declarations in extern "C".
39976 2012-05-08  Bruno Haible  <bruno@clisp.org>
39978         sh-quote tests: Make tests stricter.
39979         * tests/test-sh-quote.c (check_one): Check the return value of
39980         shell_quote_copy.
39981         (main): Check a string with a CR character. Check a string that
39982         contains UCHAR_MAX.
39984 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
39986         warnings.m4: provide a means to specify the program to compile.
39987         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
39988         (gl_WARN_ADD): here.
39989         Use gl_AS_VAR_APPEND.
39990         Support an argument to specify the program to compile.
39991         (gl_WARN_ADD): Accept an argument to specify the program to compile.
39992         AC_SUBST the WARN_CFLAGS when they are used.
39993         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
39994         leave this to gl_WARN_ADD.
39996 2012-05-08  Eric Blake  <eblake@redhat.com>
39998         doc: recommendations on gettext version
39999         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
40000         choice between versions.
40001         * DEPENDENCIES (gettext): Cover both approaches.
40003 2012-05-08  Jim Meyering  <meyering@redhat.com>
40005         init.sh: explain why EXEEXT support uses aliases rather than functions
40006         * tests/init.sh: Add a comment.
40008         init.sh: don't let bash aliases interfere with tests
40009         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
40010         is bash.  This avoids problems for those who alias standard commands to
40011         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
40012         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
40014 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
40016         stdint: be more consistent with glibc, SunOS libc
40017         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
40018         (gl_int_fast16_t, gl_uint_fast16_t)
40019         (gl_int_fast32_t, gl_uint_fast32_t)
40020         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
40021         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
40022         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
40023         Be consistent with glibc by default, and with SunOS 5.10 and later
40024         if __sun is defined.  This lessens the likelihood of clashes if
40025         code compiled for older hosts is combined with code compiled for
40026         newer ones.  Problem reported by Niels Möller in
40027         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
40029 2012-05-07  Eric Blake  <eblake@redhat.com>
40031         isatty: relax license to LGPLv2+
40032         * modules/isatty (License): Relax license.
40034 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
40036         stat-size: comment fix
40037         * lib/stat-size.h: Remove obsolete comment about indenting.
40039 2012-05-06  Bruno Haible  <bruno@clisp.org>
40041         Tests for module 'sh-quote'.
40042         * modules/sh-quote-tests: New file.
40043         * tests/test-sh-quote.c: New file.
40045 2012-05-06  Bruno Haible  <bruno@clisp.org>
40047         sh-quote: Improve shell_quote_argv's signature.
40048         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
40049         * lib/sh-quote.c (shell_quote_argv): Likewise.
40051 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
40053         stdint: document issues with int_fast8_t etc.
40054         * doc/posix-headers/stdint.texi (stdint.h): Say that other
40055         stdint.h substitutes may define these types differently.  See
40056         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
40058 2012-05-05  Bruno Haible  <bruno@clisp.org>
40060         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
40061         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
40062         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
40063         or 'guessing no (mishandles large arguments)'.
40065 2012-05-05  Bruno Haible  <bruno@clisp.org>
40067         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
40068         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
40069         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
40070         set gl_cv_func_link_follows_symlink to "guessing no".
40072 2012-05-05  Bruno Haible  <bruno@clisp.org>
40074         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
40075         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
40076         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
40077         "guessing no".
40078         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
40080 2012-05-05  Bruno Haible  <bruno@clisp.org>
40082         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
40083         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
40084         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
40085         set gl_cv_struct_dirent_d_ino to "guessing yes".
40087 2012-05-05  Bruno Haible  <bruno@clisp.org>
40089         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
40090         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
40091         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
40092         "guessing yes".
40094 2012-05-05  Bruno Haible  <bruno@clisp.org>
40096         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
40097         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
40098         compiling to a glibc system, set gl_cv_func_signbit and
40099         gl_cv_func_signbit_gcc to "guessing yes".
40101 2012-05-05  Bruno Haible  <bruno@clisp.org>
40103         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
40104         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
40105         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
40106         to "guessing yes".
40107         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
40108         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
40110 2012-05-05  Bruno Haible  <bruno@clisp.org>
40112         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
40113         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
40114         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
40115         gl_cv_func_realpath_works to "guessing yes".
40117 2012-05-05  Bruno Haible  <bruno@clisp.org>
40119         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
40120         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
40121         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
40123 2012-05-04  Bruno Haible  <bruno@clisp.org>
40125         Tweak last commit.
40126         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
40127         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
40129 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
40131         unistd_h: make it easier to avoid sys_types_h
40132         This is useful for Emacs, which has its own method of porting to
40133         Windows, and which therefore does not need the sys_types_h module.
40134         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
40135         code moved here from gl_SYS_TYPES_H.
40136         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
40137         using the code directly.
40138         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
40139         gl_SYS_TYPES_H.
40140         * modules/sys_types (Files):
40141         * modules/unistd (Files): Add m4/off_t.m4.
40143 2012-05-03  Bruno Haible  <bruno@clisp.org>
40145         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
40146         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
40147         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
40148         "guessing yes" or "guessing no".
40149         (gl_FUNC_LSTAT): Update.
40150         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
40151         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
40152         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
40154 2012-05-03  Bruno Haible  <bruno@clisp.org>
40156         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
40157         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
40158         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
40159         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
40160         cross-compiling, choose the first alternative on glibc systems.
40161         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
40163 2012-05-03  Bruno Haible  <bruno@clisp.org>
40165         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
40166         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
40167         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
40169 2012-05-03  Bruno Haible  <bruno@clisp.org>
40171         chown: Avoid "guessing no" when cross-compiling to glibc systems.
40172         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
40174 2012-05-03  Bruno Haible  <bruno@clisp.org>
40176         Avoid "guessing no" guesses when cross-compiling to glibc systems.
40177         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
40178         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
40179         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
40180         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
40181         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
40182         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
40183         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
40184         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
40185         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
40186         compiling to glibc systems, set gl_cv_func_chown_slash_works,
40187         gl_cv_func_chown_ctime_works to "guessing yes".
40188         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
40189         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
40190         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
40191         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
40192         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
40193         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
40194         compiling to glibc systems, set gl_cv_func_open_directory_works to
40195         "guessing yes".
40196         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
40197         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
40198         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
40199         "guessing yes".
40200         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
40201         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
40202         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
40203         compiling to glibc systems, set gl_cv_func_floorf_ieee to
40204         "guessing yes".
40205         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
40206         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
40207         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
40208         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
40209         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
40210         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
40211         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
40212         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
40213         "guessing yes".
40214         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
40215         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
40216         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
40217         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
40218         "guessing yes".
40219         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
40220         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
40221         "guessing yes".
40222         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
40223         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
40224         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
40225         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
40226         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
40227         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
40228         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
40229         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
40230         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
40231         compiling to glibc systems, set gl_cv_func_log10f_ieee to
40232         "guessing yes".
40233         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
40234         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
40235         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
40236         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
40237         "guessing yes".
40238         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
40239         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
40240         "guessing yes".
40241         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
40242         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
40243         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
40244         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
40245         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
40246         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
40247         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
40248         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
40249         compiling to glibc systems, set gl_cv_func_mkfifo_works to
40250         "guessing yes".
40251         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
40252         compiling to glibc systems, set gl_cv_func_mknod_works to
40253         "guessing yes".
40254         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
40255         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
40256         "guessing yes".
40257         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
40258         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
40259         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
40260         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
40261         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
40262         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
40263         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
40264         compiling to glibc systems, set gl_cv_func_svid_putenv to
40265         "guessing yes".
40266         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
40267         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
40268         "guessing yes".
40269         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
40270         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
40271         "guessing yes".
40272         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
40273         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
40274         to "guessing yes".
40275         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
40276         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
40277         to "guessing yes".
40278         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
40279         compiling to glibc systems, set gl_cv_func_rmdir_works to
40280         "guessing yes".
40281         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
40282         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
40283         gl_cv_func_unlink_parent_fails to "guessing yes".
40284         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
40285         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
40286         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
40287         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
40288         gl_cv_func_rename_dest_works to "guessing yes".
40289         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
40290         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
40291         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
40292         compiling to glibc systems, set gl_cv_func_roundf_ieee to
40293         "guessing yes".
40294         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
40295         compiling to glibc systems, set gl_cv_func_roundl_ieee to
40296         "guessing yes".
40297         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
40298         compiling to glibc systems, set gl_cv_func_setenv_works to
40299         "guessing yes".
40300         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
40301         compiling to glibc systems, set gl_cv_func_unsetenv_works to
40302         "guessing yes".
40303         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
40304         compiling to glibc systems, set gl_cv_func_sleep_works to
40305         "guessing yes".
40306         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
40307         compiling to glibc systems, set gl_cv_func_stat_file_slash to
40308         "guessing yes".
40309         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
40310         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
40311         "guessing yes".
40312         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
40313         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
40314         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
40315         compiling to glibc systems, set gl_cv_func_truncf_ieee to
40316         "guessing yes".
40317         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
40318         compiling to glibc systems, set gl_cv_func_truncl_ieee to
40319         "guessing yes".
40320         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
40321         compiling to glibc systems, set gl_cv_func_usleep_works to
40322         "guessing yes".
40323         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
40324         compiling to glibc systems, set gl_cv_func_futimesat_works to
40325         "guessing yes".
40327 2012-05-03  Bruno Haible  <bruno@clisp.org>
40329         Say "guessing yes" or "guessing no" when cross-compiling.
40330         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
40331         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
40332         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
40333         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
40334         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
40335         am_cv_func_working_getline to "guessing yes" or "guessing no".
40336         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
40337         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
40338         (gl_FUNC_MEMMEM): When cross-compiling, set
40339         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
40340         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
40341         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
40342         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
40343         set gl_cv_func_strcasestr_works_always to "guessing yes" or
40344         "guessing no".
40345         (gl_FUNC_STRCASESTR): When cross-compiling, set
40346         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
40347         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
40348         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
40349         (gl_FUNC_STRSTR): When cross-compiling, set
40350         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
40351         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
40352         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
40353         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
40354         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
40356 2012-05-01  Bruno Haible  <bruno@clisp.org>
40358         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
40359         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
40360         * build-aux/reloc-ldflags: Likewise.
40361         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
40363 2012-05-01  Bruno Haible  <bruno@clisp.org>
40365         gnulib-tool: Remove transitional code.
40366         * gnulib-tool: Don't warn about --import with 0 arguments any more.
40367         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
40369 2012-05-01  Bruno Haible  <bruno@clisp.org>
40371         getcwd: Fix misindentation.
40372         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
40374 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
40376         exclude: process exclude and include directives in order
40377         This restores the pre-2009 behavior, and is part of a fix of a
40378         grep bug reported by Quentin Arce in
40379         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
40380         * lib/exclude.c (struct exclude): Remove 'tail' member.
40381         (new_exclude_segment): Prepend the new segment instead of appending.
40382         Return void, since that's now more convenient.
40383         (file_pattern_matches): Renamed from excluded_file_pattern_p.
40384         (file_name_matches): Renamed from excluded_file_name_p.
40385         (file_pattern_matches, file_name_matches):
40386         Return true if the pattern matches, not if it excludes.
40387         All callers changed.
40388         (excluded_file_name): Process the list in reverse order;
40389         since the list is now reversed this restores the pre-2009 behavior.
40390         (add_exclude): Adjust to new reversed-order list.  Use local var
40391         rather than macro, for clarity.
40392         * tests/test-exclude7.sh: Adjust to corrected behavior.
40394         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
40395         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
40396         it's not possible here.  Handle the case of \ at end of pattern
40397         without dumping core.
40398         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
40400         _Noreturn: future-proof non-GNU and non-MSVC compilers
40401         * build-aux/snippet/_Noreturn.h (_Noreturn):
40402         * m4/gnulib-common.m4 (gl_COMMON_BODY):
40403         Do not define _Noreturn if __STDC_VERSION__ indicates this is
40404         C11 or later.  This is more likely to work with random future C
40405         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
40406         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
40408         exclude: handle wildcards with FNM_EXTMATCH
40409         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
40410         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
40411         comment that "has wildcards" really means "has or may have
40412         wildcards".  Simplify by avoiding the need to call strcspn.
40414 2012-04-29  Bruno Haible  <bruno@clisp.org>
40416         gnulib-tool: Fix list of authors.
40417         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
40419 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
40421         bootstrap: support Automake-NG in $buildreq
40422         * bootstrap (check_versions): Handle automake and aclocal from
40423         Automake-NG specially.  They can be specified as respectively
40424         the "automake-ng" and "aclocal-ng" requirements.
40426 2012-04-25  Eric Blake  <eblake@redhat.com>
40428         bootstrap: only force latest Makefile.in.in for gettext module
40429         * build-aux/bootstrap (with_gettext): Only install latest
40430         Makefile.in.in for projects requesting bleeding edge gettext.
40432 2012-04-22  Bruno Haible  <bruno@clisp.org>
40434         doc: Mention reason for replacement on glibc/Linux systems.
40435         * doc/posix-functions/dprintf.texi: Mention the problem with special
40436         'long double' values.
40437         * doc/posix-functions/fprintf.texi: Likewise.
40438         * doc/posix-functions/printf.texi: Likewise.
40439         * doc/posix-functions/snprintf.texi: Likewise.
40440         * doc/posix-functions/sprintf.texi: Likewise.
40441         * doc/posix-functions/vdprintf.texi: Likewise.
40442         * doc/posix-functions/vfprintf.texi: Likewise.
40443         * doc/posix-functions/vprintf.texi: Likewise.
40444         * doc/posix-functions/vsnprintf.texi: Likewise.
40445         * doc/posix-functions/vsprintf.texi: Likewise.
40446         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
40447         platforms with F_DUPFD_CLOEXEC problems.
40448         * doc/posix-functions/glob.texi: Mention which platforms are affected
40449         by the problem with symbolic links.
40450         * doc/posix-functions/linkat.texi: Mention the problem with
40451         AT_SYMLINK_FOLLOW on Linux.
40453 2012-04-22  Bruno Haible  <bruno@clisp.org>
40455         pwrite: Don't replace on all platforms.
40456         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
40458 2012-04-22  Bruno Haible  <bruno@clisp.org>
40460         rint* tests: Avoid gcc warnings.
40461         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
40462         * tests/test-rintf.c (INFINITY, NAN): Likewise.
40463         * tests/test-rintl.c (INFINITY, NAN): Likewise.
40465 2012-04-21  Bruno Haible  <bruno@clisp.org>
40467         users.txt: Update.
40468         * users.txt: Add freedink, wdiff. Update URLs for projects that have
40469         switched from CVS to git, bzr, or svn.
40471 2012-04-21  Bruno Haible  <bruno@clisp.org>
40473         Large File Support for native Windows platforms.
40475         * m4/largefile.m4 (gl_LARGEFILE): New macro.
40476         * modules/largefile (configure.ac): Require gl_LARGEFILE.
40478         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
40479         type.
40480         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
40481         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
40482         * doc/posix-headers/sys_types.texi: Mention the effect of the
40483         'largefile' module.
40485         * lib/fcntl.in.h: Add comments about off_t.
40486         * modules/fcntl-h (Depends-on): Add sys_types.
40488         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
40489         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
40490         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
40491         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
40492         * modules/unistd (Depends-on): Add sys_types.
40493         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
40495         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
40496         instead of lseek.
40497         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
40498         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
40499         * modules/lseek (Depends-on): Add sys_types.
40501         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
40502         msvc-nothrow.h.
40503         (SetFileSize): New function.
40504         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
40505         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
40506         if Large File Support is requested.
40507         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
40508         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
40510         * lib/stdio.in.h: Add comments about off_t.
40511         * modules/stdio (Depends-on): Add sys_types.
40513         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
40514         instead of ftello.
40515         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
40516         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
40517         (gl_PREREQ_FTELLO): New macro.
40518         * modules/ftello (Depends-on): Add sys_types.
40519         (configure.ac): Incoke gl_PREREQ_FTELLO.
40521         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
40522         instead of fseeko.
40523         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
40524         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
40525         (gl_PREREQ_FSEEKO): New macro.
40526         * modules/fseeko (Depends-on): Add sys_types.
40527         (configure.ac): Invoke gl_PREREQ_FSEEKO.
40529         * lib/sys_stat.in.h: Add comments about off_t.
40530         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
40531         64-bit integer for st_size in 'struct stat'.
40532         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
40533         Define _GL_WINDOWS_64_BIT_ST_SIZE.
40534         * modules/sys_stat (Depends-on): Add sys_types.
40535         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
40537         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
40538         instead of stat or _stat.
40540         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
40541         'struct _stati64' instead of fstat and 'struct stat'.
40542         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
40543         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
40545         Reported by Ray Satiro <raysatiro@yahoo.com>.
40547 2012-04-19  Eric Blake  <eblake@redhat.com>
40549         bootstrap: accommodate older libtool
40550         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
40551         Reported by Daniel P. Berrange.
40553 2012-04-19  Jim Meyering  <meyering@redhat.com>
40555         announce-gen: avoid failure due to lack of Digest::SHA1
40556         Even with the preferred Digest::SHA available, this script
40557         would fail when the backup module, Digest::SHA1, was not installed.
40558         * build-aux/announce-gen: Quote the conditional use of "use".
40559         Reported by Reuben Thomas in:
40560         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
40562         bootstrap: don't let a user's CDPATH setting affect this script
40563         When CDPATH is set, cd will sometimes generate output.
40564         When "cd" is run in a subshell whose output matters, that
40565         surprising-to-some output can cause malfunction.
40566         Unsetting CDPATH turns off this shell "feature."
40567         * build-aux/bootstrap (CDPATH): Unset.
40568         Reported by Reuben Thomas in:
40569         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
40570         and inspired by his patch here:
40571         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
40573 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
40574         and Jim Meyering  <meyering@redhat.com>
40576         maint.mk: catch "see @xref{}" and similar
40577         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
40578         prohibit "See also @xref{", "Also see @pxref{", and similar.
40580 2012-04-16  Jim Meyering  <meyering@redhat.com>
40582         bootstrap: really use gnulib's po/Makefile.in.in
40583         * build-aux/bootstrap: Correct the source file name in previous change.
40584         Reported by Akim Demaille.
40586         configmake: correct minor inconsistency in Makefile rule
40587         * modules/configmake (Makefile.am): All other rules like this one
40588         run the final "mv -f ..." in the same backslash-continued command
40589         as the one that does everything else.  This one put the mv -f ...
40590         command on a separate, non-backslash-continued line.
40591         Make it like the others.
40593         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
40594         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
40595         the one from gettext.  Reported by Akim Demaille.
40597 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
40599         Fix recursion of install-* into po directories.
40600         Bison's install-pdf bug reported by Hans Aberg at
40601         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
40602         * build-aux/po/Makefile.in.in (install-dvi, install-html)
40603         (install-info, install-pdf, install-ps): New targets.
40605 2012-04-16  Jim Meyering  <meyering@redhat.com>
40607         maint: avoid spurious "make sc_maint" failure
40608         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
40609         exempt all *.class file names, for lib/javaversion.class.
40611 2012-04-15  Bruno Haible  <bruno@clisp.org>
40613         lseek: Make configure test independent of environment.
40614         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
40615         Windows, we know that lseek() on pipes is broken; skip the runtime
40616         test.
40618 2012-04-14  Bruno Haible  <bruno@clisp.org>
40620         stat: Bypass buggy override in mingw64.
40621         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
40622         * lib/stat.c (stat) [mingw64]: Define to _stat.
40623         * doc/posix-functions/stat.texi: Mention mingw64 bug.
40625 2012-04-14  Bruno Haible  <bruno@clisp.org>
40627         pathmax: Fix compilation error on MSVC 9.
40628         * modules/pathmax (Depends-on): Add unistd.
40630 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
40632         README: document pointer comparison assumption
40633         * README (Portability guidelines): Document assumption about
40634         pointer comparisons, in response to a recent bug-gnulib comment by
40635         Jeffrey Kegler.
40637 2012-04-12  Bruno Haible  <bruno@clisp.org>
40639         Tests for module 'getrusage'.
40640         * modules/getrusage-tests: New file.
40641         * tests/test-getrusage.c: New file.
40643         New module 'getrusage'.
40644         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
40645         warn-on-use.h.
40646         (getrusage): New declaration.
40647         * lib/getrusage.c: New file.
40648         * m4/getrusage.m4: New file.
40649         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
40650         is declared.
40651         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
40652         HAVE_GETRUSAGE.
40653         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
40654         snippet/c++defs, snippet/warn-on-use.
40655         (Makefile.am): Update generation of sys/resource.h. Substitute
40656         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
40657         * modules/getrusage: New file.
40658         * doc/posix-functions/getrusage.texi: Mention the new module.
40660 2012-04-12  Bruno Haible  <bruno@clisp.org>
40662         Tests for module 'sys_resource'.
40663         * modules/sys_resource-tests: New file.
40664         * tests/test-sys_resource.c: New file.
40666         New module 'sys_resource'.
40667         * lib/sys_resource.in.h: New file.
40668         * m4/sys_resource_h.m4: New file.
40669         * modules/sys_resource: New file.
40670         * doc/posix-headers/sys_resource.texi: Mention the new module.
40672 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
40674         ioctl: Fix compilation error on mingw.
40675         * lib/ioctl.c: Include <windows.h>.
40676         Also reported by Ray Satiro <raysatiro@yahoo.com>.
40678 2012-04-04  Jim Meyering  <meyering@redhat.com>
40680         regex: correct #pragma guard expression
40681         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
40682         not 4.3.  Correct its cpp guard expression.
40684 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
40686         regex: remove unnecessary type punning
40687         Problem reported by Vladimir Serbinenko in
40688         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
40689         * lib/regex.h (struct re_pattern_buffer): Change the type of
40690         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
40691         Fix comment to match code.
40692         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
40693         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
40694         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
40695         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
40696         (set_regs):
40697         Omit no-longer-necessary casts.
40699 2012-04-03  Bruno Haible  <bruno@clisp.org>
40701         Tests for module 'ilogbl'.
40702         * modules/ilogbl-tests: New file.
40703         * tests/test-ilogbl.c: New file.
40705         New module 'ilogbl'.
40706         * lib/math.in.h (ilogbl): New declaration.
40707         * lib/ilogbl.c: New file.
40708         * m4/ilogbl.m4: New file.
40709         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
40710         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
40711         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
40712         Split sed invocation, to avoid the limit of 100 substitutions of
40713         HP-UX 'sed'.
40714         * modules/ilogbl: New file.
40715         * tests/test-math-c++.cc: Check the declaration of ilogbl.
40716         * doc/posix-functions/ilogbl.texi: Mention the new module.
40718 2012-04-03  Bruno Haible  <bruno@clisp.org>
40720         Tests for module 'ilogbf'.
40721         * modules/ilogbf-tests: New file.
40722         * tests/test-ilogbf.c: New file.
40724         New module 'ilogbf'.
40725         * lib/math.in.h (ilogbf): New declaration.
40726         * lib/ilogbf.c: New file.
40727         * m4/ilogbf.m4: New file.
40728         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
40729         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
40730         REPLACE_ILOGBF.
40731         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
40732         REPLACE_ILOGBF.
40733         * modules/ilogbf: New file.
40734         * tests/test-math-c++.cc: Check the declaration of ilogbf.
40735         * doc/posix-functions/ilogbf.texi: Mention the new module.
40737 2012-04-03  Bruno Haible  <bruno@clisp.org>
40739         Tests for module 'ilogb'.
40740         * modules/ilogb-tests: New file.
40741         * tests/test-ilogb.c: New file.
40742         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
40743         tests/test-logb-ieee.h.
40745         New module 'ilogb'.
40746         * lib/math.in.h (ilogb): New declaration.
40747         * lib/ilogb.c: New file.
40748         * m4/ilogb.m4: New file.
40749         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
40750         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
40751         REPLACE_ILOGB.
40752         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
40753         REPLACE_ILOGB.
40754         * modules/ilogb: New file.
40755         * tests/test-math-c++.cc: Check the declaration of ilogb.
40756         * doc/posix-functions/ilogb.texi: Mention the new module.
40758 2012-04-03  Bruno Haible  <bruno@clisp.org>
40760         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
40761         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
40762         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
40763         (main): Check their values.
40764         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
40765         problem.
40767 2012-04-03  Bruno Haible  <bruno@clisp.org>
40769         Tests for module 'logbl-ieee'.
40770         * modules/logbl-ieee-tests: New file.
40771         * tests/test-logbl-ieee.c: New file.
40773         New module 'logbl-ieee'.
40774         * modules/logbl-ieee: New file.
40776         Tests for module 'logb-ieee'.
40777         * modules/logb-ieee-tests: New file.
40778         * tests/test-logb-ieee.c: New file.
40780         New module 'logb-ieee'.
40781         * modules/logb-ieee: New file.
40783         Tests for module 'logbf-ieee'.
40784         * modules/logbf-ieee-tests: New file.
40785         * tests/test-logbf-ieee.c: New file.
40786         * tests/test-logb-ieee.h: New file.
40788         New module 'logbf-ieee'.
40789         * modules/logbf-ieee: New file.
40791 2012-04-03  Bruno Haible  <bruno@clisp.org>
40793         Tests for module 'logbl'.
40794         * modules/logbl-tests: New file.
40795         * tests/test-logbl.c: New file.
40797         New module 'logbl'.
40798         * lib/math.in.h (logbl): New declaration.
40799         * lib/logbl.c: New file.
40800         * m4/logbl.m4: New file.
40801         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
40802         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
40803         REPLACE_LOGBL.
40804         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
40805         REPLACE_LOGBL.
40806         * modules/logbl: New file.
40807         * tests/test-math-c++.cc: Check the declaration of logbl.
40808         * doc/posix-functions/logbl.texi: Mention the new module.
40810 2012-04-02  Bruno Haible  <bruno@clisp.org>
40812         Tests for module 'logbf'.
40813         * modules/logbf-tests: New file.
40814         * tests/test-logbf.c: New file.
40816         New module 'logbf'.
40817         * lib/math.in.h (logbf): New declaration.
40818         * lib/logbf.c: New file.
40819         * m4/logbf.m4: New file.
40820         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
40821         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
40822         REPLACE_LOGBF.
40823         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
40824         REPLACE_LOGBF.
40825         * modules/logbf: New file.
40826         * tests/test-math-c++.cc: Check the declaration of logbf.
40827         * doc/posix-functions/logbf.texi: Mention the new module.
40829 2012-04-02  Bruno Haible  <bruno@clisp.org>
40831         logb tests: More tests.
40832         * tests/test-logb.h: New file, based on tests/test-logb.c and
40833         tests/test-frexp.h.
40834         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
40835         (main): Just invoke test_function.
40836         * modules/logb-tests (Files): Add tests/test-logb.h,
40837         tests/minus-zero.h, tests/randomd.c.
40838         (Makefile.am): Add randomd.c to test_logb_SOURCES.
40840         logb: Provide replacement and workarounds.
40841         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
40842         is 1.
40843         * lib/logb.c: New file.
40844         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
40845         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
40846         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
40847         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
40848         * modules/logb (Files): Add lib/logb.c.
40849         (Depends-on): Add isfinite, frexp, isnand.
40850         (configure.ac): Compile the replacement code logb.c if needed.
40851         * tests/test-math-c++.cc: Check the declaration of logb.
40852         * doc/posix-functions/logb.texi: Mention the replacement and the bug
40853         with subnormal numbers.
40855 2012-04-02  Bruno Haible  <bruno@clisp.org>
40857         log10* tests: Speed up.
40858         * tests/test-log10.h (test_function): Reduce amount of random numbers
40859         to test.
40861 2012-04-01  Bruno Haible  <bruno@clisp.org>
40863         logf-ieee: Fix test whether logf works.
40864         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
40866 2012-04-01  Bruno Haible  <bruno@clisp.org>
40868         log10l: Work around log10l-ieee test failure on IRIX 6.5.
40869         * lib/log10l.c: Include <float.h>
40870         (log10l): On IRIX, normalize the +Infinity value.
40871         * modules/log10l (Depends-on): Add 'float'.
40872         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
40873         +Infinity.
40875         log10f-ieee: Work around test failure on NetBSD 5.1.
40876         * m4/log10f-ieee.m4: New file.
40877         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
40878         test whether log10f works with a negative argument. Replace it if not.
40879         * lib/log10f.c (log10f): For negative arguments, return NaN.
40880         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
40881         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
40882         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
40884         log10f-ieee: Work around test failure on Solaris 9.
40885         * modules/log10f-ieee (Depends-on): Add log10-ieee.
40886         (configure.ac): Require gl_FUNC_LOG10F.
40888         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
40889         * m4/log10-ieee.m4: New file.
40890         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
40891         whether log10 works with a negative argument. Replace it if not.
40892         * lib/log10.c (log10): For negative arguments, return NaN.
40893         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
40894         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
40895         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
40897         Tests for module 'log10l-ieee'.
40898         * modules/log10l-ieee-tests: New file.
40899         * tests/test-log10l-ieee.c: New file.
40901         New module 'log10l-ieee'.
40902         * modules/log10l-ieee: New file.
40904         Tests for module 'log10-ieee'.
40905         * modules/log10-ieee-tests: New file.
40906         * tests/test-log10-ieee.c: New file.
40908         New module 'log10-ieee'.
40909         * modules/log10-ieee: New file.
40911         Tests for module 'log10f-ieee'.
40912         * modules/log10f-ieee-tests: New file.
40913         * tests/test-log10f-ieee.c: New file.
40914         * tests/test-log10-ieee.h: New file.
40916         New module 'log10f-ieee'.
40917         * modules/log10f-ieee: New file.
40919 2012-04-01  Bruno Haible  <bruno@clisp.org>
40921         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
40922         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
40923         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
40924         workaround.
40925         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
40926         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
40927         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
40928         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
40929         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
40930         (Depends-on): Update conditions.
40931         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
40932         IRIX 6.5, OSF/1 5.1 problems.
40934 2012-04-01  Bruno Haible  <bruno@clisp.org>
40936         log10f: Work around OSF/1 5.1 bug.
40937         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
40938         * lib/log10f.c (log10f): If logf exists, use it and provide just the
40939         workaround.
40940         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
40941         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
40942         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
40943         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
40944         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
40945         (Depends-on): Update conditions.
40946         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
40948 2012-04-01  Bruno Haible  <bruno@clisp.org>
40950         log10: Work around OSF/1 5.1 bug.
40951         * lib/math.in.h (log10): New declaration.
40952         * lib/log10.c: New file.
40953         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
40954         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
40955         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
40956         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
40957         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
40958         * modules/log10 (Files): Add lib/log10.c.
40959         (Depends-on): Add math.
40960         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
40961         * tests/test-math-c++.cc: Check the declaration of log10.
40962         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
40964 2012-03-31  Bruno Haible  <bruno@clisp.org>
40966         log10l tests: More tests.
40967         * modules/log10l-tests (Files): Add tests/test-log10l.h,
40968         tests/minus-zero.h, tests/randoml.c.
40969         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
40970         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
40971         (main): Invoke test_function.
40973         log10f tests: More tests.
40974         * modules/log10f-tests (Files): Add tests/test-log10.h,
40975         tests/minus-zero.h, tests/randomf.c.
40976         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
40977         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
40978         (main): Invoke test_function.
40980         log10 tests: More tests.
40981         * tests/test-log10.h: New file.
40982         * modules/log10-tests (Files): Add tests/test-log10.h,
40983         tests/minus-zero.h, tests/randomd.c.
40984         (Makefile.am): Add randomd.c to test_log10_SOURCES.
40985         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
40986         (main): Invoke test_function.
40988 2012-03-31  Simon Josefsson  <simon@josefsson.org>
40990         fflush: Fix syntax error.
40991         * lib/fflush.c: Include unused-parameter.h, needed for
40992         _GL_UNUSED_PARAMETER.
40993         * modules/fflush (Depends-on): Add snippet/unused-parameter.
40995 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
40997         regex: pacify GCC when compiling GRUB
40998         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
40999         a diagnostic.  Reported by Vladimir Serbinenko in
41000         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
41002 2012-03-29  Eric Blake  <eblake@redhat.com>
41004         stdio: don't assume gets any more
41005         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
41006         support.
41007         * modules/stdio (Makefile.am): Likewise.
41008         * lib/stdio-read.c (gets): Likewise.
41009         * tests/test-stdio-c++.cc: Likewise.
41010         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
41011         * lib/stdio.in.h (gets): Make warning occur in more places.
41012         * doc/posix-functions/gets.texi (gets): Update documentation.
41013         Reported by Christer Solskogen.
41015         maint.mk: fix syntax checks without exclusions
41016         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
41017         Reported by Daniel P. Berrange.
41019         strerror_r: avoid compiler warning
41020         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
41021         level.
41023         fflush: avoid compiler warning
41024         * lib/fflush.c (update_fpos_cache): Mark variables that are
41025         potentially unused.
41027 2012-03-25  Bruno Haible  <bruno@clisp.org>
41029         Tests for module 'localeconv'.
41030         * modules/localeconv-tests: New file.
41031         * tests/test-localeconv.c: New file.
41033         New module 'localeconv'.
41034         * lib/locale.in.h (localeconv): New declaration.
41035         * lib/localeconv.c: New file.
41036         * m4/localeconv.m4: New file.
41037         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
41038         REPLACE_LOCALECONV.
41039         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
41040         REPLACE_LOCALECONV.
41041         * modules/localeconv: New file.
41042         * modules/nl_langinfo (Depends-on): Add localeconv.
41043         * modules/human (Depends-on): Likewise.
41044         * doc/posix-functions/localeconv.texi: Mention the new module.
41046 2012-03-25  Bruno Haible  <bruno@clisp.org>
41048         locale: Provide a complete 'struct lconv'.
41049         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
41050         'struct lconv' does not contain int_p_cs_precedes.
41051         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
41052         * doc/posix-headers/locale.texi: Update.
41054         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
41055         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
41056         * doc/posix-headers/locale.texi: Update.
41058         locale: Provide a working 'struct lconv'.
41059         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
41060         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
41061         'struct lconv' does not even contain decimal_point.
41062         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
41063         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
41064         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
41065         * doc/posix-headers/locale.texi: Mention the problems with
41066         'struct lconv'.
41067         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
41069 2012-03-24  Bruno Haible  <bruno@clisp.org>
41071         Enable common subexpression optimization in GCC.
41072         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
41073         macros.
41074         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
41075         GCC attribute 'const'.
41076         (uc_locale_language): Declare with GCC attribute 'pure'.
41077         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
41078         with GCC attribute 'const'.
41079         * lib/unictype.in.h (uc_is_general_category_withtable,
41080         uc_combining_class, uc_combining_class_name,
41081         uc_combining_class_long_name, uc_bidi_class_name,
41082         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
41083         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
41084         uc_decimal_value, uc_digit_value, uc_numeric_value,
41085         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
41086         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
41087         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
41088         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
41089         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
41090         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
41091         Declare with GCC attribute 'const'.
41092         (uc_general_category_name, uc_general_category_long_name,
41093         uc_general_category_byname, uc_general_category,
41094         uc_is_general_category, uc_combining_class_byname,
41095         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
41096         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
41097         Declare with GCC attribute 'pure'.
41098         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
41099         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
41100         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
41101         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
41102         with GCC attribute 'pure'.
41103         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
41104         'const'.
41105         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
41106         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
41107         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
41108         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
41109         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
41110         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
41111         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
41112         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
41113         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
41114         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
41115         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
41116         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
41117         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
41118         GCC attribute 'pure'.
41119         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
41120         'const'.
41121         * lib/uniwidth.in.h (uc_width): Simplify declaration.
41122         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
41123         u32_strwidth): Declare with GCC attribute 'pure'.
41125         Enable common subexpression optimization in GCC.
41126         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
41127         (alphasort): Declare with GCC attribute 'pure'.
41128         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
41129         (atoll): Declare with GCC attribute 'pure'.
41130         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
41131         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
41132         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
41133         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
41134         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
41135         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
41136         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
41138 2012-03-24  Bruno Haible  <bruno@clisp.org>
41140         gnulib-tool: Avoid unintended error output from 'cmp'.
41141         * gnulib-tool (func_add_file, func_update_file, func_import): Use
41142         "cmp -s", not "cmp > /dev/null".
41144 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
41146         gnulib-tool: fix imprecise comments w.r.t. an automake bug
41148         It's not just Automake versions < 1.9b that creates an empty
41149         pkgdatadir at installation time if pkgdata_DATA is specified
41150         to empty; modern automake versions do this as well, at least
41151         until automake 1.11.4 (not yet released at the moment of writing,
41152         but soon to appear).  That behaviour was generally considered a
41153         feature rather than a bug, at least until this discussion:
41154         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
41156         See also automake bugs #10997 and #11030.
41158         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
41159         reference to relevant automake bug numbers.
41160         (func_emit_tests_Makefile_am): Likewise.
41162 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
41164         announce-gen: use Digest::SHA when possible
41165         * build-aux/announce-gen: Use Digest::SHA when possible, falling
41166         back to Digest::SHA1 if necessary.
41168 2012-03-20  Jim Meyering  <meyering@redhat.com>
41170         tests: avoid gcc warnings about argv vs. const initializers
41171         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
41172         warnings about discarding 'const' qualifier from pointer target type.
41173         * tests/test-posix_spawn2.c (main): Likewise.
41175 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
41177         README-release: simplify slightly
41178         * top/README-release: Run "git checkout master" only once.
41180 2012-03-15  Mark Wielaard  <mark@klomp.org>
41182         git-merge-changelog: add specific example on how to use with hg.
41183         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
41185 2012-03-18  Mark Wielaard  <mark@klomp.org>
41187         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
41189 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
41191         git-version-gen: don't let "prefix" envvar cause trouble
41192         * build-aux/git-version-gen (prefix): Initialize properly,
41193         so as not to use a value specified via the environment.
41194         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
41196 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
41198         regex: diagnose too-large repeat counts in EREs
41199         Previously, the code did not diagnose the too-large repeat count
41200         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
41201         as if it were 'b\{1000000000}', which is unexpected.
41202         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
41203         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
41204         is a reasonable one for this problem.  Another option would be to
41205         create a new REG_OVERFLOW error for repeat counts that are too large.
41206         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
41207         count is too large, so that the caller can distinguish the two cases.
41208         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
41209         "Too large" return code, and that repeat counts are one example of this.
41211 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
41213         doc: some glibc x32 integer width issues
41214         * doc/posix-headers/sys_types.texi (sys/types.h):
41215         * doc/posix-headers/time.texi (time.h):
41216         Mention that glibc x32 does not conform to POSIX in a couple of
41217         areas related to integer widths.
41219 2012-03-15  Bruno Haible  <bruno@clisp.org>
41221         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
41222         * lib/fma.c (VOLATILE): New macro.
41223         (FUNC): Use it to work around a GCC compiler bug.
41225 2012-03-13  Bruno Haible  <bruno@clisp.org>
41227         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41228         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
41229         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
41230         REPLACE_HYPOTL to 1.
41231         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
41233 2012-03-13  Bruno Haible  <bruno@clisp.org>
41235         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41236         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
41237         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
41238         REPLACE_REMAINDERL to 1.
41239         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
41240         bug.
41242 2012-03-13  Bruno Haible  <bruno@clisp.org>
41244         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41245         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
41246         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
41247         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
41248         too big rounding errors.
41249         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
41250         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
41251         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
41252         (Depends-on): Update conditions.
41253         * tests/test-sqrtl.c (my_ldexpl): New function.
41254         (main): Add test of a particular value.
41255         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
41257 2012-03-13  Pádraig Brady  <P@draigBrady.com>
41259         doc: Update timer_* platform portability notes.
41260         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
41261         that always return ENOSYS.
41262         * doc/posix-functions/timer_delete.texi: Likewise.
41263         * doc/posix-functions/timer_gettime.texi: Likewise.
41264         * doc/posix-functions/timer_settime.texi: Likewise.
41266 2012-03-13  Bruno Haible  <bruno@clisp.org>
41268         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
41269         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
41270         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
41271         REPLACE_CBRTL to 1.
41272         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
41274 2012-03-13  Bruno Haible  <bruno@clisp.org>
41276         remainderl: Avoid compilation error on AIX >= 5.2.
41277         * lib/math.in.h (remainderl): Undefine macro from the system header.
41279 2012-03-13  Bruno Haible  <bruno@clisp.org>
41281         Avoid compilation errors with MSVC option -fp:strict.
41282         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
41283         * lib/cbrtf.c: Likewise.
41284         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
41286 2012-03-12  Bruno Haible  <bruno@clisp.org>
41288         uninorm: Don't crash in out-of-memory conditions.
41289         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
41290         gracefully.
41291         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
41292         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
41294 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
41296         quote: fix syntax-check
41297         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
41298         also exports quote_quoting_options.
41300 2012-03-12  Simon Josefsson  <simon@josefsson.org>
41302         Collapse list of copyright years to ranges.  See
41303         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
41304         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
41305         build-aux/csharpexec.sh.in, build-aux/gnupload,
41306         build-aux/install-reloc, build-aux/javacomp.sh.in,
41307         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
41308         build-aux/move-if-change, build-aux/reloc-ldflags,
41309         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
41311 2012-03-11  Bruno Haible  <bruno@clisp.org>
41313         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
41314         * m4/log2f-ieee.m4: New file.
41315         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
41316         whether log2f works with a minus zero argument. Replace it if not.
41317         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
41318         (Depends-on): Add log2-ieee.
41319         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
41320         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
41322         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
41323         * m4/log2-ieee.m4: New file.
41324         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
41325         whether log2 works with a minus zero argument. Replace it if not.
41326         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
41327         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
41328         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
41330         Tests for module 'log2l-ieee'.
41331         * modules/log2l-ieee-tests: New file.
41332         * tests/test-log2l-ieee.c: New file.
41334         New module 'log2l-ieee'.
41335         * modules/log2l-ieee: New file.
41337         Tests for module 'log2-ieee'.
41338         * modules/log2-ieee-tests: New file.
41339         * tests/test-log2-ieee.c: New file.
41341         New module 'log2-ieee'.
41342         * modules/log2-ieee: New file.
41344         Tests for module 'log2f-ieee'.
41345         * modules/log2f-ieee-tests: New file.
41346         * tests/test-log2f-ieee.c: New file.
41347         * tests/test-log2-ieee.h: New file.
41349         New module 'log2f-ieee'.
41350         * modules/log2f-ieee: New file.
41352 2012-03-11  Bruno Haible  <bruno@clisp.org>
41354         Tests for module 'log2l'.
41355         * modules/log2l-tests: New file.
41356         * tests/test-log2l.c: New file.
41358         New module 'log2l'.
41359         * lib/math.in.h (log2l): New declaration.
41360         * lib/log2l.c: New file.
41361         * m4/log2l.m4: New file.
41362         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
41363         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
41364         REPLACE_LOG2L.
41365         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
41366         REPLACE_LOG2L.
41367         * modules/log2l: New file.
41368         * tests/test-math-c++.cc: Check the declaration of log2l.
41369         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
41370         and OSF/1 problems.
41372 2012-03-11  Bruno Haible  <bruno@clisp.org>
41374         Tests for module 'log2f'.
41375         * modules/log2f-tests: New file.
41376         * tests/test-log2f.c: New file.
41378         New module 'log2f'.
41379         * lib/math.in.h (log2f): New declaration.
41380         * lib/log2f.c: New file.
41381         * m4/log2f.m4: New file.
41382         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
41383         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
41384         REPLACE_LOG2F.
41385         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
41386         REPLACE_LOG2F.
41387         * modules/log2f: New file.
41388         * tests/test-math-c++.cc: Check the declaration of log2f.
41389         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
41390         and OSF/1 and Cygwin problems.
41392 2012-03-11  Bruno Haible  <bruno@clisp.org>
41394         Tests for module 'log2'.
41395         * modules/log2-tests: New file.
41396         * tests/test-log2.c: New file.
41397         * tests/test-log2.h: New file.
41399         New module 'log2'.
41400         * lib/math.in.h (log2): New declaration.
41401         * lib/log2.c: New file.
41402         * m4/log2.m4: New file.
41403         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
41404         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
41405         REPLACE_LOG2.
41406         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
41407         REPLACE_LOG2.
41408         * modules/log2: New file.
41409         * tests/test-math-c++.cc: Check the declaration of log2.
41410         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
41411         and OSF/1 and Cygwin problems.
41413 2012-03-11  Bruno Haible  <bruno@clisp.org>
41415         exp2* tests: More tests.
41416         * tests/test-exp2.h (test_function): Test all integral arguments that
41417         don't need to overflow or denormalized numbers.
41418         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
41419         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
41420         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
41422 2012-03-10  Bruno Haible  <bruno@clisp.org>
41424         log1pl-ieee: Work around test failure on AIX 7.1.
41425         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
41427         log1pl-ieee: Work around test failure on IRIX 6.5.
41428         * m4/log1pl-ieee.m4: New file.
41429         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
41430         test whether log1pl works with a minus zero argument. Replace it if
41431         not.
41432         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
41433         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
41434         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
41435         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
41436         (Depends-on): Update conditions.
41437         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
41438         m4/signbit.m4.
41439         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
41440         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
41442         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
41443         * m4/log1pf-ieee.m4: New file.
41444         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
41445         test whether log1pf works with a minus zero argument. Replace it if
41446         not.
41447         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
41448         m4/signbit.m4.
41449         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
41450         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
41452         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
41453         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
41454         (configure.ac): Require gl_FUNC_LOG1PF.
41456         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
41457         * m4/log1p-ieee.m4: New file.
41458         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
41459         whether log1p works with a minus zero argument. Replace it if not.
41460         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
41461         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
41462         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
41463         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
41464         (Depends-on): Update conditions.
41465         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
41466         m4/signbit.m4.
41467         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
41468         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
41470         Tests for module 'log1pl-ieee'.
41471         * modules/log1pl-ieee-tests: New file.
41472         * tests/test-log1pl-ieee.c: New file.
41474         New module 'log1pl-ieee'.
41475         * modules/log1pl-ieee: New file.
41477         Tests for module 'log1p-ieee'.
41478         * modules/log1p-ieee-tests: New file.
41479         * tests/test-log1p-ieee.c: New file.
41481         New module 'log1p-ieee'.
41482         * modules/log1p-ieee: New file.
41484         Tests for module 'log1pf-ieee'.
41485         * modules/log1pf-ieee-tests: New file.
41486         * tests/test-log1pf-ieee.c: New file.
41487         * tests/test-log1p-ieee.h: New file.
41489         New module 'log1pf-ieee'.
41490         * modules/log1pf-ieee: New file.
41492 2012-03-10  Bruno Haible  <bruno@clisp.org>
41494         Tests for module 'log1pl'.
41495         * modules/log1pl-tests: New file.
41496         * tests/test-log1pl.c: New file.
41498         New module 'log1pl'.
41499         * lib/math.in.h (log1pl): New declaration.
41500         * lib/log1pl.c: New file.
41501         * m4/log1pl.m4: New file.
41502         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
41503         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
41504         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
41505         * modules/log1pl: New file.
41506         * tests/test-math-c++.cc: Check the declaration of log1pl.
41507         * doc/posix-functions/log1pl.texi: Mention the new module.
41509 2012-03-10  Bruno Haible  <bruno@clisp.org>
41511         Tests for module 'log1pf'.
41512         * modules/log1pf-tests: New file.
41513         * tests/test-log1pf.c: New file.
41515         New module 'log1pf'.
41516         * lib/math.in.h (log1pf): New declaration.
41517         * lib/log1pf.c: New file.
41518         * m4/log1pf.m4: New file.
41519         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
41520         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
41521         REPLACE_LOG1PF.
41522         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
41523         REPLACE_LOG1PF.
41524         * modules/log1pf: New file.
41525         * tests/test-math-c++.cc: Check the declaration of log1pf.
41526         * doc/posix-functions/log1pf.texi: Mention the new module.
41528 2012-03-10  Bruno Haible  <bruno@clisp.org>
41530         log1p tests: More tests.
41531         * tests/test-log1p.h: New file.
41532         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
41533         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
41534         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
41535         (main): Invoke test_function.
41537         log1p: Provide replacement for Minix and MSVC.
41538         * lib/math.in.h (log1p): New declaration.
41539         * lib/log1p.c: New file.
41540         * m4/log1p.m4: New file.
41541         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
41542         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
41543         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
41544         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
41545         (Depends-on): Add math, isnand, log, round.
41546         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
41547         HAVE_LOG1P is 0.
41548         * tests/test-math-c++.cc: Check the declaration of log1p.
41549         * doc/posix-functions/log1p.texi: Mention the replacement.
41551 2012-03-10  Bruno Haible  <bruno@clisp.org>
41553         math tests: Small simplification.
41554         * tests/test-exp.h (test_function): Use the same err_bound for
41555         'double' on platforms with sizeof (long double) == sizeof (double)
41556         than on platforms with sizeof (long double) > sizeof (double).
41557         * tests/test-exp2.h (test_function): Likewise.
41558         * tests/test-expm1.h (test_function): Likewise.
41559         * tests/test-log.h (test_function): Likewise.
41561 2012-03-10  Bruno Haible  <bruno@clisp.org>
41563         Fix some comments.
41564         * lib/expl.c: Fix an ambiguous comment.
41565         * lib/expm1.c: Likewise.
41566         * lib/expm1l.c: Likewise.
41567         * lib/exp2.c: Likewise.
41568         * lib/exp2l.c: Likewise.
41570 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
41572         regex: allow inclusion of <regex.h> before <limits.h>
41573         Without this patch, portable programs had to include <limits.h> before
41574         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
41575         I ran into this problem with a test version of GNU grep on Solaris 8.
41576         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
41577         This is done conditionally so that this change can be merged
41578         back to glibc.
41579         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
41580         using the included regex.
41582         fts: depend on fdopendir
41583         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
41584         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
41585         problem was introduced when fdopendir was split out.
41587 2012-03-10  Bruno Haible  <bruno@clisp.org>
41589         Remove unused variables.
41590         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
41591         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
41593 2012-03-10  Bruno Haible  <bruno@clisp.org>
41595         isnanf-nolibm: Fix last commit.
41596         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
41598         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
41599         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
41601 2012-03-10  Bruno Haible  <bruno@clisp.org>
41603         logf-ieee: Work around test failure on NetBSD 5.1.
41604         * m4/logf-ieee.m4: New file.
41605         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
41606         whether logf works with a negative argument. Replace it if not.
41607         * lib/logf.c (logf): For negative arguments, return NaN.
41608         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
41609         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
41610         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
41612         logf-ieee: Work around test failure on Solaris 9.
41613         * modules/logf-ieee (Depends-on): Add log-ieee.
41614         (configure.ac): Require gl_FUNC_LOGF.
41616         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
41617         * m4/log-ieee.m4: New file.
41618         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
41619         log works with a negative argument. Replace it if not.
41620         * lib/log.c (log): For negative arguments, return NaN.
41621         * modules/log-ieee (Files): Add m4/log-ieee.m4.
41622         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
41623         * doc/posix-functions/log.texi: Mention the log-ieee module.
41625         Tests for module 'logl-ieee'.
41626         * modules/logl-ieee-tests: New file.
41627         * tests/test-logl-ieee.c: New file.
41629         New module 'logl-ieee'.
41630         * modules/logl-ieee: New file.
41632         Tests for module 'log-ieee'.
41633         * modules/log-ieee-tests: New file.
41634         * tests/test-log-ieee.c: New file.
41636         New module 'log-ieee'.
41637         * modules/log-ieee: New file.
41639         Tests for module 'logf-ieee'.
41640         * modules/logf-ieee-tests: New file.
41641         * tests/test-logf-ieee.c: New file.
41642         * tests/test-log-ieee.h: New file.
41644         New module 'logf-ieee'.
41645         * modules/logf-ieee: New file.
41647 2012-03-10  Bruno Haible  <bruno@clisp.org>
41649         log: Fix bug introduced on 2012-03-09.
41650         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
41652 2012-03-10  Pádraig Brady  <P@draigBrady.com>
41654         timer-time: link explicitly with pthreads on glibc
41655         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
41656         to support static linking, when newer glibc is
41657         detected, as that contains pthread emulation of
41658         POSIX timer functions where required.
41659         * modules/timer-time: Depend on threadlib to
41660         pull in the appropriate library to link.
41662 2012-03-10  Bruno Haible  <bruno@clisp.org>
41664         log* tests: More tests.
41665         * tests/test-log.h: New file.
41666         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
41667         (main): Invoke test_function.
41668         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
41669         (main): Invoke test_function.
41670         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
41671         (main): Invoke test_function.
41672         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41673         tests/randomd.c.
41674         (Makefile.am): Add randomd.c to test_log_SOURCES.
41675         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41676         tests/randomf.c.
41677         (Makefile.am): Add randomf.c to test_logf_SOURCES.
41678         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41679         tests/randoml.c.
41680         (Depends-on): Add 'float'.
41681         (Makefile.am): Add randoml.c to test_logl_SOURCES.
41683 2012-03-09  Bruno Haible  <bruno@clisp.org>
41685         logl: Work around OSF/1 5.1 bug.
41686         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
41687         * lib/logl.c (logl): If logl exists, use it and provide just the
41688         workaround.
41689         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
41690         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
41691         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
41692         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
41693         * modules/logl (configure.ac): Consider REPLACE_LOGL.
41694         (Depends-on): Update conditions.
41695         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
41697 2012-03-09  Bruno Haible  <bruno@clisp.org>
41699         logf: Work around OSF/1 5.1 bug.
41700         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
41701         * lib/logf.c (logf): If logf exists, use it and provide just the
41702         workaround.
41703         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
41704         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
41705         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
41706         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
41707         * modules/logf (configure.ac): Consider REPLACE_LOGF.
41708         (Depends-on): Update conditions.
41709         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
41711 2012-03-09  Bruno Haible  <bruno@clisp.org>
41713         log: Work around OSF/1 5.1 bug.
41714         * lib/math.in.h (log): New declaration.
41715         * lib/log.c: New file.
41716         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
41717         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
41718         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
41719         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
41720         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
41721         * modules/log (Files): Add lib/log.c.
41722         (Depends-on): Add math.
41723         (configure.ac): If REPLACE_LOG is 1, compile an override.
41724         * tests/test-math-c++.cc: Check the declaration of log.
41725         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
41727 2012-03-09  Jim Meyering  <meyering@redhat.com>
41729         readtokens.c: adjust wording in a comment
41730         * lib/readtokens.c: Insert omitted "that" in a comment.
41732 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
41734         modechange: add notations +40, 00440, etc.
41735         * lib/modechange.c (mode_compile): Support new notations
41736         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
41738 2012-03-08  Bruno Haible  <bruno@clisp.org>
41740         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
41741         * m4/exp2l-ieee.m4: New file.
41742         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
41743         test whether exp2l works with a NaN argument and with a negative
41744         infinity argument. Replace it if not.
41745         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
41746         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
41747         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
41748         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
41749         (Depends-on): Update conditions.
41750         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
41751         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
41752         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
41754         Tests for module 'exp2l-ieee'.
41755         * modules/exp2l-ieee-tests: New file.
41756         * tests/test-exp2l-ieee.c: New file.
41758         New module 'exp2l-ieee'.
41759         * modules/exp2l-ieee: New file.
41761         Tests for module 'exp2-ieee'.
41762         * modules/exp2-ieee-tests: New file.
41763         * tests/test-exp2-ieee.c: New file.
41765         New module 'exp2-ieee'.
41766         * modules/exp2-ieee: New file.
41768         Tests for module 'exp2f-ieee'.
41769         * modules/exp2f-ieee-tests: New file.
41770         * tests/test-exp2f-ieee.c: New file.
41771         * tests/test-exp2-ieee.h: New file.
41773         New module 'exp2f-ieee'.
41774         * modules/exp2f-ieee: New file.
41776 2012-03-08  Bruno Haible  <bruno@clisp.org>
41778         Tests for module 'exp2l'.
41779         * modules/exp2l-tests: New file.
41780         * tests/test-exp2l.c: New file.
41782         New module 'exp2l'.
41783         * lib/math.in.h (exp2l): New declaration.
41784         * lib/exp2l.c: New file.
41785         * lib/expl-table.c: New file, extracted from lib/expl.c.
41786         * lib/expl.c (gl_expl_table): New declaration.
41787         (expl): Remove expl_table. Update reference.
41788         * m4/exp2l.m4: New file.
41789         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
41790         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
41791         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
41792         * modules/exp2l: New file.
41793         * modules/expl (Files): Add lib/expl-table.c.
41794         (configure.ac): Compile also expl-table.c.
41795         * tests/test-math-c++.cc: Check the declaration of exp2l.
41796         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
41797         problem.
41799 2012-03-08  Bruno Haible  <bruno@clisp.org>
41801         Tests for module 'exp2f'.
41802         * modules/exp2f-tests: New file.
41803         * tests/test-exp2f.c: New file.
41805         New module 'exp2f'.
41806         * lib/math.in.h (exp2f): New declaration.
41807         * lib/exp2f.c: New file.
41808         * m4/exp2f.m4: New file.
41809         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
41810         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
41811         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
41812         * modules/exp2f: New file.
41813         * tests/test-math-c++.cc: Check the declaration of exp2f.
41814         * doc/posix-functions/exp2f.texi: Mention the new module and the
41815         IRIX problem.
41817 2012-03-08  Bruno Haible  <bruno@clisp.org>
41819         Tests for module 'exp2'.
41820         * modules/exp2-tests: New file.
41821         * tests/test-exp2.c: New file.
41822         * tests/test-exp2.h: New file.
41824         New module 'exp2'.
41825         * lib/math.in.h (exp2): New declaration.
41826         * lib/exp2.c: New file.
41827         * m4/exp2.m4: New file.
41828         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
41829         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
41830         REPLACE_EXP2.
41831         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
41832         REPLACE_EXP2.
41833         * modules/exp2: New file.
41834         * tests/test-math-c++.cc: Check the declaration of exp2.
41835         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
41836         and OpenBSD problems.
41838 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
41840         savedir: fix comment typo
41841         * lib/savedir.c (savedirstream): Fix typo in comment.
41843 2012-03-08  Bruno Haible  <bruno@clisp.org>
41845         test-readtokens.c: use const; remove unwarranted cast
41846         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
41848 2012-03-08  Bruno Haible  <bruno@clisp.org>
41850         fmal: Avoid compilation error on AIX.
41851         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
41852         AIX 5.2..7.1.
41854 2012-03-08  Bruno Haible  <bruno@clisp.org>
41856         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
41857         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
41858         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
41859         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
41860         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
41861         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
41862         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
41864 2012-03-08  Bruno Haible  <bruno@clisp.org>
41866         remainderf: Override buggy system function on IRIX 6.5.
41867         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
41868         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
41869         when it exists.
41870         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
41872 2012-03-08  Jim Meyering  <meyering@redhat.com>
41874         test-readtokens.c: avoid const-related compilation warnings
41875         * tests/test-readtokens.c: Avoid const-related compilation warnings.
41877 2012-03-07  Jim Meyering  <meyering@redhat.com>
41878             Bruno Haible  <bruno@clisp.org>
41880         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
41881         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
41882         tests/randomd.c.
41883         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
41884         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
41885         tests/randoml.c.
41886         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
41888 2012-03-07  Bruno Haible  <bruno@clisp.org>
41890         expm1l: Avoid compilation error on AIX.
41891         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
41892         AIX 5.2..7.1.
41894 2012-03-07  Bruno Haible  <bruno@clisp.org>
41896         expm1l: Don't override undeclared system function on IRIX 6.5.
41897         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
41898         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
41899         it exists. Set HAVE_DECL_EXPM1L.
41900         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
41901         HAVE_EXPM1L.
41902         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
41903         HAVE_EXPM1L.
41904         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
41906 2012-03-07  Bruno Haible  <bruno@clisp.org>
41908         remainderl: Don't override undeclared system function on IRIX 6.5.
41909         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
41910         HAVE_REMAINDERL.
41911         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
41912         declared when it exists. Set HAVE_DECL_REMAINDERL.
41913         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
41914         not HAVE_REMAINDERL.
41915         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
41916         HAVE_REMAINDERL.
41917         * doc/posix-functions/remainderl.texi: Mention missing declaration
41918         problem.
41920 2012-03-07  Bruno Haible  <bruno@clisp.org>
41922         rintf: Don't override undeclared system function on IRIX 6.5.
41923         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
41924         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
41925         exists. Set HAVE_DECL_RINTF.
41926         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
41927         HAVE_RINTF.
41928         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
41929         HAVE_RINTF.
41930         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
41932 2012-03-07  Bruno Haible  <bruno@clisp.org>
41934         roundl: Avoid compilation error on AIX.
41935         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
41936         AIX 5.2..7.1.
41938 2012-03-07  Bruno Haible  <bruno@clisp.org>
41940         roundl: Don't override undeclared system function on IRIX 6.5.
41941         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
41942         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
41943         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
41944         * modules/roundl (configure.ac): For replacement code, test
41945         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
41946         (Depends-on): Update conditions.
41947         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
41949 2012-03-07  Bruno Haible  <bruno@clisp.org>
41951         roundf: Don't override undeclared system function on IRIX 6.5.
41952         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
41953         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
41954         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
41955         * modules/roundf (configure.ac): For replacement code, test
41956         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
41957         (Depends-on): Update conditions.
41958         * modules/roundf-ieee (Depends-on): Update conditions.
41959         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
41961 2012-03-07  Bruno Haible  <bruno@clisp.org>
41963         round: Don't override undeclared system function on IRIX 6.5.
41964         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
41965         argument.
41966         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
41967         also when it is not declared. Set HAVE_ROUND. For replacement code,
41968         test HAVE_ROUND, not HAVE_DECL_ROUND.
41969         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
41970         not HAVE_DECL_ROUND.
41971         (Depends-on): Update conditions.
41972         * modules/round-ieee (Depends-on): Update conditions.
41973         * doc/posix-functions/round.texi: Mention the IRIX problem.
41975 2012-03-07  Bruno Haible  <bruno@clisp.org>
41977         copysignf: Don't override undeclared system function on IRIX 6.5.
41978         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
41979         HAVE_COPYSIGNF.
41980         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
41981         declared when it exists. Set HAVE_DECL_COPYSIGNF.
41982         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
41983         not HAVE_COPYSIGNF.
41984         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
41985         HAVE_COPYSIGNF.
41986         * doc/posix-functions/copysignf.texi: Mention missing declaration
41987         problem.
41989 2012-03-07  Jim Meyering  <meyering@redhat.com>
41991         readtokens: add tests
41992         * modules/readtokens-tests: New file.
41993         * tests/test-readtokens.c: New file.
41995 2012-03-07  Jim Meyering  <meyering@redhat.com>
41997         quotearg: the module must now include quote.h
41998         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
41999         So must the module.
42000         * modules/quotearg (Files): Add quote.h.
42002 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
42004         readtokens: avoid core dumps with unusual calling patterns
42005         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
42006         * lib/readtokens.c: Include limits.h.
42007         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
42008         (readtoken): Don't cache the delimiters; the cache code was buggy
42009         if !delim && saved_delim, or if the new n_delim differs from the old.
42010         Also, it wasn't thread-safe.
42012 2012-03-07  Bruno Haible  <bruno@clisp.org>
42014         quote: Adhere to common module description layout.
42015         * modules/quote (Makefile.am): Add back empty section.
42017 2012-03-06  Akim Demaille  <demaille@gostai.com>
42019         quote: fuse into quotearg
42020         This patch is made for the benefit of Bison.
42021         quote does not leave the choice of the quoting style to the user.
42022         quoting_style provides poor customizability, yet quoting_options,
42023         which is very rich, is hidden inside quotearg.c.  So in order to
42024         allow quote customization, move its implementation to quotearg.c.
42025         * lib/quote.c: Remove.
42026         * modules/quote: Adjust.
42027         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
42028         warning: provide all the members of literal structs.
42029         (quote_quoting_options): New.
42030         (quote, quote_n): Import implementation from quote.c.
42031         * lib/quote.h: Import the comments from quote.c.
42032         (quote_quoting_options): New.
42034 2012-03-06  Bruno Haible  <bruno@clisp.org>
42036         Tests for module 'expm1l-ieee'.
42037         * modules/expm1l-ieee-tests: New file.
42038         * tests/test-expm1l-ieee.c: New file.
42040         New module 'expm1l-ieee'.
42041         * modules/expm1l-ieee: New file.
42043         Tests for module 'expm1f-ieee'.
42044         * modules/expm1f-ieee-tests: New file.
42045         * tests/test-expm1f-ieee.c: New file.
42047         New module 'expm1f-ieee'.
42048         * modules/expm1f-ieee: New file.
42050         Tests for module 'expm1-ieee'.
42051         * modules/expm1-ieee-tests: New file.
42052         * tests/test-expm1-ieee.c: New file.
42053         * tests/test-expm1-ieee.h: New file.
42055         New module 'expm1-ieee'.
42056         * modules/expm1-ieee: New file.
42057         * m4/expm1-ieee.m4: New file.
42058         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
42059         whether expm1 works with a minus zero argument. Replace it if not.
42060         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
42061         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
42062         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
42063         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
42064         (Depends-on): Update conditions.
42065         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
42066         AIX problem.
42068 2012-03-06  Bruno Haible  <bruno@clisp.org>
42070         Work around expm1f bug on IRIX 6.5.
42071         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
42072         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
42073         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
42074         not work.
42075         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
42076         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
42077         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
42078         (Depends-on): Update conditions.
42079         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
42081 2012-03-06  Bruno Haible  <bruno@clisp.org>
42083         Tests for module 'expm1l'.
42084         * modules/expm1l-tests: New file.
42085         * tests/test-expm1l.c: New file.
42087         New module 'expm1l'.
42088         * lib/math.in.h (expm1l): New declaration.
42089         * lib/expm1l.c: New file.
42090         * m4/expm1l.m4: New file.
42091         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
42092         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
42093         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
42094         * modules/expm1l: New file.
42095         * tests/test-math-c++.cc: Check the declaration of expm1l.
42096         * doc/posix-functions/expm1l.texi: Mention the new module.
42098 2012-03-06  Bruno Haible  <bruno@clisp.org>
42100         Tests for module 'expm1f'.
42101         * modules/expm1f-tests: New file.
42102         * tests/test-expm1f.c: New file.
42104         New module 'expm1f'.
42105         * lib/math.in.h (expm1f): New declaration.
42106         * lib/expm1f.c: New file.
42107         * m4/expm1f.m4: New file.
42108         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
42109         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
42110         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
42111         * modules/expm1f: New file.
42112         * tests/test-math-c++.cc: Check the declaration of expm1f.
42113         * doc/posix-functions/expm1f.texi: Mention the new module.
42115 2012-03-06  Bruno Haible  <bruno@clisp.org>
42117         Tests for module 'expm1'.
42118         * modules/expm1-tests: New file.
42119         * tests/test-expm1.c: New file.
42120         * tests/test-expm1.h: New file.
42122         New module 'expm1'.
42123         * lib/math.in.h (expm1): New declaration.
42124         * lib/expm1.c: New file.
42125         * m4/expm1.m4: New file.
42126         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
42127         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
42128         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
42129         * modules/expm1: New file.
42130         * tests/test-math-c++.cc: Check the declaration of expm1.
42131         * doc/posix-functions/expm1.texi: Mention the new module.
42133 2012-03-06  Bruno Haible  <bruno@clisp.org>
42135         math: Ensure declarations of math functions.
42136         * modules/acosf (Depends-on): Add 'extensions'.
42137         * modules/asinf (Depends-on): Likewise.
42138         * modules/atan2f (Depends-on): Likewise.
42139         * modules/atanf (Depends-on): Likewise.
42140         * modules/cbrt (Depends-on): Likewise.
42141         * modules/cbrtf (Depends-on): Likewise.
42142         * modules/cbrtl (Depends-on): Likewise.
42143         * modules/copysignf (Depends-on): Likewise.
42144         * modules/copysignl (Depends-on): Likewise.
42145         * modules/cosf (Depends-on): Likewise.
42146         * modules/coshf (Depends-on): Likewise.
42147         * modules/expf (Depends-on): Likewise.
42148         * modules/fabsf (Depends-on): Likewise.
42149         * modules/fabsl (Depends-on): Likewise.
42150         * modules/fmaf (Depends-on): Likewise.
42151         * modules/fmal (Depends-on): Likewise.
42152         * modules/fmodf (Depends-on): Likewise.
42153         * modules/fmodl (Depends-on): Likewise.
42154         * modules/frexpf (Depends-on): Likewise.
42155         * modules/frexpl (Depends-on): Likewise.
42156         * modules/hypot (Depends-on): Likewise.
42157         * modules/hypotf (Depends-on): Likewise.
42158         * modules/hypotl (Depends-on): Likewise.
42159         * modules/ldexpf (Depends-on): Likewise.
42160         * modules/ldexpl (Depends-on): Likewise.
42161         * modules/log10f (Depends-on): Likewise.
42162         * modules/log10l (Depends-on): Likewise.
42163         * modules/log1p (Depends-on): Likewise.
42164         * modules/logb (Depends-on): Likewise.
42165         * modules/logf (Depends-on): Likewise.
42166         * modules/modff (Depends-on): Likewise.
42167         * modules/modfl (Depends-on): Likewise.
42168         * modules/powf (Depends-on): Likewise.
42169         * modules/remainderf (Depends-on): Likewise.
42170         * modules/remainderl (Depends-on): Likewise.
42171         * modules/rintf (Depends-on): Likewise.
42172         * modules/rintl (Depends-on): Likewise.
42173         * modules/sinf (Depends-on): Likewise.
42174         * modules/sinhf (Depends-on): Likewise.
42175         * modules/sqrtf (Depends-on): Likewise.
42176         * modules/tanf (Depends-on): Likewise.
42177         * modules/tanhf (Depends-on): Likewise.
42178         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
42179         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
42180         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
42181         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
42182         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
42183         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
42184         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
42185         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
42186         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
42187         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
42188         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
42189         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
42190         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
42191         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
42192         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
42193         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
42194         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
42195         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
42196         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
42197         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
42198         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
42199         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
42200         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
42201         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
42202         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
42203         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
42204         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
42205         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
42206         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
42207         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
42208         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
42209         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
42210         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
42211         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
42212         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
42213         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
42214         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
42215         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
42216         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
42217         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
42218         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
42220 2012-03-06  Bruno Haible  <bruno@clisp.org>
42222         math: Update module names in warnings.
42223         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
42224         tanl): Use specific module name in warn-on-use warning.
42226 2012-03-06  Bruno Haible  <bruno@clisp.org>
42228         expl: Simplify computation.
42229         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
42231 2012-03-05  Bruno Haible  <bruno@clisp.org>
42233         exp* tests: More tests.
42234         * tests/test-exp.h: New file.
42235         * tests/test-exp.c: Include <float.h> and test-exp.h.
42236         (main): Invoke test_function.
42237         * tests/test-expf.c: Include <float.h> and test-exp.h.
42238         (main): Invoke test_function.
42239         * tests/test-expl.c: Include <float.h> and test-exp.h.
42240         (main): Invoke test_function.
42241         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
42242         (Makefile.am): Add randomd.c to test_exp_SOURCES.
42243         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
42244         (Makefile.am): Add randomf.c to test_expf_SOURCES.
42245         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
42246         (Depends-on): Add 'float'.
42247         (Makefile.am): Add randoml.c to test_expl_SOURCES.
42249         expl: Fix precision of computed result.
42250         * lib/expl.c: Completely rewritten.
42251         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
42252         (Maintainer): Add me.
42253         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
42255 2012-03-05  Bruno Haible  <bruno@clisp.org>
42257         cbrt* tests: More tests.
42258         * tests/test-cbrt.h: New file.
42259         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
42260         (main): Invoke test_function.
42261         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
42262         (main): Invoke test_function.
42263         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
42264         (main): Invoke test_function.
42265         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
42266         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
42267         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
42268         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
42269         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
42270         (Depends-on): Add 'float'.
42271         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
42273 2012-03-05  Bruno Haible  <bruno@clisp.org>
42275         hypot* tests: More tests.
42276         * tests/test-hypot.h: New file, partially extracted from
42277         tests/test-hypotl.c.
42278         * tests/test-hypot.c: Include test-hypot.h.
42279         (main): Invoke test_function.
42280         * tests/test-hypotf.c: Include test-hypot.h.
42281         (main): Invoke test_function.
42282         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
42283         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
42284         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
42285         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
42286         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
42287         tests/randomf.c.
42288         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
42289         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
42290         tests/randoml.c.
42291         (Depends-on): Add 'fpucw', 'float'.
42292         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
42294 2012-03-05  Bruno Haible  <bruno@clisp.org>
42296         fpucw: Doc about FreeBSD.
42297         * lib/fpucw.h: Mention FreeBSD in comments.
42299 2012-03-04  Bruno Haible  <bruno@clisp.org>
42301         sqrt* tests: More tests.
42302         * tests/test-sqrt.h: New file.
42303         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
42304         (main): Invoke test_function.
42305         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
42306         (main): Invoke test_function.
42307         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
42308         (main): Invoke test_function.
42309         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
42310         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
42311         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
42312         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
42313         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
42314         (Depends-on): Add 'float'.
42315         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
42317 2012-03-04  Bruno Haible  <bruno@clisp.org>
42319         remainder* tests: More tests.
42320         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
42321         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
42322         (main): Invoke test_function.
42323         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
42324         (main): Invoke test_function.
42325         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
42326         (main): Invoke test_function.
42327         * modules/remainder-tests (Files): Add tests/test-remainder.h,
42328         tests/randomd.c.
42329         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
42330         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
42331         tests/randomf.c.
42332         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
42333         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
42334         tests/randoml.c.
42335         (Depends-on): Add 'float'.
42336         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
42338 2012-03-04  Bruno Haible  <bruno@clisp.org>
42340         remainder, remainderf, remainderl: Fix computation for large quotients.
42341         * lib/remainder.c: Completely rewritten.
42342         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
42343         USE_FLOAT.
42344         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
42345         USE_LONG_DOUBLE.
42346         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
42347         isnand, isinf. Remove round, fma.
42348         * modules/remainderf (Files): Add lib/remainder.c.
42349         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
42350         Remove roundf, fmaf.
42351         * modules/remainderl (Files): Add lib/remainder.c.
42352         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
42353         isinf. Remove roundl, fmal.
42354         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
42355         REMAINDER_LIBM.
42356         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
42357         REMAINDERF_LIBM.
42358         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
42359         REMAINDERL_LIBM.
42361 2012-03-04  Bruno Haible  <bruno@clisp.org>
42363         fmod* tests: More tests.
42364         * tests/test-fmod.h (my_ldexp): New function.
42365         (test_function): Reduce amount of random numbers to test. Add tests
42366         of very large quotients x / y.
42367         * tests/test-fmod.c (MAX_EXP): New macro.
42368         * tests/test-fmodf.c (MAX_EXP): Likewise.
42369         * tests/test-fmodl.c (MAX_EXP): Likewise.
42371 2012-03-04  Bruno Haible  <bruno@clisp.org>
42373         fmod, fmodl: Fix computation for large quotients x / y.
42374         * lib/fmod.c: Completely rewritten.
42375         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
42376         USE_LONG_DOUBLE.
42377         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
42378         isnand. Remove fma.
42379         * modules/fmodl (Files): Add lib/fmod.c.
42380         (Depends-on): Add float, isfinite, signbit, fabsl,
42381         frexpl, ldexpl, isnanl. Remove fma.
42382         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
42383         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
42385 2012-03-03  Bruno Haible  <bruno@clisp.org>
42387         fmod* tests: More tests.
42388         * tests/test-fmod.h: New file.
42389         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
42390         (main): Invoke test_function.
42391         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
42392         (main): Invoke test_function.
42393         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
42394         (main): Invoke test_function.
42395         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
42396         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
42397         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
42398         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
42399         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
42400         (Depends-on): Add 'float'.
42401         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
42403 2012-03-03  Bruno Haible  <bruno@clisp.org>
42405         rint* tests: More tests.
42406         * tests/test-rint.h: New file, partially extracted from
42407         tests/test-rintl.c.
42408         * tests/test-rint.c: Include test-rint.h.
42409         (main): Invoke test_function.
42410         * tests/test-rintf.c: Include test-rint.h.
42411         (main): Invoke test_function.
42412         * tests/test-rintl.c: Include test-rint.h.
42413         (main): Invoke test_function.
42414         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
42415         (Makefile.am): Add randomd.c to test_rint_SOURCES.
42416         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
42417         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
42418         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
42419         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
42421 2012-03-03  Bruno Haible  <bruno@clisp.org>
42423         modf* tests: More tests.
42424         * tests/test-modf.h: New file.
42425         * tests/test-modf.c: Include <float.h> and test-modf.h.
42426         (main): Invoke test_function.
42427         * tests/test-modff.c: Include <float.h> and test-modf.h.
42428         (main): Invoke test_function.
42429         * tests/test-modfl.c: Include <float.h> and test-modf.h.
42430         (main): Invoke test_function.
42431         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
42432         (Makefile.am): Add randomd.c to test_modf_SOURCES.
42433         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
42434         (Makefile.am): Add randomf.c to test_modff_SOURCES.
42435         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
42436         (Depends-on): Add 'float'.
42437         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
42439 2012-03-03  Bruno Haible  <bruno@clisp.org>
42441         fabs* tests: More tests.
42442         * tests/test-fabs.h: New file, partially extracted from
42443         tests/test-fabsl.c.
42444         * tests/test-fabs.c (RANDOM): New macro.
42445         * tests/test-fabsf.c (RANDOM): New macro.
42446         * tests/test-fabsl.c (RANDOM): New macro.
42447         * modules/fabs-tests (Files): Add tests/randomd.c.
42448         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
42449         * modules/fabsf-tests (Files): Add tests/randomf.c.
42450         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
42451         * modules/fabsl-tests (Files): Add tests/randoml.c.
42452         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
42454 2012-03-03  Bruno Haible  <bruno@clisp.org>
42456         ldexp* tests: More tests.
42457         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
42458         * tests/test-ldexp.c (RANDOM): New macro.
42459         * tests/test-ldexpf.c (RANDOM): New macro.
42460         * tests/test-ldexpl.c (RANDOM): New macro.
42461         * modules/ldexp-tests (Files): Add tests/randomd.c.
42462         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
42463         * modules/ldexpf-tests (Files): Add tests/randomf.c.
42464         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
42465         * modules/ldexpl-tests (Files): Add tests/randoml.c.
42466         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
42468 2012-03-03  Bruno Haible  <bruno@clisp.org>
42470         frexp* tests: More tests.
42471         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
42472         * tests/test-frexp.c (RANDOM): New macro.
42473         * tests/test-frexpf.c (RANDOM): New macro.
42474         * tests/test-frexpl.c (RANDOM): New macro.
42475         * modules/frexp-tests (Files): Add tests/randomd.c.
42476         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
42477         * modules/frexpf-tests (Files): Add tests/randomf.c.
42478         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
42479         * modules/frexpl-tests (Files): Add tests/randoml.c.
42480         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
42482 2012-03-03  Bruno Haible  <bruno@clisp.org>
42484         Support for pseudo-random numbers in tests.
42485         * tests/randomf.c: New file.
42486         * tests/randomd.c: New file.
42487         * tests/randoml.c: New file.
42488         * tests/macros.h (randomf, randomd, randoml): New declarations.
42490 2012-03-03  Bruno Haible  <bruno@clisp.org>
42492         frexp* tests: Refactor.
42493         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
42494         * tests/test-frexp.c: Include and use it.
42495         * tests/test-frexpf.c: Likewise.
42496         * tests/test-frexpl.c: Likewise.
42497         * modules/frexp-tests (Files): Add tests/test-frexp.h.
42498         * modules/frexpf-tests (Files): Likewise.
42499         * modules/frexpl-tests (Files): Likewise.
42501 2012-03-02  Jim Meyering  <meyering@redhat.com>
42503         maint: don't specify XZ_OPT=-9ev in dist-related rule
42504         Using xz's -9 option is warranted only if you have a very large
42505         tarball (see xz's documentation for the sizes vs. presets), and
42506         requires 64MiB of memory at decompression time.
42507         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
42508         Automake's default of just "-e" is fine.  Override on a
42509         per-package basis by setting XZ_OPT e.g., in cfg.mk.
42511 2012-03-01  Eric Blake  <eblake@redhat.com>
42513         maint.mk: allow announcement for non-gnulib project
42514         * maint.mk (announcement): Skip gnulib version if not used.
42516 2012-03-01  Jim Meyering  <meyering@redhat.com>
42518         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
42519         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
42520         envvar settings cannot interfere.  Otherwise, setting envvars like
42521         prohibit=foo require=bar, etc. would cause spurious test failures.
42523 2012-03-01  Eric Blake  <eblake@redhat.com>
42525         maint.mk: add per-line exclusions to prohibitions
42526         * maint.mk (_sc_search_regexp): Add $exclude parameter.
42527         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
42528         (sc_const_long_option): Use it.
42530 2012-03-01  Bruno Haible  <bruno@clisp.org>
42532         Tests for module 'expl-ieee'.
42533         * modules/expl-ieee-tests: New file.
42534         * tests/test-expl-ieee.c: New file.
42536         New module 'expl-ieee'.
42537         * modules/expl-ieee: New file.
42539         Tests for module 'exp-ieee'.
42540         * modules/exp-ieee-tests: New file.
42541         * tests/test-exp-ieee.c: New file.
42543         New module 'exp-ieee'.
42544         * modules/exp-ieee: New file.
42546         Tests for module 'expf-ieee'.
42547         * modules/expf-ieee-tests: New file.
42548         * tests/test-expf-ieee.c: New file.
42549         * tests/test-exp-ieee.h: New file.
42551         New module 'expf-ieee'.
42552         * modules/expf-ieee: New file.
42554 2012-02-29  Bruno Haible  <bruno@clisp.org>
42556         cbrtl-ieee: Work around test failure on IRIX 6.5.
42557         * m4/cbrtl-ieee.m4: New file.
42558         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
42559         test whether cbrtl works with a minus zero argument. Replace it if not.
42560         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
42561         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
42562         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
42563         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
42564         (Depends-on): Update conditions.
42565         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
42566         m4/signbit.m4.
42567         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
42568         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
42569         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
42571         Tests for module 'cbrtl-ieee'.
42572         * modules/cbrtl-ieee-tests: New file.
42573         * tests/test-cbrtl-ieee.c: New file.
42575         New module 'cbrtl-ieee'.
42576         * modules/cbrtl-ieee: New file.
42578         Tests for module 'cbrt-ieee'.
42579         * modules/cbrt-ieee-tests: New file.
42580         * tests/test-cbrt-ieee.c: New file.
42582         New module 'cbrt-ieee'.
42583         * modules/cbrt-ieee: New file.
42585         Tests for module 'cbrtf-ieee'.
42586         * modules/cbrtf-ieee-tests: New file.
42587         * tests/test-cbrtf-ieee.c: New file.
42588         * tests/test-cbrt-ieee.h: New file.
42590         New module 'cbrtf-ieee'.
42591         * modules/cbrtf-ieee: New file.
42593 2012-02-29  Bruno Haible  <bruno@clisp.org>
42595         cbrtf: Work around bug in IRIX 6.5 system function.
42596         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
42597         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
42598         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
42599         work.
42600         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
42601         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
42602         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
42603         (Depends-on): Update conditions.
42604         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
42606 2012-02-29  Bruno Haible  <bruno@clisp.org>
42608         Tests for module 'cbrtl'.
42609         * modules/cbrtl-tests: New file.
42610         * tests/test-cbrtl.c: New file.
42612         New module 'cbrtl'.
42613         * lib/math.in.h (cbrtl): New declaration.
42614         * lib/cbrtl.c: New file.
42615         * m4/cbrtl.m4: New file.
42616         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
42617         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
42618         HAVE_DECL_CBRTL.
42619         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
42620         HAVE_DECL_CBRTL.
42621         * modules/cbrtl: New file.
42622         * tests/test-math-c++.cc: Check the declaration of cbrtl.
42623         * doc/posix-functions/cbrtl.texi: Mention the new module.
42625 2012-02-29  Bruno Haible  <bruno@clisp.org>
42627         Tests for module 'cbrtf'.
42628         * modules/cbrtf-tests: New file.
42629         * tests/test-cbrtf.c: New file.
42631         New module 'cbrtf'.
42632         * lib/math.in.h (cbrtf): New declaration.
42633         * lib/cbrtf.c: New file.
42634         * m4/cbrtf.m4: New file.
42635         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
42636         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
42637         HAVE_DECL_CBRTF.
42638         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
42639         HAVE_DECL_CBRTF.
42640         * modules/cbrtf: New file.
42641         * tests/test-math-c++.cc: Check the declaration of cbrtf.
42642         * doc/posix-functions/cbrtf.texi: Mention the new module.
42644 2012-02-29  Bruno Haible  <bruno@clisp.org>
42646         cbrt: Provide replacement on MSVC and Minix.
42647         * lib/math.in.h (cbrt): New declaration.
42648         * lib/cbrt.c: New file.
42649         * m4/cbrt.m4: New file.
42650         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
42651         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
42652         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
42653         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
42654         (Depends-on): Add dependencies.
42655         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
42656         * tests/test-math-c++.cc: Check the declaration of cbrt.
42657         * doc/posix-functions/cbrt.texi: Mention that the module provides a
42658         replacement.
42660 2012-02-29  Bruno Haible  <bruno@clisp.org>
42662         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
42663         * m4/hypotl-ieee.m4: New file.
42664         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
42665         test whether hypotl works with mixed NaN and Infinity arguments.
42666         Replace it if not.
42667         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
42668         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
42669         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
42670         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
42671         (Depends-on): Update conditions.
42672         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
42673         (Depends-on): Add hypot-ieee.
42674         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
42675         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
42677         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
42678         * m4/hypotf-ieee.m4: New file.
42679         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
42680         test whether hypotf works with mixed NaN and Infinity arguments.
42681         Replace it if not.
42682         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
42683         (Depends-on): Add hypot-ieee.
42684         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
42685         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
42687         hypot-ieee: Work around test failure on OSF/1 and native Windows.
42688         * lib/math.in.h (hypot): New declaration.
42689         * lib/hypot.c: New file.
42690         * m4/hypot-ieee.m4: New file.
42691         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
42692         whether hypot works with mixed NaN and Infinity arguments. Replace it
42693         if not.
42694         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
42695         REPLACE_HYPOT.
42696         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
42697         * modules/hypot (Files): Add lib/hypot.c.
42698         (Depends-on): Add dependencies.
42699         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
42700         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
42701         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
42702         * tests/test-math-c++.cc: Check the declaration of hypot.
42703         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
42705         Tests for module 'hypotl-ieee'.
42706         * modules/hypotl-ieee-tests: New file.
42707         * tests/test-hypotl-ieee.c: New file.
42709         New module 'hypotl-ieee'.
42710         * modules/hypotl-ieee: New file.
42712         Tests for module 'hypot-ieee'.
42713         * modules/hypot-ieee-tests: New file.
42714         * tests/test-hypot-ieee.c: New file.
42716         New module 'hypot-ieee'.
42717         * modules/hypot-ieee: New file.
42719         Tests for module 'hypotf-ieee'.
42720         * modules/hypotf-ieee-tests: New file.
42721         * tests/test-hypotf-ieee.c: New file.
42722         * tests/test-hypot-ieee.h: New file.
42724         New module 'hypotf-ieee'.
42725         * modules/hypotf-ieee: New file.
42727 2012-02-29  Bruno Haible  <bruno@clisp.org>
42729         Remove unused variables.
42730         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
42731         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
42732         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
42733         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
42735 2012-02-29  Eric Blake  <eblake@redhat.com>
42737         termios: fix pid_t always, not just for tcgetsid
42738         * doc/posix-headers/termios.texi (termios.h): Mention problem.
42739         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
42740         just when building tcgetsid.
42742 2012-02-29  Bruno Haible  <bruno@clisp.org>
42744         Tests for module 'hypotl'.
42745         * modules/hypotl-tests: New file.
42746         * tests/test-hypotl.c: New file.
42748         New module 'hypotl'.
42749         * lib/math.in.h (hypotl): New declaration.
42750         * lib/hypotl.c: New file.
42751         * m4/hypotl.m4: New file.
42752         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
42753         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
42754         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
42755         * modules/hypotl: New file.
42756         * tests/test-math-c++.cc: Check the hypotl declaration.
42757         * doc/posix-functions/hypotl.texi: Mention the new module.
42759 2012-02-29  Eric Blake  <eblake@redhat.com>
42761         tcgetsid: fix cygwin header bug
42762         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
42764         docs: update cygwin progress
42765         * doc/posix-functions/llround.texi (llround): Added in cygwin
42766         1.7.8.
42767         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
42768         * doc/glibc-functions/program_invocation_name.texi
42769         (program_invocation_name): Likewise.
42770         * doc/glibc-functions/program_invocation_short_name.texi
42771         (program_invocation_short_name): Likewise.
42772         * doc/glibc-functions/madvise.texi (madvise): Likewise.
42773         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
42774         Likewise.
42775         * doc/posix-functions/pthread_spin_destroy.texi
42776         (pthread_spin_destroy): Added in cygwin 1.7.10.
42777         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
42778         Likewise.
42779         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
42780         Likewise.
42781         * doc/posix-functions/pthread_spin_trylock.texi
42782         (pthread_spin_trylock): Likewise.
42783         * doc/posix-functions/pthread_spin_unlock.texi
42784         (pthread_spin_unlock): Likewise.
42785         * doc/posix-functions/pthread_setschedprio.texi
42786         (pthread_setschedprio): Likewise.
42787         * doc/posix-functions/pthread_attr_getstack.texi
42788         (pthread_attr_getstack): Likewise.
42789         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
42790         (pthread_attr_getstackaddr): Likewise.
42791         * doc/glibc-functions/pthread_getattr_np.texi
42792         (pthread_getattr_np): Likewise.
42793         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
42794         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
42795         * doc/posix-functions/clock_settime.texi (clock_settime):
42796         Likewise.
42797         * doc/posix-functions/pthread_attr_getguardsize.texi
42798         (pthread_attr_getguardsize): Likewise.
42799         * doc/posix-functions/pthread_attr_setguardsize.texi
42800         (pthread_attr_setguardsize): Likewise.
42801         * doc/posix-functions/pthread_attr_setstack.texi
42802         (pthread_attr_setstack): Likewise.
42803         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
42804         (pthread_attr_setstackaddr): Likewise.
42805         * doc/posix-functions/clock_getcpuclockid.texi
42806         (clock_getcpuclockid): Likewise.
42807         * doc/posix-functions/pthread_getcpuclockid.texi
42808         (pthread_getcpuclockid): Likewise.
42809         * doc/glibc-functions/error.texi (error): Likewise.
42810         * doc/glibc-functions/error_at_line.texi (error_at_line):
42811         Likewise.
42812         * doc/glibc-functions/error_message_count.texi
42813         (error_message_count): Likewise.
42814         * doc/glibc-functions/error_one_per_line.texi
42815         (error_one_per_line): Likewise.
42816         * doc/glibc-functions/error_print_progname.texi
42817         (error_print_progname): Likewise.
42818         * doc/posix-functions/pthread_condattr_getclock.texi
42819         (pthread_condattr_getclock): Likewise.
42820         * doc/posix-functions/pthread_condattr_setclock.texi
42821         (pthread_condattr_setclock): Likewise.
42822         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
42823         Likewise.
42824         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
42825         * doc/glibc-functions/getpt.texi (getpt): Likewise.
42826         * doc/glibc-functions/get_current_dir_name.texi
42827         (get_current_dir_name): Likewise.
42828         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
42829         Likewise.
42830         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
42831         wrong return type.
42832         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
42833         1.7.11.
42835 2012-02-29  Bruno Haible  <bruno@clisp.org>
42837         Tests for module 'hypotf'.
42838         * modules/hypotf-tests: New file.
42839         * tests/test-hypotf.c: New file.
42841         New module 'hypotf'.
42842         * lib/math.in.h (hypotf): New declaration.
42843         * lib/hypotf.c: New file.
42844         * m4/hypotf.m4: New file.
42845         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
42846         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
42847         REPLACE_HYPOTF.
42848         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
42849         REPLACE_HYPOTF.
42850         * modules/hypotf: New file.
42851         * tests/test-math-c++.cc: Check the hypotf declaration.
42852         * doc/posix-functions/hypotf.texi: Mention the new module.
42854         hypot: Prepare for hypotf module.
42855         * m4/hypot.m4: New file.
42856         * modules/hypot (Files): Add m4/hypot.m4.
42857         (configure.ac): Invoke gl_FUNC_HYPOT.
42859 2012-02-29  Bruno Haible  <bruno@clisp.org>
42861         hypot tests: More tests.
42862         * tests/test-hypot.c: Include <float.h>.
42863         (main): Add tests about overflow and underflow.
42865 2012-02-29  Bruno Haible  <bruno@clisp.org>
42867         math code: Add comments.
42868         * lib/acosl.c: Add comment about related glibc source files.
42869         * lib/asinl.c: Likewise.
42870         * lib/atanl.c: Likewise.
42871         * lib/expl.c: Likewise.
42872         * lib/logl.c: Likewise.
42873         * lib/sincosl.c: Likewise.
42874         * lib/sinl.c: Likewise.
42875         * lib/tanl.c: Likewise.
42876         * lib/trigl.c: Likewise.
42877         * lib/cosl.c: Likewise. Fix comments.
42879 2012-02-28  Bruno Haible  <bruno@clisp.org>
42881         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
42882         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
42883         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
42884         HUGE_VALL are defined.
42885         (numeric_equald): Renamed from numeric_equal.
42886         (numeric_equalf, numeric_equall): New functions.
42887         (main): Check also HUGE_VALF, HUGE_VALL.
42888         * modules/math-tests (Files): Add tests/macros.h.
42889         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
42890         HUGE_VALL.
42892 2012-02-28  Bruno Haible  <bruno@clisp.org>
42894         doc: Move ISO C11 feature notes into POSIX chapters.
42895         * doc/posix-functions/aligned_alloc.texi: Renamed from
42896         doc/glibc-functions/aligned_alloc.texi.
42897         * doc/posix-functions/quick_exit.texi: Renamed from
42898         doc/glibc-functions/quick_exit.texi.
42899         * doc/posix-headers/uchar.texi: Renamed from
42900         doc/glibc-headers/uchar.texi.
42901         * doc/posix-functions/c16rtomb.texi: Renamed from
42902         doc/glibc-functions/c16rtomb.texi.
42903         * doc/posix-functions/c32rtomb.texi: Renamed from
42904         doc/glibc-functions/c32rtomb.texi.
42905         * doc/posix-functions/mbrtoc16.texi: Renamed from
42906         doc/glibc-functions/mbrtoc16.texi.
42907         * doc/posix-functions/mbrtoc32.texi: Renamed from
42908         doc/glibc-functions/mbrtoc32.texi.
42909         * doc/gnulib.texi: Update.
42910         (Glibc uchar.h): Remove section.
42911         Suggested by Eric Blake.
42913 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
42915         stdnoreturn: port to MSVC better
42916         MSVC standard headers use __declspec(noreturn), so #define noreturn
42917         to empty on that platform.  Reported by Bruno Haible in
42918         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
42919         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
42920         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
42922 2012-02-28  Bruno Haible  <bruno@clisp.org>
42924         doc: Mention new glibc headers and functions.
42925         * doc/glibc-headers/uchar.texi: New file.
42926         * doc/glibc-functions/aligned_alloc.texi: New file.
42927         * doc/glibc-functions/c16rtomb.texi: New file.
42928         * doc/glibc-functions/c32rtomb.texi: New file.
42929         * doc/glibc-functions/clock_adjtime.texi: New file.
42930         * doc/glibc-functions/fanotify_init.texi: New file.
42931         * doc/glibc-functions/fanotify_mark.texi: New file.
42932         * doc/glibc-functions/inet6_opt_append.texi: New file.
42933         * doc/glibc-functions/inet6_opt_find.texi: New file.
42934         * doc/glibc-functions/inet6_opt_finish.texi: New file.
42935         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
42936         * doc/glibc-functions/inet6_opt_init.texi: New file.
42937         * doc/glibc-functions/inet6_opt_next.texi: New file.
42938         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
42939         * doc/glibc-functions/inet6_rth_add.texi: New file.
42940         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
42941         * doc/glibc-functions/inet6_rth_init.texi: New file.
42942         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
42943         * doc/glibc-functions/inet6_rth_segments.texi: New file.
42944         * doc/glibc-functions/inet6_rth_space.texi: New file.
42945         * doc/glibc-functions/login.texi: New file.
42946         * doc/glibc-functions/mbrtoc16.texi: New file.
42947         * doc/glibc-functions/mbrtoc32.texi: New file.
42948         * doc/glibc-functions/name_to_handle_at.texi: New file.
42949         * doc/glibc-functions/ntp_gettimex.texi: New file.
42950         * doc/glibc-functions/open_by_handle_at.texi: New file.
42951         * doc/glibc-functions/prlimit.texi: New file.
42952         * doc/glibc-functions/process_vm_readv.texi: New file.
42953         * doc/glibc-functions/process_vm_writev.texi: New file.
42954         * doc/glibc-functions/recvmmsg.texi: New file.
42955         * doc/glibc-functions/scandirat.texi: New file.
42956         * doc/glibc-functions/sendmmsg.texi: New file.
42957         * doc/glibc-functions/setns.texi: New file.
42958         * doc/glibc-functions/timespec_get.texi: New file.
42959         * doc/gnulib.texi: Include them.
42960         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
42961         sections.
42962         Reported by Eric Blake.
42964 2012-02-28  Bruno Haible  <bruno@clisp.org>
42966         Avoid compilation errors with MSVC option -fp:strict.
42967         * lib/floor.c: Use MSVC specific pragma fenv_access.
42968         * lib/ceil.c: Likewise.
42969         * lib/trunc.c: Likewise.
42970         * lib/round.c: Likewise.
42971         * lib/rint.c: Likewise.
42972         * lib/fma.c: Likewise.
42973         * lib/integer_length.c: Likewise.
42974         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
42975         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
42976         * tests/test-floor2.c: Likewise.
42977         * tests/test-floorf2.c: Likewise.
42978         * tests/test-ceil2.c: Likewise.
42979         * tests/test-ceilf2.c: Likewise.
42980         * tests/test-trunc2.c: Likewise.
42981         * tests/test-truncf2.c: Likewise.
42982         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
42984 2012-02-27  Bruno Haible  <bruno@clisp.org>
42986         Tests for module 'sqrtl-ieee'.
42987         * modules/sqrtl-ieee-tests: New file.
42988         * tests/test-sqrtl-ieee.c: New file.
42990         New module 'sqrtl-ieee'.
42991         * modules/sqrtl-ieee: New file.
42993         Tests for module 'sqrt-ieee'.
42994         * modules/sqrt-ieee-tests: New file.
42995         * tests/test-sqrt-ieee.c: New file.
42997         New module 'sqrt-ieee'.
42998         * modules/sqrt-ieee: New file.
43000         Tests for module 'sqrtf-ieee'.
43001         * modules/sqrtf-ieee-tests: New file.
43002         * tests/test-sqrtf-ieee.c: New file.
43003         * tests/test-sqrt-ieee.h: New file.
43005         New module 'sqrtf-ieee'.
43006         * modules/sqrtf-ieee: New file.
43008 2012-02-27  Bruno Haible  <bruno@clisp.org>
43010         remainderl-ieee: Work around test failure on OSF/1.
43011         * m4/remainderl-ieee.m4: New file.
43012         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
43013         present, test whether remainderl works with a zero second argument.
43014         Replace it if not.
43015         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
43016         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
43017         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
43018         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
43019         (Depends-on): Update conditions.
43020         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
43021         (Depends-on): Add remainder-ieee.
43022         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
43023         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
43024         module.
43026         remainderf-ieee: Work around test failure on OSF/1.
43027         * m4/remainderf-ieee.m4: New file.
43028         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
43029         present, test whether remainderf works with a zero second argument.
43030         Replace it if not.
43031         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
43032         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
43033         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
43034         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
43035         (Depends-on): Update conditions.
43036         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
43037         (Depends-on): Add remainder-ieee.
43038         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
43039         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
43040         module.
43042         remainder-ieee: Work around test failure on OSF/1.
43043         * m4/remainder-ieee.m4: New file.
43044         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
43045         present, test whether remainder works with a zero second argument.
43046         Replace it if not.
43047         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
43048         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
43049         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
43050         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
43051         (Depends-on): Update dependencies.
43052         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
43053         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
43054         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
43056         Tests for module 'remainderl-ieee'.
43057         * modules/remainderl-ieee-tests: New file.
43058         * tests/test-remainderl-ieee.c: New file.
43060         New module 'remainderl-ieee'.
43061         * modules/remainderl-ieee: New file.
43063         Tests for module 'remainder-ieee'.
43064         * modules/remainder-ieee-tests: New file.
43065         * tests/test-remainder-ieee.c: New file.
43067         New module 'remainder-ieee'.
43068         * modules/remainder-ieee: New file.
43070         Tests for module 'remainderf-ieee'.
43071         * modules/remainderf-ieee-tests: New file.
43072         * tests/test-remainderf-ieee.c: New file.
43073         * tests/test-remainder-ieee.h: New file.
43075         New module 'remainderf-ieee'.
43076         * modules/remainderf-ieee: New file.
43078 2012-02-27  Bruno Haible  <bruno@clisp.org>
43080         modff, modfl: Fix configure syntax error.
43081         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
43082         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
43084 2012-02-27  Bruno Haible  <bruno@clisp.org>
43086         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
43087         * m4/fmodl-ieee.m4: New file.
43088         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
43089         whether fmodl works with zero arguments. Replace it if not.
43090         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
43091         (Depends-on): Add fmod-ieee.
43092         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
43093         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
43095         fmodf-ieee: Work around test failure on OSF/1.
43096         * m4/fmodf-ieee.m4: New file.
43097         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
43098         whether fmodf works with zero arguments. Replace it if not.
43099         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
43100         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
43101         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
43102         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
43103         (Depends-on): Update dependencies.
43104         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
43105         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
43106         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
43108         fmodf-ieee: Work around test failure on MSVC 9.
43109         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
43110         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
43112         fmod-ieee: Work around test failures on OSF/1, mingw.
43113         * m4/fmod-ieee.m4: New file.
43114         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
43115         whether fmod works with zero arguments. Replace it if not.
43116         * lib/math.in.h (fmod): New declaration.
43117         * lib/fmod.c: New file.
43118         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
43119         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
43120         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
43121         * modules/fmod (Files): Add lib/fmod.c.
43122         (Depends-on): Add math, isinf, trunc, fma.
43123         (configure.ac): Arrange to compile lib/fmod.c if needed.
43124         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
43125         m4/signbit.m4.
43126         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
43127         * tests/test-math-c++.cc: Check the declaration of fmod.
43128         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
43130         fmodl-ieee: Fix test failures.
43131         * lib/fmodl.c (fmodl): Treat Inf specially.
43132         * modules/fmodl (Depends-on): Add isinf.
43134         Tests for module 'fmodl-ieee'.
43135         * modules/fmodl-ieee-tests: New file.
43136         * tests/test-fmodl-ieee.c: New file.
43138         New module 'fmodl-ieee'.
43139         * modules/fmodl-ieee: New file.
43141         Tests for module 'fmod-ieee'.
43142         * modules/fmod-ieee-tests: New file.
43143         * tests/test-fmod-ieee.c: New file.
43145         New module 'fmod-ieee'.
43146         * modules/fmod-ieee: New file.
43148         Tests for module 'fmodf-ieee'.
43149         * modules/fmodf-ieee-tests: New file.
43150         * tests/test-fmodf-ieee.c: New file.
43151         * tests/test-fmod-ieee.h: New file.
43153         New module 'fmodf-ieee'.
43154         * modules/fmodf-ieee: New file.
43156 2012-02-27  Bruno Haible  <bruno@clisp.org>
43158         Tests for module 'rintl-ieee'.
43159         * modules/rintl-ieee-tests: New file.
43160         * tests/test-rintl-ieee.c: New file.
43162         New module 'rintl-ieee'.
43163         * modules/rintl-ieee: New file.
43165         Tests for module 'rint-ieee'.
43166         * modules/rint-ieee-tests: New file.
43167         * tests/test-rint-ieee.c: New file.
43169         New module 'rint-ieee'.
43170         * modules/rint-ieee: New file.
43172         Tests for module 'rintf-ieee'.
43173         * modules/rintf-ieee-tests: New file.
43174         * tests/test-rintf-ieee.c: New file.
43175         * tests/test-rint-ieee.h: New file.
43177         New module 'rintf-ieee'.
43178         * modules/rintf-ieee: New file.
43180 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
43182         regex: re_search etc. should return -2 when memory exhausted
43183         This bug was uncovered when testing 'grep'.  Without the fix,
43184         re_search and friends return -1 when memory is exhausted, but -1
43185         means no match, and this causes grep to falsely report no-match
43186         instead of memory-exhaustion.  See
43187         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
43188         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
43189         trouble; this can occur if re_search_internal ran out of memory.
43191 2012-02-26  Bruno Haible  <bruno@clisp.org>
43193         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
43194         * m4/modfl-ieee.m4: New file.
43195         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
43196         whether modfl works with Inf. Replace it if not.
43197         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
43198         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
43199         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
43200         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
43201         (Depends-on): Update dependencies.
43202         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
43203         m4/signbit.m4.
43204         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
43205         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
43207         modfl-ieee: Fix dependencies.
43208         * modules/modfl-ieee (Depends-on): Add modf-ieee.
43210         modfl-ieee: Fix test failures.
43211         * lib/modfl.c (modfl): Treat NaN and Inf specially.
43212         * modules/modfl (Depends-on): Add isfinite, isinf.
43214         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
43215         * m4/modff-ieee.m4: New file.
43216         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
43217         whether modff works with NaN and Inf. Replace it if not.
43218         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
43219         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
43220         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
43221         * modules/modff (configure.ac): Consider REPLACE_MODFF.
43222         (Depends-on): Update dependencies.
43223         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
43224         m4/signbit.m4.
43225         (Depends-on): Add modf-ieee.
43226         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
43227         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
43229         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
43230         * m4/modf-ieee.m4: New file.
43231         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
43232         whether modf works with NaN and Inf. Replace it if not.
43233         * lib/math.in.h (modf): New declaration.
43234         * lib/modf.c: New file.
43235         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
43236         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
43237         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
43238         * modules/modf (Files): Add lib/modf.c.
43239         (Depends-on): Add math, isfinite, trunc, isinf.
43240         (configure.ac): Addrange to compile lib/modf.c if needed.
43241         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
43242         m4/signbit.m4.
43243         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
43244         * tests/test-math-c++.cc: Check the declaration of modf.
43245         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
43247         Tests for module 'modfl-ieee'.
43248         * modules/modfl-ieee-tests: New file.
43249         * tests/test-modfl-ieee.c: New file.
43251         New module 'modfl-ieee'.
43252         * modules/modfl-ieee: New file.
43254         Tests for module 'modf-ieee'.
43255         * modules/modf-ieee-tests: New file.
43256         * tests/test-modf-ieee.c: New file.
43258         New module 'modf-ieee'.
43259         * modules/modf-ieee: New file.
43261         Tests for module 'modff-ieee'.
43262         * modules/modff-ieee-tests: New file.
43263         * tests/test-modff-ieee.c: New file.
43264         * tests/test-modf-ieee.h: New file.
43266         New module 'modff-ieee'.
43267         * modules/modff-ieee: New file.
43269 2012-02-26  Bruno Haible  <bruno@clisp.org>
43271         Tests for module 'fabsl-ieee'.
43272         * modules/fabsl-ieee-tests: New file.
43273         * tests/test-fabsl-ieee.c: New file.
43275         New module 'fabsl-ieee'.
43276         * modules/fabsl-ieee: New file.
43278         Tests for module 'fabs-ieee'.
43279         * modules/fabs-ieee-tests: New file.
43280         * tests/test-fabs-ieee.c: New file.
43282         New module 'fabs-ieee'.
43283         * modules/fabs-ieee: New file.
43285         Tests for module 'fabsf-ieee'.
43286         * modules/fabsf-ieee-tests: New file.
43287         * tests/test-fabsf-ieee.c: New file.
43288         * tests/test-fabs-ieee.h: New file.
43290         New module 'fabsf-ieee'.
43291         * modules/fabsf-ieee: New file.
43293 2012-02-26  Bruno Haible  <bruno@clisp.org>
43295         Tests for module 'fmal-ieee'.
43296         * modules/fmal-ieee-tests: New file.
43297         * tests/test-fmal-ieee.c: New file.
43299         New module 'fmal-ieee'.
43300         * modules/fmal-ieee: New file.
43302         Tests for module 'fma-ieee'.
43303         * modules/fma-ieee-tests: New file.
43304         * tests/test-fma-ieee.c: New file.
43306         New module 'fma-ieee'.
43307         * modules/fma-ieee: New file.
43309         Tests for module 'fmaf-ieee'.
43310         * modules/fmaf-ieee-tests: New file.
43311         * tests/test-fmaf-ieee.c: New file.
43312         * tests/test-fma-ieee.h: New file.
43314         New module 'fmaf-ieee'.
43315         * modules/fmaf-ieee: New file.
43317 2012-02-26  Bruno Haible  <bruno@clisp.org>
43319         Tests for module 'ldexpl-ieee'.
43320         * modules/ldexpl-ieee-tests: New file.
43321         * tests/test-ldexpl-ieee.c: New file.
43323         New module 'ldexpl-ieee'.
43324         * modules/ldexpl-ieee: New file.
43326         Tests for module 'ldexp-ieee'.
43327         * modules/ldexp-ieee-tests: New file.
43328         * tests/test-ldexp-ieee.c: New file.
43330         New module 'ldexp-ieee'.
43331         * modules/ldexp-ieee: New file.
43333         Tests for module 'ldexpf-ieee'.
43334         * modules/ldexpf-ieee-tests: New file.
43335         * tests/test-ldexpf-ieee.c: New file.
43336         * tests/test-ldexp-ieee.h: New file.
43338         New module 'ldexpf-ieee'.
43339         * modules/ldexpf-ieee: New file.
43341 2012-02-26  Bruno Haible  <bruno@clisp.org>
43343         Refactor frexp*-ieee tests.
43344         * tests/test-frexp-ieee.h: New file.
43345         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
43346         (main): Just call test_function.
43347         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
43348         (main): Just call test_function.
43349         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
43350         (main): Just call test_function.
43351         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
43352         * modules/frexp-ieee-tests (Files): Likewise.
43353         * modules/frexpl-ieee-tests (Files): Likewise.
43355         Tests for module 'frexpl-ieee'.
43356         * modules/frexpl-ieee-tests: New file.
43357         * tests/test-frexpl-ieee.c: New file.
43359         New module 'frexpl-ieee'.
43360         * modules/frexpl-ieee: New file.
43362         Tests for module 'frexp-ieee'.
43363         * modules/frexp-ieee-tests: New file.
43364         * tests/test-frexp-ieee.c: New file.
43366         New module 'frexp-ieee'.
43367         * modules/frexp-ieee: New file.
43369         Tests for module 'frexpf-ieee'.
43370         * modules/frexpf-ieee-tests: New file.
43371         * tests/test-frexpf-ieee.c: New file.
43373         New module 'frexpf-ieee'.
43374         * modules/frexpf-ieee: New file.
43376 2012-02-26  Bruno Haible  <bruno@clisp.org>
43378         roundl-ieee tests: More tests.
43379         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43380         (main): Add tests for [MX] shaded specification in POSIX.
43381         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43382         (Depends-on): Add isnanl-nolibm.
43384         round-ieee tests: More tests.
43385         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43386         (main): Add tests for [MX] shaded specification in POSIX.
43387         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43388         (Depends-on): Add isnand-nolibm.
43390         roundf-ieee tests: More tests.
43391         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43392         (main): Add tests for [MX] shaded specification in POSIX.
43393         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43394         (Depends-on): Add isnanf-nolibm.
43396         truncl-ieee tests: More tests.
43397         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43398         (main): Add tests for [MX] shaded specification in POSIX.
43399         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43400         (Depends-on): Add isnanl-nolibm.
43402         trunc-ieee tests: More tests.
43403         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43404         (main): Add tests for [MX] shaded specification in POSIX.
43405         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43406         (Depends-on): Add isnand-nolibm.
43408         truncf-ieee tests: More tests.
43409         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43410         (main): Add tests for [MX] shaded specification in POSIX.
43411         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43412         (Depends-on): Add isnanf-nolibm.
43414         ceill-ieee tests: More tests.
43415         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43416         (main): Add tests for [MX] shaded specification in POSIX.
43417         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43418         (Depends-on): Add isnanl-nolibm.
43420         ceil-ieee tests: More tests.
43421         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43422         (main): Add tests for [MX] shaded specification in POSIX.
43423         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43424         (Depends-on): Add isnand-nolibm.
43426         ceilf-ieee tests: More tests.
43427         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43428         (main): Add tests for [MX] shaded specification in POSIX.
43429         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43430         (Depends-on): Add isnanf-nolibm.
43432         floorl-ieee tests: More tests.
43433         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43434         (main): Add tests for [MX] shaded specification in POSIX.
43435         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43436         (Depends-on): Add isnanl-nolibm.
43438         floor-ieee tests: More tests.
43439         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43440         (main): Add tests for [MX] shaded specification in POSIX.
43441         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43442         (Depends-on): Add isnand-nolibm.
43444         floorf-ieee tests: More tests.
43445         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43446         (main): Add tests for [MX] shaded specification in POSIX.
43447         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43448         (Depends-on): Add isnanf-nolibm.
43450 2012-02-26  Bruno Haible  <bruno@clisp.org>
43452         fpieee: More comments.
43453         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
43455 2012-02-25  Bruno Haible  <bruno@clisp.org>
43457         Tests for module 'log10l'.
43458         * modules/log10l-tests: New file.
43459         * tests/test-log10l.c: New file.
43460         * tests/test-math-c++.cc: Check the declaration of log10l.
43462         New module 'log10l'.
43463         * lib/math.in.h (log10l): New declaration.
43464         * lib/log10l.c: New file.
43465         * m4/log10l.m4: New file.
43466         * modules/log10l: New file.
43467         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
43468         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
43469         HAVE_DECL_LOG10L.
43470         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
43471         HAVE_DECL_LOG10L.
43472         * doc/posix-functions/log10l.texi: Mention the new module.
43474 2012-02-25  Bruno Haible  <bruno@clisp.org>
43476         fmodl, remainder*: Avoid wrong results due to rounding errors.
43477         * lib/fmodl.c (fmodl): Correct the result if it is not within the
43478         expected bounds.
43479         * lib/remainderf.c (remainderf): Likewise.
43480         * lib/remainder.c (remainder): Likewise.
43481         * lib/remainderl.c (remainderl): Likewise.
43483 2012-02-25  Bruno Haible  <bruno@clisp.org>
43485         Tests for module 'remainderl'.
43486         * modules/remainderl-tests: New file.
43487         * tests/test-remainderl.c: New file.
43488         * tests/test-math-c++.cc: Check the declaration of remainderl.
43490         New module 'remainderl'.
43491         * lib/math.in.h (remainderl): New declaration.
43492         * lib/remainderl.c: New file.
43493         * m4/remainderl.m4: New file.
43494         * modules/remainderl: New file.
43495         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
43496         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
43497         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
43498         HAVE_REMAINDERL.
43499         * doc/posix-functions/remainderl.texi: Mention the new module.
43501 2012-02-25  Bruno Haible  <bruno@clisp.org>
43503         Tests for module 'remainderf'.
43504         * modules/remainderf-tests: New file.
43505         * tests/test-remainderf.c: New file.
43506         * tests/test-math-c++.cc: Check the declaration of remainderf.
43508         New module 'remainderf'.
43509         * lib/math.in.h (remainderf): New declaration.
43510         * lib/remainderf.c: New file.
43511         * m4/remainderf.m4: New file.
43512         * modules/remainderf: New file.
43513         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
43514         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
43515         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
43516         HAVE_REMAINDERF.
43517         * doc/posix-functions/remainderf.texi: Mention the new module.
43519 2012-02-25  Bruno Haible  <bruno@clisp.org>
43521         remainder: Support for MSVC.
43522         * lib/math.in.h (remainder): New declaration.
43523         * lib/remainder.c: New file.
43524         * m4/remainder.m4: New file.
43525         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
43526         (Depends-on): Add math, round, fma.
43527         (configure.ac): Use results of gl_FUNC_REMAINDER.
43528         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
43529         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
43530         HAVE_DECL_REMAINDER.
43531         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
43532         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
43533         * tests/test-math-c++.cc: Check the declaration of remainder.
43534         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
43535         problems are fixed.
43537 2012-02-25  Bruno Haible  <bruno@clisp.org>
43539         Tests for module 'fmodl'.
43540         * modules/fmodl-tests: New file.
43541         * tests/test-fmodl.c: New file.
43542         * tests/test-math-c++.cc: Check the declaration of fmodl.
43544         New module 'fmodl'.
43545         * lib/math.in.h (fmodl): New declaration.
43546         * lib/fmodl.c: New file.
43547         * m4/fmodl.m4: New file.
43548         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
43549         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
43550         REPLACE_FMODL.
43551         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
43552         REPLACE_FMODL.
43553         * modules/fmodl: New file.
43554         * doc/posix-functions/fmodl.texi: Mention the new module.
43556 2012-02-25  Bruno Haible  <bruno@clisp.org>
43558         Tests for module 'modfl'.
43559         * modules/modfl-tests: New file.
43560         * tests/test-modfl.c: New file.
43561         * tests/test-math-c++.cc: Check the declaration of modfl.
43563         New module 'modfl'.
43564         * lib/math.in.h (modfl): New declaration.
43565         * lib/modfl.c: New file.
43566         * m4/modfl.m4: New file.
43567         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
43568         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
43569         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
43570         * modules/modfl: New file.
43571         * doc/posix-functions/modfl.texi: Mention the new module.
43573 2012-02-25  Bruno Haible  <bruno@clisp.org>
43575         Tests for module 'fabsl'.
43576         * modules/fabsl-tests: New file.
43577         * tests/test-fabsl.c: New file.
43578         * tests/test-math-c++.cc: Check the declaration of fabsl.
43580         New module 'fabsl'.
43581         * lib/math.in.h (fabsl): New declaration.
43582         * lib/fabsl.c: New file.
43583         * m4/fabsl.m4: New file.
43584         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
43585         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
43586         REPLACE_FABSL.
43587         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
43588         REPLACE_FABSL.
43589         * modules/fabsl: New file.
43590         * doc/posix-functions/fabsl.texi: Mention the new module.
43592 2012-02-25  Bruno Haible  <bruno@clisp.org>
43594         fabs tests: More tests.
43595         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
43596         (zero): New variable.
43597         (main): Add tests for signed zero.
43598         * modules/fabs-tests (Files): Add tests/minus-zero.h.
43600         fabsf tests: More tests.
43601         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
43602         (zero): New variable.
43603         (main): Add tests for signed zero.
43604         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
43606 2012-02-24  Bruno Haible  <bruno@clisp.org>
43608         atanl: Provide function definition on MSVC.
43609         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
43610         function pointer.
43611         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
43613 2012-02-24  Bruno Haible  <bruno@clisp.org>
43615         acosl: Provide function definition on MSVC.
43616         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
43617         function pointer.
43618         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
43620 2012-02-24  Bruno Haible  <bruno@clisp.org>
43622         asinl: Provide function definition on MSVC.
43623         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
43624         function pointer.
43625         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
43627 2012-02-24  Bruno Haible  <bruno@clisp.org>
43629         tanl: Provide function definition on MSVC.
43630         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
43631         function pointer.
43632         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
43634 2012-02-24  Bruno Haible  <bruno@clisp.org>
43636         cosl: Provide function definition on MSVC.
43637         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
43638         function pointer.
43639         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
43641 2012-02-24  Bruno Haible  <bruno@clisp.org>
43643         sinl: Provide function definition on MSVC.
43644         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
43645         function pointer.
43646         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
43648 2012-02-24  Bruno Haible  <bruno@clisp.org>
43650         logl: Provide function definition on MSVC.
43651         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
43652         function pointer.
43653         * lib/math.in.h (logl): Undefine if it does not exist as a function.
43655 2012-02-24  Bruno Haible  <bruno@clisp.org>
43657         expl: Provide function definition on MSVC.
43658         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
43659         function pointer.
43660         * lib/math.in.h (expl): Undefine if it does not exist as a function.
43662 2012-02-24  Bruno Haible  <bruno@clisp.org>
43664         sqrtl: Provide function definition on MSVC.
43665         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
43666         a function pointer.
43667         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
43669 2012-02-24  Bruno Haible  <bruno@clisp.org>
43671         ceill: Provide function definition on MSVC.
43672         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
43673         used as a function pointer.
43674         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
43676 2012-02-24  Bruno Haible  <bruno@clisp.org>
43678         floorl: Provide function definition on MSVC.
43679         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
43680         used as a function pointer.
43681         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
43683 2012-02-24  Bruno Haible  <bruno@clisp.org>
43685         ceilf: Provide function definition on MSVC.
43686         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
43687         used as a function pointer.
43688         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
43690 2012-02-24  Bruno Haible  <bruno@clisp.org>
43692         floorf: Provide function definition on MSVC.
43693         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
43694         used as a function pointer.
43695         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
43697 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
43699         stdnoreturn: new module
43700         This implements a replacement for C11's <stdnoreturn.h>.
43701         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
43702         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
43703         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
43704         * tests/test-stdnoreturn.c: New files.
43706 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
43708         regex: fix false multibyte matches in some regular expressions
43709         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
43710         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
43711         * lib/regex_internal.c (re_string_skip_chars):
43712         Fix miscomputation of remain_len that may cause incomplete
43713         multi-byte character and false match.
43715 2012-02-24  Jim Meyering  <meyering@redhat.com>
43717         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
43718         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
43719         uses with "==" *before* the call, e.g., 0 == strcmp (...)
43720         Remove now-unnecessary str''cmp obfuscation.
43721         Suggested by Akim Demaille.
43723 2012-02-24  Bruno Haible  <bruno@clisp.org>
43725         streq: Rename macro.
43726         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
43727         * NEWS: Mention the change.
43728         * lib/mbrtowc.c (mbrtowc): Update.
43729         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
43730         * lib/wcwidth.c (wcwidth): Update.
43731         Suggested by Akim Demaille and Jim Meyering.
43733 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
43735         regex: fix typo in definition of MIN
43736         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
43737         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
43739 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
43740             Bruno Haible  <bruno@clisp.org>
43742         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
43743         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
43744         entries into a stack-allocated buffer directly.
43745         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
43747 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
43748             Bruno Haible  <bruno@clisp.org>
43750         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
43752          - There were several instances of this pattern:
43754              for (;;) {
43755                n = acl (f, GETACLCNT, 0, NULL);
43756                [ allocate an array A of size N ]
43757                if (acl (f, GETACL, n, a) == n)
43758                  break;
43759              }
43761            This loop might never terminate if some other process is constantly
43762            manipulating the file's ACL.  The loop should be rewritten to
43763            terminate.
43765          - The acl (... GETACLNT ...) call is merely an optimization; its value
43766            is merely a hint as to how big to make the array.  A better
43767            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
43768            and just guess a reasonably-big size, growing the size and trying
43769            again if it's not large enough.  This guarantees termination, and
43770            saves a system call.
43772         * lib/acl-internal.h: Include <limits.h>.
43773         (MIN, SIZE_MAX): New macros.
43774         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
43775         a stack-allocated buffer, and use malloc if it does not fit. Don't
43776         use GETACLCNT.
43777         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
43779 2012-02-19  Bruno Haible  <bruno@clisp.org>
43781         acl: Fix endless loop on Solaris with vxfs.
43782         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
43783         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
43784         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
43785         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
43786         * tests/test-sameacls.c (main)[Solaris]: Likewise.
43787         Reported by Bill Jones in
43788         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
43790 2012-02-19  Bruno Haible  <bruno@clisp.org>
43792         acl: Fix copy-acl test failure on Solaris 11.0.
43793         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
43794         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
43795         that this function returns 0 in some more cases.
43797 2012-02-19  Bruno Haible  <bruno@clisp.org>
43799         acl: Update doc references.
43800         * doc/acl-resources.txt: Update links to Solaris documentation.
43802 2012-02-19  Bruno Haible  <bruno@clisp.org>
43804         Fix test failure in many locales on Solaris 11.
43805         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
43806         'tr' arguments.
43807         * tests/test-pipe-filter-ii1.c (main): Likewise.
43808         * build-aux/bootstrap (check_versions): Run 'tr' command with range
43809         expressions in the C locale.
43810         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
43811         * m4/host-os.m4 (gl_HOST_OS): Likewise.
43813 2012-02-19  Bruno Haible  <bruno@clisp.org>
43815         gnulib-tool: Improve usage message.
43816         * gnulib-tool (func_usage): Move doc of --help and --version to the
43817         section "Operation modes".
43819 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
43821         README-release: make it easier to execute commands
43822         * top/README-release: break commands out on to separate lines.
43824 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
43826         GNUmakefile: simplify detection of unconfigured trees
43827         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
43828         whether the tree make is being run from is already configured or
43829         not.  Related simplifications.
43831 2012-02-13  Simon Josefsson  <simon@josefsson.org>
43833         * gnulib-tool (func_usage): Document --help and --version.
43835 2012-02-11  Jim Meyering  <meyering@redhat.com>
43837         bootstrap: don't exit 0 upon gnulib-tool failure
43838         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
43839         its exit status, not 0.
43841 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
43843         README-release: various improvements
43844         * top/README-release: Give a command to push changes for the
43845         release.  Add "distcheck" to list of other pre-release checks.
43846         Fix instance of "make stable" which should be "make TYPE".
43848 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
43850         maint: replace FSF snail-mail addresses with URLs
43851         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
43852         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
43853         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
43854         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
43855         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
43856         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
43857         * lib/check-version.c, lib/check-version.h, lib/config.charset:
43858         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
43859         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
43860         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
43861         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
43862         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
43863         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
43864         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
43865         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
43866         * lib/glthread/thread.c, lib/glthread/thread.h:
43867         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
43868         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
43869         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
43870         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
43871         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
43872         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
43873         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
43874         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
43875         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
43876         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
43877         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
43878         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
43879         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
43880         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
43881         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
43882         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
43883         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
43884         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
43885         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
43886         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
43887         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
43888         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
43889         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
43890         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
43891         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
43892         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
43893         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
43894         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
43895         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
43896         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
43897         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
43898         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
43899         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
43900         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
43901         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
43902         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
43903         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
43904         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
43905         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
43906         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
43907         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
43908         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
43909         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
43910         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
43911         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
43912         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
43913         * tests/test-poll.c, tests/test-quotearg-simple.c:
43914         * tests/test-quotearg.c, tests/test-quotearg.h:
43915         * tests/test-round-ieee.c, tests/test-round1.c:
43916         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
43917         * tests/test-roundl-ieee.c, tests/test-roundl.c:
43918         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
43919         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
43920         * tests/test-strerror.c, tests/test-strerror_r.c:
43921         * tests/test-strsignal.c, tests/test-strverscmp.c:
43922         * tests/test-xmemdup0.c:
43923         Replace FSF snail mail addresses with URLs, as per GNU coding
43924         standards.  See glibc bug
43925         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
43927 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
43929         README-release: capitalize a word and split a line
43930         * top/README-release: Fix punctuation and spacing.
43932 2012-02-08  Akim Demaille  <demaille@gostai.com>
43934         fatal-signal: use C prototypes (with explicit void).
43935         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
43936         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
43938 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
43940         regex: spelling fix
43941         * lib/regexec.c: spelling fix
43943         regex: rely on stdint.h for SIZE_MAX
43944         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
43946 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
43948         regex: merge glibc changes
43950         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
43951         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
43952         (init_word_char): Work even if bitset words are not exactly 32 or
43953         64 bits wide.  Don't assume there are no padding bits.
43954         * lib/regex.c [_LIBC]: Do not include <config.h>.
43955         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
43956         and -Wtype-limits.
43957         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
43958         needless disagreement with glibc.  All uses changed.  Define it to
43959         1 only if _GNU_SOURCE, to match glibc.
43960         (_REG_RM_NAME): Remove; no longer needed, since the names in
43961         question are now all protected by __USE_GNU.
43962         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
43963         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
43964         * lib/regex_internal.h (MIN): New macro.
43966         2012-01-03 Ulrich Drepper <drepper@gmail.com>
43967         * lib/regcomp.c (init_word_char): Optimize regex a bit.
43969         2011-12-30 Jakub Jelinek <jakub@redhat.com>
43970         * lib/regex_internal.c (re_string_fetch_byte_case):
43971         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
43972         is miscompiled, and it turns out it is because of an incorrect
43973         attribute on re_string_fetch_byte_case.  Unlike
43974         re_string_peek_byte_case, this one is really not pure, it modifies
43975         memory (increments pstr->cur_idx), and with the pure attribute GCC
43976         assumed it doesn't and it cached the presumed value of
43977         regexp->cur_idx in a variable across the
43978          for (;; ++i)
43979            {
43980              if (i >= BRACKET_NAME_BUF_SIZE)
43981                return REG_EBRACK;
43982              if (token->type == OP_OPEN_CHAR_CLASS)
43983                ch = re_string_fetch_byte_case (regexp);
43984              else
43985                ch = re_string_fetch_byte (regexp);
43986              if (re_string_eoi(regexp))
43987                return REG_EBRACK;
43988              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
43989                break;
43990              elem->opr.name[i] = ch;
43991            }
43993         2011-11-29 Andreas Schwab <schwab@redhat.com>
43994         * lib/regcomp.c (build_equiv_class):
43995         Fix access after end of search string in regex matcher.
43997         2011-11-12 Ulrich Drepper <drepper@redhat.com>
43998         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
44000         2011-10-12 Ulrich Drepper <drepper@redhat.com>
44001         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
44003         2011-10-11 Ulrich Drepper <drepper@redhat.com>
44004         * lib/regcomp.c (parse_branch, parse_sub_exp):
44005         More regex memory leak fixes and tests.
44006         (parse_sub_exp, parse_bracket_exp):
44007         Fix memory leak for some invalid regular expressions.
44009         2011-05-28 Ulrich Drepper <drepper@gmail.com>
44010         * lib/regex_internal.c, lib/regexec.c:
44011         Fix unnecessary overallocation due to incomplete character.  When
44012         incomplete characters are found at the end of a string the code
44013         ran amok and allocated lots of memory.  Stricter limits are now in
44014         place.
44016         2011-05-20 Reuben Thomas <rrt@sc3d.org>
44017         * lib/regex.h: Update documentation.
44019         2011-05-16 Aharon Robbins <arnold@skeeve.com>
44020         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
44022         2010-05-05 Andreas Schwab <schwab@redhat.com>
44023         * lib/regexec.c (find_collation_sequence_value):
44024         Fix lookup of collation sequence value during regexp matching.
44026         2010-01-22 Ulrich Drepper <drepper@redhat.com>
44027         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
44029         2008-01-16 Ulrich Drepper <drepper@redhat.com>
44030         * lib/regex.h: Cleanup namespace.
44032         2007-11-26 Ulrich Drepper <drepper@redhat.com>
44033         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
44035         2007-08-26 Ulrich Drepper <drepper@redhat.com>
44036         * lib/regex_internal.h: Prevent some declarations and definitions
44037         to be seen when used in tests.
44039         2005-05-06 Ulrich Drepper <drepper@redhat.com>
44040         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
44041         __libc_lock_* macros if not _LIBC.
44042         (struct re_dfa_t): Add lock.
44044 2012-02-07  Eric Blake  <eblake@redhat.com>
44046         maint.mk: also prohibit lower-case @var@
44047         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
44048         lower case, like @top_srcdir@.
44050 2012-02-04  Eric Blake  <eblake@redhat.com>
44052         canonicalize: avoid uninitialized memory use
44053         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
44054         random '/' left in dest.
44055         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
44057 2012-02-04  Bruno Haible  <bruno@clisp.org>
44059         isatty: Fix test failure of ptsname_r on native Windows.
44060         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
44061         and don't set errno.
44062         (isatty): Test first whether fd is valid. Set errno when returning 0.
44064 2012-02-04  Bruno Haible  <bruno@clisp.org>
44066         spawn-pipe tests: Fix a NULL program name in a diagnostic.
44067         * tests/test-spawn-pipe-main.c: Include progname.h.
44068         (main): Invoke set_program_name.
44069         * modules/spawn-pipe-tests (Depends-on): Add progname.
44071         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
44072         * tests/test-nonblocking-socket-main.c: Include progname.h.
44073         (main): Invoke set_program_name.
44074         * modules/nonblocking-socket-tests (Depends-on): Add progname.
44076         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
44077         * tests/test-nonblocking-pipe-main.c: Include progname.h.
44078         (main): Invoke set_program_name.
44079         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
44081 2012-02-04  Eric Blake  <eblake@redhat.com>
44083         canonicalize-lgpl: fix // handling
44084         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
44086         canonicalize: fix // handling
44087         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
44088         /// to //, since only // is special.
44090 2012-02-04  Bruno Haible  <bruno@clisp.org>
44092         ioctl: Fix test failure on native Windows.
44093         * lib/ioctl.c: Include msvc-nothrow.h.
44094         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
44096 2012-02-04  Bruno Haible  <bruno@clisp.org>
44098         fsync: Avoid test failure on native Windows.
44099         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
44100         read-only.
44102 2012-02-04  Bruno Haible  <bruno@clisp.org>
44104         sys_select: Avoid syntax error on OpenBSD 5.0.
44105         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
44106         currently being included, just include the system's <sys/select.h>.
44108 2012-02-04  Bruno Haible  <bruno@clisp.org>
44110         sys_select: Avoid syntax error on OpenBSD 5.0.
44111         * lib/sys_select.in.h: Include <signal.h> only after the include_next
44112         <sys/select.h>, not before.
44113         Reported by Jiri B <jirib@devio.us>.
44115 2012-02-04  Bruno Haible  <bruno@clisp.org>
44117         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
44118         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
44119         global variables.
44120         * tests/test-get-rusage-data.c (main): Likewise.
44121         Reported by Jim Meyering.
44123 2012-02-04  Bruno Haible  <bruno@clisp.org>
44125         stdioext: Fix last commit.
44126         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
44128 2012-02-03  Bruno Haible  <bruno@clisp.org>
44130         stdioext: Add tentative support for Plan9.
44131         * lib/stdio-impl.h: Include <errno.h>.
44132         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
44133         * lib/freadable.c (freadable): Likewise.
44134         * lib/fwritable.c (fwritable): Likewise.
44135         * lib/fbufmode.c (fbufmode): Likewise.
44136         * lib/freading.c (freading): Likewise.
44137         * lib/fwriting.c (fwriting): Likewise.
44138         * lib/freadptr.c (freadptr): Likewise.
44139         * lib/freadseek.c (freadptrinc): Likewise.
44140         * lib/freadahead.c (freadahead): Likewise.
44141         * lib/fpurge.c (fpurge): Likewise.
44142         * lib/fseeko.c (rpl_fseeko): Likewise.
44143         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
44144         Reported by Jens Staal <staal1978@gmail.com>.
44146 2012-02-02  Jim Meyering  <meyering@redhat.com>
44148         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
44149         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
44150         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
44151         not even to try to add the attribute.  Instead, add a pragma to suppress
44152         the suggestion/warning.
44154 2012-01-31  Karl Berry  <karl@gnu.org>
44156         setstate doc: typo.
44157         * doc/posix-functions/setstate.texi (setstate): { not (.
44159 2012-01-31  Bruno Haible  <bruno@clisp.org>
44161         popen: Make more robust on Windows.
44162         * lib/popen.c: On native Windows, use the _popen based code even if
44163         HAVE_POPEN is set.
44164         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
44165         environment variable on native Windows.
44167 2012-01-30  Bruno Haible  <bruno@clisp.org>
44169         pclose: Fix typo.
44170         * lib/stdio.in.h (pclose): Fix typo in warning message.
44172 2012-01-30  Bruno Haible  <bruno@clisp.org>
44174         doc about getlogin_r, setstate.
44175         * doc/posix-functions/getlogin_r.texi: List the incompatible
44176         declaration problem under "not fixed by gnulib".
44177         * doc/posix-functions/setstate.texi: Mention incompatible declaration
44178         problem on Solaris 11 and other platforms.
44180 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
44181             Bruno Haible  <bruno@clisp.org>
44183         poll tests: Make test more robust.
44184         * tests/test-poll.c: Include macros.h.
44185         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
44186         return value of various I/O operations.
44187         * modules/poll-tests (Files): Add tests/macros.h.
44189 2012-01-30  Bruno Haible  <bruno@clisp.org>
44191         sys_stat: Fix support for mingw64 and MSVC.
44192         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
44193         header files already do it.
44194         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
44195         stat itself.
44196         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
44198 2012-01-30  Bruno Haible  <bruno@clisp.org>
44200         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
44201         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
44202         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
44204 2012-01-29  Bruno Haible  <bruno@clisp.org>
44206         quotearg: Fix test failure on MacOS X 10.5.
44207         * tests/test-quotearg-simple.c: Include localcharset.h.
44208         (main): If the locale encoding is not ASCII, bypass the tests of
44209         locale_quoting_style and clocale_quoting_style.
44210         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
44212 2012-01-29  Jim Meyering  <meyering@redhat.com>
44214         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
44215         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
44216         detect uses of canonicalize_file_name.
44218 2012-01-28  Bruno Haible  <bruno@clisp.org>
44220         test-framework-sh: Fix test failure with AIX 7.1 diff.
44221         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
44222         in column 1, like 'diff -c' does.
44223         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
44224         whether 'diff -u' is used. Instead, test whether the output contains
44225         some '@' character.
44227 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
44229         strtoimax: eliminate need for stdint.h, inttypes.h checks
44230         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
44231         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
44232         the prerequisites for a recently-introduced strtoimax test.
44233         I guess this might cause strtoimax to be replaced when not
44234         strictly necessary on older hosts, but this shouldn't introduce
44235         any bugs and it should make Emacs 'configure' faster on typical
44236         modern hosts.  Problem discovered when importing the latest gnulib
44237         to an Emacs test version.
44238         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
44240 2012-01-28  Bruno Haible  <bruno@clisp.org>
44242         sys_time: Override 'struct timeval' on some native Windows platforms.
44243         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
44244         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
44245         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
44246         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
44247         needs to be overridden.
44248         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
44249         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
44250         * tests/test-sys_select.c: Check that the tv_sec member has the same
44251         size as a 'time_t'.
44252         * tests/test-sys_time.c: Likewise.
44253         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
44254         is set, set also REPLACE_GETTIMEOFDAY.
44255         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
44256         convert the resulting 'struct timeval' before returning.
44257         * lib/select.c: Include <sys/time.h>.
44258         (select, timeval): Undefine at the right place.
44259         * modules/select (Depends-on): Add sys_time.
44260         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
44261         some Windows platforms.
44262         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
44264 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
44266         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
44267         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
44268         an integer.
44269         * lib/fcntl.c (dupfd): Likewise.
44270         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
44272 2012-01-28  Bruno Haible  <bruno@clisp.org>
44274         fcntl: Avoid compilation error on native Windows.
44275         * modules/fcntl (Depends-on): Add 'close'.
44277 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
44279         select, poll, isatty: Avoid warnings on x86_64 mingw64.
44280         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
44281         pointer to an integer.
44282         * lib/poll.c (IsConsoleHandle): Likewise.
44283         * lib/isatty.c (IsConsoleHandle): Likewise.
44285 2012-01-28  Jim Meyering  <meyering@redhat.com>
44287         doc: clarify README-release
44288         * top/README-release: Clarify: you should make a point to have
44289         the latest stable versions of build tools in your PATH, and the
44290         reference to buildreq is solely for its list of tool names, not
44291         for its minimal-functional version numbers.
44292         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
44294         maint.mk: use more readable (yet functionally equivalent) quoting
44295         It is common to quote a single quote in a single quoted string like
44296         this:  '...'\''...'.  Unless you know the idiom, that looks like
44297         gibberish, so prefer to double-quote the string when possible.
44298         Then you can use a more readable, lone single quote: "...'..."
44299         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
44300         "don't" is more readable than the equivalent 'don'\''t'.
44301         (sc_cast_of_x_alloc_return_value): Likewise.
44302         (sc_cast_of_alloca_return_value): Likewise.
44303         (sc_makefile_path_separator_check): Similar: use ":" in '...',
44304         rather than '\'':'\''.
44306 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
44308         stdalign: relax _Alignof and tighten _Alignas test
44309         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
44310         as it was too strict: alignof must divide offsetof, but it need
44311         not equal offsetof.  Inspired by Joseph S. Myers's comment
44312         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
44313         Conversely, tighten the _Alignas test a bit, as the resulting
44314         alignment must be exactly 8.
44316 2012-01-27  Bruno Haible  <bruno@clisp.org>
44318         stdalign: Document the last change.
44319         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
44321 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
44323         stdalign: check that alignof and offsetof are consistent
44324         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
44325         Problem reported for gnulib by Richard W.M. Jones in
44326         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
44328 2012-01-27  Jim Meyering  <meyering@redhat.com>
44330         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
44331         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
44332         convert a sequence with gaps to the minimal containing range.
44333         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
44334         * tests/test-update-copyright.sh: Test for this.
44335         The FSF confirmed it is ok to do this, assuming there is at
44336         least one significant change per year in the affected range:
44337         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
44339 2012-01-26  Bruno Haible  <bruno@clisp.org>
44341         pipe2: refine doc about thread-safety
44342         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
44343         multithread-safety problem.
44344         * doc/glibc-functions/accept4.texi: Likewise.
44346 2012-01-26  Bruno Haible  <bruno@clisp.org>
44348         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
44349         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
44350         In the test program, include <fcntl.h>, for O_RDONLY.
44352 2012-01-26  Eric Blake  <eblake@redhat.com>
44354         pipe2: document lack of thread-safety in replacement
44355         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
44356         issue in replacement.
44357         * doc/glibc-functions/accept4.texi (accept4): Likewise.
44358         Based on a report by Eric Wong.
44360 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
44361             Bruno Haible  <bruno@clisp.org>
44363         malloca: Avoid warnings on x86_64 mingw64.
44364         * lib/malloca.c: Include <stdint.h>.
44365         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
44366         * modules/malloca (Depends-on): Add stdint.
44367         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
44369 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
44371         obstack: remove __STDC__ conditionals
44372         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
44373         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
44374         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
44375         m4/include_next.m4 as the only gnulib-maintained places that still
44376         refer to __STDC__.
44378 2012-01-24  Bruno Haible  <bruno@clisp.org>
44380         havelib: Modern quoting.
44381         * build-aux/config.rpath: Quote 'like this', not `like this', as per
44382         the recent change to the GNU coding standards.
44384 2012-01-24  Bruno Haible  <bruno@clisp.org>
44386         stdint: Improve support for Android.
44387         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
44388         Reported by Simon Josefsson <simon@josefsson.org>.
44390 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
44392         doc: omit trailing empty lines from INSTALL etc.
44393         * doc/Makefile (INSTALL): Omit trailing empty lines.
44394         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
44395         omit trailing empty lines.  This simplifies the build procedure.
44397 2012-01-23  Jim Meyering  <meyering@redhat.com>
44399         tests: avoid spurious warnings about gl_sockets_startup
44400         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
44401         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
44402         reporting a "statement with no effect".
44403         * tests/test-accept.c (main): Mark as "(void)".
44404         * tests/test-accept4.c (main): Likewise.
44405         * tests/test-bind.c (main): Likewise.
44406         * tests/test-connect.c (main): Likewise.
44407         * tests/test-getpeername.c (main): Likewise.
44408         * tests/test-getsockname.c (main): Likewise.
44409         * tests/test-getsockopt.c (main): Likewise.
44410         * tests/test-listen.c (main): Likewise.
44411         * tests/test-recv.c (main): Likewise.
44412         * tests/test-recvfrom.c (main): Likewise.
44413         * tests/test-send.c (main): Likewise.
44414         * tests/test-sendto.c (main): Likewise.
44415         * tests/test-setsockopt.c (main): Likewise.
44416         * tests/test-shutdown.c (main): Likewise.
44418 2012-01-21  Bruno Haible  <bruno@clisp.org>
44420         locale-fr.m4: Fix for Android.
44421         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
44422         failure of the test program on Bionic libc.
44424 2012-01-21  Jim Meyering  <meyering@redhat.com>
44426         bootstrap: fail when bootstrap_post_import_hook fails
44427         Otherwise, it's far too easy to miss diagnostics emitted
44428         between gnulib-tool's output and that of running configure.
44429         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
44431 2012-01-17  Jim Meyering  <meyering@redhat.com>
44433         maint: enable sc_trailing_blank
44434         * build-aux/pmccabe.css: Remove trailing blanks.
44435         * doc/acl-cygwin.txt: Likewise.
44436         * doc/gnu-oids.texi: Likewise
44437         * cfg.mk: Enable sc_trailing_blank.
44438         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
44440 2012-01-17  Jim Meyering  <meyering@redhat.com>
44442         maint: enable sc_prohibit_openat_without_use
44443         * cfg.mk: Enable sc_prohibit_openat_without_use.
44444         Exempt lib/selinux-at.c.
44446 2012-01-17  Jim Meyering  <meyering@redhat.com>
44448         maint: enable sc_prohibit_cloexec_without_use
44449         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
44450         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
44452 2012-01-17  Jim Meyering  <meyering@redhat.com>
44454         maint: enable sc_prohibit_intprops_without_use
44455         * cfg.mk: Enable sc_prohibit_intprops_without_use
44456         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
44458 2012-01-17  Jim Meyering  <meyering@redhat.com>
44460         maint: enable sc_prohibit_hash_pjw_without_use
44461         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
44462         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
44463         to match any use of \<hash_pjw\>, i.e., not necessarily with a
44464         following " (".
44466 2012-01-17  Jim Meyering  <meyering@redhat.com>
44468         maint: enable double-word-prohibiting rule
44469         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
44470         Exempt three files.
44472 2012-01-17  Jim Meyering  <meyering@redhat.com>
44474         maint: remove empty lines at EOF, but excluding modules/*
44475         Apply syntax rules at home as well as abroad.  Most changes
44476         were induced by running this:
44477           make srcdir=. _build-aux=build-aux -f top/maint.mk \
44478             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
44479             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
44480         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
44481         Exempt modules/* and two binary files.
44482         Also exempt doc/INSTALL*, per request from Bruno Haible.
44483         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
44484         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
44485         * doc/Copyright/request-assign.future: Likewise.
44486         * doc/Copyright/request-disclaim.changes: Likewise.
44487         * doc/INSTALL: Likewise.
44488         * doc/INSTALL.ISO: Likewise.
44489         * doc/INSTALL.UTF-8: Likewise.
44490         * doc/acl-cygwin.txt: Likewise.
44491         * doc/acl-resources.txt: Likewise.
44492         * doc/fdl-1.2.texi: Likewise.
44493         * doc/fdl-1.3.texi: Likewise.
44494         * doc/fdl.texi: Likewise.
44495         * lib/argp-pin.c: Likewise.
44496         * lib/round.c: Likewise.
44497         * lib/unicase/u16-totitle.c: Likewise.
44498         * lib/unictype/block_test.c: Likewise.
44499         * lib/uninorm/canonical-decomposition.c: Likewise.
44500         * m4/README: Likewise.
44501         * m4/relocatable-lib.m4: Likewise.
44502         * tests/test-isnand-nolibm.c: Likewise.
44503         * tests/test-isnand.c: Likewise.
44504         * tests/uninorm/NormalizationTest.txt: Likewise.
44506 2012-01-17  Jim Meyering  <meyering@redhat.com>
44508         maint: add framework to run syntax-check rules against gnulib sources
44509         * cfg.mk: New file, to disable all currently-failing tests.
44510         We'll enable them one by one, as they are made to pass.
44511         * Makefile (sc_maint): New rule.
44513 2012-01-21  Bruno Haible  <bruno@clisp.org>
44515         stdint: Add support for Android.
44516         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
44517         include the system's <stdint.h>.
44518         Reported by Simon Josefsson <simon@josefsson.org>.
44520 2012-01-19  Jim Meyering  <meyering@redhat.com>
44522         bootstrap: add bootstrap_post_import_hook
44523         Bison does still need something like the gnulib_mk_hook whose
44524         invocation I had to remove along with slurp in commit 767ccd40.
44525         Technically, we could get along without it, but doing so would
44526         have required living with a warning and a mandatory post-bootstrap
44527         automake rerun.
44528         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
44529         (bootstrap_post_import_hook): New function.
44530         Invoke it after gnulib-tool --import and before autoreconf.
44532 2012-01-18  Jim Meyering  <meyering@redhat.com>
44534         gitlog-to-changelog: don't use "no_"-prefixed variable name
44535         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
44536         to enable both --cluster and --no-cluster.  Change variable name,
44537         s/\$no_cluster/$cluster/, and reverse usage to match.
44539         gitlog-to-changelog: use "||", not "or" in expressions
44540         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
44541         expressions.
44543 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
44545         gitlog-to-changelog: new option --no-cluster
44546         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
44547         clustering of adjacent commit messages.
44549 2012-01-17  Jim Meyering  <meyering@redhat.com>
44551         maint: spell file systems with two words, not one
44552         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
44553         two words, not one.
44555 2012-01-16  Jim Meyering  <meyering@redhat.com>
44557         bootstrap: add a FIXME comment to ensure we eventually remove the hack
44558         * build-aux/bootstrap (gnulib_tool_options): Add comment.
44560 2012-01-16  Eric Blake  <eblake@redhat.com>
44562         bootstrap: cater to autoconf 2.59
44563         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
44564         is not available.
44566         bootstrap: properly check for libtool
44567         * build-aux/bootstrap (libtoolize): Also run libtool when older
44568         usage is detected.
44570 2012-01-15  Bruno Haible  <bruno@clisp.org>
44572         Improve support for MSVC 9.
44573         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
44574         clashes on MSVC.
44575         * lib/fcntl.in.h: Likewise.
44576         * lib/stdlib.in.h: Likewise.
44577         * lib/sys_stat.in.h: Likewise.
44579 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
44581         gnupload: we hold the master copy of this script now
44582         For motivation and more information, see:
44583         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
44584         * build-aux/gnupload: Make it clear in the heading comments that the
44585         master copy of this file is maintained by gnulib.  Since we are at
44586         it, bump its copyright year and ...
44587         ($scriptversion): ... the date in its version.
44588         ($usage): Patches and bug reports should be sent to the gnulib list,
44589         not the automake one.
44590         * config/srclist.txt: Don't try to sync 'gnupload' from automake
44591         anymore.
44593 2012-01-15  Bruno Haible  <bruno@clisp.org>
44595         Fix module 'random'.
44596         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
44597         initstate, setstate are declared.
44599 2012-01-14  Bruno Haible  <bruno@clisp.org>
44601         Tests for module 'random'.
44602         * modules/random-tests: New file.
44603         * tests/test-random.c: New file, based on tests/test-random_r.c.
44605         New module 'random'.
44606         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
44607         declarations.
44608         * lib/random.c: New file, based on glibc/stdlib/random.c.
44609         * m4/random.m4: New file.
44610         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
44611         HAVE_RANDOM.
44612         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
44613         * modules/random: New file.
44614         * config/srclist.txt: Add an entry for random.c.
44615         * doc/posix-functions/random.texi: Mention the 'random' module.
44616         * doc/posix-functions/initstate.texi: Likewise.
44617         * doc/posix-functions/setstate.texi: Likewise.
44618         * doc/posix-functions/srandom.texi: Likewise.
44620 2012-01-12  Bruno Haible  <bruno@clisp.org>
44622         random_r: Use common idioms.
44623         * lib/random_r.c: Include <stdlib.h> first.
44625         random_r: Override incompatible API on AIX, OSF/1.
44626         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
44627         Override the system function if REPLACE_RANDOM_R is 1.
44628         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
44629         and OSF/1, set REPLACE_RANDOM_R.
44630         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
44631         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
44632         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
44633         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
44634         * doc/glibc-functions/random_r.texi: Likewise.
44635         * doc/glibc-functions/setstate_r.texi: Likewise.
44637         random_r: Support for MSVC 9.
44638         * lib/random_r.c: Include stdint.h, not inttypes.h.
44640 2012-01-12  Eric Blake  <eblake@redhat.com>
44642         inet_ntop: guard extra work by IF_LINT
44643         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
44644         better code generation when not checking for warnings.
44645         Suggested by Paul Eggert and Jim Meyering.
44647         strptime: fix regression on mingw
44648         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
44649         Fix regression.  Reported by Bruno Haible.
44651 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
44652             Bruno Haible  <bruno@clisp.org>
44654         copy-file: add error-code-returning variant.
44655         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
44656         (qcopy_file_preserving): New declaration.
44657         * lib/copy-file.c (qcopy_file_preserving): Renamed from
44658         copy_file_preserving. Change return type to 'int'. Don't emit an error
44659         message here.
44660         (copy_file_preserving): New function.
44661         * tests/test-copy-file.c: Include <stdlib.h>.
44662         (main): Test qcopy_file_preserving if the environment variable
44663         NO_STDERR_OUTPUT is set.
44664         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
44665         with NO_STDERR_OUTPUT
44666         * tests/test-copy-file-2.sh: Likewise.
44668 2012-01-10  Bruno Haible  <bruno@clisp.org>
44670         copy-file: Use 'quote' module consistently.
44671         * lib/copy-file.c (copy_file_preserving): Use quote().
44673         copy-file: Refactor.
44674         * lib/copy-file.c: Include quote.h.
44675         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
44676         message here.
44677         * modules/copy-file (Depends-on): Add quote.
44679         acl: Export qcopy_acl.
44680         * lib/acl.h (qcopy_acl): New declaration.
44681         * lib/copy-acl.c (qcopy_acl): Make non-static.
44683         acl: Rename a local variable.
44684         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
44686         acl: Align return values of copy_acl and qcopy_acl.
44687         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
44688         maybe < -1.
44690 2012-01-11  Eric Blake  <eblake@redhat.com>
44692         strptime: silence gcc warnings
44693         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
44694         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
44695         Reported by Daniel P. Berrange.
44697         inet_ntop: silence gcc warning
44698         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
44699         Reported by Daniel P. Berrange.
44701 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
44703         getloadavg test: skip the test on GNU/Linux without /proc mounted
44704         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
44705         file.  When /proc is not mounted, it always fails with ENOENT.
44706         * tests/test-getloadavg.c (main): Treat ENOENT return code from
44707         getloadavg(3) the same way as ENOSYS and ENOTSUP.
44709 2012-01-10  Bruno Haible  <bruno@clisp.org>
44711         regex: Avoid link error on MSVC 9.
44712         * modules/regex (Depends-on): Add wctype.
44714 2012-01-10  Bruno Haible  <bruno@clisp.org>
44716         doc: Mention --with-tests option.
44717         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
44718         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
44719         --with-tests.
44720         Reported by Reuben Thomas.
44722 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
44724         users.txt: order package names lexicographically.
44725         * users.txt: Order package names lexicographically.
44727 2012-01-10  Jim Meyering  <meyering@redhat.com>
44729         maint.mk: fix description in comment
44730         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
44732         ignore-value: remove deprecated ignore_ptr function
44733         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
44734         * NEWS: Note this.
44736 2012-01-09  Jim Meyering  <meyering@redhat.com>
44738         test-init.sh: avoid a subshell
44739         * tests/test-init.sh: Remove protective subshell.
44740         Suggested by Bernhard Voelker.  While a subshell is normally
44741         required to protect against older shells (Solaris, FreeBSD) that
44742         warn about a missing program before performing redirection, the
44743         shell-selection tests performed by init.sh probably exclude any
44744         offending shell.
44746 2012-01-08  Bruno Haible  <bruno@clisp.org>
44748         setlocale tests: Avoid test failure on Solaris 11.0.
44749         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
44750         variable.
44752 2012-01-08  Bruno Haible  <bruno@clisp.org>
44754         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
44755         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44756         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
44757         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
44758         macro.
44759         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
44760         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
44761         * lib/spawn_faction_addopen.c: Add workaround implementation if
44762         HAVE_WORKING_POSIX_SPAWN.
44763         * modules/spawn (Makefile): Substitute
44764         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
44765         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
44766         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
44767         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
44768         (Depends-on): Update conditions.
44769         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
44770         the Solaris 11 bug.
44772 2012-01-08  Bruno Haible  <bruno@clisp.org>
44774         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
44775         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44776         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
44777         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
44778         macro.
44779         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
44780         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
44781         * lib/spawn_faction_adddup2.c: Add workaround implementation if
44782         HAVE_WORKING_POSIX_SPAWN.
44783         * modules/spawn (Makefile): Substitute
44784         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
44785         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
44786         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
44787         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
44788         (Depends-on): Update conditions.
44789         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
44790         the Solaris 11 bug.
44792 2012-01-08  Bruno Haible  <bruno@clisp.org>
44794         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
44795         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44796         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
44797         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
44798         HAVE_WORKING_POSIX_SPAWN.
44799         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
44800         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
44801         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
44802         * lib/spawn_faction_addclose.c: Add workaround implementation if
44803         HAVE_WORKING_POSIX_SPAWN.
44804         * modules/spawn (Makefile): Substitute
44805         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
44806         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
44807         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
44808         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
44809         (Depends-on): Update conditions.
44810         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
44811         the Solaris 11 bug.
44813 2012-01-08  Bruno Haible  <bruno@clisp.org>
44815         doc: Update for Solaris 11.0.
44816         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
44817         * m4/printf.m4: Update comments.
44819 2012-01-08  Bruno Haible  <bruno@clisp.org>
44821         mktime: Avoid compilation error on Solaris 11.
44822         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
44824 2012-01-08  Bruno Haible  <bruno@clisp.org>
44826         doc: Small fix.
44827         * doc/posix-headers/nl_types.texi: Correct platforms list.
44829 2012-01-08  Simon Josefsson  <simon@josefsson.org>
44831         Add lgpl-3.0 module.
44832         * MODULES.html.sh (Support for building documentation): Add
44833         lgpl-3.0.
44834         * modules/lgpl-3.0: New file.
44836 2012-01-08  Jim Meyering  <meyering@redhat.com>
44838         select.c: indent with spaces, not TABs
44839         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
44841 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44843         quotearg: do not use grave accent for left quote
44844         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
44845         locale_quoting_style.
44846         (quotearg_buffer_restyled): Fix example.
44847         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
44849 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44851         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
44852         Most programs do not have translation catalogs for English and much
44853         less separate catalogs for British and American English.  Drop the
44854         suggestion to translators about these two, and provide it
44855         automatically for Unicode locales.  Like most programs, even those
44856         using American English, we use single quotation marks.  This conflicts
44857         with the American typographic convention, but works better when you
44858         cite the entire error message within double quotes.  It also tries not
44859         to clash with established practice and with what non-gnulib programs
44860         will usually do.
44861         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
44862         using an UTF-8 or GB-18030 locale.  The list of other locales with
44863         quotes was provided by Bruno Haible.
44864         (quotearg_buffer_restyled): Adjust instructions to translators.
44865         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
44866         text, since this would be wrong when using Unicode.
44867         * modules/quotearg: Depend on c-strcaseeq.
44869 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44871         quotearg: fix Wikipedia link
44872         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
44874 2012-01-07  Simon Josefsson  <simon@josefsson.org>
44876         Fix for mingw with MSVC9.
44877         * m4/ld-version-script.m4: Check that compiler rejects version
44878         scripts with syntax errors.  Reported by Bruno Haible
44879         <bruno@clisp.org>.
44881 2012-01-06  Bruno Haible  <bruno@clisp.org>
44883         Talk about "native Windows API", not "Woe32".
44884         * lib/accept4.c: Update comments to mention native Windows.
44885         * lib/execute.c: Likewise.
44886         * lib/fatal-signal.c: Likewise.
44887         * lib/localcharset.c: Likewise.
44888         * lib/nanosleep.c: Likewise.
44889         * lib/nl_langinfo.c: Likewise.
44890         * lib/pclose.c: Likewise.
44891         * lib/pipe-filter-gi.c: Likewise.
44892         * lib/pipe-filter-ii.c: Likewise.
44893         * lib/pipe.c: Likewise.
44894         * lib/pipe2.c: Likewise.
44895         * lib/popen.c: Likewise.
44896         * lib/progreloc.c: Likewise.
44897         * lib/relocatable.c: Likewise.
44898         * lib/sigaction.c: Likewise.
44899         * lib/sigprocmask.c: Likewise.
44900         * lib/spawn-pipe.h: Likewise.
44901         * lib/spawn-pipe.c: Likewise.
44902         * lib/spawni.c: Likewise.
44903         * lib/stat-time.h: Likewise.
44904         * lib/w32spawn.h: Likewise.
44905         * tests/test-isatty.c: Likewise.
44906         * lib/config.charset: More comments.
44907         * doc/gnulib-intro.texi: Mention native Windows.
44908         * doc/posix-functions/_Exit_C99.texi: Likewise.
44909         * doc/posix-headers/fcntl.texi: Likewise.
44911 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
44913         argp: Avoid crash if translator uses % characters in a translation.
44914         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
44915         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
44917 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
44919         doc: C11 and C++11 are now official
44920         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
44921         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
44922         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
44923         * modules/stdalign:
44924         Replace references to draft C1X to C11, and to draft C++0X to C++11.
44926 2012-01-06  Bruno Haible  <bruno@clisp.org>
44928         uc-is-grapheme-break tests: Tweak.
44929         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
44930         message.
44932 2012-01-06  Bruno Haible  <bruno@clisp.org>
44934         test-init.sh: correct the test for diff -u
44935         * tests/test-init.sh: Also redirect stdout to /dev/null.
44937 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
44939         Use ', not `, for quoting output.
44940         * build-aux/announce-gen (usage, sizes, print_news_deltas)
44941         (print_changelog_deltas, get_tool_versions, main program):
44942         * build-aux/git-version-gen:
44943         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
44944         * build-aux/move-if-change (help):
44945         * build-aux/useless-if-before-free (usage, main program):
44946         * check-module (parse_module_file, usage)
44947         (find_included_lib_files, check_module):
44948         * lib/argmatch.c (main) [TEST]:
44949         * lib/argp-help.c (_help):
44950         * lib/getopt1.c (main) [TEST]:
44951         * lib/git-merge-changelog.c (usage):
44952         * lib/xstrtol-error.c (xstrtol_error):
44953         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
44954         * m4/argz.m4 (gl_FUNC_ARGZ):
44955         * m4/bison.m4 (gl_BISON):
44956         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
44957         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
44958         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
44959         * m4/fpending.m4 (gl_PREREQ_FPENDING):
44960         * m4/gc-random.m4 (gl_GC_RANDOM):
44961         * m4/intl.m4 (gt_CHECK_DECL):
44962         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
44963         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
44964         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
44965         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
44966         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
44967         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
44968         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
44969         * tests/test-dirname.c (main):
44970         * tests/test-getpass.c (main):
44971         * tests/test-iconvme.c (main):
44972         * tests/test-parse-datetime.c (LOG):
44973         * tests/test-xstrtoimax.sh:
44974         * tests/test-xstrtol.sh:
44975         * tests/test-xstrtoll.sh:
44976         * tests/test-xstrtoumax.sh:
44977         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
44978         * top/GNUmakefile (abort-due-to-no-makefile):
44979         Quote 'like this', not `like this', as per the recent change to
44980         the GNU coding standards.
44982 2012-01-05  Bruno Haible  <bruno@clisp.org>
44984         strtoimax: Don't force a replacement on systems where intmax_t is int.
44985         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
44986         'intmax_t' is not larger than 'int'.
44987         Reported by Pádraig Brady <P@draigBrady.com>.
44989 2012-01-05  Bruno Haible  <bruno@clisp.org>
44991         doc: Mention NetBSD bugs.
44992         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
44993         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
44995 2012-01-05  Bruno Haible  <bruno@clisp.org>
44997         strtoumax tests: Enhance tests.
44998         * tests/test-strtoumax.c (main): Add tests for large values.
45000 2012-01-05  Bruno Haible  <bruno@clisp.org>
45002         strtoimax: Work around AIX 5.1 bug.
45003         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
45004         definition.
45005         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
45006         Set HAVE_STRTOIMAX.
45007         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
45008         REPLACE_STRTOIMAX.
45009         * modules/inttypes-incomplete (Makefile.am): Substitute
45010         REPLACE_STRTOIMAX.
45011         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
45012         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
45013         (Depends-on): Update conditions.
45014         * tests/test-strtoimax.c (main): Add tests for large values.
45015         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
45017 2012-01-05  Bruno Haible  <bruno@clisp.org>
45019         inttypes: Modernize.
45020         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
45021         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
45022         (Makefile.am): Update inttypes.h rule.
45024 2012-01-05  Jim Meyering  <meyering@redhat.com>
45026         init.sh: don't waste a subshell just to redirect stderr
45027         * tests/init.sh: In testing for diff -u and diff -c, use a
45028         stderr-redirecting exec inside `...` rather than a subshell.
45030         test-init.sh: avoid failure on HP-UX 11.00
45031         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
45032         resolves to diff -c or cmp.  Reported by Bruno Haible.
45034 2012-01-05  Bruno Haible  <bruno@clisp.org>
45036         Tests for module 'strtoull'.
45037         * modules/strtoull-tests: New file.
45038         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
45040 2012-01-05  Bruno Haible  <bruno@clisp.org>
45042         Tests for module 'strtoll'.
45043         * modules/strtoll-tests: New file.
45044         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
45046 2012-01-05  Bruno Haible  <bruno@clisp.org>
45048         Tests for module 'strtoul'.
45049         * modules/strtoul-tests: New file.
45050         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
45052 2012-01-05  Bruno Haible  <bruno@clisp.org>
45054         Tests for module 'strtol'.
45055         * modules/strtol-tests: New file.
45056         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
45058 2012-01-04  Jim Meyering  <meyering@redhat.com>
45060         test-init.sh: accommodate Solaris 5.10's different diff -u output
45061         * tests/test-init.sh: Also exempt @@ lines from the comparison
45062         of diff output, since Solaris 5.10 and GNU diff formats differ.
45063         Reported by Stefano Lattarini.
45065 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
45067         test-posixtm: don't assume signed integer wraparound
45068         * tests/test-posixtm.c (main): Don't assume wraparound semantics
45069         after signed integer overflow.  Inspired by (though it may not
45070         fix) Bruno Haible's bug report in
45071         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
45073         Spell out "Windows 9x" and "Windows XP".
45074         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
45075         "Windows 9x" and "WinXP" with "Windows XP".
45077 2012-01-04  Jim Meyering  <meyering@redhat.com>
45079         test-vc-list-files-cvs.sh: remove obsolete comment
45080         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
45081         double exit.  Now that's all encapsulated via skip_ and Exit.
45083 2012-01-04  Bruno Haible  <bruno@clisp.org>
45085         Talk about "native Windows API", not "Win32".
45086         * lib/classpath.c: Update comments to mention native Windows.
45087         * lib/csharpexec.c: Likewise.
45088         * lib/dup2.c: Likewise.
45089         * lib/error.c: Likewise.
45090         * lib/fcntl.c: Likewise.
45091         * lib/filename.h: Likewise.
45092         * lib/findprog.c: Likewise.
45093         * lib/get-rusage-as.c: Likewise.
45094         * lib/get-rusage-data.c: Likewise.
45095         * lib/getpagesize.c: Likewise.
45096         * lib/javaexec.c: Likewise.
45097         * lib/msvc-inval.c: Likewise.
45098         * lib/msvc-nothrow.c: Likewise.
45099         * lib/nanosleep.c: Likewise.
45100         * lib/nonblocking.c: Likewise.
45101         * lib/printf-parse.c: Likewise.
45102         * lib/setlocale.c: Likewise.
45103         * lib/sigaction.c: Likewise.
45104         * lib/strerror_r.c: Likewise.
45105         * lib/tmpdir.c: Likewise.
45106         * lib/vasnprintf.c: Likewise.
45107         * lib/w32spawn.h: Likewise.
45108         * lib/waitpid.c: Likewise.
45109         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
45110         * m4/locale-ar.m4: Likewise.
45111         * m4/locale-fr.m4: Likewise.
45112         * m4/locale-ja.m4: Likewise.
45113         * m4/locale-tr.m4: Likewise.
45114         * m4/locale-zh.m4: Likewise.
45115         * m4/printf.m4: Likewise.
45116         * tests/test-cloexec.c: Likewise.
45117         * tests/test-copy-acl.sh: Likewise.
45118         * tests/test-copy-file.sh: Likewise.
45119         * tests/test-file-has-acl.sh: Likewise.
45120         * tests/test-set-mode-acl.sh: Likewise.
45121         * tests/test-dup-safer.c: Likewise.
45122         * tests/test-dup2.c: Likewise.
45123         * tests/test-dup3.c: Likewise.
45124         * tests/test-fcntl.c: Likewise.
45125         * tests/test-nonblocking-pipe.h: Likewise.
45126         * tests/test-nonblocking-socket.h: Likewise.
45127         * tests/test-pipe.c: Likewise.
45128         * tests/test-pipe2.c: Likewise.
45129         * tests/test-spawn-pipe-child.c: Likewise.
45130         * doc/acl-resources.txt: Likewise.
45131         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
45132         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
45133         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
45134         * lib/localcharset.c: Update comments to mention native Windows.
45135         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
45136         * lib/localename.c: Likewise.
45137         * lib/progreloc.c: Likewise.
45138         * lib/relocatable.c: Likewise.
45139         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
45140         (windows_compute_revents): Renamed from win32_compute_revents.
45141         (windows_compute_revents_socket): Renamed from
45142         win32_compute_revents_socket.
45143         * lib/select.c: Update comments to mention native Windows.
45144         (windows_poll_handle): Renamed from win32_poll_handle.
45145         * m4/threadlib.m4: Update comments to mention native Windows.
45146         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
45147         --enable-threads=windows instead of --enable-threads=win32. Set
45148         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
45149         * lib/glthread/lock.h: Update comments to mention native Windows.
45150         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
45151         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
45152         USE_WIN32_THREADS.
45153         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
45154         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
45155         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
45156         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
45157         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
45158         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
45159         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
45160         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
45161         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
45162         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
45163         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
45164         * tests/test-tls.c: Likewise.
45165         Rationale:
45166         Microsoft renamed the "Win32 API" to "Windows API", as it is available
45167         on both 32-bit and 64-bit Windows systems.
45168         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
45169         line of distinction is between "native Windows" on one side and Unix/
45170         POSIX systems on the other side. More details in
45171         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
45172         Suggested by Paul Eggert.
45174 2012-01-03  Bruno Haible  <bruno@clisp.org>
45176         isatty: Support for MSVC 9.
45177         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
45178         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
45179         (_isatty_nothrow): New function.
45180         (isatty): Use it instead of _isatty.
45181         (IsConsoleHandle): Add comment, from Paolo Bonzini.
45182         * lib/poll.c (IsConsoleHandle): Likewise.
45183         * lib/select.c (IsConsoleHandle): Likewise.
45184         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
45185         (gl_PREREQ_ISATTY): New macro.
45186         * modules/isatty (Depends-on): Add msvc-inval.
45187         (configure.ac): Invoke gl_PREREQ_ISATTY.
45189 2012-01-03  Jim Meyering  <meyering@redhat.com>
45191         maint.mk: remove temporary transition aid from over 1.5 years ago
45192         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
45193         purpose was to aid in the transition (avoiding silent malfunction)
45194         from that old name to the new _sc_search_regexp.  This shim was
45195         added by commit 219c504b.
45197         init.sh: do not try to accommodate compare arguments starting with "-"
45198         * tests/init.sh (compare_dev_null_): Do not try to accommodate
45199         compare arguments that start with "-".  Besides, we do not worry
45200         about this when invoking diff or cmp; why start now with sed?
45201         Using "--" to separate options from argument would trigger sed
45202         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
45203         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
45205 2012-01-02  Bruno Haible  <bruno@clisp.org>
45207         Enhance tests for module 'isatty'.
45208         * modules/isatty-tests (Depends-on): Add pipe-posix.
45209         * tests/test-isatty.c: Include <fcntl.h>.
45210         (DEV_NULL): New macro.
45211         (main): Test the resut of isatty() also on regular files, pipes, and
45212         /dev/null.
45214         New module 'isatty'.
45215         * lib/unistd.in.h (isatty): New declaration.
45216         * lib/isatty.c: New file, based on an idea of
45217         Bastien Roucariès <roucaries.bastien@gmail.com>.
45218         * m4/isatty.m4: New file.
45219         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
45220         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
45221         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
45222         REPLACE_ISATTY.
45223         * modules/isatty: New file.
45224         * doc/posix-functions/isatty.texi: Mention the new module.
45225         Suggested by Paolo Bonzini.
45227 2012-01-02  Bruno Haible  <bruno@clisp.org>
45229         canonicalize: Tweak 2011-12-29 commit.
45230         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
45231         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
45233 2012-01-02  Jim Meyering  <meyering@redhat.com>
45235         gitlog-to-changelog: describe input syntax in --help output
45236         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
45238         gitlog-to-changelog: fix typo in --help: show backslash before email @
45239         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
45240         in sources, but not in actual output.
45242 2011-12-30  Jim Meyering  <meyering@redhat.com>
45244         gitlog-to-changelog: don't malfunction when name contains %-directive
45245         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
45246         in a name string cause trouble.  E.g., with a user name of "%s",
45247         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
45249 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
45251         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
45252         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
45253         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
45254         the "  (tiny change)" notation that is appended to the standard
45255         ChangeLog "date  name  email" header line.
45257 2012-01-01  Jim Meyering  <meyering@redhat.com>
45259         test-framework-sh: init.sh: fix "make dist" failure
45260         When using gnulib-tool's --with-tests option and any module that
45261         depends on test-framework-sh, "make dist" would fail due to the
45262         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
45263         in the gltests directory, and not in the gllib/ directory.
45264         One way to work around that is to move the EXTRA_DIST += init.sh
45265         from the primary module to the -tests one:
45266         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
45267         * modules/test-framework-sh (Makefile.am): ...not here.
45268         Reported by Tom G. Christensen in
45269         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
45271         version-etc: update copyright year reported by --version
45272         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
45274 2011-12-31  Pádraig Brady  <P@draigBrady.com>
45276         canonicalize: only stat() if required
45277         * lib/canonicalize.c (canonicalize_filename_mode):
45278         Avoid calling l?stat() when both CAN_MISSING,
45279         and CAN_NOLINKS are set, as we neither need
45280         to resolve symlinks or test component existence.
45282 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
45284         doc: cover st_ino issues once; add OpenVMS etc.
45285         * doc/posix-functions/stat.texi (stat):
45286         * doc/posix-functions/lstat.texi (lstat):
45287         * doc/posix-functions/fstatat.texi (fstatat):
45288         * doc/posix-functions/fstat.texi (fstat):
45289         Move general 'struct stat' stuff to sys_stat.texi,
45290         leaving behind a pointer.
45291         * doc/posix-headers/sys_stat.texi (sys/stat.h):
45292         Merge duplicate info about 'struct stat' problems into here.
45293         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
45294         and suggest partial workarounds.
45296         same-inode: port to OpenVMS
45297         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
45298         three st_ino values.
45300 2011-12-30  Pádraig Brady  <P@draigBrady.com>
45302         canonicalize: fix references to stat() and lstat()
45303         * lib/canonicalize.c (canonicalize_filename_mode):
45304         Ensure references always resolve to a replacement
45305         function if required (even via a macro).
45307 2011-12-30  Jim Meyering  <meyering@redhat.com>
45309         gitlog-to-changelog: remove a little duplication
45310         * build-aux/gitlog-to-changelog (main): Grep @lines once,
45311         rather than twice.
45313 2011-12-29  Pádraig Brady  <P@draigBrady.com>
45315         canonicalize: add support for not resolving symlinks
45316         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
45317         indicate we don't want to follow symlinks.  Also
45318         provide CAN_MODE_MASK to aid setting these existing
45319         mutually exclusive values.
45320         * lib/canonicalize.c (canonicalize_filename_mode):
45321         Extract the flags from can_mode parameter, which
45322         are currently just used to select between stat()
45323         and lstat().  Also ensure that mutually exclusive
45324         values are flagged immediately as invalid.
45325         * tests/test-canonicalize.c: Verify symlinks are
45326         not followed, and that invalid flag combinations
45327         are diagnosed.
45329 2011-12-25  Jim Meyering  <meyering@redhat.com>
45331         gitlog-to-changelog: do not clump multi-paragraph entries
45332         Identical header lines (date,name,email+coauthors) are suppressed,
45333         thus putting all entries with those same characteristics under
45334         a single header.  However, when a log entry consists of two or
45335         more paragraphs, it may not be clear where it starts and ends.
45336         This change makes it so that such an entry is always separated
45337         from others by a header line, even when that header would
45338         otherwise be suppressed.
45339         * build-aux/gitlog-to-changelog: Implement the above.
45340         Inspired by a related request from Stefano Lattarini in
45341         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
45343 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
45345         announce-gen: fix `cmd' typo in diagnostic
45346         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
45347         diagnostic: a missing '$' meant that the command was not output.
45349 2011-12-23  Jim Meyering  <meyering@redhat.com>
45351         test-framework-sh: distribute init.sh
45352         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
45353         Otherwise, "make -C gnulib-tests check" (at least in grep) would
45354         fail due to the lack of init.sh.
45356         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
45357         * modules/atexit-tests: Rather than listing tests/init.sh,
45358         now that there's a module for it, simply depend on that new module.
45359         * modules/closein-tests: Likewise.
45360         * modules/exclude-tests: Likewise.
45361         * modules/getcwd-tests: Likewise.
45362         * modules/perror-tests: Likewise.
45363         * modules/pread-tests: Likewise.
45364         * modules/pwrite-tests: Likewise.
45365         * modules/vc-list-files-tests: Likewise.
45366         * modules/verify-tests: Likewise.
45367         * modules/xalloc-die-tests: Likewise.
45368         * modules/xstrtoimax-tests: Likewise.
45369         * modules/xstrtol-tests: Likewise.
45370         * modules/xstrtoll-tests: Likewise.
45371         * modules/xstrtoumax-tests: Likewise.
45372         * modules/yesno-tests: Likewise.
45374 2011-12-22  Jim Meyering  <meyering@redhat.com>
45376         test-framework-sh: add minimal tests of init.sh's compare function
45377         * modules/test-framework-sh-tests: New file.
45378         * tests/test-init.sh: New file.
45380         test-framework-sh: new module
45381         * modules/test-framework-sh: New file.
45382         * MODULES.html.sh (Support for maintaining and releasing projects):
45383         List it.
45385         init.sh: do not emit simulated diff output to stderr
45386         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
45388 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
45390         .gitignore: ignore gnulib.dvi and regex.info
45391         * doc/.gitignore:add gnulib.dvi and regex.info
45393 2011-12-22  Jim Meyering  <meyering@redhat.com>
45395         init.sh: correct previous change
45396         * tests/init.sh (compare): My previous change was wrong.
45397         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
45399         init.sh: avoid unwarranted test failure when using "set -e"
45400         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
45401         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
45402         a use like "compare exp out" would get evoke an unconditional failure.
45404 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
45406         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
45407         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
45408         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
45409         autoreconf that did not.
45410         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
45411         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
45413 2011-12-17  Jim Meyering  <meyering@redhat.com>
45415         bootstrap: remove some now-unneeded code
45416         This script arose back when gnulib-tool was young.
45417         Since then, it has seen improvements that render much of this
45418         script unnecessary.  In particular, it can now make symlinks
45419         to the files it uses.  Also, I no longer see as much value in
45420         marking files as read-only via comments.
45421         If you relied on the symlink-creation feature of the preceding
45422         version of this script, you can get most of that functionality
45423         by adding the --symlink option to the definition of
45424         gnulib_tool_option_extras in your bootstrap.conf file.
45425         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
45426         Run autopoint and libtoolize *before* gnulib-tool.
45427         After it, run an abbreviated autoreconf, rather than a loop around
45428         all tools.
45429         (slirp, bt_mark_as_generated): Remove functions.
45431 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
45433         ftoastr: fix typo
45434         * lib/ftoastr.h: Fix misspelling in comment.
45436 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
45438         * top/README-release: fix punctuation.
45440 2011-12-17  Jim Meyering  <meyering@redhat.com>
45442         bootstrap: correct the recent buildreq change
45443         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
45444         had no effect.
45445         * build-aux/bootstrap (buildreq): Bracket each search term with
45446         "*...*", so that the shell "case" statement works as intended.
45447         Add comments.
45449 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
45451         build: let bootstrap resort to wget when downloading .po files
45452         * build-aux/bootstrap (download_po_files): Fallback to wget when
45453         downloading the .po files via rsync fails.  This is necessary to
45454         bootstrap from behind a strict firewall.
45456 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
45458         stdint: don't assume C++11 when compiling with g++
45459         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
45460         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
45461         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
45462         work also in C++ before C++11, as that improperly inhibits
45463         generating a substitute stdint.h for that case.
45465 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
45467         alloca: protect comment from gnulib-tool
45468         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
45469         that gnulib-tool doesn't think it's a license, and munge it to
45470         say "GCC version 3".
45472 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
45474         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
45475         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
45476         $(abs_top_builddir) instead of $(top_builddir).
45478 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
45480         strftime-tests: also test nanoseconds
45481         * tests/test-strftime.c (T): Add a test of %N.
45483 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
45485         inttypes, stdint: add C++11 support
45486         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
45487         when including inttypes.h and stdint.h.  Support this change to
45488         the standard.
45489         * doc/posix-headers/inttypes.texi (inttypes.h):
45490         * doc/posix-headers/stdint.texi (stdint.h): Document this.
45491         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
45492         Define if not defined already, for the benefit of pre-C++11 hosts.
45493         Define the standard format macros (e.g., PRId8) always.
45494         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
45495         Likewise, if __cpluspus.  Define the standard constant and limit
45496         macros (e.g., INT8_C, INT8_MAX) always.
45497         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
45498         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
45499         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
45500         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
45501         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
45502         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
45503         Likewise.
45505 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
45507         nonblocking tests: Fix test failure on Linux/PPC.
45508         Suggested by Prerna Saxena in
45509         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
45510         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
45511         Set to 1100000.
45513 2011-12-12  Jim Meyering  <meyering@redhat.com>
45515         argmatch: don't hard-code `' when listing valid option arguments
45516         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
45517         use the quote function to add quotes.  Use fputs rather than
45518         fprintf for the format string with no format directive.
45520 2011-12-07  Eric Blake  <eblake@redhat.com>
45522         bootstrap: detect tools required by gnulib-tool
45523         * build-aux/bootstrap (buildreq): Provide minimum implicit
45524         dependencies.
45525         * DEPENDENCIES: Mention patch as a prereq.
45527 2011-12-04  Bruno Haible  <bruno@clisp.org>
45529         sethostname: Port to Windows platforms.
45530         * lib/sethostname.c: Provide an alternate implementation for Windows
45531         platforms.
45532         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
45533         (main): Skip the test if sethostname() fails with EPERM. On Windows
45534         platforms, don't check the result of gethostname().
45536 2011-12-04  Bruno Haible  <bruno@clisp.org>
45537             Jim Meyering  <meyering@redhat.com>
45539         tests: Avoid spurious error message on platforms without mktemp program.
45540         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
45542 2011-12-04  Bruno Haible  <bruno@clisp.org>
45544         sethostname: Fix documentation.
45545         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
45546         "not fixed" section.
45548 2011-12-03  Bruno Haible  <bruno@clisp.org>
45550         gnulib-tool: Verify that the License field is present and non-empty.
45551         * gnulib-tool (func_get_license_raw): New function, extracted from
45552         func_get_license.
45553         (func_get_license): Use it. Warn if the module is not a test module and
45554         has no license.
45555         Suggested by Jim Meyering.
45557 2011-12-03  Bruno Haible  <bruno@clisp.org>
45559         sethostname tests: Fix link error on mingw.
45560         * tests/test-sethostname1.c: New file, extracted from
45561         tests/test-sethostname.c.
45562         * tests/test-sethostname2.c: New file, extracted from
45563         tests/test-sethostname.c.
45564         * tests/test-sethostname.c: Remove file.
45565         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
45566         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
45567         (Depends-on): Add gethostname.
45568         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
45569         Link the latter with $(GETHOSTNAME_LIB).
45571         sethostname tests: Fix compilation error on mingw.
45572         * tests/test-sethostname.c: Don't include <sys/types.h>.
45573         (geteuid): Use a dummy value without uid_t.
45574         * modules/sethostname-tests (Depends-on): Remove sys_types.
45576         sethostname tests: Avoid a gcc warning.
45577         * tests/test-sethostname.c (main): Remove an unused variable.
45579         Tweak last commit.
45580         * modules/sethostname-tests (Files): Sort by decreasing importance.
45581         (configure.ac): Check for geteuid.
45582         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
45583         the test when there's nothing to test. Drop an unnecessary cast.
45584         Improve an error message. Verify that the final sethostname() call
45585         succeeds.
45587 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45589         Add a test suite for the sethostname module.
45590         * modules/sethostname-tests: New file.  A test program
45591         for the sethostname module.
45592         * tests/test-sethostname.c: Likewise.
45594 2011-12-03  Bruno Haible  <bruno@clisp.org>
45596         Tweak last commit.
45597         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
45598         Fix preprocessor directives indentation. Fix typos.
45599         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
45600         * modules/unistd (Makefile): Likewise.
45602 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45604         Integrate the sethostname module into unistd.
45605         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
45606         into the unistd.h header.
45607         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
45608         preprocessor directives.
45609         * modules/unistd: Setup the Makefile substitutions of the
45610         SETHOSTNAME preprocessor directives.
45612 2011-12-03  Bruno Haible  <bruno@clisp.org>
45614         Tweak last commit.
45615         * lib/sethostname.c: Don't include <string.h>.
45616         (sethostname): No need to copy the argument string to the stack. Don't
45617         call clearerr. Preserve errno when fprintf failed.
45618         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
45619         Don't invoke AC_REPLACE_FUNCS.
45620         * modules/sethostname (Link): Remove empty section.
45621         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
45622         failure problem.
45624 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45626         New module 'sethostname'.
45627         * lib/sethostname.c (sethostname): New file.  Provide sethostname
45628         for systems that lack it.
45629         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
45630         sethostname declaration and function.
45631         * modules/sethostname: New file.  Define the sethostname module.
45633 2011-12-03  Bruno Haible  <bruno@clisp.org>
45635         Tweak last commit.
45636         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
45638 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45640         Split the HOST_NAME_MAX detection into a separate m4 macro.
45641         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
45642         macro so it can be used by the pending sethostname module.
45644 2011-12-03  Bruno Haible  <bruno@clisp.org>
45646         Fix module descriptions syntax.
45647         * modules/argv-iter (License): Fix syntax.
45648         * modules/di-set (License): Likewise.
45649         * modules/ino-map (License): Likewise.
45650         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
45652 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
45654         stdalign: port to Clang 3.0
45655         Problem reported by Simon Josefsson in
45656         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
45657         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
45658         which has <stdalign.h> but which does not define alignof.
45659         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
45661 2011-12-01  Eric Blake  <eblake@redhat.com>
45663         mktempd: silence dd usage
45664         * build-aux/mktempd (rand_bytes): Silence dd.
45666 2011-11-30  Simon Josefsson  <simon@josefsson.org>
45668         manywarnings: Don't mention gcc version in docstring.
45669         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
45670         Jim Meyering <meyering@redhat.com>.
45672 2011-11-30  Jim Meyering  <meyering@redhat.com>
45674         hash: mark a few floating point constants with "f" suffix
45675         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
45676         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
45677         floating point constants with "f", since they're destined to be
45678         saved/used as "float"s.
45680 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
45682         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
45683         * tests/test-float.c (test_long_double): Correct and re-enable the
45684         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
45686 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
45688         Avoid subtracting two pointers that don't point into the same block.
45689         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
45690         only pointers into the same memory block are subtracted. We cannot
45691         assume that sizeof (ptrdiff_t) == sizeof (void *).
45693 2011-11-29  Eric Blake  <eblake@redhat.com>
45695         maint.mk: add syntax check for use of compare from init.sh
45696         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
45697         moved here from coreutils.
45699         manywarnings: drop -Wunsuffixed-float-constants
45700         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
45701         '1.0D', which is the only way to silence this warning for 'double'.
45703 2011-11-29  Jim Meyering  <meyering@redhat.com>
45705         hash: mark compute_bucket_size with the pure attribute
45706         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
45708         quotearg, propername: correct pragma guard expression
45709         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
45710         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
45712 2011-11-28  Jim Meyering  <meyering@redhat.com>
45714         propername: do not mark proper_name with the const attribute
45715         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
45716         since it examines data pointed to by its parameter.
45717         * lib/propername.c (proper_name): Instead, add a pragma to suppress
45718         the suggestion from -Wsuggest-attribute=const.
45720         propername: mark one more function as const
45721         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
45723 2011-11-27  Jim Meyering  <meyering@redhat.com>
45725         mark functions with const and pure attributes
45727         Mark functions per suggestions from gcc-4.6 when using these options:
45728         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
45729         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
45730         Follow these guidelines: when possible, apply the attribute to
45731         an extern declaration, not to its definition.  Apply it to the
45732         definition only when the definition is static.
45733         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
45734         * lib/argv-iter.h (argv_iter_n_args): Likewise.
45735         * lib/base64.h (isbase64): Likewise.
45736         * lib/basename-lgpl.c (last_component, base_len): Likewise.
45737         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
45738         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
45739         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
45740         (c_tolower, c_toupper): Likewise.
45741         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
45742         * lib/chdir-long.c (find_non_slash): Likewise.
45743         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
45744         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
45745         * lib/file-type.h (file_type): Likewise.
45746         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
45747         * lib/filevercmp.c (verrevcmp): Likewise.
45748         * lib/freadahead.h (freadahead): Likewise.
45749         * lib/fts.c (fts_maxarglen): Likewise.
45750         * lib/hash-pjw.h (hash_pjw): Likewise.
45751         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
45752         * lib/hash.c (is_prime, next_prime): Likewise.
45753         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
45754         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
45755         (hash_table_ok, hash_get_first, hash_string): Likewise.
45756         (compute_bucket_size): Likewise.
45757         * lib/i-ring.h (i_ring_empty): Likewise.
45758         * lib/isnan.c (isnanl): Likewise.
45759         * lib/math.h (isnanl, rpl_isnanl): Likewise.
45760         * lib/memcasecmp.h (memcasecmp): Likewise.
45761         * lib/memchr2.h (memchr2): Likewise.
45762         * lib/memcmp2.h (memcmp2): Likewise.
45763         * lib/parse-datetime.y (lookup_zone): Likewise.
45764         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
45765         [!WINDOWS_SOCKETS]: Likewise.
45766         * lib/strnlen1.h (strnlen1): Likewise.
45767         * lib/uniwidth.in.h (uc_width): Likewise.
45768         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
45769         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
45770         (quoting_options_from_style): Add a comment.
45771         * lib/propername.h (proper_name): Add a comment.
45773 2011-11-27  Bruno Haible  <bruno@clisp.org>
45775         Remove unused macros from !_LIBC code in glibc-borrowed files.
45776         * lib/fnmatch.c (STRCOLL): Remove macro.
45777         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
45778         * lib/glob.c (__stat, __readdir64): Remove macros.
45779         * lib/tempname.c (__open64, __xstat64): Remove macros.
45780         Suggested by Paul Eggert.
45782 2011-11-27  Bruno Haible  <bruno@clisp.org>
45784         getcwd: Fix link error on MSVC 9.
45785         * modules/getcwd (Depends-on): Add readdir, rewinddir.
45787 2011-11-27  Bruno Haible  <bruno@clisp.org>
45789         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
45790         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
45791         HAVE_OPENDIR is 0.
45792         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
45793         HAVE_CLOSEDIR is 0.
45794         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
45795         is 0.
45796         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
45798 2011-11-27  Bruno Haible  <bruno@clisp.org>
45800         getcwd: Fix bug from 2011-08-17.
45801         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
45802         platforms that need it.
45803         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
45804         code of 4 to be a failure, not a success. This ensures that
45805         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
45807 2011-11-27  Bruno Haible  <bruno@clisp.org>
45809         binary-io tests: Avoid test failure on mingw when libtool is used.
45810         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
45811         Don't verify the size of t-bin-out1.tmp here.
45812         * tests/test-binary-io.sh: Verify it here.
45813         Reported by Simon Josefsson.
45815 2011-11-26  Bruno Haible  <bruno@clisp.org>
45817         Fix conflict between two instantiations of module 'unistd'.
45818         * gnulib-tool (func_emit_autoconf_snippet): Substitute
45819         ${include_guard_prefix} also in the autoconf snippet.
45820         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
45821         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
45822         GNULIB_UNISTD_H_GETOPT.
45823         * modules/getopt-posix (configure.ac): Set the
45824         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
45825         * modules/getopt-gnu (configure.ac): Likewise.
45826         * modules/unistd (Makefile.am): Change the substitution value of
45827         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
45828         Reported by Simon Josefsson.
45830 2011-11-25  Bruno Haible  <bruno@clisp.org>
45832         pagealign_alloc: Doc and comments.
45833         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
45834         module.
45835         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
45837 2011-11-25  Jim Meyering  <meyering@redhat.com>
45839         test-update-copyright.sh: avoid false-positive failure
45840         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
45841         around false positive failure on Cygwin/Windows.  The latter was
45842         matching erroneously-created files with names like
45843         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
45845 2011-11-25  Simon Josefsson  <simon@josefsson.org>
45847         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
45848         * m4/valgrind-tests.m4: Check that the parameters that will be
45849         used works, not just a subset of them.  Reported by Bruno Haible
45850         <bruno@clisp.org>.
45852 2011-11-24  Jim Meyering  <meyering@redhat.com>
45854         test-stdalign.c: comment out long double tests
45855         * tests/test-stdalign.c: Don't try to reduce alignment of long double
45856         variables.  That provokes errors like this from gcc-4.7.0 20111124:
45857         error: '_Alignas' specifiers cannot reduce alignment of \
45858         'static_longdouble_alignas'.
45860 2011-11-22  Jim Meyering  <meyering@redhat.com>
45862         init.sh: make "compare /dev/null FILE" output more readable
45863         * tests/init.sh (compare_): Document the preferred order of arguments.
45864         (emit_diff_u_header_): New function.
45865         (compare_dev_null_): Emit a simulated diff, rather than just the
45866         contents of the unexpected file.  Suggestion from Bruno Haible.
45868 2011-11-21  Jim Meyering  <meyering@redhat.com>
45869             Eric Blake  <eblake@redhat.com>
45871         init.sh: work around OSF/1 5.1's mishandling of /dev/null
45872         * tests/init.sh: Make our compare function slightly more portable.
45873         Reported by Bruno Haible in
45874         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
45876 2011-11-21  Simon Josefsson  <simon@josefsson.org>
45878         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
45879         before using it, in code that ends up in config.h.
45881 2011-11-20  Bruno Haible  <bruno@clisp.org>
45883         getcwd: Work around getcwd bug on AIX 5..7.
45884         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
45885         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
45886         Use a different value for gl_cv_func_getcwd_path_max. Move the
45887         definition of HAVE_PARTLY_WORKING_GETCWD from here...
45888         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
45889         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
45890         Define HAVE_MINIMALLY_WORKING_GETCWD.
45891         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
45892         where it is not even minimally working, that is, on AIX.
45893         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
45894         m4/getcwd-path-max.m4.
45895         (main): Update exit code computation.
45896         * doc/posix-functions/getcwd.texi: Mention list of platforms where
45897         getcwd does not handle long file names.
45899 2011-11-20  Bruno Haible  <bruno@clisp.org>
45901         getcwd: Fix bug from 2009-09-10.
45902         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
45903         like "no".
45905 2011-11-20  Simon Josefsson  <simon@josefsson.org>
45907         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
45909 2011-11-20  Bruno Haible  <bruno@clisp.org>
45911         fma tests: Avoid shadowing local variables.
45912         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
45913         expected.
45915 2011-11-20  Bruno Haible  <bruno@clisp.org>
45917         copysignf tests: Fix.
45918         * tests/test-copysignf.c: Fix signature check.
45920 2011-11-20  Bruno Haible  <bruno@clisp.org>
45922         fma: Remove unused code.
45923         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
45924         unused macros.
45926 2011-11-20  Bruno Haible  <bruno@clisp.org>
45928         sethostname: Fix doc about AIX.
45929         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
45930         sethostname; it has it.
45932         sethostname: Mention more portability problems.
45933         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
45934         problem.
45935         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
45937 2011-11-19  Bruno Haible  <bruno@clisp.org>
45939         Depend on module fcntl-h when AT_FDCWD is used.
45940         * modules/utimens (Depends-on): Add fcntl-h.
45941         * modules/areadlinkat (Depends-on): Likewise.
45942         * modules/areadlinkat-with-size (Depends-on): Likewise.
45943         * modules/faccessat (Depends-on): Likewise.
45944         * modules/fchmodat (Depends-on): Likewise.
45945         * modules/fchownat (Depends-on): Likewise.
45946         * modules/getcwd (Depends-on): Likewise.
45947         * modules/mkdirat (Depends-on): Likewise.
45948         * modules/mkfifoat (Depends-on): Likewise.
45949         * modules/readlinkat (Depends-on): Likewise.
45950         * modules/symlinkat (Depends-on): Likewise.
45951         * modules/dup2-tests (Depends-on): Likewise.
45952         * modules/fdutimensat-tests (Depends-on): Likewise.
45953         * modules/futimens-tests (Depends-on): Likewise.
45955 2011-11-19  Bruno Haible  <bruno@clisp.org>
45957         euidaccess: Update a comment.
45958         * lib/euidaccess.c: Update comment about platforms with faccessat.
45960 2011-11-19  Bruno Haible  <bruno@clisp.org>
45962         openat: Fix file list.
45963         * modules/openat (Files): Remove lib/at-func.c.
45965 2011-11-19  Bruno Haible  <bruno@clisp.org>
45967         fstatat: Simplify.
45968         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
45969         gnulib should define rpl_fstatat, there is a
45970         "#define fstatat rpl_fstatat" in <sys/stat.h>.
45972 2011-11-19  Bruno Haible  <bruno@clisp.org>
45974         Ensure 'inline' can be used in tests/test-utimens-common.h.
45975         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
45976         * modules/futimens-tests (configure.ac): Likewise.
45977         * modules/utimens-tests (configure.ac): Likewise.
45978         * modules/utimensat-tests (configure.ac): Likewise.
45980 2011-11-19  Simon Josefsson  <simon@josefsson.org>
45982         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
45983         not hash_insert0.
45984         (hash_insert_if_absent): Doc fix.
45986 2011-11-19  Simon Josefsson  <simon@josefsson.org>
45988         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
45990 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
45992         test-getcwd: disambiguate exit status
45993         * tests/test-getcwd.c (test_long_name): Return 0..7.
45994         (main): Exit with an unambiguous exit status.  The old
45995         code yielded a mysterious mixture of two failure codes.
45997         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
45998         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
45999         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
46000         rpl_fstatat or fstatat.  This should fix the other problem
46001         reported by Kai Habel in
46002         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
46003         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
46004         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
46005         and I reproduced it on a Solaris 8 host we still have in production.
46007 2011-11-18  Jim Meyering  <meyering@redhat.com>
46009         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
46010         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
46011         Add a sentence to the comment.
46012         (hash_insert0): New function that simply calls hash_insert_if_absent.
46013         * lib/hash.h (hash_insert_if_absent): Declare it.
46014         (hash_insert0): Add deprecation attribute.
46015         (_GL_ATTRIBUTE_DEPRECATED): Define.
46016         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
46017         not hash_insert0.
46018         * NEWS: Mention it, even though it's not really an incompatible change.
46020 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
46022         openat: avoid compilation failure due to lack of <errno.h> inclusion
46023         * lib/openat.c: Include <errno.h>.
46025 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46027         * modules/getcwd (Depends-on): Add fdopendir.
46028         This fixes one of the two problems reported by Kai Habel in
46029         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
46031         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
46032         stdalign problem reported by Ian Beckwith in
46033         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
46034         * modules/crypto/gc-arcfour (Depends-on):
46035         Depend conditionally on crypto/arcfour.
46036         * modules/crypto/gc-arctwo (Depends-on):
46037         Depend conditionally on crypto/arctwo.
46038         * modules/crypto/gc-des (Depends-on):
46039         Depend conditionally on crypto/des.
46040         * modules/crypto/gc-hmac-md5 (Depends-on):
46041         Depend conditionally on crypto/hmac-md5.
46042         * modules/crypto/gc-hmac-sha1 (Depends-on):
46043         Depend conditionally on crypto/hmac-sha1.
46044         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
46045         * modules/crypto/gc-md4 (Depends-on):
46046         Depend conditionally on crypto/md4.
46047         * modules/crypto/gc-md5 (Depends-on):
46048         Depend conditionally on crypto/md5.
46049         * modules/crypto/gc-rijndael (Depends-on):
46050         Depend conditionally on crypto/rijndael.
46051         * modules/crypto/gc-sha1 (Depends-on):
46052         Depend conditionally on crypto/sha1.
46053         * modules/crypto/gc-arcfour:
46054         * modules/crypto/gc-arctwo:
46055         * modules/crypto/gc-des:
46056         * modules/crypto/gc-hmac-md5:
46057         * modules/crypto/gc-hmac-sha1:
46058         * modules/crypto/gc-md2:
46059         * modules/crypto/gc-md4:
46060         * modules/crypto/gc-md5:
46061         * modules/crypto/gc-rijndael:
46062         * modules/crypto/gc-sha1:
46063         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
46064         now that the conditional dependencies do the work for us.
46066 2011-11-17  Jim Meyering  <meyering@redhat.com>
46068         tests: factor st_ctime-comparison out of two headers
46069         * tests/test-utimens-common.h (ctime_compare): Define.
46070         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
46071         * tests/test-lutimens.h (test_lutimens): Likewise.
46072         * tests/test-utimens.h (test_utimens): Likewise.
46074         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
46075         Invoke the test program via an init.sh-using wrapper.
46076         * tests/test-getcwd.sh: New file.
46077         * modules/getcwd-tests (Files): Add it.
46078         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
46080 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
46082         gitlog-to-changelog: support multi-author commits.
46083         The FSF cares about keeping track of all authors of patches to its
46084         projects, but Git doesn't provide obvious support for multi-author
46085         changesets. Consensus seems to be forming around the use of extra
46086         Signed-off-by inspired lines in the log message formatted as
46087         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
46088         multi-author commits between version control systems.
46089         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
46090         log message and output in standard ChangeLog multi-author format.
46091         Reported by Peter Rosin <peda@lysator.liu.se>
46093 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
46094             Bruno Haible  <bruno@clisp.org>
46096         Fix some modules' file list.
46097         * modules/fstatat (Files): Add m4/lstat.m4.
46098         * modules/openat (Files): Likewise.
46099         * modules/unlinkat (Files): Likewise.
46101 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
46103         maint.mk: fix tight-scope.mk generation in VPATH builds.
46104         * top/maint.mk (tight-scope.mk): Make sure to prefix file
46105         reference with $(srcdir) so that the file is found correctly even
46106         when running `make syntax-check' in a VPATH build.
46108 2011-11-13  Bruno Haible  <bruno@clisp.org>
46109             Jim Meyering  <meyering@redhat.com>
46111         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
46112         * tests/init.sh (compare): Remove "No differences encountered" or
46113         synonymous output from the 'diff' program.
46115 2011-11-13  Bruno Haible  <bruno@clisp.org>
46117         Makefile: Tweak indentation.
46118         * Makefile: Use tab as first character in every line that contains rule
46119         commands.
46121 2011-11-13  Bruno Haible  <bruno@clisp.org>
46123         Syntax check for copyright statements.
46124         * check-copyright: New file.
46125         * Makefile (sc_check_copyright): New rule.
46127 2011-11-13  Simon Josefsson  <simon@josefsson.org>
46129         * build-aux/git-version-gen: Add --prefix to configure the tag
46130         match string.
46132 2011-11-13  Simon Josefsson  <simon@josefsson.org>
46134         * build-aux/git-version-gen: Add --help and --version.
46136 2011-11-12  Jim Meyering  <meyering@redhat.com>
46138         revamp the other test-exclude?.sh scripts to use init.sh, too
46139         * tests/test-exclude1.sh: Use init.sh.
46140         * tests/test-exclude2.sh: Likewise.
46141         * tests/test-exclude3.sh: Likewise.
46142         * tests/test-exclude4.sh: Likewise.
46143         * tests/test-exclude5.sh: Likewise.
46144         * tests/test-exclude6.sh: Likewise.
46145         * tests/test-exclude7.sh: Likewise.
46146         * tests/test-exclude8.sh: Likewise.
46147         * modules/exclude-tests (Files): List init.sh.
46149         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
46150         These shell scripts ignored failure of the binary test-exclude,
46151         so making the latter return 77 didn't cause them to be skipped.
46152         * tests/test-exclude5.sh: Exit with test-exclude's error status
46153         when that program fails.  Revamp to use init.sh.
46154         * tests/test-exclude2.sh: Likewise.
46156         test-exclude: fix a typo
46157         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
46159 2011-11-11  Bruno Haible  <bruno@clisp.org>
46161         obstack: Fix compilation error on MSVC 9.
46162         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
46164 2011-11-11  Jim Meyering  <meyering@redhat.com>
46166         test-exclude: skip tests rather than failing on deficient systems
46167         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
46168         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
46169         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
46170         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
46172 2011-11-10  Bruno Haible  <bruno@clisp.org>
46174         ptsname_r test: Avoid gcc warning on glibc systems.
46175         * tests/test-ptsname_r.c (null_ptr): New function.
46176         (test_errors): Use it.
46178 2011-11-10  Bruno Haible  <bruno@clisp.org>
46180         ptsname_r: Avoid compilation error on OSF/1 5.1.
46181         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
46182         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
46183         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
46184         function is not declared or incompatibly declared.
46185         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
46186         * modules/ptsname_r (Depends-on, configure.ac): Update.
46187         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
46189 2011-11-10  Bruno Haible  <bruno@clisp.org>
46191         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
46192         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
46193         When cross-compiling, guess yes on all platforms except AIX.
46194         Reported by Ludovic Courtès <ludo@gnu.org>.
46196 2011-11-09  Bruno Haible  <bruno@clisp.org>
46198         ptsname_r tests: Fix bugs.
46199         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
46200         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
46202 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
46204         fstatat: work with cross-compilation
46205         Problem reported by Ludovic Courtès in
46206         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
46207         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
46208         "cross-compiling" and assume the bug is present.  Replace
46209         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
46210         an inverted sense, to be more conservative about our assumptions.
46211         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
46213 2011-11-09  Bruno Haible  <bruno@clisp.org>
46215         Improve MODULES.html output.
46216         * modules/mkfifoat (Description): Use the word "function".
46217         * modules/readlinkat (Description): Likewise.
46218         * modules/symlinkat (Description): Likewise.
46220 2011-11-09  Eric Blake  <eblake@redhat.com>
46222         ptsname_r-tests: new test module
46223         * modules/ptsname_r-tests: New module.
46224         * tests/test-ptsname_r.c: New file.
46226         ptsname_r: new module
46227         * modules/ptsname_r: New module.
46228         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
46229         * lib/ptsname.c (__ptsname_r): Split...
46230         * lib/ptsname_r.c: ...into new file.
46231         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
46232         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
46233         * modules/stdlib (Makefile.am): Substitute witnesses.
46234         * lib/stdlib.in.h (ptsname_r): Declare it.
46235         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
46236         * MODULES.html.sh (Misc): Likewise.
46237         * modules/ptsname (Depends-on): Alter dependency.
46238         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
46240 2011-11-09  Jim Meyering  <meyering@redhat.com>
46242         announce-gen: be more concise when there's only one URL+tarball
46243         * build-aux/announce-gen (get_tool_versions): When you distribute
46244         only one type of tarball, combine the first two "Here are..."
46245         sections and make the key-checking grammar independent of
46246         how many tarballs there are.
46248 2011-11-09  Eric Blake  <eblake@redhat.com>
46250         openpty: provide a stub on mingw
46251         * lib/pty.in.h (includes): Provide forward declarations.
46252         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
46254         raise: fix mingw handling of SIGPIPE
46255         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
46257 2011-11-08  Bruno Haible  <bruno@clisp.org>
46259         More conditional dependencies.
46260         * modules/faccessat (Depends-on): Add conditions.
46261         * modules/fchmodat (Depends-on): Likewise.
46262         * modules/fchownat (Depends-on): Likewise.
46263         * modules/fstatat (Depends-on): Likewise.
46264         * modules/mkfifoat (Depends-on): Likewise.
46265         * modules/readlinkat (Depends-on): Likewise.
46266         * modules/symlinkat (Depends-on): Likewise.
46267         * modules/unlinkat (Depends-on): Likewise.
46268         * modules/utimensat (Depends-on): Likewise.
46269         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
46270         * modules/linkat (Depends-on): Refine the conditions.
46271         * modules/renameat (Depends-on): Likewise.
46273 2011-11-08  Bruno Haible  <bruno@clisp.org>
46275         faccessat: Move AC_LIBOBJ invocation to module description.
46276         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
46277         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
46278         invocation from here...
46279         * modules/faccessat (configure.ac): ... to here. Invoke
46280         gl_PREREQ_FACCESSAT.
46282 2011-11-08  Bruno Haible  <bruno@clisp.org>
46284         faccessat: Simplify autoconf macro.
46285         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
46286         gl_FUNC_EUIDACCESS.
46288 2011-11-08  Bruno Haible  <bruno@clisp.org>
46290         renameat: Fix dependencies.
46291         * modules/renameat (Depends-on): Add stdbool.
46293 2011-11-08  Bruno Haible  <bruno@clisp.org>
46295         mkfifoat: Fix module description.
46296         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
46297         not gl_UNISTD_MODULE_INDICATOR.
46299 2011-11-08  Bruno Haible  <bruno@clisp.org>
46301         fstatat: Remove unused dependency.
46302         * modules/fstatat (Depends-on): Remove fstat.
46304 2011-11-08  Simon Josefsson  <simon@josefsson.org>
46306         GNUmakefile: behave when Makefile is missing.
46307         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
46309 2011-11-08  Bruno Haible  <bruno@clisp.org>
46311         openat: Conditionalize dependencies.
46312         * lib/openat.c: Reduce the scope of some #includes.
46313         * modules/openat (Depends-on): Add conditions.
46315 2011-11-07  Jim Meyering  <meyering@redhat.com>
46317         maint.mk: extract GPG key ID without using a temporary file
46318         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
46319         without using a temporary file.  Based on a suggestion from Werner Koch
46320         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
46322 2011-11-07  Eric Blake  <eblake@redhat.com>
46324         grantpt: fix typo
46325         * lib/stdlib.in.h (grantpt): Check correct function.
46327         maint.mk: silence new syntax check
46328         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
46330 2011-11-06  Bruno Haible  <bruno@clisp.org>
46332         Doc about floating-point and math API.
46333         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
46334         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
46336 2011-11-06  Bruno Haible  <bruno@clisp.org>
46338         stdalign tests: Skip the test when compiled by Sun C.
46339         * tests/test-stdalign.c (main): Skip the test on Sun C.
46341 2011-11-06  Bruno Haible  <bruno@clisp.org>
46343         ansi-c++-opt: Complete the 2011-06-05 change.
46344         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
46345         does not support namespaces, set the variable to "no", not to ":".
46347 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
46349         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
46351 2011-11-06  Bruno Haible  <bruno@clisp.org>
46353         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
46354         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
46355         (minus_zerol) [HP-UX]: New macro.
46356         (unary_minus) [HP-UX]: New function.
46357         (copysignl) [HP-UX]: Use unary_minus function.
46359 2011-11-06  Bruno Haible  <bruno@clisp.org>
46361         ldexp, ldexpf, ldexpl: Enhance tests.
46362         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
46363         and tests/test-ldexpl.c.
46364         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
46365         LDEXP, MIN_EXP, MAX_EXP): New macros.
46366         Include test-ldexp.h.
46367         (main): Just call test_function.
46368         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
46369         infinity.h, nan.h.
46370         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
46371         MAX_EXP): New macros.
46372         Include test-ldexp.h.
46373         (x, y): Remove variables.
46374         (main): Just call test_function.
46375         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
46376         infinity.h, nan.h.
46377         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
46378         MAX_EXP): New macros.
46379         Include test-ldexp.h.
46380         (x, y): Remove variables.
46381         (main): Just call test_function.
46382         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
46383         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
46384         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
46385         (Depends-on): Add isnand-nolibm, signbit, float.
46386         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
46387         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
46388         (Depends-on): Add isnanf-nolibm, signbit, float.
46390 2011-11-06  Bruno Haible  <bruno@clisp.org>
46392         math tests: Cosmetics.
46393         * tests/test-math-c++.cc: Reorder declarations.
46395 2011-11-05  Bruno Haible  <bruno@clisp.org>
46397         fma*: Simplify test.
46398         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
46399         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
46401         Tests for module 'fmal'.
46402         * modules/fmal-tests: New file.
46403         * tests/test-fmal1.c: New file.
46404         * tests/test-fmal2.c: New file.
46406         New module 'fmal'.
46407         * lib/math.in.h (fmal): New declaration.
46408         * lib/fmal.c: New file.
46409         * m4/fmal.m4: New file.
46410         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
46411         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
46412         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
46413         REPLACE_FMAL.
46414         * modules/fmal: New file.
46415         * doc/posix-functions/fmal.texi: Mention the new module and the various
46416         bugs.
46418         Tests for module 'fmaf'.
46419         * modules/fmaf-tests: New file.
46420         * tests/test-fmaf1.c: New file.
46421         * tests/test-fmaf2.c: New file.
46423         New module 'fmaf'.
46424         * lib/math.in.h (fmaf): New declaration.
46425         * lib/fmaf.c: New file.
46426         * m4/fmaf.m4: New file.
46427         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
46428         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
46429         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
46430         REPLACE_FMAF.
46431         * modules/fmaf: New file.
46432         * doc/posix-functions/fmaf.texi: Mention the new module and the various
46433         bugs.
46435         Tests for module 'fma'.
46436         * modules/fma-tests: New file.
46437         * tests/test-fma1.c: New file.
46438         * tests/test-fma1.h: New file.
46439         * tests/test-fma2.c: New file.
46440         * tests/test-fma2.h: New file.
46442         New module 'fma'.
46443         * lib/math.in.h (fma): New declaration.
46444         * lib/fma.c: New file.
46445         * m4/fma.m4: New file.
46446         * m4/fegetround.m4: New file.
46447         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
46448         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
46449         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
46450         REPLACE_FMA.
46451         * modules/fma: New file.
46452         * doc/posix-functions/fma.texi: Mention the new module and the various
46453         bugs.
46455         Extend gl_MATHFUNC.
46456         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
46457         Support 'void' as argument type.
46458         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
46460 2011-11-05  Jim Meyering  <meyering@redhat.com>
46462         maint.mk: also prohibit inclusion of dirent.h without use
46463         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
46465 2011-11-05  Bruno Haible  <bruno@clisp.org>
46467         ldexpl tests: Avoid test failure on MSVC 9.
46468         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
46469         value. Needed in order to enforce the conversion from a value greater
46470         than LDBL_MAX to Infinity.
46472 2011-11-05  Bruno Haible  <bruno@clisp.org>
46474         New modules 'at-internal', 'openat-h', split off from module 'openat'.
46475         * modules/at-internal: New file, extracted from modules/openat.
46476         * modules/openat-h: New file.
46477         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
46478         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
46479         * modules/openat (Description): Add reference to POSIX function.
46480         (Files): Remove lib/openat.h, lib/openat-proc.c.
46481         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
46482         intprops, unistd.
46483         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
46484         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
46485         gl_FCNTL_MODULE_INDICATOR.
46486         (Include): Remove unistd.h, openat.h.
46487         * modules/areadlinkat (Files): Add lib/at-func.c.
46488         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46489         openat-die, openat-h, save-cwd.
46490         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
46491         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46492         openat-die, openat-h, save-cwd, unistd.
46493         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
46494         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46495         openat-h, save-cwd. Remove fcntl-h, openat.
46496         * modules/fchmodat (Files): Remove lib/openat.h.
46497         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
46498         openat, stdbool, unistd.
46499         * modules/fchownat (Files): Remove lib/openat.h.
46500         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
46501         openat, stdbool, sys_stat.
46502         * modules/fdopendir (Files): Remove lib/openat-priv.h,
46503         lib/openat-proc.c.
46504         (Depends-on): Add at-internal.
46505         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
46506         * modules/fstatat (Files): Remove lib/openat.h.
46507         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
46508         stdbool, unistd.
46509         * modules/fts (Depends-on): Add openat-h.
46510         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
46511         openat.
46512         * modules/mkdirat (Files): Remove lib/openat.h.
46513         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
46514         openat, stdbool, sys_stat.
46515         * modules/mkfifoat (Files): Add lib/at-func.c.
46516         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46517         openat-h, save-cwd. Remove fcntl-h, openat.
46518         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
46519         * modules/readlinkat (Files): Add lib/at-func.c.
46520         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46521         openat-h, save-cwd. Remove fcntl-h, openat.
46522         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
46523         openat.
46524         * modules/selinux-at (Files): Add lib/at-func.c.
46525         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46526         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
46527         * modules/symlinkat (Files): Add lib/at-func.c.
46528         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46529         openat-h, save-cwd. Remove fcntl-h, openat.
46530         * modules/unlinkat (Files): Remove lib/openat.h.
46531         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
46532         stdbool.
46533         * modules/utimensat (Files): Add lib/at-func.c.
46534         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
46535         openat-die, openat-h, save-cwd.
46536         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
46537         * modules/fdutimensat-tests (Depends-on): Add openat.
46538         * modules/fstatat-tests (Depends-on): Add openat-h.
46539         * modules/readlinkat-tests (Depends-on): Add openat.
46540         * modules/symlinkat-tests (Depends-on): Add openat.
46542 2011-11-05  Bruno Haible  <bruno@clisp.org>
46544         openat: Include <stdbool.h>.
46545         * lib/openat.c: Include <stdbool.h>.
46547 2011-11-04  Bruno Haible  <bruno@clisp.org>
46549         fchownat, renameat, unlinkat: Fix dependencies.
46550         * modules/fchownat (Depends-on): Add fstatat.
46551         * modules/renameat (Depends-on): Likewise.
46552         * modules/unlinkat (Depends-on): Likewise.
46554 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
46556         openat: remove direct dependency on dirent
46557         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
46558         and hasn't been needed ever since fdopendir was split into its own
46559         module on 2009-08-31.
46560         * modules/openat (Depends-on): Remove dirent.
46562 2011-11-04  Bruno Haible  <bruno@clisp.org>
46564         renameat: Optimize code size.
46565         * modules/renameat (configure.ac): Don't compile at-func2.c if
46566         REPLACE_RENAMEAT is 1.
46568 2011-11-04  Bruno Haible  <bruno@clisp.org>
46570         openat tests: Fix file list.
46571         * modules/openat-tests (Files): Add tests/test-open.h.
46573 2011-11-04  Bruno Haible  <bruno@clisp.org>
46575         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
46576         * modules/fchmodat (Depends-on): Add openat-die.
46577         * modules/fchownat (Depends-on): Likewise.
46578         * modules/linkat (Depends-on): Likewise.
46579         * modules/renameat (Depends-on): Likewise.
46580         * modules/openat (Depends-on): Add dirent.
46582 2011-11-04  Jim Meyering  <meyering@redhat.com>
46584         at-func*.c: fix comments
46585         * lib/at-func2.c: Correct/improve first-line comment.
46586         * lib/at-func.c: Correct grammar in first-line comment.
46588 2011-11-04  Bruno Haible  <bruno@clisp.org>
46590         New module 'mkdirat', split off from module 'openat'.
46591         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
46592         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
46593         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
46594         * modules/mkdirat: New file, extracted from modules/openat.
46595         * modules/openat (Files): Remove lib/mkdirat.c.
46596         (Depends-on): Remove mkdir.
46597         (configure.ac): Remove AC_LIBOBJ of mkdirat.
46598         (Include): Remove <sys/stat.h>.
46599         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
46600         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
46601         tests/test-mkdir.h.
46602         (Depends-on): Remove ignore-value.
46603         (Makefile.am): Remove rules for test-mkdirat.
46604         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
46605         of module 'openat'.
46606         * NEWS: Mention the change.
46608 2011-11-04  Bruno Haible  <bruno@clisp.org>
46610         closedir: Avoid warning on mingw.
46611         * lib/closedir.c: Include <unistd.h>.
46613 2011-11-04  Bruno Haible  <bruno@clisp.org>
46615         New module 'fstatat', split off from module 'openat'.
46616         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
46617         defined.
46618         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
46619         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
46620         gl_FUNC_FSTATAT.
46621         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
46622         * modules/fstatat: New file, extracted from modules/openat.
46623         * modules/openat (Files): Remove lib/fstatat.c.
46624         (Depends-on): Remove lstat.
46625         (configure.ac): Remove AC_LIBOBJ of fstatat.
46626         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
46627         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
46628         tests/test-lstat.h, tests/test-stat.h.
46629         (Depends-on): Remove getcwd-lgpl.
46630         (Makefile.am): Remove rules for test-fstatat.
46631         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
46632         of module 'openat'.
46633         * NEWS: Mention the change.
46634         * modules/getcwd (Depends-on): Add fstatat.
46635         * modules/linkat (Depends-on): Likewise.
46636         * modules/mkfifoat-tests (Depends-on): Likewise.
46637         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
46639 2011-11-03  Bruno Haible  <bruno@clisp.org>
46641         New module 'unlinkat', split off from module 'openat'.
46642         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
46643         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
46644         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
46645         * modules/unlinkat: New file, extracted from modules/openat. Correct
46646         the dependency conditions.
46647         * modules/openat (Files): Remove lib/unlinkat.c.
46648         (Depends-on): Remove rmdir, unlink.
46649         (configure.ac): Remove AC_LIBOBJ of unlinkat.
46650         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
46651         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
46652         tests/test-rmdir.h, tests/test-unlink.h.
46653         (Depends-on): Remove unlinkdir.
46654         (Makefile.am): Remove rules for test-unlinkat.
46655         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
46656         of module 'openat'.
46657         * NEWS: Mention the change.
46658         * modules/linkat-tests (Depends-on): Add unlinkat.
46659         * modules/mkfifoat-tests (Depends-on): Likewise.
46660         * modules/readlinkat-tests (Depends-on): Likewise.
46662 2011-11-02  Bruno Haible  <bruno@clisp.org>
46664         New module 'fchmodat', split off from module 'openat'.
46665         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
46666         defined.
46667         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
46668         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
46669         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
46670         * modules/fchmodat: New file, extracted from modules/openat.
46671         * modules/openat (Files): Remove lib/fchmodat.c.
46672         (configure.ac): Remove AC_LIBOBJ of fchmodat.
46673         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
46674         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
46675         (Makefile.am): Remove rules for test-fchmodat.
46676         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
46677         of module 'openat'.
46678         * NEWS: Mention the change.
46680 2011-11-02  Jim Meyering  <meyering@redhat.com>
46682         putenv: indent #definition of "environ" to placate cppi
46683         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
46685         gitlog-to-changelog: provide a ChangeLog-repair mechanism
46686         Git logs are often treated as immutable, because editing them
46687         changes the SHA1 checksums of all descendants.  Thus, errors in
46688         git logs tend to stay there forever.  However, when we generate
46689         a ChangeLog file -- typically for distribution -- from that git log,
46690         we can actually make corrections in the generated file.  The key
46691         lies in recording in machine-readable/applicable form the desired
46692         corrections.  See --help for description and an example.
46693         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
46694         (usage): Describe it; alphabetize option descriptions.
46695         (main): Honor the new option, carefully.
46697 2011-11-01  Jim Meyering  <meyering@redhat.com>
46699         gitlog-to-changelog: avoid an infloop
46700         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
46701         that ends up being empty.
46703 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46705         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
46706         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
46707         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
46708         contains (possibly-quoted) backslashes.  This should avoid
46709         all-too-common shell bugs if COMPLICATED contains backslashes in
46710         the "wrong" places.  Reported by David Evans in
46711         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
46712         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
46713         because we want ASCII ranges.  Is there some reason we don't use
46714         the C locale everywhere in this script?
46715         (func_module, top level): Avoid unwanted pathname expansion when
46716         $repo_url_prefix or $repo_url_suffix_repl contain shell
46717         metacharacters like '?' and '*'.
46719 2011-11-01  Bruno Haible  <bruno@clisp.org>
46721         fchownat: Improve description.
46722         * modules/fchownat (Description): Add link to function.
46724 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46726         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
46727         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
46728         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
46729         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
46731 2011-11-01  Bruno Haible  <bruno@clisp.org>
46733         alignof: Avoid collision with stdalign module.
46734         * lib/alignof.h (alignof): Remove macro.
46735         * NEWS: Mention the change.
46736         Reported by Paul Eggert.
46738 2011-11-01  Bruno Haible  <bruno@clisp.org>
46740         New module 'fchownat', split off from module 'openat'.
46741         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
46742         defined.
46743         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
46744         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
46745         invoke gl_FUNC_FCHOWNAT.
46746         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
46747         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
46748         * modules/fchownat: New file, extracted from modules/openat.
46749         * modules/openat (Files): Remove lib/fchownat.c.
46750         (Depends-on): Remove lchown.
46751         (configure.ac): Remove AC_LIBOBJ of fchownat.
46752         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
46753         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
46754         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
46755         (Depends-on): Remove mgetgroups, usleep, stat-time.
46756         (configure.ac): Remove test for getegid.
46757         (Makefile.am): Remove rules for test-fchownat.
46758         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
46759         of module 'openat'.
46760         * NEWS: Mention the change.
46762 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
46764         stdalign: port better to MSVC and to Sun C 5.11
46765         This fixes some of the problems reported by Bruno Haible in
46766         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
46767         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
46768         shortcomings of MSVC and of Sun C 5.11.
46769         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
46770         around __declspec arg.
46771         * modules/stdalign-tests (Files): Add tests/macros.h.
46772         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
46773         Include macros.h, for ASSERT.
46774         (DECLARE_ALIGNED): Remove.
46775         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
46776         to catch bug), and to 1 if not (simplifies the rest of the code).
46777         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
46778         (CHECK_AUTO): Remove.
46779         (CHECK_ALIGNED): Check only the alignment of the static vars,
46780         since auto var alignment isn't supported by Sun C 5.11.
46781         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
46782         ASSERT failures are easier to diagnose.
46784 2011-10-31  Bruno Haible  <bruno@clisp.org>
46786         doc about some IRIX 5.3 problems.
46787         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
46788         on IRIX 5.3.
46789         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
46790         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
46791         5.3.
46792         * doc/posix-functions/grantpt.texi: Likewise.
46793         * doc/posix-functions/unlockpt.texi: Likewise.
46794         * doc/posix-functions/lgamma.texi: Likewise.
46795         * doc/posix-functions/nextafter.texi: Likewise.
46796         * doc/posix-functions/remainder.texi: Likewise.
46797         * doc/posix-functions/select.texi: Mention misplaced declaration on
46798         IRIX 5.3.
46799         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46801 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
46803         gitlog-to-changelog: fix git-log invocation.
46804         git-log mishandles date strings before 1970-01-01 UTC, and there is
46805         no use to specify --since=1970-01-01 by default anyway.
46806         * build-aux/gitlog-to-changelog: By default, when no --since option
46807         was given, do not specify explicit --since option to git-log.
46809 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
46811         gitlog-to-changelog: new option --append-dot.
46812         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
46813         first non-blank line of each commit message terminated with a dot.
46815 2011-10-30  Bruno Haible  <bruno@clisp.org>
46817         ffsl, ffsll: Avoid compilation error due to 'restrict'.
46818         * lib/ffsl.h: Include <config.h>.
46819         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
46821 2011-10-30  Jim Meyering  <meyering@redhat.com>
46823         GNUmakefile: reenable "make syntax-check" for most projects
46824         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
46825         build-aux variable", "syntax-check" would do nothing but succeed with
46826         the "No version control files detected..." diagnostic (unless you
46827         happened to override _build-aux via cfg.mk).
46828         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
46829         to precede inclusion of maint.mk.  Otherwise, these variables would
46830         be used undefined in any project that does not override the default.
46832 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
46834         gitlog-to-changelog: treat a message with only blank lines as empty.
46835         * build-aux/gitlog-to-changelog: Move the code that removes leading and
46836         trailing blank lines before the code that issues a warning about an
46837         empty commit message.
46839 2011-10-30  Jim Meyering  <meyering@redhat.com>
46841         test-parse-datetime.c: avoid new DST-related false positive test failure
46842         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
46843         based on the time/date we'll convert, not the current time.
46844         Otherwise, the moment we cross a DST boundary like today's in
46845         Europe, (CEST to CET), that offset ends up being one hour off.
46847 2011-10-27  Bruno Haible  <bruno@clisp.org>
46849         fstat: Tweak documentation.
46850         * modules/fstat (Description): More precise description.
46852 2011-10-27  Bruno Haible  <bruno@clisp.org>
46854         Update documentation regarding 'largefile' module.
46855         * doc/posix-functions/fstat.texi: Tweak wording.
46856         * doc/posix-functions/opendir.texi: Mention that the module fixes the
46857         problems with huge directories and/or small ino_t types.
46858         * doc/posix-functions/readdir.texi: Likewise.
46859         * doc/posix-functions/rewinddir.texi: Likewise.
46861 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
46863         maint.mk: don't maintain a second build-aux variable.
46864         * maint.mk (build_aux): Removed.  The maintainer-makefile module
46865         depends on GNUmakefile, which already maintains a cfg.mk
46866         overridable $(_build-aux) for projects with a non-standard
46867         build-aux directory location, although without the $(srcdir)
46868         prefix.  Use that variable consistently instead of introducing a
46869         second one.  Adjust all call sites.
46871 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
46873         Add stdalign module and use it in other modules.
46874         This is based on a previous proposal by Bruno Haible
46875         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
46877         stdalign: new module
46878         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
46879         * modules/stdalign: New files.
46880         * MODULES.html.sh (c1x_core_properties): Add stdalign.
46881         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
46883         stdalign-tests: new module
46884         * modules/stdalign-tests, tests/test-stdalign.c: New files.
46886         argp: use stdalign
46887         * lib/argp-parse.c: Include <stdalign.h>.
46888         (alignof): Remove.
46889         * modules/argp (Depends-on): Add stdalign.
46891         crypto libraries: use stdalign
46892         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
46893         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
46894         Do not include <stdlib.h> twice, in md4.c.
46895         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
46896         because we are accessing a pointer's bit-pattern, not a size.
46897         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
46898         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
46899         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
46900         * modules/crypto/sha512: Likewise.
46902         sys_socket: use stdalign, not alignof
46903         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
46904         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
46906 2011-10-27  Bruno Haible  <bruno@clisp.org>
46908         raise test: Avoid a test failure on Linux/MIPS.
46909         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
46910         because 99 is a valid signal on Linux/MIPS.
46912 2011-10-27  Bruno Haible  <bruno@clisp.org>
46914         nonblocking tests: Fix test failure on Linux/MIPS.
46915         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
46916         Set to 270000.
46918 2011-10-27  Bruno Haible  <bruno@clisp.org>
46920         utimensat: Work around problem on Linux/hppa.
46921         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
46922         values.
46923         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
46925 2011-10-25  Jim Meyering  <meyering@redhat.com>
46927         maint.mk: fix a bug in sc_prohibit_stddef_without_use
46928         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
46929         after symbols like NULL, size_t, etc.
46930         Reported by Alfred M. Szmidt.
46932         maint.mk: exempt ENODATA from a syntax-check rule
46933         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
46934         from the sc_prohibit_always-defined_macros syntax-check rule.
46935         Add a comment.  See this for more details:
46936         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
46938 2011-10-23  Jim Meyering  <meyering@redhat.com>
46940         fts: close parent dir FD before returning from post-traversal fts_read
46941         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
46942         unlink A, even though an FD open on A remained.  This is suboptimal
46943         (holding a file descriptor open longer than needed), but otherwise not
46944         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
46945         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
46946         that represents a real problem: it causes the removal of A to fail
46947         with e.g., "rm: cannot remove `A': Device or resource busy"
46949         fts visits each directory twice and keeps a cache (fts_fd_ring) of
46950         directory file descriptors.  After completing the final, FTS_DP,
46951         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
46952         cache, but then proceeded to add a new FD to it via the subsequent
46953         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
46954         final file descriptor would be closed only via fts_close's call to
46955         fd_ring_clear.  Now, it is usually closed earlier, via the final
46956         FTS_DP-returning fts_read call.
46957         * lib/fts.c (restore_initial_cwd): New function, converted from
46958         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
46959         Update callers.
46960         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
46961         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
46963 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
46964             Bruno Haible  <bruno@clisp.org>
46965             Jim Meyering  <jim@meyering.net>
46967         readme-release: improve safety of release prep instructions.
46968         * README-release: Don't git pull all branches when only master
46969         is needed for the release process.
46970         Run make maintainer-clean before changing trees and merging.
46971         Don't try to run ./configure right after git pull in case files
46972         that influence the bootstrap process have changed, move the
46973         ./configure step to after running ./bootstrap.
46974         Don't bootstrap "one last time"... it's the first time!
46976 2011-10-22  Bruno Haible  <bruno@clisp.org>
46978         errno, strerror-override: Support for MSVC 10.
46979         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
46980         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
46981         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
46982         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
46983         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
46984         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
46985         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
46986         Assign values compatible with MSVC 10.
46987         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
46988         New macros.
46989         (GNULIB_defined_EWINSOCK): New macro.
46990         * lib/strerror-override.c (strerror_override): Update accordingly.
46991         * lib/strerror-override.h: Likewise.
46992         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
46993         longer equal to the corresponding errno value.
46994         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
46996 2011-10-22  Bruno Haible  <bruno@clisp.org>
46998         perror: Recognize when test program crashes.
46999         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
47000         strerror, set gl_cv_func_perror_works to no.
47001         Reported by Daniel Richard G. <skunk@iskunk.org>.
47003         perror: Fix indentation.
47004         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
47006 2011-10-22  Bruno Haible  <bruno@clisp.org>
47008         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
47009         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
47010         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
47011         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
47012         functions, not as a macro.
47013         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
47014         macros.
47015         (isfinite, isinf, isnan, signbit): Check overloaded functions and
47016         absence of macro.
47017         Suggested by Eric Blake.
47018         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
47020 2011-10-21  Bruno Haible  <bruno@clisp.org>
47022         relocatable-prog-wrapper: Don't leave object files behind.
47023         * build-aux/install-reloc: Re-synchronize list of .o files to be
47024         removed with list of compilation units.
47026 2011-10-20  Bruno Haible  <bruno@clisp.org>
47028         openpty, posix_openpt: Remove code duplication.
47029         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
47030         * lib/openpty.c: Include <stdlib.h>.
47031         (openpty): Use posix_openpt on all platforms except IRIX.
47032         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
47034 2011-10-20  Bruno Haible  <bruno@clisp.org>
47036         unlockpt: Detect invalid argument.
47037         * lib/unlockpt.c: Include <fcntl.h>.
47038         (unlockpt): Check whether fd is valid, using fcntl().
47039         * modules/unlockpt (Depends-on): Add fcntl-h.
47041 2011-10-20  Bruno Haible  <bruno@clisp.org>
47043         openpty: Avoid compilation error on AIX 6.1.
47044         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
47046 2011-10-20  Bruno Haible  <bruno@clisp.org>
47048         posix_openpt: Support for OpenBSD.
47049         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
47050         (posix_openpt) [OpenBSD]: New code.
47051         * lib/grantpt.c: Include <fcntl.h>.
47052         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
47053         * modules/grantpt (Depends-on): Add fcntl-h.
47055 2011-10-20  Bruno Haible  <bruno@clisp.org>
47057         posix_openpt test: Coding style.
47058         * tests/test-posix_openpt.c: Use GNU coding style.
47060 2011-10-20  Bruno Haible  <bruno@clisp.org>
47062         grantpt: Support --avoid=pt_chown.
47063         * modules/grantpt (Files): Add lib/pty-private.h.
47065 2011-10-20  Bruno Haible  <bruno@clisp.org>
47067         posix_openpt: Fix autoconf macro.
47068         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
47069         unneeded check for _getpty.
47071 2011-10-20  Bruno Haible  <bruno@clisp.org>
47073         openpty: Update comments.
47074         * lib/openpty.c: Add comments about Minix.
47076 2011-10-19  Eric Blake  <eblake@redhat.com>
47078         openpty: relax license
47079         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
47081         pt_chown: use configmake to simplify build
47082         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
47084         ptsname and others: relax license
47085         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
47086         * modules/unlockpt (License): Likewise.
47087         * modules/pt_chown (License): Likewise.
47088         * modules/ptsname (License): Likewise.
47089         * modules/ttyname_r (License): Likewise.
47091 2011-10-19  Jim Meyering  <meyering@redhat.com>
47093         posix_openpt: remove spurious #endif
47094         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
47096 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
47098         maint.mk: Respect $(build_aux) in web-manual rule.
47099         * top/maint.mk (web-manual): Find gen-announce script in user's
47100         $(build_aux) directory instead of hard-coding 'build-aux'.
47102 2011-10-19  Bruno Haible  <bruno@clisp.org>
47104         posix_openpt: Fix compilation error.
47105         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
47106         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
47107         Mention the openpty module as an alternative.
47109 2011-10-19  Bruno Haible  <bruno@clisp.org>
47111         Support for old NeXTstep 3.3 frexp().
47112         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
47113         execution time of the test to 5 seconds.
47114         Reported by Daniel Richard G. <skunk@iskunk.org>.
47116 2011-10-19  Bruno Haible  <bruno@clisp.org>
47118         Support for old NeXTstep 3.3 sed.
47119         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
47120         part, use /.../, not \|...|. Escape periods in the header file name.
47121         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
47122         Reported by Daniel Richard G. <skunk@iskunk.org>.
47124 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
47126         Support for old NeXTstep 3.3 gcc.
47127         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
47128         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
47129         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
47130         * lib/spawn.in.h (_Restrict_arr_): Likewise.
47131         * lib/regex.h (_Restrict_arr_): Likewise.
47132         * lib/regex_internal.h (re_token_t): Likewise.
47133         * lib/regexec.c (check_node_accept_bytes): Likewise.
47134         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
47136 2011-10-18  Eric Blake  <eblake@redhat.com>
47138         posix_openpt: new module
47139         * modules/posix_openpt: New module.
47140         * m4/posix_openpt.m4: New file.
47141         * lib/posix_openpt.c: Likewise.
47142         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
47143         (gl_STDLIB_H_DEFAULTS): Set defaults.
47144         * modules/stdlib (Makefile.am): Substitute macros.
47145         * lib/stdlib.in.h (posix_openpt): Declare.
47146         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
47147         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
47148         * modules/posix_openpt-tests: New test module.
47149         * tests/test-posix_openpt.c: New test.
47151 2011-10-15  Bruno Haible  <bruno@clisp.org>
47153         xstrtoll: Fix compilation failure.
47154         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
47155         from lib/strtol.c.
47156         * doc/posix-headers/limits.texi: Mention missing numerical limits on
47157         some platforms.
47158         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47160 2011-10-15  Bruno Haible  <bruno@clisp.org>
47162         vasnprintf: Optimize bit search operation.
47163         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
47164         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
47165         gl_DOUBLE_EXPONENT_LOCATION.
47166         * modules/vasnprintf (Files): Add m4/exponentd.m4.
47167         * modules/unistdio/u8-vasnprintf (Files): Likewise.
47168         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
47169         * modules/unistdio/u16-vasnprintf (Files): Likewise.
47170         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
47171         * modules/unistdio/u32-vasnprintf (Files): Likewise.
47172         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
47173         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
47174         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
47176 2011-10-15  Bruno Haible  <bruno@clisp.org>
47178         vasnprintf: Fix comments.
47179         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
47181 2011-10-14  Bruno Haible  <bruno@clisp.org>
47183         Tests for module 'integer_length_ll'.
47184         * modules/integer_length_ll-tests: New file.
47185         * tests/test-integer_length_ll.c: New file.
47187         New module 'integer_length_ll'.
47188         * lib/integer_length_ll.c: New file.
47189         * modules/integer_length_ll: New file.
47191 2011-10-14  Bruno Haible  <bruno@clisp.org>
47193         Tests for module 'integer_length_l'.
47194         * modules/integer_length_l-tests: New file.
47195         * tests/test-integer_length_l.c: New file.
47197         New module 'integer_length_l'.
47198         * lib/integer_length_l.c: New file.
47199         * modules/integer_length_l: New file.
47201 2011-10-14  Bruno Haible  <bruno@clisp.org>
47203         Tests for module 'integer_length'.
47204         * modules/integer_length-tests: New file.
47205         * tests/test-integer_length.c: New file.
47207         New module 'integer_length'.
47208         * lib/integer_length.h: New file.
47209         * lib/integer_length.c: New file.
47210         * modules/integer_length: New file.
47212 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
47214         popen: Fix dependency conditions.
47215         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
47217 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
47219         perror: Fix autoconf test.
47220         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
47221         <stdlib.h> and <string.h>.
47223 2011-10-14  Bruno Haible  <bruno@clisp.org>
47225         ffsl: Optimize on 64-bit platforms.
47226         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
47227         unrolling.
47229 2011-10-13  Bruno Haible  <bruno@clisp.org>
47231         ffsl: Optimize on 32-bit platforms.
47232         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
47233         use ffs() without a loop.
47235         ffsl, ffsll: Optimize for GCC.
47236         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
47237         * lib/ffsl.c (GCC_BUILTIN): New macro.
47238         * lib/ffsll.c (GCC_BUILTIN): Likewise.
47240 2011-10-13  Bruno Haible  <bruno@clisp.org>
47242         ffs, bcopy, memset: Support symbol renaming via config.h.
47243         * lib/ffs.c: Include <config.h>.
47244         * lib/bcopy.c: Likewise.
47245         * lib/memset.c: Likewise.
47247 2011-10-10  Bruno Haible  <bruno@clisp.org>
47249         atanl: Simplify for platforms where 'long double' == 'double'.
47250         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47251         alternative implementation.
47252         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47253         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47254         * modules/atanl (Depends-on): Add atan. Update conditions.
47256 2011-10-10  Bruno Haible  <bruno@clisp.org>
47258         acosl: Simplify for platforms where 'long double' == 'double'.
47259         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47260         alternative implementation.
47261         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47262         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47263         * modules/acosl (Depends-on): Add acos. Update conditions.
47265 2011-10-10  Bruno Haible  <bruno@clisp.org>
47267         asinl: Simplify for platforms where 'long double' == 'double'.
47268         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47269         alternative implementation.
47270         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47271         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47272         * modules/asinl (Depends-on): Add asin. Update conditions.
47274 2011-10-10  Bruno Haible  <bruno@clisp.org>
47276         tanl: Simplify for platforms where 'long double' == 'double'.
47277         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47278         implementation.
47279         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47280         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47281         * modules/tanl (Depends-on): Add tan. Update conditions.
47282         (configure.ac): Don't compile trigl.c if
47283         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47285 2011-10-10  Bruno Haible  <bruno@clisp.org>
47287         cosl: Simplify for platforms where 'long double' == 'double'.
47288         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47289         implementation.
47290         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47291         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47292         * modules/cosl (Depends-on): Add cos. Update conditions.
47293         (configure.ac): Don't compile sincosl.c and trigl.c if
47294         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47296 2011-10-10  Bruno Haible  <bruno@clisp.org>
47298         sinl: Simplify for platforms where 'long double' == 'double'.
47299         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47300         implementation.
47301         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47302         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47303         * modules/sinl (Depends-on): Add sin. Update conditions.
47304         (configure.ac): Don't compile sincosl.c and trigl.c if
47305         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47307 2011-10-10  Bruno Haible  <bruno@clisp.org>
47309         logl: Simplify for platforms where 'long double' == 'double'.
47310         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47311         implementation.
47312         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47313         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47314         * modules/logl (Depends-on): Add log. Update conditions.
47316 2011-10-10  Bruno Haible  <bruno@clisp.org>
47318         expl: Simplify for platforms where 'long double' == 'double'.
47319         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
47320         implementation.
47321         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47322         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47323         * modules/expl (Depends-on): Add exp. Update conditions.
47325 2011-10-10  Bruno Haible  <bruno@clisp.org>
47327         sqrtl: Simplify for platforms where 'long double' == 'double'.
47328         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47329         alternative implementation.
47330         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47331         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47332         * modules/sqrtl (Depends-on): Update conditions.
47334 2011-10-10  Bruno Haible  <bruno@clisp.org>
47336         ldexpl: Simplify for platforms where 'long double' == 'double'.
47337         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47338         alternative implementation.
47339         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47340         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47341         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
47343 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
47345         ffsll: set correct witness
47346         * modules/ffsll (configure.ac): Fix typo.
47348 2011-10-10  Bruno Haible  <bruno@clisp.org>
47350         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
47351         * lib/printf-frexpl.c: Include <config.h>.
47352         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47353         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
47354         second time.
47355         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
47356         gl_LONG_DOUBLE_VS_DOUBLE.
47357         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
47358         conditions.
47360 2011-10-10  Bruno Haible  <bruno@clisp.org>
47362         frexpl: Simplify for platforms where 'long double' == 'double'.
47363         * lib/frexpl.c: Include <config.h>.
47364         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47365         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47366         time.
47367         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47368         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47369         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
47370         * modules/frexpl (Depends-on): Add frexp. Update conditions.
47371         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
47372         conditions.
47374 2011-10-10  Jim Meyering  <meyering@redhat.com>
47376         test-renameat: don't leave behind a temporary file
47377         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
47378           ERROR: files left in build directory after distclean:
47379           ./gltests/test-renameat.too
47380           make[1]: *** [distcleancheck] Error 1
47381         Reported by Tom G. Christensen.
47383 2011-10-09  Bruno Haible  <bruno@clisp.org>
47385         rint: Determine RINT_LIBM correctly on AIX 7.
47386         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
47387         directly, not only through a function pointer. Also accept an optional
47388         4th argument with extra code.
47389         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
47390         rintf() call by gcc when optimizing.
47392         mathfunc.m4: Refactor.
47393         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
47394         m4 variable.
47396 2011-10-09  Bruno Haible  <bruno@clisp.org>
47398         rintl: Simplify for platforms where 'long double' == 'double'.
47399         * lib/rintl.c: Include <config.h>.
47400         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47401         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47402         time.
47403         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47404         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47405         * modules/rintl (Depends-on): Add rint. Update conditions.
47407 2011-10-09  Bruno Haible  <bruno@clisp.org>
47409         roundl: Simplify for platforms where 'long double' == 'double'.
47410         * lib/roundl.c: Include <config.h>.
47411         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47412         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47413         time.
47414         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47415         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47416         * modules/roundl (Depends-on): Add round. Update conditions.
47418 2011-10-09  Bruno Haible  <bruno@clisp.org>
47420         truncl: Simplify for platforms where 'long double' == 'double'.
47421         * lib/truncl.c: Include <config.h>.
47422         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47423         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47424         time.
47425         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47426         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47427         * modules/truncl (Depends-on): Add trunc. Update conditions.
47429 2011-10-09  Bruno Haible  <bruno@clisp.org>
47431         ceill: Simplify for platforms where 'long double' == 'double'.
47432         * lib/ceill.c: Include <config.h>.
47433         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47434         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47435         time.
47436         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47437         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47438         * modules/ceill (Depends-on): Add ceil. Update conditions.
47440 2011-10-09  Bruno Haible  <bruno@clisp.org>
47442         floorl: Simplify for platforms where 'long double' == 'double'.
47443         * lib/floorl.c: Include <config.h>.
47444         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47445         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47446         time.
47447         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47448         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47449         * modules/floorl (Depends-on): Add floor. Update conditions.
47451 2011-10-09  Bruno Haible  <bruno@clisp.org>
47453         rint: Fix ordering constraints.
47454         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
47455         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
47456         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
47458 2011-10-09  Bruno Haible  <bruno@clisp.org>
47460         copysignl: Simplify for platforms where 'long double' == 'double'.
47461         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47462         alternative.
47463         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47464         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47465         * modules/copysignl (Depends-on): Add copysign. Update conditions.
47467 2011-10-09  Bruno Haible  <bruno@clisp.org>
47469         Tests for module 'rintl'.
47470         * modules/rintl-tests: New file.
47471         * tests/test-rintl.c: New file.
47473         New module 'rintl'.
47474         * lib/math.in.h (rintl): New declaration.
47475         * lib/rintl.c: New file.
47476         * m4/rintl.m4: New file.
47477         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
47478         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
47479         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
47480         * modules/rintl: New file.
47481         * tests/test-math-c++.cc: Check the declaration of rintl.
47482         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47483         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
47484         * doc/posix-functions/rintl.texi: Mention the new module.
47486 2011-10-09  Bruno Haible  <bruno@clisp.org>
47488         Tests for module 'rintf'.
47489         * modules/rintf-tests: New file.
47490         * tests/test-rintf.c: New file.
47492         New module 'rintf'.
47493         * lib/math.in.h (rintf): New declaration.
47494         * lib/rintf.c: New file.
47495         * m4/rintf.m4: New file.
47496         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
47497         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
47498         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
47499         * modules/rintf: New file.
47500         * tests/test-math-c++.cc: Check the declaration of rintf.
47501         * doc/posix-functions/rintf.texi: Mention the new module.
47503 2011-10-09  Bruno Haible  <bruno@clisp.org>
47505         rint: Support for MSVC.
47506         * lib/math.in.h (rint): New declaration.
47507         * lib/rint.c: New file.
47508         * m4/rint.m4: New file.
47509         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
47510         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
47511         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
47512         * modules/rint (Description): Fix.
47513         (Files): Add lib/rint.c, m4/rint.m4.
47514         (Depends-on): Add math.
47515         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
47516         gl_MATH_MODULE_INDICATOR.
47517         * tests/test-math-c++.cc: Check the declaration of rint.
47518         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47519         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
47520         * doc/posix-functions/rint.texi: Mention the replacement provided by
47521         the module.
47523         rint tests: More tests.
47524         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
47525         minus-zero.h, infinity.h, nan.h.
47526         (main): Skip the test if the current rounding mode is not standard. Add
47527         tests for negative numbers, minus zero, infinity, NaN.
47528         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
47529         tests/nan.h.
47530         (Depends-on): Add isnand-nolibm.
47532 2011-10-09  Bruno Haible  <bruno@clisp.org>
47534         Tests for module 'copysignl'.
47535         * modules/copysignl-tests: New file.
47536         * tests/test-copysignl.c: New file.
47538         New module 'copysignl'.
47539         * lib/math.in.h (copysignl): New declaration.
47540         * lib/copysignl.c: New file.
47541         * m4/copysignl.m4: New file.
47542         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
47543         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
47544         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
47545         HAVE_COPYSIGNL.
47546         * modules/copysignl: New file.
47547         * tests/test-math-c++.cc: Check the declaration of copysignl.
47548         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47549         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
47550         * doc/posix-functions/copysignl.texi: Mention the new module.
47552 2011-10-09  Bruno Haible  <bruno@clisp.org>
47554         Tests for module 'copysignf'.
47555         * modules/copysignf-tests: New file.
47556         * tests/test-copysignf.c: New file.
47558         New module 'copysignf'.
47559         * lib/math.in.h (copysignf): New declaration.
47560         * lib/copysignf.c: New file.
47561         * m4/copysignf.m4: New file.
47562         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
47563         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
47564         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
47565         HAVE_COPYSIGNF.
47566         * modules/copysignf: New file.
47567         * tests/test-math-c++.cc: Check the declaration of copysignf.
47568         * doc/posix-functions/copysignf.texi: Mention the new module.
47570 2011-10-09  Bruno Haible  <bruno@clisp.org>
47572         Ensure that HAVE_* variables are set to 1 before they are set to 0.
47573         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
47574         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
47575         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
47576         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
47577         gl_SIGNAL_H_DEFAULTS.
47579 2011-10-09  Bruno Haible  <bruno@clisp.org>
47581         poll: Make macro safer.
47582         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
47583         ac_cv_header_poll_h is not set.
47585 2011-10-09  Bruno Haible  <bruno@clisp.org>
47587         copysign: Provide replacement.
47588         * lib/math.in.h (copysign): New declaration.
47589         * lib/copysign.c: New file.
47590         * m4/copysign.m4: New file.
47591         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
47592         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
47593         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
47594         HAVE_COPYSIGN.
47595         * modules/copysign (Description): Clarify.
47596         (Files): Add lib/copysign.c, m4/copysign.m4.
47597         (Depends-on): Add math, signbit.
47598         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
47599         gl_MATH_MODULE_INDICATOR.
47600         * tests/test-math-c++.cc: Check the declaration of copysign.
47601         * doc/posix-functions/copysign.texi: Mention the effects of the module
47602         on Minix and MSVC.
47604 2011-10-09  Bruno Haible  <bruno@clisp.org>
47606         isinf: Ensure macro on AIX 5.1.
47607         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
47608         macro.
47609         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
47611 2011-10-09  Bruno Haible  <bruno@clisp.org>
47613         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
47614         * modules/snprintf-posix-tests (configure.ac): Require
47615         gl_LONG_DOUBLE_VS_DOUBLE.
47616         * modules/sprintf-posix-tests (configure.ac): Likewise.
47617         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
47618         * modules/vasprintf-posix-tests (configure.ac): Likewise.
47619         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
47620         * modules/vsprintf-posix-tests (configure.ac): Likewise.
47621         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
47622         tests on platforms where 'long double' is the same as 'double'.
47623         * tests/test-sprintf-posix.h (test_function): Likewise.
47624         * tests/test-vasnprintf-posix.c (test_function): Likewise.
47625         * tests/test-vasprintf-posix.c (test_function): Likewise.
47627         *printf: Fix for platforms where 'long double' == 'double'.
47628         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
47629         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
47630         * modules/dprintf-posix (Files): Add m4/math_h.m4.
47631         * modules/fprintf-posix (Files): Likewise.
47632         * modules/obstack-printf-posix (Files): Likewise.
47633         * modules/snprintf-posix (Files): Likewise.
47634         * modules/sprintf-posix (Files): Likewise.
47635         * modules/vasnprintf (Files): Likewise.
47636         * modules/vasnprintf-posix (Files): Likewise.
47637         * modules/vasprintf-posix (Files): Likewise.
47638         * modules/vdprintf-posix (Files): Likewise.
47639         * modules/vfprintf-posix (Files): Likewise.
47640         * modules/vsnprintf-posix (Files): Likewise.
47641         * modules/vsprintf-posix (Files): Likewise.
47642         * modules/unistdio/u8-vasnprintf (Files): Likewise.
47643         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
47644         * modules/unistdio/u16-vasnprintf (Files): Likewise.
47645         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
47646         * modules/unistdio/u32-vasnprintf (Files): Likewise.
47647         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
47648         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
47650         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
47651         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
47652         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47653         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
47654         'long double'.
47655         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
47657         isinf: Fix for platforms where 'long double' == 'double'.
47658         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
47659         Don't blindly assume 80-bit 'long double'.
47661         isfinite: Fix for platforms where 'long double' == 'double'.
47662         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
47663         Don't blindly assume 80-bit 'long double'.
47665         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
47666         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
47667         * modules/isfinite-tests (configure.ac): Require
47668         gl_LONG_DOUBLE_VS_DOUBLE.
47669         * modules/isinf-tests (configure.ac): Likewise.
47670         * modules/isnan-tests (configure.ac): Likewise.
47671         * modules/isnanl-tests (configure.ac): Likewise.
47672         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
47673         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
47674         tests on platforms where 'long double' is the same as 'double'.
47675         * tests/test-isinf.c (test_isinfl): Likewise.
47676         * tests/test-isnan.c (test_long_double): Likewise.
47677         * tests/test-isnanl.h (main): Likewise.
47679 2011-10-08  Bruno Haible  <bruno@clisp.org>
47681         Tests for module 'tanhf'.
47682         * modules/tanhf-tests: New file.
47683         * tests/test-tanhf.c: New file.
47685         New module 'tanhf'.
47686         * lib/math.in.h (tanhf): New declaration.
47687         * lib/tanhf.c: New file.
47688         * m4/tanhf.m4: New file.
47689         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
47690         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
47691         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
47692         * modules/tanhf: New file.
47693         * tests/test-math-c++.cc: Check the declaration of tanhf.
47694         * doc/posix-functions/tanhf.texi: Mention the new module.
47696         tanh: Use a .m4 file.
47697         * m4/tanh.m4: New file.
47698         * modules/tanh (Files): Add it.
47699         (configure.ac): Just invoke gl_FUNC_TANH.
47701 2011-10-08  Bruno Haible  <bruno@clisp.org>
47703         Tests for module 'coshf'.
47704         * modules/coshf-tests: New file.
47705         * tests/test-coshf.c: New file.
47707         New module 'coshf'.
47708         * lib/math.in.h (coshf): New declaration.
47709         * lib/coshf.c: New file.
47710         * m4/coshf.m4: New file.
47711         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
47712         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
47713         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
47714         * modules/coshf: New file.
47715         * tests/test-math-c++.cc: Check the declaration of coshf.
47716         * doc/posix-functions/coshf.texi: Mention the new module.
47718         cosh: Use a .m4 file.
47719         * m4/cosh.m4: New file.
47720         * modules/cosh (Files): Add it.
47721         (configure.ac): Just invoke gl_FUNC_COSH.
47723 2011-10-08  Bruno Haible  <bruno@clisp.org>
47725         Tests for module 'sinhf'.
47726         * modules/sinhf-tests: New file.
47727         * tests/test-sinhf.c: New file.
47729         New module 'sinhf'.
47730         * lib/math.in.h (sinhf): New declaration.
47731         * lib/sinhf.c: New file.
47732         * m4/sinhf.m4: New file.
47733         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
47734         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
47735         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
47736         * modules/sinhf: New file.
47737         * tests/test-math-c++.cc: Check the declaration of sinhf.
47738         * doc/posix-functions/sinhf.texi: Mention the new module.
47740         sinh: Use a .m4 file.
47741         * m4/sinh.m4: New file.
47742         * modules/sinh (Files): Add it.
47743         (configure.ac): Just invoke gl_FUNC_SINH.
47745 2011-10-08  Bruno Haible  <bruno@clisp.org>
47747         Tests for module 'atan2f'.
47748         * modules/atan2f-tests: New file.
47749         * tests/test-atan2f.c: New file.
47751         New module 'atan2f'.
47752         * lib/math.in.h (atan2f): New declaration.
47753         * lib/atan2f.c: New file.
47754         * m4/atan2f.m4: New file.
47755         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
47756         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
47757         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
47758         * modules/atan2f: New file.
47759         * tests/test-math-c++.cc: Check the declaration of atan2f.
47760         * doc/posix-functions/atan2f.texi: Mention the new module.
47762         atan2: Use a .m4 file.
47763         * m4/atan2.m4: New file.
47764         * modules/atan2 (Files): Add it.
47765         (configure.ac): Just invoke gl_FUNC_ATAN2.
47767 2011-10-08  Bruno Haible  <bruno@clisp.org>
47769         Tests for module 'atanf'.
47770         * modules/atanf-tests: New file.
47771         * tests/test-atanf.c: New file.
47773         New module 'atanf'.
47774         * lib/math.in.h (atanf): New declaration.
47775         * lib/atanf.c: New file.
47776         * m4/atanf.m4: New file.
47777         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
47778         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
47779         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
47780         * modules/atanf: New file.
47781         * tests/test-math-c++.cc: Check the declaration of atanf.
47782         * doc/posix-functions/atanf.texi: Mention the new module.
47784         atan: Use a .m4 file.
47785         * m4/atan.m4: New file.
47786         * modules/atan (Files): Add it.
47787         (configure.ac): Just invoke gl_FUNC_ATAN.
47789 2011-10-08  Bruno Haible  <bruno@clisp.org>
47791         Tests for module 'acosf'.
47792         * modules/acosf-tests: New file.
47793         * tests/test-acosf.c: New file.
47795         New module 'acosf'.
47796         * lib/math.in.h (acosf): New declaration.
47797         * lib/acosf.c: New file.
47798         * m4/acosf.m4: New file.
47799         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
47800         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
47801         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
47802         * modules/acosf: New file.
47803         * tests/test-math-c++.cc: Check the declaration of acosf.
47804         * doc/posix-functions/acosf.texi: Mention the new module.
47806         acos: Use a .m4 file.
47807         * m4/acos.m4: New file.
47808         * modules/acos (Files): Add it.
47809         (configure.ac): Just invoke gl_FUNC_ACOS.
47811 2011-10-08  Bruno Haible  <bruno@clisp.org>
47813         Tests for module 'asinf'.
47814         * modules/asinf-tests: New file.
47815         * tests/test-asinf.c: New file.
47817         New module 'asinf'.
47818         * lib/math.in.h (asinf): New declaration.
47819         * lib/asinf.c: New file.
47820         * m4/asinf.m4: New file.
47821         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
47822         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
47823         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
47824         * modules/asinf: New file.
47825         * tests/test-math-c++.cc: Check the declaration of asinf.
47826         * doc/posix-functions/asinf.texi: Mention the new module.
47828         asin: Use a .m4 file.
47829         * m4/asin.m4: New file.
47830         * modules/asin (Files): Add it.
47831         (configure.ac): Just invoke gl_FUNC_ASIN.
47833 2011-10-08  Bruno Haible  <bruno@clisp.org>
47835         Tests for module 'tanf'.
47836         * modules/tanf-tests: New file.
47837         * tests/test-tanf.c: New file.
47839         New module 'tanf'.
47840         * lib/math.in.h (tanf): New declaration.
47841         * lib/tanf.c: New file.
47842         * m4/tanf.m4: New file.
47843         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
47844         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
47845         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
47846         * modules/tanf: New file.
47847         * tests/test-math-c++.cc: Check the declaration of tanf.
47848         * doc/posix-functions/tanf.texi: Mention the new module.
47850         tan: Use a .m4 file.
47851         * m4/tan.m4: New file.
47852         * modules/tan (Files): Add it.
47853         (configure.ac): Just invoke gl_FUNC_TAN.
47855 2011-10-08  Bruno Haible  <bruno@clisp.org>
47857         Tests for module 'cosf'.
47858         * modules/cosf-tests: New file.
47859         * tests/test-cosf.c: New file.
47861         New module 'cosf'.
47862         * lib/math.in.h (cosf): New declaration.
47863         * lib/cosf.c: New file.
47864         * m4/cosf.m4: New file.
47865         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
47866         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
47867         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
47868         * modules/cosf: New file.
47869         * tests/test-math-c++.cc: Check the declaration of cosf.
47870         * doc/posix-functions/cosf.texi: Mention the new module.
47872         cos: Use a .m4 file.
47873         * m4/cos.m4: New file.
47874         * modules/cos (Files): Add it.
47875         (configure.ac): Just invoke gl_FUNC_COS.
47877 2011-10-08  Bruno Haible  <bruno@clisp.org>
47879         Tests for module 'sinf'.
47880         * modules/sinf-tests: New file.
47881         * tests/test-sinf.c: New file.
47883         New module 'sinf'.
47884         * lib/math.in.h (sinf): New declaration.
47885         * lib/sinf.c: New file.
47886         * m4/sinf.m4: New file.
47887         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
47888         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
47889         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
47890         * modules/sinf: New file.
47891         * tests/test-math-c++.cc: Check the declaration of sinf.
47892         * doc/posix-functions/sinf.texi: Mention the new module.
47894         sin: Use a .m4 file.
47895         * m4/sin.m4: New file.
47896         * modules/sin (Files): Add it.
47897         (configure.ac): Just invoke gl_FUNC_SIN.
47899 2011-10-08  Bruno Haible  <bruno@clisp.org>
47901         Tests for module 'powf'.
47902         * modules/powf-tests: New file.
47903         * tests/test-powf.c: New file.
47905         New module 'powf'.
47906         * lib/math.in.h (powf): New declaration.
47907         * lib/powf.c: New file.
47908         * m4/powf.m4: New file.
47909         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
47910         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
47911         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
47912         * modules/powf: New file.
47913         * tests/test-math-c++.cc: Check the declaration of powf.
47914         * doc/posix-functions/powf.texi: Mention the new module.
47916         pow: Use a .m4 file.
47917         * m4/pow.m4: New file.
47918         * modules/pow (Files): Add it.
47919         (configure.ac): Just invoke gl_FUNC_POW.
47921 2011-10-08  Bruno Haible  <bruno@clisp.org>
47923         Tests for module 'log10f'.
47924         * modules/log10f-tests: New file.
47925         * tests/test-log10f.c: New file.
47927         New module 'log10f'.
47928         * lib/math.in.h (log10f): New declaration.
47929         * lib/log10f.c: New file.
47930         * m4/log10f.m4: New file.
47931         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
47932         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
47933         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
47934         * modules/log10f: New file.
47935         * tests/test-math-c++.cc: Check the declaration of log10f.
47936         * doc/posix-functions/log10f.texi: Mention the new module.
47938         log10: Use a .m4 file.
47939         * m4/log10.m4: New file.
47940         * modules/log10 (Files): Add it.
47941         (configure.ac): Just invoke gl_FUNC_LOG10.
47943 2011-10-08  Bruno Haible  <bruno@clisp.org>
47945         Tests for module 'logf'.
47946         * modules/logf-tests: New file.
47947         * tests/test-logf.c: New file.
47949         New module 'logf'.
47950         * lib/math.in.h (logf): New declaration.
47951         * lib/logf.c: New file.
47952         * m4/logf.m4: New file.
47953         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
47954         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
47955         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
47956         * modules/logf: New file.
47957         * tests/test-math-c++.cc: Check the declaration of logf.
47958         * doc/posix-functions/logf.texi: Mention the new module.
47960         log: Use a .m4 file.
47961         * m4/log.m4: New file.
47962         * modules/log (Files): Add it.
47963         (configure.ac): Just invoke gl_FUNC_LOG.
47965 2011-10-08  Bruno Haible  <bruno@clisp.org>
47967         Tests for module 'expf'.
47968         * modules/expf-tests: New file.
47969         * tests/test-expf.c: New file.
47971         New module 'expf'.
47972         * lib/math.in.h (expf): New declaration.
47973         * lib/expf.c: New file.
47974         * m4/expf.m4: New file.
47975         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
47976         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
47977         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
47978         * modules/expf: New file.
47979         * tests/test-math-c++.cc: Check the declaration of expf.
47980         * doc/posix-functions/expf.texi: Mention the new module.
47982         exp: Use a .m4 file.
47983         * m4/exp.m4: New file.
47984         * modules/exp (Files): Add it.
47985         (configure.ac): Just invoke gl_FUNC_EXP.
47987 2011-10-08  Bruno Haible  <bruno@clisp.org>
47989         Tests for module 'sqrtf'.
47990         * modules/sqrtf-tests: New file.
47991         * tests/test-sqrtf.c: New file.
47993         New module 'sqrtf'.
47994         * lib/math.in.h (sqrtf): New declaration.
47995         * lib/sqrtf.c: New file.
47996         * m4/sqrtf.m4: New file.
47997         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
47998         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
47999         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
48000         * modules/sqrtf: New file.
48001         * tests/test-math-c++.cc: Check the declaration of sqrtf.
48002         * doc/posix-functions/sqrtf.texi: Mention the new module.
48004 2011-10-08  Bruno Haible  <bruno@clisp.org>
48006         Tests: Avoid link failures w.r.t. libintl.
48007         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
48008         $(LIBINTL).
48009         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
48010         $(LIBINTL).
48011         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
48012         against $(LIBINTL).
48013         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
48014         $(LIBINTL).
48015         * modules/openat-tests (Makefile.am): Link test-fchmodat against
48016         $(LIBINTL).
48017         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
48019 2011-10-08  Bruno Haible  <bruno@clisp.org>
48021         pow tests: Defeat compiler optimizations.
48022         * tests/test-pow.c (main): Assign arguments to x and y before use.
48024 2011-10-08  Bruno Haible  <bruno@clisp.org>
48026         gnulib-tool: Improve last commit.
48027         * gnulib-tool (func_modules_transitive_closure): Simplify code.
48028         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
48029         ignore dependencies that are not among the modules list.
48031 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
48033         gnulib-tool: don't follow dependencies to avoided modules
48034         This fixes a bug that is related to the previous one.
48035         * gnulib-tool (func_modules_transitive_closure)
48036         (func_emit_autoconf_snippets):
48037         Check whether a dependency is acceptable before using it.
48038         (--extract-dependencies): Report an error if --avoid is also used,
48039         since this combination of options is not yet supported.
48041         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
48042         Problem reported by Peter Dyballa in
48043         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
48044         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
48045         when echoing "$condition".
48047 2011-10-07  Bruno Haible  <bruno@clisp.org>
48049         Fix documentation about math functions on MacOS X.
48050         * doc/posix-functions/exp2.texi: Don't say the function is missing on
48051         MacOS X 10.5.
48052         * doc/posix-functions/fdim.texi: Likewise.
48053         * doc/posix-functions/feclearexcept.texi: Likewise.
48054         * doc/posix-functions/fegetenv.texi: Likewise.
48055         * doc/posix-functions/fegetround.texi: Likewise.
48056         * doc/posix-functions/feholdexcept.texi: Likewise.
48057         * doc/posix-functions/feraiseexcept.texi: Likewise.
48058         * doc/posix-functions/fesetenv.texi: Likewise.
48059         * doc/posix-functions/fesetround.texi: Likewise.
48060         * doc/posix-functions/fetestexcept.texi: Likewise.
48061         * doc/posix-functions/feupdateenv.texi: Likewise.
48062         * doc/posix-functions/fmax.texi: Likewise.
48063         * doc/posix-functions/fmin.texi: Likewise.
48064         * doc/posix-functions/log2.texi: Likewise.
48065         * doc/posix-functions/modff.texi: Likewise.
48066         * doc/posix-functions/nan.texi: Likewise.
48067         * doc/posix-functions/nanf.texi: Likewise.
48068         * doc/posix-functions/nextafterf.texi: Likewise.
48069         * doc/posix-functions/remquo.texi: Likewise.
48071 2011-10-07  Bruno Haible  <bruno@clisp.org>
48073         modff: Drop assumption about library that defines modff.
48074         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
48075         AC_CHECK_FUNCS.
48076         * modules/modff (Files): Add m4/mathfunc.m4.
48078 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
48080         raise tests: Avoid a GCC warning.
48081         * tests/test-raise.c (handler): Use _Noreturn.
48083 2011-10-07  Bruno Haible  <bruno@clisp.org>
48085         Tests for module 'ldexpf'.
48086         * modules/ldexpf-tests: New file.
48087         * tests/test-ldexpf.c: New file.
48089         New module 'ldexpf'.
48090         * lib/math.in.h (ldexpf): New declaration.
48091         * lib/ldexpf.c: New file.
48092         * m4/ldexpf.m4: New file.
48093         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
48094         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
48095         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
48096         * modules/ldexpf: New file.
48097         * tests/test-math-c++.cc: Check the declaration of ldexpf.
48098         * doc/posix-functions/ldexpf.texi: Mention the new module.
48100 2011-10-06  Bruno Haible  <bruno@clisp.org>
48102         frexpf: Work around problems on IRIX and mingw.
48103         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
48104         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
48105         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
48106         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
48107         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
48108         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
48109         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
48111 2011-10-06  Bruno Haible  <bruno@clisp.org>
48113         fabsf: Drop assumption about library that defines fabsf.
48114         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
48115         AC_CHECK_FUNCS.
48116         * modules/fabsf (Files): Add m4/mathfunc.m4.
48118 2011-10-06  Bruno Haible  <bruno@clisp.org>
48120         frexpf: Drop assumption about library that defines frexpf.
48121         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
48122         'int *', 'float *', 'long double *', 'float', 'long double'.
48123         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
48124         AC_CHECK_FUNCS.
48125         * modules/frexpf (Files): Add m4/mathfunc.m4.
48127         Tests for module 'frexpf'.
48128         * modules/frexpf-tests: New file.
48129         * tests/test-frexpf.c: New file.
48131         New module 'frexpf'.
48132         * lib/math.in.h (frexpf): New declaration.
48133         * lib/frexpf.c: New file.
48134         * m4/frexpf.m4: New file.
48135         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
48136         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
48137         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
48138         * modules/frexpf: New file.
48139         * tests/test-math-c++.cc: Check the declaration of frexpf.
48140         * doc/posix-functions/frexpf.texi: Mention the new module.
48142 2011-10-06  Bruno Haible  <bruno@clisp.org>
48144         math: Sort function declarations of math.in.h.
48145         * lib/math.in.h (frexp, logb): Move declarations.
48147 2011-10-05  Bruno Haible  <bruno@clisp.org>
48149         Tests for module 'modff'.
48150         * modules/modff-tests: New file.
48151         * tests/test-modff.c: New file.
48153         New module 'modff'.
48154         * lib/math.in.h (modff): New declaration.
48155         * lib/modff.c: New file.
48156         * m4/modff.m4: New file.
48157         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
48158         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
48159         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
48160         * modules/modff: New file.
48161         * tests/test-math-c++.cc: Check the declaration of modff.
48162         * doc/posix-functions/modff.texi: Mention the new module.
48164         modf tests: Make test sharper.
48165         * tests/test-modf.c (main): Strengthen upper bound.
48167         modf: Use a .m4 file.
48168         * m4/modf.m4: New file.
48169         * modules/modf (Files): Add it.
48170         (configure.ac): Just invoke gl_FUNC_MODF.
48172 2011-10-05  Bruno Haible  <bruno@clisp.org>
48174         Tests for module 'fmodf'.
48175         * modules/fmodf-tests: New file.
48176         * tests/test-fmodf.c: New file.
48178         New module 'fmodf'.
48179         * lib/math.in.h (fmodf): New declaration.
48180         * lib/fmodf.c: New file.
48181         * m4/fmodf.m4: New file.
48182         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
48183         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
48184         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
48185         * modules/fmodf: New file.
48186         * tests/test-math-c++.cc: Check the declaration of fmodf.
48187         * doc/posix-functions/fmodf.texi: Mention the new module.
48189         fmod: Use a .m4 file.
48190         * m4/fmod.m4: New file.
48191         * modules/fmod (Files): Add it.
48192         (configure.ac): Just invoke gl_FUNC_FMOD.
48194 2011-10-05  Bruno Haible  <bruno@clisp.org>
48196         Tests for module 'fabsf'.
48197         * modules/fabsf-tests: New file.
48198         * tests/test-fabsf.c: New file.
48200         New module 'fabsf'.
48201         * lib/math.in.h (fabsf): New declaration.
48202         * lib/fabsf.c: New file.
48203         * m4/fabsf.m4: New file.
48204         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
48205         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
48206         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
48207         * modules/fabsf: New file.
48208         * tests/test-math-c++.cc: Check the declaration of fabsf.
48209         * doc/posix-functions/fabsf.texi: Mention the new module.
48211         fabs: Use a .m4 file.
48212         * m4/fabs.m4: New file.
48213         * modules/fabs (Files): Add it.
48214         (configure.ac): Just invoke gl_FUNC_FABS.
48216 2011-10-05  Jim Meyering  <meyering@redhat.com>
48218         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
48219         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
48220         ls -lL regression introduced in coreutils-8.12, it does so at the
48221         cost of an additional stat call in the common case.  Besides, now
48222         that the kernel change that prompted commit 95f7c57f has been reverted
48223         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
48224         we have no use for commit 95f7c57f, "file-has-acl: use
48225         acl_extended_file_nofollow if available".
48227 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
48229         file-has-acl: revert unintended change in behavior of ls -L
48230         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
48231         derived from...
48232         (file_has_acl): ...code here.  Call it.
48233         This problem was introduced with 2011-07-22 commit 95f7c57f,
48234         "file-has-acl: use acl_extended_file_nofollow if available".
48235         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
48237 2011-10-03  Bruno Haible  <bruno@clisp.org>
48239         poll: Avoid link errors on MSVC.
48240         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
48241         * modules/poll (Depends-on): Add sockets.
48242         (Link): New section.
48243         * NEWS: Mention the change.
48244         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
48245         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
48246         $(LIB_POLL) instead of $(LIBSOCKET).
48248 2011-10-03  Bruno Haible  <bruno@clisp.org>
48250         sys_select tests: Fix link error on MSVC 9.
48251         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
48252         with $(LIB_SELECT) instead of $(LIBSOCKET).
48254 2011-10-03  Bruno Haible  <bruno@clisp.org>
48256         sys_select: Fix compilation error on mingw.
48257         * lib/sys_select.in.h: On native Windows, include <io.h>.
48259 2011-10-03  Bruno Haible  <bruno@clisp.org>
48261         wmemset: Support for MSVC.
48262         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
48263         whether wmemset() exists.
48265 2011-10-03  Bruno Haible  <bruno@clisp.org>
48267         wmemmove: Support for MSVC.
48268         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
48269         whether wmemmove() exists.
48271 2011-10-03  Bruno Haible  <bruno@clisp.org>
48273         wmemcpy: Support for MSVC.
48274         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
48275         whether wmemcpy() exists.
48277 2011-10-03  Bruno Haible  <bruno@clisp.org>
48279         wmemcmp: Support for MSVC.
48280         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
48281         whether wmemcmp() exists.
48283 2011-10-03  Bruno Haible  <bruno@clisp.org>
48285         wmemchr: Support for MSVC.
48286         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
48287         whether wmemchr() exists.
48289 2011-10-03  Bruno Haible  <bruno@clisp.org>
48291         glthread/*, strsignal: Support for MSVC.
48292         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
48293         including <winsock.h> on MSVC 9.
48294         * lib/glthread/lock.h: Likewise.
48295         * lib/glthread/thread.h: Likewise.
48296         * lib/glthread/tls.h: Likewise.
48297         * lib/glthread/yield.h: Likewise.
48298         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
48299         if HAVE_UNISTD_H is false.
48300         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
48302 2011-10-03  Bruno Haible  <bruno@clisp.org>
48304         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
48305         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
48306         Set to 100000.
48308 2011-10-03  Bruno Haible  <bruno@clisp.org>
48310         acl: Fix specification.
48311         * lib/file-has-acl.c (file_has_acl): Fix specification.
48313 2011-10-03  Bruno Haible  <bruno@clisp.org>
48315         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
48316         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
48317         (compute_curr_prefix, shared_library_fullname,
48318         find_shared_library_fullname, get_shared_library_fullname, relocate):
48319         Use it together with PIC && INSTALLDIR.
48320         Reported by <jojelino@gmail.com>
48321         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
48323 2011-10-01  Jim Meyering  <meyering@redhat.com>
48325         maint.mk: adjust a release-related rule not to require use of gzip
48326         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
48327         Instead, check each file in $(DIST_ARCHIVES).  This is better for
48328         projects that build only .tar.xz files.  Also fix an erroneous test.
48330         test-linkat: don't leave behind a temporary file
48331         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
48332         Otherwise, coreutils' "make distcheck" would fail with this:
48333           Only in /c/cu/tests/torture/coreutils/test/\
48334             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
48335           make[2]: *** [my-distcheck] Error 1
48337         float, math: add omitted file
48338         * lib/itold.c: Add file, required for yesterday's float change.
48340 2011-10-01  Bruno Haible  <bruno@clisp.org>
48342         isinf: Fix for OpenBSD/x86.
48343         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
48344         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
48345         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
48347 2011-10-01  Bruno Haible  <bruno@clisp.org>
48349         isfinite: Fix syntax error in configure test.
48350         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
48352         isfinite: Fix typo.
48353         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
48354         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
48356 2011-10-01  Bruno Haible  <bruno@clisp.org>
48358         nonblocking tests: Fix test failure on Linux/IA-64.
48359         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
48360         Set to 270000.
48362 2011-10-01  Bruno Haible  <bruno@clisp.org>
48364         mkfifoat tests: Fix a test failure on mingw.
48365         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
48366         with error ENOSYS.
48368 2011-09-30  Bruno Haible  <bruno@clisp.org>
48370         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
48371         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
48372         'long double'. Set REPLACE_ITOLD.
48373         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
48374         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
48375         * lib/itold.c: New file.
48376         * modules/float (Files): Add lib/itold.c.
48377         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
48378         (Makefile.am): Substitute REPLACE_ITOLD.
48379         * modules/math (Depends-on): Add float.
48380         (Makefile.am): Substitute REPLACE_ITOLD.
48381         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
48382         * doc/posix-headers/math.texi: Likewise.
48383         * doc/posix-functions/logl.texi: Likewise.
48385 2011-09-30  Bruno Haible  <bruno@clisp.org>
48387         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
48388         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
48389         Set to 140000.
48391 2011-09-30  Bruno Haible  <bruno@clisp.org>
48393         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
48394         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
48395         invocation, say "right after AC_PROG_CC_STDC", not "right after
48396         AC_PROG_CC".
48397         Reported by Gary V. Vaughan <gary@gnu.org>.
48399 2011-09-30  Bruno Haible  <bruno@clisp.org>
48401         Centralize C99 requirement.
48402         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
48403         * modules/stdarg (configure.ac-early): Invoke it instead of
48404         AC_PROG_CC_STDC.
48405         Reported by Gary V. Vaughan and Paul Eggert.
48407 2011-09-29  Bruno Haible  <bruno@clisp.org>
48409         float: Fix LDBL_MAX value on Linux/PowerPC.
48410         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
48411         on Linux/PowerPC.
48412         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
48413         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
48414         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
48415         platform.
48416         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
48418 2011-09-29  Bruno Haible  <bruno@clisp.org>
48420         doc: Improve doc about gl_EARLY.
48421         * doc/gnulib-tool.texi (Initial import): Mention where to place an
48422         AC_PROG_CC_STDC invocation.
48423         Reported by Gary V. Vaughan <gary@gnu.org>.
48425 2011-09-28  Bruno Haible  <bruno@clisp.org>
48427         fgetc, fputc, fread, fwrite tests: Fix link error.
48428         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
48429         on non-MSVC platforms.
48430         * tests/test-fputc.c (main): Likewise.
48431         * tests/test-fread.c (main): Likewise.
48432         * tests/test-fwrite.c (main): Likewise.
48433         Reported by Jim Meyering.
48435 2011-09-27  Bruno Haible  <bruno@clisp.org>
48437         fputc, fwrite tests: Avoid test failure on MSVC.
48438         * tests/test-fgetc.c: Include msvc-inval.h.
48439         (main): Invoke gl_msvc_inval_ensure_handler.
48440         * tests/test-fputc.c: Include msvc-inval.h.
48441         (main): Invoke gl_msvc_inval_ensure_handler.
48442         * tests/test-fread.c: Include msvc-inval.h.
48443         (main): Invoke gl_msvc_inval_ensure_handler.
48444         * tests/test-fwrite.c: Include msvc-inval.h.
48445         (main): Invoke gl_msvc_inval_ensure_handler.
48446         * modules/fgetc-tests (Depends-on): Add msvc-inval.
48447         * modules/fputc-tests (Depends-on): Likewise.
48448         * modules/fread-tests (Depends-on): Likewise.
48449         * modules/fwrite-tests (Depends-on): Likewise.
48451 2011-09-27  Bruno Haible  <bruno@clisp.org>
48453         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
48454         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
48455         (raise): Remove older, duplicated declaration.
48456         (_gl_raise_SIGPIPE): New declaration.
48457         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
48458         (rpl_raise): Remove function.
48459         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
48460         a gnulib-defined SIGPIPE here.
48461         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
48462         'sigprocmask' has detected missing signal-blocking and the module
48463         'sigpipe' is enabled.
48464         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
48466 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
48468         base64-tests: avoid memory leak
48469         * tests/test-base64.c (main): Plug memory leak.
48471         base32: new module
48472         * modules/base32: New module.
48473         * lib/base32.c: New file.
48474         * lib/base32.h: Likewise.
48475         * m4/base32.m4: Likewise.
48476         * modules/base32-tests: New test.
48477         * tests/test-base32.c: Likewise.
48478         * MODULES.html.sh (Misc): Mention it.
48480 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
48482         gnulib: use more-standard license notice wording
48483         * gnulib-tool (func_emit_copyright_notice): When emitting a
48484         license notice into a file, use the standard wording as suggested
48485         by the current information for GNU maintainers, except say "file"
48486         rather than "program".  The new wording gives a license version
48487         number, which addresses an issue raised by Glenn Morris in
48488         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
48489         * m4/onceonly.m4: Use that same wording here, too.
48491         dup2: minor simplification
48492         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
48493         as lib/dup2.c no longer uses 'inline'.
48495 2011-09-25  Bruno Haible  <bruno@clisp.org>
48497         strings: Fix compilation error on MSVC.
48498         * lib/strings.in.h: Include <stddef.h> for size_t.
48500 2011-09-25  Bruno Haible  <bruno@clisp.org>
48502         fflush et al.: Document limitation on MSVC.
48503         * doc/posix-functions/fflush.texi: Document possible crash in handling
48504         mode other than DEFAULT_HANDLING.
48505         * doc/posix-functions/fgetc.texi: Likewise.
48506         * doc/posix-functions/fputc.texi: Likewise.
48507         * doc/posix-functions/fread.texi: Likewise.
48508         * doc/posix-functions/fwrite.texi: Likewise.
48510 2011-09-25  Bruno Haible  <bruno@clisp.org>
48512         msvc-inval: Allow three invalid parameter handling modes.
48513         * lib/msvc-inval.h: Don't include <stdlib.h> here.
48514         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
48515         macros.
48516         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
48517         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
48518         SANE_LIBRARY_HANDLING as a no-op.
48519         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
48520         <stdlib.h>.
48521         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
48523 2011-09-25  Bruno Haible  <bruno@clisp.org>
48525         msvc-inval: Make handler multithread-safe.
48526         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
48527         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
48528         declarations.
48529         (gl_msvc_inval_current): New declaration.
48530         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
48531         Operate on the structure returned by gl_msvc_inval_current().
48532         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
48533         Remove varaiables.
48534         (tls_index, tls_initialized): New variables.
48535         (not_per_thread): New variable.
48536         (gl_msvc_inval_current): New function.
48537         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
48538         returned by gl_msvc_inval_current().
48540 2011-09-25  Bruno Haible  <bruno@clisp.org>
48542         msvc-inval: Install handler globally.
48543         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
48544         !_MSC_VER.
48545         (gl_msvc_invalid_parameter_handler): Remove declaration.
48546         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
48547         declarations.
48548         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
48549         Install the handler globally, don't uninstall it.
48550         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
48551         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
48552         currently valid, call RaiseException instead.
48553         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
48554         for !_MSC_VER.
48556 2011-09-25  Bruno Haible  <bruno@clisp.org>
48558         strerror_r-posix: Fix for MSVC 9.
48559         * lib/strerror_r.c (local_snprintf): New function.
48560         (snprintf): Define to local_snprintf, not to _snprintf.
48562 2011-09-25  Bruno Haible  <bruno@clisp.org>
48564         ftruncate: Support for MSVC 9.
48565         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
48566         (chsize_nothrow): New function.
48567         (chsize): Redefine as a macro.
48568         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
48569         * modules/ftruncate (Depends-on): Add msvc-inval.
48571 2011-09-25  Bruno Haible  <bruno@clisp.org>
48573         New module 'fstat'.
48574         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
48575         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
48576         * lib/fchdir.c (rpl_fstat): Remove function.
48577         * m4/fstat.m4: New file.
48578         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
48579         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
48580         declared.
48581         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
48582         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
48583         * modules/fstat: New file.
48584         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
48585         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
48586         is set.
48587         * doc/posix-functions/fstat.texi: Mention the new module and the
48588         problem on MSVC.
48589         * NEWS: Mention the change.
48590         * modules/acl (Depends-on): Add fstat.
48591         * modules/chdir-safer (Depends-on): Likewise.
48592         * modules/chown (Depends-on): Likewise.
48593         * modules/copy-file (Depends-on): Likewise.
48594         * modules/fchdir (Depends-on): Likewise.
48595         * modules/fdopendir (Depends-on): Likewise.
48596         * modules/fopen (Depends-on): Likewise.
48597         * modules/fts (Depends-on): Likewise.
48598         * modules/getcwd (Depends-on): Likewise.
48599         * modules/isapipe (Depends-on): Likewise.
48600         * modules/linkat (Depends-on): Likewise.
48601         * modules/lseek (Depends-on): Likewise.
48602         * modules/mkdir-p (Depends-on): Likewise.
48603         * modules/open (Depends-on): Likewise.
48604         * modules/openat (Depends-on): Likewise.
48605         * modules/read-file (Depends-on): Likewise.
48606         * modules/renameat (Depends-on): Likewise.
48607         * modules/utimens (Depends-on): Likewise.
48609 2011-09-25  Bruno Haible  <bruno@clisp.org>
48611         linkat: Fix compilation on MSVC 9.
48612         * lib/linkat.c: Don't include <stdint.h>.
48614 2011-09-25  Bruno Haible  <bruno@clisp.org>
48616         fclose: Support for MSVC 9.
48617         * lib/fclose.c: Include msvc-inval.h.
48618         (fclose_nothrow): New function.
48619         (rpl_fclose): Use it.
48620         * modules/fclose (Depends-on): Add msvc-inval.
48621         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
48623 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
48625         dup2: minor simplifications
48626         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
48627         that it's a performance win.
48628         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
48629         ! defined __CYGWIN__)" to "ifdef F_GETFL".
48631 2011-09-24  Jim Meyering  <meyering@redhat.com>
48633         test-futimens: avoid a warning from gcc -Wshadow
48634         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
48635         to avoid a shadowing warning.
48637 2011-09-24  Bruno Haible  <bruno@clisp.org>
48639         fdopen: Support for MSVC 9.
48640         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
48641         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
48642         * lib/fdopen.c: Include msvc-inval.h.
48643         (fdopen_nothrow): New function.
48644         (rpl_fdopen): Use it.
48645         * modules/fdopen (Depends-on): Add msvc-inval.
48646         * modules/fclose-tests (Depends-on): Add fdopen.
48647         * modules/fflush-tests (Depends-on): Likewise.
48648         * modules/fgetc-tests (Depends-on): Likewise.
48649         * modules/fputc-tests (Depends-on): Likewise.
48650         * modules/fread-tests (Depends-on): Likewise.
48651         * modules/freopen-tests (Depends-on): Likewise.
48652         * modules/fseeko-tests (Depends-on): Likewise.
48653         * modules/ftello-tests (Depends-on): Likewise.
48654         * modules/fwrite-tests  (Depends-on): Likewise.
48655         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
48657 2011-09-24  Bruno Haible  <bruno@clisp.org>
48659         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
48660         * modules/fgetc-tests (Depends-on): Add unistd.
48661         * modules/fputc-tests (Depends-on): Likewise.
48662         * modules/fread-tests (Depends-on): Likewise.
48663         * modules/fwrite-tests (Depends-on): Likewise.
48665 2011-09-24  Bruno Haible  <bruno@clisp.org>
48667         dup: Simplify autoconf test.
48668         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
48669         on gl_MSVC_INVAL's result.
48671 2011-09-24  Bruno Haible  <bruno@clisp.org>
48673         Tests for function fwrite().
48674         * modules/fwrite-tests: New file.
48675         * tests/test-fwrite.c: New file.
48676         * modules/stdio-tests (Depends-on): Add fwrite-tests.
48678         Tests for function fread().
48679         * modules/fread-tests: New file.
48680         * tests/test-fread.c: New file.
48681         * modules/stdio-tests (Depends-on): Add fread-tests.
48683         Activate fputc tests.
48684         * modules/stdio-tests (Depends-on): Add fputc-tests.
48686         Enhance fgetc, fputc tests.
48687         * tests/test-fgetc.c (main): Also test the stream's error indicator.
48688         * tests/test-fputc.c (main): Likewise.
48690 2011-09-24  Bruno Haible  <bruno@clisp.org>
48692         write: Support for MSVC 9.
48693         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
48694         is not 1.
48695         * lib/write.c (write_nothrow): New function.
48696         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
48697         not 1. Use write_nothrow.
48698         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
48699         invalid parameter handler.
48700         (gl_PREREQ_WRITE): New macro.
48701         * modules/write (Depends-on): Add msvc-inval.
48702         (configure.ac): Invoke gl_PREREQ_WRITE.
48703         * doc/posix-functions/write.texi: Mention the problem on MSVC.
48705 2011-09-24  Bruno Haible  <bruno@clisp.org>
48707         read: Fix last commit.
48708         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
48710 2011-09-24  Bruno Haible  <bruno@clisp.org>
48712         dup2: Fix last commit.
48713         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
48714         (rpl_dup2): Disable fcntl workaround on native Windows.
48716         sigprocmask: Make code safer.
48717         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
48718         section that changes macro definitions for this compilation unit.
48720 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
48722         dup2: clarify by coalescing Windows-specific material
48723         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
48724         "msvc-nothrow.h"' to the Windows-specific section, so that the
48725         Emacs source need not contain these include files.
48726         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
48727         Windows-specific fixes into this function rather than just the
48728         nothrow fix, as this shortens and clarifies the code.  Always
48729         define as a function, as that's a bit cleaner than having it be
48730         sometimes a function and sometimes a macro.
48731         (rpl_dup2): Move the Windows-specific stuff out of here and into
48732         ms_windows_dup2.  Don't protect the Haiku-related fix with
48733         "#if !defined __linux__", as the same code also works around
48734         a Linux kernel bug, and it doesn't add any system calls on any
48735         platform.  Add comment about FreeBSD 6.1.
48737         sigprocmask: move #include directive
48738         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
48739         Windows-specific section, so that the Emacs source need not
48740         contain msvc-inval.h.
48742 2011-09-23  Bruno Haible  <bruno@clisp.org>
48744         read: Support for MSVC 9.
48745         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
48746         is not 1.
48747         * lib/read.c (read_nothrow): New function.
48748         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
48749         read_nothrow.
48750         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
48751         invalid parameter handler.
48752         (gl_PREREQ_READ): New macro.
48753         * modules/read (Depends-on): Add msvc-inval.
48754         (configure.ac): Invoke gl_PREREQ_READ.
48755         * doc/posix-functions/read.texi: Mention the problem on MSVC.
48757 2011-09-23  Bruno Haible  <bruno@clisp.org>
48759         close: Support for MSVC 9.
48760         * lib/close.c: Include <errno.h>, msvc-inval.h.
48761         (close_nothrow): New function.
48762         (rpl_close): Use it.
48763         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
48764         invalid parameter handler.
48765         * modules/close (Depends-on): Add msvc-inval.
48766         * modules/dup2-tests (Depends-on): Add close.
48767         * modules/dup3-tests (Depends-on): Likewise.
48768         * modules/fcntl-tests (Depends-on): Likewise.
48769         * modules/spawn-pipe-tests (Depends-on): Likewise.
48770         * modules/unistd-safer-tests (Depends-on): Likewise.
48771         * doc/posix-functions/close.texi: Mention the problem on MSVC.
48773 2011-09-23  Bruno Haible  <bruno@clisp.org>
48775         New module 'dup'.
48776         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
48777         Allow replacement.
48778         * lib/dup.c: New file.
48779         * lib/fchdir.c (rpl_dup): Remove function.
48780         * m4/dup.m4: New file.
48781         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
48782         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
48783         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
48784         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
48785         * modules/dup: New file.
48786         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
48787         'dup' module is in use.
48788         * modules/fdopendir (Depends-on): Add dup.
48789         * modules/fdutimensat-tests (Depends-on): Likewise.
48790         * modules/fts (Depends-on): Likewise.
48791         * modules/futimens-tests (Depends-on): Likewise.
48792         * modules/posix_spawnp-tests (Depends-on): Likewise.
48793         * modules/unistd-safer-tests (Depends-on): Likewise.
48794         * modules/utimens-tests (Depends-on): Likewise.
48795         * doc/posix-functions/dup.texi: Mention the new module and the problem
48796         on MSVC.
48798 2011-09-23  Bruno Haible  <bruno@clisp.org>
48800         getdtablesize: Support for MSVC 9.
48801         * lib/getdtablesize.c: Include msvc-inval.h.
48802         (_setmaxstdio_nothrow): New function.
48803         (_setmaxstdio): Redefine it.
48804         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
48805         * modules/getdtablesize (Depends-on): Add msvc-inval.
48806         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
48808 2011-09-23  Bruno Haible  <bruno@clisp.org>
48810         signal-h: Rename from signal.
48811         * modules/signal-h: Renamed from modules/signal.
48812         * modules/pthread_sigmask (Depends-on): Update.
48813         * modules/raise (Depends-on): Likewise.
48814         * modules/sigaction (Depends-on): Likewise.
48815         * modules/sigpipe (Depends-on): Likewise.
48816         * modules/sigprocmask (Depends-on): Likewise.
48817         * modules/sys_select (Depends-on): Likewise.
48818         * modules/signal-h-tests: Renamed from modules/signal-tests.
48819         (Files, Depends-on, Makefile.am): Update.
48820         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
48821         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
48822         (Files, Makefile.am): Update.
48823         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
48824         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
48825         * modules/signal: New placeholder file.
48826         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
48827         * doc/posix-headers/signal.texi: Update.
48828         * NEWS: Mention the change.
48830 2011-09-23  Bruno Haible  <bruno@clisp.org>
48832         sigprocmask: Avoid crashes through signal() on MSVC 9.
48833         * lib/sigprocmask.c: Include msvc-inval.h.
48834         (signal_nothrow): New function.
48835         (signal): Redefine it.
48836         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
48837         * modules/sigprocmask (Depends-on): Add msvc-inval.
48838         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
48840 2011-09-23  Bruno Haible  <bruno@clisp.org>
48842         Tests for module 'raise'.
48843         * modules/raise-tests: New file.
48844         * tests/test-raise.c: New file.
48846         raise: Support for MSVC.
48847         * lib/signal.in.h (raise): New declaration.
48848         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
48849         for native Windows platforms.
48850         * m4/raise.m4: New file.
48851         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
48852         HAVE_RAISE, REPLACE_RAISE.
48853         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
48854         REPLACE_RAISE.
48855         * modules/raise (Status, Notice): Remove fields.
48856         (Files): Add m4/raise.m4.
48857         (Depends-on): Add signal, msvc-inval.
48858         (configure.ac): Use the common idioms.
48859         (Maintainer): Add me.
48860         * tests/test-signal-c++.cc: Check the signature of raise.
48861         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
48863 2011-09-23  Bruno Haible  <bruno@clisp.org>
48865         pipe2: Fix compilation on pre-C99 compilers.
48866         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
48868 2011-09-23  Bruno Haible  <bruno@clisp.org>
48870         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
48871         * lib/msvc-nothrow.h: New file.
48872         * lib/msvc-nothrow.c: New file.
48873         * m4/msvc-nothrow.m4: New file.
48874         * modules/msvc-nothrow: New file.
48875         * lib/dup2.c: Include msvc-nothrow.h.
48876         (rpl_dup2): No need to protect _get_osfhandle call here.
48877         * lib/accept4.c: Include msvc-nothrow.h.
48878         * lib/error.c: Likewise.
48879         * lib/fcntl.c: Likewise.
48880         * lib/lseek.c: Likewise.
48881         * lib/nonblocking.c: Likewise.
48882         * lib/poll.c: Likewise.
48883         * lib/read.c: Likewise.
48884         * lib/select.c: Likewise.
48885         * lib/sockets.h: Likewise.
48886         * lib/sockets.c: Likewise.
48887         * lib/stdio-read.c: Likewise.
48888         * lib/stdio-write.c: Likewise.
48889         * lib/write.c: Likewise.
48890         * lib/w32sock.h: Likewise.
48891         * lib/w32spawn.h: Likewise.
48892         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
48893         * lib/fsync.c: Likewise.
48894         * lib/isapipe.c: Likewise.
48895         * modules/dup2 (Depends-on): Add msvc-nothrow.
48896         * modules/accept4 (Depends-on): Likewise.
48897         * modules/error (Depends-on): Likewise.
48898         * modules/fcntl (Depends-on): Likewise.
48899         * modules/lseek (Depends-on): Likewise.
48900         * modules/nonblocking (Depends-on): Likewise.
48901         * modules/poll (Depends-on): Likewise.
48902         * modules/read (Depends-on): Likewise.
48903         * modules/select (Depends-on): Likewise.
48904         * modules/sockets (Depends-on): Likewise.
48905         * modules/sigpipe (Depends-on): Likewise.
48906         * modules/write (Depends-on): Likewise.
48907         * modules/accept (Depends-on): Likewise.
48908         * modules/bind (Depends-on): Likewise.
48909         * modules/connect (Depends-on): Likewise.
48910         * modules/gethostname (Depends-on): Likewise.
48911         * modules/getpeername (Depends-on): Likewise.
48912         * modules/getsockname (Depends-on): Likewise.
48913         * modules/getsockopt (Depends-on): Likewise.
48914         * modules/ioctl (Depends-on): Likewise.
48915         * modules/listen (Depends-on): Likewise.
48916         * modules/recv (Depends-on): Likewise.
48917         * modules/recvfrom (Depends-on): Likewise.
48918         * modules/send (Depends-on): Likewise.
48919         * modules/sendto (Depends-on): Likewise.
48920         * modules/setsockopt (Depends-on): Likewise.
48921         * modules/shutdown (Depends-on): Likewise.
48922         * modules/socket (Depends-on): Likewise.
48923         * modules/execute (Depends-on): Likewise.
48924         * modules/spawn-pipe (Depends-on): Likewise.
48925         * modules/flock (Depends-on): Likewise.
48926         * modules/fsync (Depends-on): Likewise.
48927         * modules/isapipe (Depends-on): Likewise.
48928         * tests/test-cloexec.c: Include msvc-nothrow.h.
48929         * tests/test-dup-safer.c: Likewise.
48930         * tests/test-dup2.c: Likewise.
48931         * tests/test-dup3.c: Likewise.
48932         * tests/test-fcntl.c: Likewise.
48933         * tests/test-pipe.c: Likewise.
48934         * tests/test-pipe2.c: Likewise.
48935         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
48936         * modules/unistd-safer-tests (Depends-on): Likewise.
48937         * modules/dup2-tests (Depends-on): Likewise.
48938         * modules/dup3-tests (Depends-on): Likewise.
48939         * modules/fcntl-tests (Depends-on): Likewise.
48940         * modules/pipe-posix-tests (Depends-on): Likewise.
48941         * modules/pipe2-tests (Depends-on): Likewise.
48943 2011-09-23  Bruno Haible  <bruno@clisp.org>
48945         dup2: Make code more maintainable.
48946         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
48947         (rpl_dup2): Use it.
48948         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
48949         * modules/dup2 (configure.ac): Invoke it.
48950         Reported by Paul Eggert.
48952 2011-09-23  Bruno Haible  <bruno@clisp.org>
48954         msvc-inval: Fix compilation error.
48955         * lib/msvc-inval.h: Include <excpt.h>.
48957 2011-09-23  Bruno Haible  <bruno@clisp.org>
48959         mkdir: Tweak for MSVC 9.
48960         * lib/sys_stat.in.h: Update comments.
48961         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
48963         Tests for module 'chdir'.
48964         * modules/chdir-tests: New file.
48965         * tests/test-chdir.c: New file.
48967         New module 'chdir'.
48968         * modules/chdir: New file.
48969         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
48970         (chdir): New declaration.
48971         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
48972         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
48973         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
48974         * tests/test-unistd-c++.cc: Check signature of chdir.
48975         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
48976         * modules/chdir-long (Depends-on): Add chdir.
48977         * modules/fchdir (Depends-on): Likewise.
48978         * modules/rename (Depends-on): Likewise.
48979         * modules/savewd (Depends-on): Likewise.
48981         rmdir: Support for mingw, MSVC 9.
48982         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
48983         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
48985         getcwd: Tweak for MSVC 9.
48986         * lib/unistd.in.h: Update comments.
48987         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
48989 2011-09-22  Bruno Haible  <bruno@clisp.org>
48991         strerror_r-posix: Avoid a link error on MSVC.
48992         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
48993         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
48995 2011-09-22  Bruno Haible  <bruno@clisp.org>
48997         select: Avoid link errors on MSVC.
48998         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
48999         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
49000         * modules/pselect (Link): Likewise.
49001         * NEWS: Mention the change.
49002         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
49003         test-select-stdin against $(LIB_SELECT).
49004         * modules/pselect-tests (Makefile.am): Link test-pselect against
49005         $(LIB_SELECT).
49007 2011-09-22  Bruno Haible  <bruno@clisp.org>
49009         select: Avoid compilation error on MSVC.
49010         * lib/select.c: Don't include <stdbool.h>.
49012 2011-09-21  Bruno Haible  <bruno@clisp.org>
49014         Consolidate all uses of PATH_MAX in *.m4 files.
49015         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
49016         macros.
49017         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
49018         and gl_PATHMAX_SNIPPET.
49019         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
49020         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
49021         * modules/chdir-long (Files): Add m4/pathmax.m4.
49022         * modules/getcwd (Files): Likewise.
49024 2011-09-21  Bruno Haible  <bruno@clisp.org>
49026         ftruncate: Un-deprecate, concentrate on Win32 support.
49027         * modules/ftruncate (Status, Notice): Remove sections.
49028         (Depends-on): Add largefile.
49029         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
49030         non-mingw platforms.
49031         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
49032         include <io.h>.
49033         * modules/perror-tests (Depends-on): Add ftruncate.
49034         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
49035         'ftruncate' module.
49037 2011-09-21  Bruno Haible  <bruno@clisp.org>
49039         Add dependencies to new dirent related modules.
49040         * modules/opendir (Depends-on): Add closedir.
49041         * modules/getcwd (Depends-on): Add opendir, closedir.
49042         * modules/dirent-safer-tests (Depends-on): Likewise.
49043         * modules/fdopendir-tests (Depends-on): Likewise.
49044         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
49045         * modules/renameat-tests (Depends-on): Likewise.
49047 2011-09-21  Bruno Haible  <bruno@clisp.org>
49049         opendir: Avoid compilation error on mingw.
49050         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
49051         * modules/opendir (Depends-on): Add unistd.
49053 2011-09-21  Bruno Haible  <bruno@clisp.org>
49055         ftruncate tests: Avoid a test failure on mingw.
49056         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
49058 2011-09-21  Bruno Haible  <bruno@clisp.org>
49060         select tests: Avoid test failures on OSF/1 5.1 and mingw.
49061         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
49062         native Windows.
49064 2011-09-21  Bruno Haible  <bruno@clisp.org>
49066         New module 'fdopen'.
49067         * lib/stdio.in.h (fdopen): New declaration.
49068         * lib/fdopen.c: New file.
49069         * m4/fdopen.m4: New file.
49070         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
49071         REPLACE_FDOPEN.
49072         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
49073         REPLACE_FDOPEN.
49074         * modules/fdopen: New file.
49075         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
49076         * tests/test-stdio-c++.cc: Check signature of fdopen.
49077         * doc/posix-functions/fdopen.texi: Mention the new module.
49079 2011-09-21  Bruno Haible  <bruno@clisp.org>
49081         unlockpt tests: Avoid test failure on NetBSD 5.1.
49082         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
49083         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
49085 2011-09-21  Bruno Haible  <bruno@clisp.org>
49087         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
49088         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
49089         * tests/test-getlogin_r.c (main): Likewise.
49091 2011-09-20  Bruno Haible  <bruno@clisp.org>
49093         time tests: Don't require pid_t.
49094         * doc/posix-headers/time.texi: Revert last change.
49095         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
49096         * tests/test-time.c: Comment out the check for pid_t.
49098 2011-09-20  Bruno Haible  <bruno@clisp.org>
49100         fsync tests: Avoid a test failure on mingw.
49101         * tests/test-fsync.c (main): Allow a failure with EIO.
49103 2011-09-20  Bruno Haible  <bruno@clisp.org>
49105         euidaccess: Update comments.
49106         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
49108 2011-09-20  Bruno Haible  <bruno@clisp.org>
49110         Ensure EBADF returns for socket functions on mingw.
49111         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
49112         descriptor is invalid.
49113         * lib/bind.c (rpl_bind): Likewise.
49114         * lib/connect.c (rpl_connect): Likewise.
49115         * lib/getpeername.c (rpl_getpeername): Likewise.
49116         * lib/getsockname.c (rpl_getsockname): Likewise.
49117         * lib/getsockopt.c (rpl_getsockopt): Likewise.
49118         * lib/listen.c (rpl_listen): Likewise.
49119         * lib/recv.c (rpl_recv): Likewise.
49120         * lib/recvfrom.c (rpl_recvfrom): Likewise.
49121         * lib/send.c (rpl_send): Likewise.
49122         * lib/sendto.c (rpl_sendto): Likewise.
49123         * lib/setsockopt.c (rpl_setsockopt): Likewise.
49124         * lib/shutdown.c (rpl_shutdown): Likewise.
49126 2011-09-20  Bruno Haible  <bruno@clisp.org>
49128         select tests: EBADF tests.
49129         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
49130         test_bad_fd): New functions.
49131         (test_function): Invoke also test_bad_fd.
49133 2011-09-20  Bruno Haible  <bruno@clisp.org>
49135         Tests for module 'posix_spawn_file_actions_addopen.
49136         * modules/posix_spawn_file_actions_addopen-tests: New file.
49137         * tests/test-posix_spawn_file_actions_addopen.c: New file.
49139         Tests for module 'posix_spawn_file_actions_adddup2'.
49140         * modules/posix_spawn_file_actions_adddup2-tests: New file.
49141         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
49143         Tests for module 'posix_spawn_file_actions_addclose'.
49144         * modules/posix_spawn_file_actions_addclose-tests: New file.
49145         * tests/test-posix_spawn_file_actions_addclose.c: New file.
49147 2011-09-20  Bruno Haible  <bruno@clisp.org>
49149         Tests for module 'unlockpt'.
49150         * modules/unlockpt-tests: New file.
49151         * tests/test-unlockpt.c: New file.
49152         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
49154         Tests for module 'grantpt'.
49155         * modules/grantpt-tests: New file.
49156         * tests/test-grantpt.c: New file.
49157         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
49159 2011-09-20  Bruno Haible  <bruno@clisp.org>
49161         freopen tests: EBADF tests.
49162         * tests/test-freopen.c: Include errno.h, unistd.h.
49163         (main): Add tests for EBADF, commented out for the moment.
49165         fclose tests: EBADF tests.
49166         * tests/test-fclose.c (main): Add tests for EBADF.
49168         fflush tests: EBADF tests.
49169         * tests/test-fflush.c: Include errno.h, macros.h.
49170         (main): Add tests for EBADF.
49172         ftello tests: EBADF tests.
49173         * tests/test-ftello4.sh: New file.
49174         * tests/test-ftello4.c: New file.
49175         * modules/ftello-tests (Files): Add them.
49176         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
49178         fseeko tests: EBADF tests.
49179         * tests/test-fseeko4.sh: New file.
49180         * tests/test-fseeko4.c: New file.
49181         * modules/fseeko-tests (Files): Add them.
49182         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
49184         Tests for function fputc().
49185         * modules/fputc-tests: New file.
49186         * tests/test-fputc.c: New file.
49187         * modules/stdio-tests (Depends-on): Add fputc-tests.
49189         Tests for function fgetc().
49190         * modules/fgetc-tests: New file.
49191         * tests/test-fgetc.c: New file.
49192         * modules/stdio-tests (Depends-on): Add fgetc-tests.
49194         Tests for function fdopen().
49195         * modules/fdopen-tests: New file.
49196         * tests/test-fdopen.c: New file.
49197         * modules/stdio-tests (Depends-on): Add fdopen-tests.
49199         Tests for module 'vdprintf'.
49200         * modules/vdprintf-tests: New file.
49201         * tests/test-vdprintf.c: New file.
49203         Tests for module 'dprintf'.
49204         * modules/dprintf-tests: New file.
49205         * tests/test-dprintf.c: New file.
49207 2011-09-20  Bruno Haible  <bruno@clisp.org>
49209         Tests for module 'ioctl'.
49210         * modules/ioctl-tests: New file.
49211         * tests/test-ioctl.c: New file.
49213 2011-09-20  Bruno Haible  <bruno@clisp.org>
49215         fcntl tests: EBADF tests.
49216         * tests/test-fcntl.c (main): Add more tests for EBADF.
49218 2011-09-20  Bruno Haible  <bruno@clisp.org>
49220         utimensat tests: EBADF tests.
49221         * tests/test-utimensat.c (main): Add tests for EBADF.
49223         renameat tests: EBADF tests.
49224         * tests/test-renameat.c (main): Add tests for EBADF.
49226         mkfifoat tests: EBADF tests.
49227         * tests/test-mkfifoat.c (main): Add tests for EBADF.
49229         readlinkat tests: EBADF tests.
49230         * tests/test-readlinkat.c (main): Add tests for EBADF.
49232         symlinkat tests: EBADF tests.
49233         * tests/test-symlinkat.c (main): Add tests for EBADF.
49235         linkat tests: EBADF tests.
49236         * tests/test-linkat.c (main): Add tests for EBADF.
49238         Tests for module 'faccessat'.
49239         * modules/faccessat-tests: New file.
49240         * tests/test-faccessat.c: New file.
49242         fdopendir tests: EBADF tests.
49243         * tests/test-fdopendir.c (main): Add more tests for EBADF.
49245         openat tests: EBADF tests.
49246         * tests/test-fchownat.c (main): Add tests for EBADF.
49247         * tests/test-fstatat.c (main): Likewise.
49248         * tests/test-mkdirat.c (main): Likewise.
49249         * tests/test-openat.c (main): Likewise.
49250         * tests/test-unlinkat.c (main): Likewise.
49251         * tests/test-fchmodat.c: New file.
49252         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
49253         (Makefile.am): Also run 'test-fchmodat'.
49255 2011-09-20  Bruno Haible  <bruno@clisp.org>
49257         utimens, futimens, fdutimensat tests: EBADF tests.
49258         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
49260         Tests for function fstat().
49261         * modules/fstat-tests: New file.
49262         * tests/test-fstat.c: New file.
49263         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
49265 2011-09-20  Bruno Haible  <bruno@clisp.org>
49267         test-ttyname_r tests: EBADF tests.
49268         * tests/test-ttyname_r.c (main): Add tests for EBADF.
49270         Tests for module 'isatty'.
49271         * modules/isatty-tests: New file.
49272         * tests/test-isatty.c: New file.
49274         Tests for module 'write'.
49275         * modules/write-tests: New file.
49276         * tests/test-write.c: New file.
49278         Tests for module 'read'.
49279         * modules/read-tests: New file.
49280         * tests/test-read.c: New file.
49282         pwrite tests: EBADF tests.
49283         * tests/test-pwrite.c (main): Add tests for EBADF.
49285         pread tests: EBADF tests.
49286         * tests/test-pread.c (main): Add tests for EBADF.
49288         lseek tests: EBADF tests.
49289         * tests/test-lseek.c (main): Add more tests for EBADF.
49291         Tests for module 'ftruncate'.
49292         * modules/ftruncate-tests: New file.
49293         * tests/test-ftruncate.sh: New file.
49294         * tests/test-ftruncate.c: New file.
49296         fsync tests: EBADF tests.
49297         * tests/test-fsync.c (main): Add more tests for EBADF.
49299         fdatasync tests: EBADF tests.
49300         * tests/test-fdatasync.c (main): Add more tests for EBADF.
49302         Tests for module 'fchown'.
49303         * modules/fchown-tests: New file.
49304         * tests/test-fchown.c: New file.
49306         Tests for module 'fchmod'.
49307         * modules/fchmod-tests: New file.
49308         * tests/test-fchmod.c: New file.
49310         fchdir tests: EBADF tests.
49311         * tests/test-fchdir.c (main): Add more tests for EBADF.
49313         dup2 tests: EBADF tests.
49314         * tests/test-dup2.c (main): Add more tests for EBADF.
49316         Tests for module 'dup'.
49317         * modules/dup-tests: New file.
49318         * tests/test-dup.c: New file.
49320         Tests for module 'close'.
49321         * modules/close-tests: New file.
49322         * tests/test-close.c: New file.
49324 2011-09-20  Bruno Haible  <bruno@clisp.org>
49326         Tests for module 'shutdown'.
49327         * modules/shutdown-tests: New file.
49328         * tests/test-shutdown.c: New file.
49330         Tests for module 'setsockopt'.
49331         * modules/setsockopt-tests: New file.
49332         * tests/test-setsockopt.c: New file.
49334         Tests for module 'sendto'.
49335         * modules/sendto-tests: New file.
49336         * tests/test-sendto.c: New file.
49338         Tests for module 'send'.
49339         * modules/send-tests: New file.
49340         * tests/test-send.c: New file.
49342         Tests for module 'recvfrom'.
49343         * modules/recvfrom-tests: New file.
49344         * tests/test-recvfrom.c: New file.
49346         Tests for module 'recv'.
49347         * modules/recv-tests: New file.
49348         * tests/test-recv.c: New file.
49350         Tests for module 'listen'.
49351         * modules/listen-tests: New file.
49352         * tests/test-listen.c: New file.
49354         Tests for module 'getsockopt'.
49355         * modules/getsockopt-tests: New file.
49356         * tests/test-getsockopt.c: New file.
49358         Tests for module 'getsockname'.
49359         * modules/getsockname-tests: New file.
49360         * tests/test-getsockname.c: New file.
49362         Tests for module 'getpeername'.
49363         * modules/getpeername-tests: New file.
49364         * tests/test-getpeername.c: New file.
49366         Tests for module 'connect'.
49367         * modules/connect-tests: New file.
49368         * tests/test-connect.c: New file.
49370         Tests for module 'bind'.
49371         * modules/bind-tests: New file.
49372         * tests/test-bind.c: New file.
49374         accept4 tests: Fix for native Windows.
49375         * tests/test-accept4.c: Include sockets.h.
49376         (main): Invoke gl_sockets_startup.
49377         * modules/accept4-tests (Depends-on): Add sockets.
49379         accept tests: Fix for native Windows.
49380         * tests/test-accept.c: Include sockets.h.
49381         (main): Invoke gl_sockets_startup.
49382         * modules/accept-tests (Depends-on): Add sockets.
49384 2011-09-19  Bruno Haible  <bruno@clisp.org>
49386         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
49387         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
49388         do...while(0).
49389         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
49390         Suggested by Paul Eggert.
49392 2011-09-19  Bruno Haible  <bruno@clisp.org>
49394         sched: Ensure pid_t is defined.
49395         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
49396         not define pid_t.
49397         * lib/sched.in.h: Include <sys/types.h>.
49398         * doc/posix-headers/sched.texi: Mention the pid_t problem.
49399         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49401 2011-09-19  Bruno Haible  <bruno@clisp.org>
49403         msvc-inval: Ensure the entire expansion is a single statement.
49404         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
49405         of braces.
49407 2011-09-19  Jim Meyering  <meyering@redhat.com>
49409         tests: use printf, not echo in init.sh's warn_ function
49410         * tests/init.sh (warn_): Use printf, not echo.  The latter would
49411         misbehave when given strings containing a backslash or starting
49412         with e.g., -n.  James Youngman suggested setting IFS.
49414 2011-09-19  Eric Blake  <eblake@redhat.com>
49416         futimens: enhance test
49417         * tests/test-futimens.h (test_futimens): Also check for EBADF on
49418         closed non-negative fd.
49420         date: accept 'hence' as opposite of 'ago'
49421         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
49422         * tests/test-parse-datetime.c (main): Enhance test.
49423         Suggested by Jesse Wilson.
49425 2011-09-19  Jim Meyering  <meyering@redhat.com>
49427         getcwd: don't fail in a deep directory on a system without openat
49428         Before this change, getcwd would fail when called from a directory
49429         of depth PATH_MAX / 3 or greater.  That was due to the fact that
49430         the non-openat implementation used "..", "../..", "../../..", etc.
49431         to access ancestor directories.  With too many, that string would
49432         be longer than PATH_MAX.
49433         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
49434         using gnulib's openat replacement.
49435         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
49436         we're using the replacement function.
49438 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
49440         maint.mk: avoid warnings from perl about missing files
49441         * top/maint.mk (def_sym_regex): Ignore files listed in
49442         $(gl_other_headers_) that do not exist, say because a project
49443         does not use a corresponding module.
49445 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
49447         stat: use pathmax.h only if needed
49448         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
49449         This is better for Emacs, which does not have a mingw port and
49450         therefore can avoid the pathmax module.
49452         utimens: remove dependency on dup2
49453         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
49454         to work around the Linux kernel bug.
49455         * modules/utimens (Depends-on): Remove dup2.
49457 2011-09-18  Bruno Haible  <bruno@clisp.org>
49459         inet_ntop, inet_pton: Look for it also in libresolv.
49460         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
49461         libnsl, search for it in libresolv.
49462         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
49463         Needed on Solaris 7.
49465 2011-09-18  Bruno Haible  <bruno@clisp.org>
49467         accept, accept4 tests: Avoid link error on Solaris.
49468         * modules/accept-tests (Makefile.am): Link test-accept against
49469         $(LIBSOCKET).
49470         * modules/accept4-tests (Makefile.am): Link test-accept4 against
49471         $(LIBSOCKET).
49473         accept4: Avoid link error on Solaris.
49474         * modules/accept4 (Link): New section.
49476         socket functions: Avoid link errors on Solaris.
49477         * modules/accept (Depends-on): Add socketlib.
49478         (Link): New section.
49479         * modules/bind (Depends-on): Add socketlib.
49480         (Link): New section.
49481         * modules/connect (Depends-on): Add socketlib.
49482         (Link): New section.
49483         * modules/getpeername (Depends-on): Add socketlib.
49484         (Link): New section.
49485         * modules/getsockname (Depends-on): Add socketlib.
49486         (Link): New section.
49487         * modules/getsockopt (Depends-on): Add socketlib.
49488         (Link): New section.
49489         * modules/listen (Depends-on): Add socketlib.
49490         (Link): New section.
49491         * modules/recv (Depends-on): Add socketlib.
49492         (Link): New section.
49493         * modules/recvfrom (Depends-on): Add socketlib.
49494         (Link): New section.
49495         * modules/send (Depends-on): Add socketlib.
49496         (Link): New section.
49497         * modules/sendto (Depends-on): Add socketlib.
49498         (Link): New section.
49499         * modules/setsockopt (Depends-on): Add socketlib.
49500         (Link): New section.
49501         * modules/shutdown (Depends-on): Add socketlib.
49502         (Link): New section.
49503         * modules/socket (Depends-on): Add socketlib.
49504         (Link): New section.
49506 2011-09-18  Bruno Haible  <bruno@clisp.org>
49508         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
49509         * tests/test-ptsname.c (main): Terminate the test if it takes longer
49510         than 5 seconds.
49511         * modules/ptsname-tests (configure.ac): Test for alarm.
49513 2011-09-18  Bruno Haible  <bruno@clisp.org>
49515         posix_spawn_file_actions_add*: Fix module dependencies.
49516         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
49517         posix_spawn_file_actions_init.
49518         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
49519         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
49521 2011-09-18  Bruno Haible  <bruno@clisp.org>
49523         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
49524         * tests/test-rename.h (test_rename): Allow error code EEXIST.
49525         * tests/test-renameat.c (main): Likewise.
49527 2011-09-18  Bruno Haible  <bruno@clisp.org>
49529         Tests for module 'accept4'.
49530         * modules/accept4-tests: New file.
49531         * tests/test-accept4.c: New file.
49533 2011-09-18  Bruno Haible  <bruno@clisp.org>
49535         Tests for module 'accept'.
49536         * modules/accept-tests: New file.
49537         * tests/test-accept.c: New file.
49539 2011-09-18  Bruno Haible  <bruno@clisp.org>
49541         dup2: Support for MSVC.
49542         * lib/dup2.c: Include msvc-inval.h.
49543         (rpl_dup2): Handle invalid parameter notifications during dup2 and
49544         _get_osfhandle calls.
49545         * modules/dup2 (Depends-on): Add msvc-inval.
49546         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
49548         New module 'msvc-inval'.
49549         * lib/msvc-inval.h: New file.
49550         * lib/msvc-inval.c: New file.
49551         * m4/msvc-inval.m4: New file.
49552         * modules/msvc-inval: New file.
49554 2011-09-17  Bruno Haible  <bruno@clisp.org>
49556         Tests for module 'pclose'.
49557         * modules/pclose-tests: New file.
49559         New module 'pclose'.
49560         * lib/stdio.in.h (pclose): New declaration.
49561         * lib/pclose.c: New file.
49562         * m4/pclose.m4: New file.
49563         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
49564         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
49565         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
49566         * modules/pclose: New file.
49567         * modules/popen-tests (Depends-on): Add pclose.
49568         * modules/popen-safer-tests (Depends-on): Likewise.
49569         * doc/posix-functions/pclose.texi: Mention the new module.
49571 2011-09-17  Bruno Haible  <bruno@clisp.org>
49573         popen: Support for MSVC.
49574         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
49575         * lib/popen.c (popen): Provide alternate definition for native Windows.
49576         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
49577         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
49578         * modules/popen (Depends-on, configure.ac): Update condition.
49579         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
49580         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
49581         fixed.
49583 2011-09-17  Bruno Haible  <bruno@clisp.org>
49585         isnanl, isnand, isnanf: Work around MSVC bug.
49586         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
49588 2011-09-17  Bruno Haible  <bruno@clisp.org>
49590         sys_socket tests: Fix recent mistake.
49591         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
49593 2011-09-17  Bruno Haible  <bruno@clisp.org>
49595         putenv: Support for MSVC.
49596         * modules/putenv (Depends-on): Add environ.
49597         * lib/putenv.c (environ): Disable declaration.
49598         * lib/unistd.in.h: Update comment.
49600 2011-09-17  Bruno Haible  <bruno@clisp.org>
49602         math: Avoid macro redefinition warnings on MSVC.
49603         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
49604         Undefine before redefining.
49606 2011-09-17  Bruno Haible  <bruno@clisp.org>
49608         doc: Mention functions which are declared as macros.
49609         * doc/posix-functions/*[fl].texi: Mention that some functions are
49610         defined as macros with arguments only.
49612 2011-09-17  Bruno Haible  <bruno@clisp.org>
49614         Add dependencies to new dirent related modules.
49615         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
49616         * modules/fts (Depends-on): Likewise.
49617         * modules/glob (Depends-on): Likewise.
49618         * modules/savedir (Depends-on): Likewise.
49619         * modules/scandir (Depends-on): Likewise.
49620         * modules/dirent-safer (Depends-on): Add opendir, closedir.
49621         * modules/fdopendir (Depends-on): Add opendir.
49623 2011-09-17  Bruno Haible  <bruno@clisp.org>
49625         inet_pton: Support for MSVC on Windows Vista or newer.
49626         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
49627         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
49628         HAVE_DECL_INET_PTON is defined.
49629         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
49630         On platforms with <winsock2.h>, test whether inet_pton is declared in
49631         <ws2tcpip.h>. If so, arrange to replace it.
49632         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
49633         REPLACE_INET_PTON.
49634         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
49635         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
49636         (Depends-on, configure.ac): Update condition.
49637         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
49639 2011-09-17  Bruno Haible  <bruno@clisp.org>
49641         inet_ntop: Support for MSVC on Windows Vista or newer.
49642         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
49643         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
49644         HAVE_DECL_INET_NTOP is defined.
49645         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
49646         On platforms with <winsock2.h>, test whether inet_ntop is declared in
49647         <ws2tcpip.h>. If so, arrange to replace it.
49648         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
49649         REPLACE_INET_NTOP.
49650         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
49651         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
49652         (Depends-on, configure.ac): Update condition.
49653         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
49655 2011-09-16  Eric Blake  <eblake@redhat.com>
49657         test-fsync: yet another enhancement
49658         * tests/test-fsync.c (main): Also test behavior on read-only text
49659         file.
49661 2011-09-16  Bruno Haible  <bruno@clisp.org>
49663         Enhance fsync, fdatasync tests.
49664         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
49665         * tests/test-fdatasync.c (main): Likewise.
49667 2011-09-16  Bruno Haible  <bruno@clisp.org>
49669         Support for MSVC compiler: Ensure mode_t gets defined.
49670         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
49671         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
49672         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
49673         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
49674         * tests/test-fcntl-h.c: Check that mode_t is defined.
49675         * tests/test-sys_stat.c: Likewise.
49676         * tests/test-sys_types.c: Likewise.
49677         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
49678         * doc/posix-headers/sys_stat.texi: Likewise.
49679         * doc/posix-headers/sys_types.texi: Likewise.
49681 2011-09-16  Bruno Haible  <bruno@clisp.org>
49683         sys_stat: Support for MSVC.
49684         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
49685         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
49686         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
49687         MSVC.
49689 2011-09-16  Bruno Haible  <bruno@clisp.org>
49691         Support for MSVC compiler: Ensure off_t gets defined.
49692         * lib/unistd.in.h: Include <sys/types.h>.
49693         * tests/test-fcntl-h.c: Check that off_t is defined.
49694         * tests/test-sys_stat.c: Likewise.
49695         * tests/test-sys_types.c: Likewise.
49697 2011-09-16  Eric Blake  <eblake@redhat.com>
49699         fdatasync: port to Solaris
49700         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
49701         * modules/fdatasync (Link): Document it.
49702         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
49704         fdatasync: port to MacOS X 10.7
49705         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
49706         declared.
49707         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
49708         * modules/unistd (Makefile.am): Substitute it.
49709         * lib/unistd.in.h (fdatasync): Declare on MacOS.
49710         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
49712         fdatasync: minor improvements
49713         * modules/fdatasync (Depends-on): Add condition for fsync.
49714         * lib/fdatasync.c (fdatasync): Add comment.
49715         * tests/test-unistd-c++.cc: Test fdatasync.
49717         unistd: update refs to newer POSIX
49718         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
49719         Suggested by Bruno Haible.
49721         fdatasync: new module
49722         * modules/fsync (Description): Document difference to fdatasync.
49723         * modules/fdatasync: New module.
49724         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
49725         * lib/fdatasync.c (fdatasync): Likewise.
49726         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
49727         defaults.
49728         * modules/unistd (Makefile.am): Set witnesses.
49729         * lib/unistd.in.h (fdatasync): Declare.
49730         * MODULES.html.sh: Document it.
49731         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
49732         * modules/fdatasync-tests: New test.
49733         * tests/test-fdatasync.c: Likewise.
49735 2011-09-16  Eric Blake  <eblake@redhat.com>
49737         test-fsync: enhance tests
49738         * modules/fsync-tests (Depends-on): Add errno, for mingw.
49739         * tests/test-fsync.c (main): Enhance test.
49741 2011-09-15  Bruno Haible  <bruno@clisp.org>
49743         Support for MSVC compiler: Ensure ssize_t gets defined.
49744         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
49745         * doc/posix-headers/stdio.texi: Likewise.
49746         * modules/stdio (Depends-on): Add ssize_t.
49747         * modules/sys_socket (Depends-on): Likewise.
49748         * modules/sys_types (Depends-on): Likewise.
49749         * modules/sys_uio (Depends-on): Likewise.
49750         * modules/unistd (Depends-on): Likewise.
49751         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
49752         * tests/test-sys_types.c: Check that ssize_t is defined.
49754 2011-09-14  Bruno Haible  <bruno@clisp.org>
49756         Avoid using #, the m4 comment starter character, near brackets.
49757         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
49758         delimiter character in sed expressions.
49759         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
49760         Suggested by Eric Blake.
49762         Properly quote AC_CHECK_DECLS' 4th argument.
49763         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
49764         argument.
49765         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
49766         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
49767         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
49768         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
49769         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
49770         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
49771         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
49772         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
49773         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
49774         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
49775         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
49776         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
49777         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
49778         * m4/isinf.m4 (gl_ISINF): Likewise.
49779         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
49780         * m4/readutmp.m4 (gl_READUTMP): Likewise.
49781         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49782         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
49783         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
49784         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
49785         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
49786         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
49787         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
49788         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
49789         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
49790         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49791         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
49792         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49793         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49794         Reported by Eric Blake.
49796         Properly quote AC_CHECK_DECL's 4th argument.
49797         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
49798         argument.
49799         * m4/argp.m4 (gl_ARGP): Likewise.
49800         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
49801         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
49802         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
49803         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
49804         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
49805         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
49806         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
49807         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
49808         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49809         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
49810         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
49811         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
49812         Reported by Eric Blake.
49814 2011-09-14  Eric Blake  <eblake@redhat.com>
49816         opendir: avoid compile warning
49817         * lib/opendir.c (includes): Always include errno.h.
49818         Reported by Tatsuro MATSUOKA.
49820 2011-09-14  Jim Meyering  <meyering@redhat.com>
49822         maint.mk: sc_tight_scope: propagate failure from sub-make
49823         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
49824         Reported by Martin von Gagern.
49826 2011-09-13  Bruno Haible  <bruno@clisp.org>
49828         tempname: Support for MSVC.
49829         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
49830         MSVC.
49831         * modules/tempname (Depends-on): Add fcntl-h.
49833 2011-09-13  Bruno Haible  <bruno@clisp.org>
49835         sys_time: Support for MSVC.
49836         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
49837         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
49838         include <winsock2.h>.
49839         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
49840         function declarations that collide with POSIX.
49841         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
49842         (Makefile.am): Substitute HAVE_WINSOCK2_H.
49844 2011-09-13  Bruno Haible  <bruno@clisp.org>
49846         stat: Support for MSVC.
49847         * lib/stat.c: Include pathmax.h.
49848         * modules/stat (Depends-on): Add pathmax.
49850         pathmax: Support for native Windows.
49851         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
49853 2011-09-12  Bruno Haible  <bruno@clisp.org>
49855         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
49856         * lib/dirent.in.h (struct dirent): New type.
49857         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
49858         DT_WHT): New macros.
49859         (DIR): New type.
49860         (opendir, closedir): Declare only if the module 'opendir' is enabled.
49861         (readdir, rewinddir): New declarations.
49862         * lib/dirent-private.h: New file.
49863         * lib/opendir.c: New file.
49864         * lib/readdir.c: New file.
49865         * lib/rewinddir.c: New file.
49866         * lib/closedir.c: New file.
49867         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
49868         * m4/opendir.m4: New file.
49869         * m4/readdir.m4: New file.
49870         * m4/rewinddir.m4: New file.
49871         * m4/closedir.m4: New file.
49872         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
49873         REPLACE_CLOSEDIR here.
49874         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
49875         readdir, rewinddir are declared.
49876         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
49877         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
49878         HAVE_REWINDDIR, HAVE_CLOSEDIR.
49879         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
49880         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
49881         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
49882         * modules/opendir: New file.
49883         * modules/readdir: New file.
49884         * modules/rewinddir: New file.
49885         * modules/closedir: New file.
49886         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
49887         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
49888         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
49889         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
49890         * NEWS: Mention the 'fchdir' change.
49892 2011-09-11  Bruno Haible  <bruno@clisp.org>
49894         asm-underscore.m4: Support for MSVC.
49895         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
49896         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
49898 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
49900         Doc about crypt functions.
49901         * doc/posix-functions/crypt.texi: Expand range of glibc versions
49902         needing for _GNU_SOURCE to get crypt.
49903         * doc/posix-functions/encrypt.texi: Likewise.
49904         * doc/posix-functions/setkey.texi: Likewise.
49906 2011-09-11  Bruno Haible  <bruno@clisp.org>
49908         doc: Update regarding MSVC 9.
49909         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
49910         tested".
49911         * doc/posix-functions/*.texi: Update with info about MSVC 9.
49912         * doc/posix-headers/*.texi: Likewise.
49913         * doc/pastposix-functions/*.texi: Likewise.
49914         * doc/glibc-functions/*.texi: Likewise.
49915         * doc/glibc-headers/*.texi: Likewise.
49917 2011-09-11  Bruno Haible  <bruno@clisp.org>
49919         unistd et al.: Don't assume <unistd.h> exists.
49920         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
49921         does not exist.
49922         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
49923         exist. But include <stdlib.h>.
49924         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
49925         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
49926         symlink() does not exist.
49927         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
49928         include <io.h> instead.
49929         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
49930         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
49931         include <direct.h> instead.
49932         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
49933         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
49934         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
49935         <io.h> instead.
49936         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
49937         correctly if the system does not have hard links.
49938         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
49939         <direct.h> instead.
49940         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
49941         it when looking for function declarations.
49942         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
49943         <direct.h> and <io.h> instead.
49944         * doc/posix-headers/unistd.texi: More details about MSVC problem.
49946 2011-09-11  Bruno Haible  <bruno@clisp.org>
49948         strcase: Support for MSVC.
49949         * modules/strcase (Status, Notice): Remove obsoletion mark.
49950         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
49951         * doc/posix-functions/strncasecmp.texi: Likewise.
49953         strings: Don't assume <strings.h> exists.
49954         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
49955         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
49956         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
49957         * doc/posix-headers/strings.texi: Mention the MSVC problem.
49959 2011-09-11  Bruno Haible  <bruno@clisp.org>
49961         dirent: Don't assume <dirent.h> exists.
49962         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
49963         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
49964         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
49965         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
49967 2011-09-11  Bruno Haible  <bruno@clisp.org>
49969         Fix wint_t on MSVC.
49970         * lib/wchar.in.h (wint_t): On MSVC, override it.
49971         * lib/wctype.in.h (wint_t): Likewise.
49972         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
49973         MSVC.
49974         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
49975         * doc/posix-headers/wctype.texi: Likewise.
49977 2011-09-11  Bruno Haible  <bruno@clisp.org>
49979         sys_types: Fix typo.
49980         * lib/sys_types.in.h: Fix typo in comment.
49981         Reported by Paul Eggert.
49983         Support for MSVC compiler: Ensure size_t gets defined.
49984         * modules/strings (Depends-on): Add 'sys_types'.
49985         * modules/sys_uio (Depends-on): Likewise.
49986         * lib/sys_uio.in.h: Update comment.
49988         C++ tests for module 'sys_types'.
49989         * modules/sys_types-c++-tests: New file.
49990         * tests/test-sys_types-c++.cc: New file.
49992         Tests for module 'sys_types'.
49993         * modules/sys_types-tests: New file.
49994         * tests/test-sys_types.c: New file.
49996         New module 'sys_types'.
49997         * lib/sys_types.in.h: New file.
49998         * m4/sys_types_h.m4: New file.
49999         * modules/sys_types: New file.
50000         * doc/posix-headers/sys_types.texi: Mention the new module and the
50001         size_t problem on MSVC 9.
50003 2011-09-11  Bruno Haible  <bruno@clisp.org>
50005         Support for MSVC compiler: Avoid division by a literal 0.
50006         * lib/math.in.h (NAN): Define through a function call also on MSVC.
50007         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
50008         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
50009         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
50010         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
50011         * tests/infinity.h: New file.
50012         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
50013         on MSVC.
50014         * tests/test-ceilf1.c: Include infinity.h.
50015         (main): Use Infinityf.
50016         * tests/test-ceil1.c: Include infinity.h.
50017         (main): Use Infinityd.
50018         * tests/test-ceill.c: Include infinity.h.
50019         (main): Use Infinityl.
50020         * tests/test-dprintf-posix.c: Include infinity.h.
50021         (test_function): Use Infinityd.
50022         * tests/test-floorf1.c: Include infinity.h.
50023         (main): Use Infinityf.
50024         * tests/test-floor1.c: Include infinity.h.
50025         (main): Use Infinityd.
50026         * tests/test-floorl.c: Include infinity.h.
50027         (main): Use Infinityl.
50028         * tests/test-fprintf-posix.c: Include infinity.h.
50029         (test_function): Use Infinityd.
50030         * tests/test-frexp.c: Include infinity.h.
50031         (main): Use Infinityd.
50032         * tests/test-frexpl.c: Include infinity.h.
50033         (main): Use Infinityl.
50034         * tests/test-isfinite.c: Include infinity.h.
50035         (test_isfinitef): Use Infinityf.
50036         (test_isfinited): Use Infinityd.
50037         (test_isfinitel): Use Infinityl.
50038         * tests/test-isinf.c: Include infinity.h.
50039         (test_isinff): Use Infinityf.
50040         (test_isinfd): Use Infinityd.
50041         (test_isinfl): Use Infinityl.
50042         * tests/test-isnan.c: Include infinity.h.
50043         (test_float): Use Infinityf.
50044         (test_double): Use Infinityd.
50045         (test_long_double): Use Infinityl.
50046         * tests/test-isnanf.h: Include infinity.h.
50047         (main): Use Infinityf.
50048         * tests/test-isnand.h: Include infinity.h.
50049         (main): Use Infinityd.
50050         * tests/test-isnanl.h: Include infinity.h.
50051         (main): Use Infinityl.
50052         * tests/test-ldexpl.c: Include infinity.h.
50053         (main): Use Infinityl.
50054         * tests/test-printf-posix.h: Include infinity.h.
50055         (test_function): Use Infinityd.
50056         * tests/test-roundf1.c: Include infinity.h.
50057         (main): Use Infinityf.
50058         * tests/test-round1.c: Include infinity.h.
50059         (main): Use Infinityd.
50060         * tests/test-roundl.c: Include infinity.h.
50061         (main): Use Infinityl.
50062         * tests/test-signbit.c: Include infinity.h.
50063         (test_signbitf): Use Infinityf.
50064         (test_signbitd): Use Infinityd.
50065         (test_signbitl): Use Infinityl.
50066         * tests/test-snprintf-posix.h: Include infinity.h.
50067         (test_function): Use Infinityd, Infinityl.
50068         * tests/test-sprintf-posix.h: Include infinity.h.
50069         (test_function): Use Infinityd, Infinityl.
50070         * tests/test-truncf1.c: Include infinity.h.
50071         (main): Use Infinityf.
50072         * tests/test-trunc1.c: Include infinity.h.
50073         (main): Use Infinityd.
50074         * tests/test-truncl.c: Include infinity.h.
50075         (main): Use Infinityl.
50076         * tests/test-vasnprintf-posix.c: Include infinity.h.
50077         (test_function): Use Infinityd, Infinityl.
50078         * tests/test-vasprintf-posix.c: Include infinity.h.
50079         (test_function): Use Infinityd, Infinityl.
50080         * modules/ceilf-tests (Files): Add tests/infinity.h.
50081         * modules/ceil-tests (Files): Likewise.
50082         * modules/ceill-tests (Files): Likewise.
50083         * modules/dprintf-posix-tests (Files): Likewise.
50084         * modules/floorf-tests (Files): Likewise.
50085         * modules/floor-tests (Files): Likewise.
50086         * modules/floorl-tests (Files): Likewise.
50087         * modules/fprintf-posix-tests (Files): Likewise.
50088         * modules/frexp-tests (Files): Likewise.
50089         * modules/frexp-nolibm-tests (Files): Likewise.
50090         * modules/frexpl-tests (Files): Likewise.
50091         * modules/frexpl-nolibm-tests (Files): Likewise.
50092         * modules/isfinite-tests (Files): Likewise.
50093         * modules/isinf-tests (Files): Likewise.
50094         * modules/isnan-tests (Files): Likewise.
50095         * modules/isnanf-tests (Files): Likewise.
50096         * modules/isnanf-nolibm-tests (Files): Likewise.
50097         * modules/isnand-tests (Files): Likewise.
50098         * modules/isnand-nolibm-tests (Files): Likewise.
50099         * modules/isnanl-tests (Files): Likewise.
50100         * modules/isnanl-nolibm-tests (Files): Likewise.
50101         * modules/ldexpl-tests (Files): Likewise.
50102         * modules/printf-posix-tests (Files): Likewise.
50103         * modules/roundf-tests (Files): Likewise.
50104         * modules/round-tests (Files): Likewise.
50105         * modules/roundl-tests (Files): Likewise.
50106         * modules/signbit-tests (Files): Likewise.
50107         * modules/snprintf-posix-tests (Files): Likewise.
50108         * modules/sprintf-posix-tests (Files): Likewise.
50109         * modules/truncf-tests (Files): Likewise.
50110         * modules/trunc-tests (Files): Likewise.
50111         * modules/truncl-tests (Files): Likewise.
50112         * modules/vasnprintf-posix-tests (Files): Likewise.
50113         * modules/vasprintf-posix-tests (Files): Likewise.
50114         * modules/vdprintf-posix-tests (Files): Likewise.
50115         * modules/vfprintf-posix-tests (Files): Likewise.
50116         * modules/vprintf-posix-tests (Files): Likewise.
50117         * modules/vsnprintf-posix-tests (Files): Likewise.
50118         * modules/vsprintf-posix-tests (Files): Likewise.
50119         * modules/xprintf-posix-tests (Files): Likewise.
50121 2011-09-11  Bruno Haible  <bruno@clisp.org>
50123         Ensure pid_t gets defined.
50124         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
50125         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
50126         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
50127         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
50128         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
50129         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
50130         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
50131         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
50132         * tests/test-fcntl-h.c: Check that pid_t is defined.
50133         * tests/test-sched.c: Likewise.
50134         * tests/test-termios.c: Likewise.
50135         * tests/test-time.c: Likewise.
50136         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
50137         * doc/posix-headers/signal.texi: Likewise.
50138         * doc/posix-headers/sys_types.texi: Likewise.
50139         * doc/posix-headers/time.texi: Likewise.
50141 2011-09-11  Bruno Haible  <bruno@clisp.org>
50143         acl: Fix compilation on Solaris 10 (older version).
50144         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
50145         of ACE_EVERYONE.
50146         * lib/set-mode-acl.c (qset_acl): Likewise.
50147         Reported by Christian Jullien <eligis@orange.fr>.
50149 2011-09-10  Bruno Haible  <bruno@clisp.org>
50151         iconv, unsetenv: Add support for MSVC compiler.
50152         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
50153         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
50155 2011-09-10  Bruno Haible  <bruno@clisp.org>
50157         *printf: Add support for MSVC compiler.
50158         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
50159         handles the exception caused by the %n directive. When cross-compiling,
50160         guess no on native Windows.
50161         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
50162         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
50163         emulate it through vsnprintf.
50164         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
50165         * doc/posix-functions/dprintf.texi: Update documentation regarding
50166         MSVC 9.
50167         * doc/posix-functions/fprintf.texi: Likewise.
50168         * doc/posix-functions/printf.texi: Likewise.
50169         * doc/posix-functions/snprintf.texi: Likewise.
50170         * doc/posix-functions/sprintf.texi: Likewise.
50171         * doc/posix-functions/swprintf.texi: Likewise.
50172         * doc/posix-functions/vdprintf.texi: Likewise.
50173         * doc/posix-functions/vfprintf.texi: Likewise.
50174         * doc/posix-functions/vprintf.texi: Likewise.
50175         * doc/posix-functions/vsnprintf.texi: Likewise.
50176         * doc/posix-functions/vsprintf.texi: Likewise.
50177         * doc/glibc-functions/asprintf.texi: Likewise.
50178         * doc/glibc-functions/obstack_printf.texi: Likewise.
50179         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50180         * doc/glibc-functions/vasprintf.texi: Likewise.
50182 2011-09-10  Bruno Haible  <bruno@clisp.org>
50184         nocrash: Add support for native Windows.
50185         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
50187 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
50188             Bruno Haible  <bruno@clisp.org>
50190         absolute-header, include-next: Add support for MSVC compiler.
50191         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
50192         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
50193         directory separator in #line directives.
50194         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
50195         recognize also backslash as directory separator in #line directives.
50197 2011-09-08  Jim Meyering  <meyering@redhat.com>
50199         maint.mk: mark the post-release commit log with "maint: " prefix
50200         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
50201         one-line commit-log summary.
50203 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
50204             Bruno Haible  <bruno@clisp.org>
50206         Doc about crypt functions.
50207         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
50208         systems.
50209         * doc/posix-functions/encrypt.texi: Likewise.
50210         * doc/posix-functions/setkey.texi: Likewise.
50212 2011-09-08  Simon Josefsson  <simon@josefsson.org>
50214         * lib/gc.h: Fix copyright header.
50216 2011-09-07  Bruno Haible  <bruno@clisp.org>
50218         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
50219         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
50220         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
50222 2011-09-07  Bruno Haible  <bruno@clisp.org>
50224         openat: Work around compilation error with OSF/1 5.1 DTK cc.
50225         * lib/fopen.c: Use different syntax for include of <stdio.h>.
50226         * lib/freopen.c: Likewise.
50227         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
50228         * lib/lstat.c: Likewise.
50229         * lib/stat.c: Likewise.
50230         * lib/open.c: Use different syntax for include of <fcntl.h>.
50231         * lib/openat.c: Include fcntl.h again, explicitly.
50233 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
50235         parse-datetime: document the newly accepted format
50236         * doc/parse-datetime.texi (Combined date and time of day items):
50237         New section.
50239 2011-09-06  Bruno Haible  <bruno@clisp.org>
50241         acl: Fix a test failure on newer Solaris 10 with ZFS.
50242         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
50243         ENOSYS as no ACL.
50244         Reported by Jim Meyering.
50246 2011-09-06  Bruno Haible  <bruno@clisp.org>
50248         acl: Update for AIX >= 5.3 with NFS.
50249         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
50250         ENOSYS as no ACL.
50252         acl: Fix a test failure on AIX >= 5.3 with NFS.
50253         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
50254         as no ACL.
50256 2011-09-06  Bruno Haible  <bruno@clisp.org>
50258         acl: Fix a test failure on IRIX 6.5 with NFS.
50259         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
50260         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
50261         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
50262         * lib/copy-acl.c (qcopy_acl): Likewise.
50264 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
50266         openat: port to AIX 7.1 with large files
50267         AIX 7.1 does a "#define openat open64at" if large files are in use,
50268         so we can't simply #undef openat.  Use the orig_openat trick (similar
50269         to orig_open in lib/open.c) to work around the problem.  Problem
50270         reported by Kevin Brott for GNU tar, in the thread containing
50271         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
50272         * lib/openat.c (__need_system_fcntl_h): Define first.
50273         Include <fcntl.h> and <sys/types.h> before undefining.
50274         (orig_openat) [HAVE_OPENAT]: New inline function.
50275         (openat) [HAVE_OPENAT]: Do not undef.
50276         (rpl_openat): Use orig_openat, not openat.
50278 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
50279             Bruno Haible  <bruno@clisp.org>
50281         acl: Avoid errors on NonStop Kernel.
50282         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
50283         ENOTSUP errors.
50285 2011-09-05  Bruno Haible  <bruno@clisp.org>
50287         acl: Clean up Solaris code.
50288         * lib/acl-internal.h: Remove no-op #if.
50289         * lib/file-has-acl.c: Likewise.
50290         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
50291         * lib/copy-acl.c (qcopy_acl): Likewise.
50293 2011-09-05  Bruno Haible  <bruno@clisp.org>
50295         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
50296         binaries built on the original Solaris 10.
50297         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
50298         trivial.
50300 2011-09-05  Bruno Haible  <bruno@clisp.org>
50302         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
50303         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
50304         10.
50305         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
50306         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
50307         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
50308         instead of acl_get, facl_get, acl_set, facl_set.
50310 2011-09-05  Bruno Haible  <bruno@clisp.org>
50312         copy-file: Try unit tests on more file systems.
50313         * tests/test-copy-file-1.sh: New file.
50314         * tests/test-copy-file-2.sh: New file.
50315         * modules/copy-file-tests (Files): Add them.
50316         (Makefile.am): Add them to TESTS.
50318         acl: Try unit tests on more file systems.
50319         * tests/test-file-has-acl-1.sh: New file.
50320         * tests/test-file-has-acl-2.sh: New file.
50321         * tests/test-set-mode-acl-1.sh: New file.
50322         * tests/test-set-mode-acl-2.sh: New file.
50323         * tests/test-copy-acl-1.sh: New file.
50324         * tests/test-copy-acl-2.sh: New file.
50325         * modules/acl-tests (Files): Add them.
50326         (Makefile.am): Add them to TESTS.
50328 2011-09-04  Bruno Haible  <bruno@clisp.org>
50330         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
50331         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
50332         10.
50333         (OLD_ALLOW, OLD_DENY): New macros.
50334         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
50335         ACE_ACCESS_ALLOWED_ACE_TYPE.
50336         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
50337         ACE_ACCESS_DENIED_ACE_TYPE.
50338         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
50339         (NEW_ACE_EXECUTE): Fix value.
50340         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
50341         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
50342         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
50343         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
50344         NEW_ACE_SYNCHRONIZE): New macros.
50345         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
50346         instead of acl_fromtext, acl_set, facl_set.
50347         Fixes a coreutils/tests/cp/perm failure.
50349 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
50351         openat: test for fstatat (..., 0) bug
50352         Further testing with tar suggests that fstatat (..., 0)
50353         does not work in general, on AIX 7.1; see
50354         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
50355         So, give up entirely on AIX 7.1's fstatat, and fall back on our
50356         replacement fstatat (which is what older AIX releases were using
50357         anyway).
50358         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
50359         use is now changed to orig_fstatat.  This was probably the right
50360         thing to do anyway.
50361         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
50362         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
50363         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
50364         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
50365         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
50366         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
50367         if the bug is found.
50369         openat: test for fstatat (AT_FDCWD, ..., 0) bug
50370         This tests for another fstatat bug on AIX 7.1:
50371         fstatat (AT_FDCWD, ..., 0) does not work.  See
50372         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
50373         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
50374         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
50375         (rpl_fstatat): Adjust so that it works around either (or both)
50376         bugs if present.
50377         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
50379 2011-09-03  Karl Berry  <karl@gnu.org>
50381         * doc/regex.texi (Character Class Operators): Avoid literal ":"
50382         in index entries.
50384 2011-09-02  Bruno Haible  <bruno@clisp.org>
50386         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
50387         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
50388         values of AR, ARFLAGS, RANLIB.
50389         Reported by John W. Eaton <jwe@gnu.org> for Octave.
50391 2011-09-02  Bruno Haible  <bruno@clisp.org>
50393         Find 'ar' program that fits with --host argument.
50394         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
50396 2011-09-02  Bruno Haible  <bruno@clisp.org>
50398         tests: init.sh: Support any non-GNU diff.
50399         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
50400         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
50401         Solaris 8.
50403 2011-09-02  Bruno Haible  <bruno@clisp.org>
50405         tests: init.sh: work also with any non-GNU diff that supports -u
50406         * tests/init.sh: Relax check for diff -u support.
50407         Rather than checking for GNU diff via --version, simply check
50408         for support for -u itself.  Useful at least on OpenBSD 4.9,
50409         AIX 7.1, IRIX 6.5, and Solaris 10.
50411 2011-09-01  Bruno Haible  <bruno@clisp.org>
50413         strtoimax, strtoumax: Document problem on HP-UX 11.
50414         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
50415         * doc/posix-functions/strtoumax.texi: Likewise.
50417 2011-09-01  Bruno Haible  <bruno@clisp.org>
50419         strtoumax: Avoid link error on OSF/1 with DTK cc.
50420         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
50421         defined as a function.
50422         * modules/strtoumax (Depends-on, configure.ac): Test only whether
50423         strtoumax is defined, not whether it is declared.
50425 2011-09-01  Bruno Haible  <bruno@clisp.org>
50427         strtoimax: Avoid link error on OSF/1 with DTK cc.
50428         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
50429         defined as a function.
50430         * modules/strtoimax (Depends-on, configure.ac): Test only whether
50431         strtoimax is defined, not whether it is declared.
50433 2011-09-01  Bruno Haible  <bruno@clisp.org>
50435         imaxdiv: Avoid link error on OSF/1 with DTK cc.
50436         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
50437         as a function.
50438         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
50439         whether it is declared.
50441 2011-09-01  Bruno Haible  <bruno@clisp.org>
50443         imaxabs: Avoid link error on OSF/1 with DTK cc.
50444         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
50445         as a function.
50446         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
50447         whether it is declared.
50449 2011-09-01  Bruno Haible  <bruno@clisp.org>
50451         Tests for module 'strtoumax'.
50452         * modules/strtoumax-tests: New file.
50453         * tests/test-strtoumax.c: New file.
50455         Tests for module 'strtoimax'.
50456         * modules/strtoimax-tests: New file.
50457         * tests/test-strtoimax.c: New file.
50459         Tests for module 'imaxdiv'.
50460         * modules/imaxdiv-tests: New file.
50461         * tests/test-imaxdiv.c: New file.
50463         Tests for module 'imaxabs'.
50464         * modules/imaxabs-tests: New file.
50465         * tests/test-imaxabs.c: New file.
50467 2011-09-01  Bruno Haible  <bruno@clisp.org>
50469         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
50470         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
50471         pthread_create.
50473 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
50475         openat: work around AIX 7.1 fstatat issue
50476         This should fix the problem that was not properly fixed
50477         in the previous change, dated 2011-08-30.
50478         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
50479         __need_system_stat_h defined.
50480         (orig_fstatat) [HAVE_FSTATAT]: New function.
50481         (rpl_fstatat): Go back to the old way of doing things,
50482         except call orig_fstatat instead of fstatat.
50483         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
50484         Remove unnecessary check whether fstatat fills in st_size etc.
50486 2011-09-01  Bruno Haible  <bruno@clisp.org>
50488         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
50489         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
50490         just include the system's header.
50492 2011-08-31  Jim Meyering  <meyering@redhat.com>
50494         tests: avoid spurious assertion failure in test-float.c on ppc64
50495         * tests/test-float.c (test_long_double): Comment out an assertion,
50496         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
50497         with gcc-4.4.4.
50499         maint: indent with spaces, not TABs
50500         I need to get in the habit of running gnulib's "make check".
50501         Both of these would have been caught.
50502         * m4/largefile.m4: Indent with spaces, not TABs.
50503         * lib/parse-datetime.y (iso_8601_time): Likewise.
50504         Spotted by Pádraig Brady.
50506         test-parse-datetime.c: accommodate a relatively strict gcc warning
50507         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
50508         to avoid a warning from gcc's -Werror=missing-declarations.
50509         Insert a few spaces-before-funcall-parenthesis.
50511 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
50513         parse-datetime: accept ISO 8601 date and time rep with "T" separator
50514         The parser now accepts ISO 8601 date-time strings with "T" as the
50515         separator.  It has long parsed dates like "2004-02-29 16:21:42"
50516         with a space between the date and time strings.  Now it also parses
50517         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
50518         variants like "2004-02-29T16:21:42.333-07:00"
50519         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
50520         of day representation using the 'T' separator character.
50521         * doc/parse-datetime.texi (General date syntax): replace use of
50522         deprecated --iso-8601 option with --rfc-3339 in example of date
50523         command output formats that can be parsed.
50524         * tests/test-parse-datetime.c (tm_diff): New function, taken from
50525         lib/parse-datetime.y.
50526         (gmt_offset): New function.
50527         (main): Add additional test cases to validate ISO8601 extended
50528         date and time of day parsing.
50530 2011-08-31  Bruno Haible  <bruno@clisp.org>
50532         freopen: Documentation.
50533         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
50534         name.
50535         Reported by Claudio Bley <claudio.bley@gmail.com>.
50537 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
50539         freopen: Don't crash if the filename argument is NULL.
50540         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
50541         NULL.
50543 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
50545         openat: work around AIX 7.1 fstatat bug
50546         Problem reported by Kevin Brott for GNU tar, in the thread containing
50547         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
50548         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
50549         FSTATAT_ST_SIZE_ETC_BROKEN.
50550         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
50551         rpl_fstatat.
50552         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
50553         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
50554         AC_CHECK_FUNCS_ONCE for fstatat.
50555         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
50556         fchmodat, mkdirat, openat and unlinkat.
50558 2011-08-30  Bruno Haible  <bruno@clisp.org>
50560         Avoid endless recursions if config.h includes some header files.
50561         * lib/fopen.c (__need_FILE): Define already before including config.h.
50562         * lib/freopen.c (__need_FILE): Likewise.
50563         * lib/open.c (__need_system_fcntl_h): Likewise.
50564         * lib/stat.c (__need_system_sys_stat_h): Likewise.
50565         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
50566         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
50568 2011-08-25  Karl Berry  <karl@gnu.org>
50570         * config/srclist.txt (ylwrap): new try.
50571         * build-aux/ylwrap: new file.
50573 2011-08-23  Bruno Haible  <bruno@clisp.org>
50575         tmpdir: Use a good default directory on native Windows.
50576         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
50577         (P_tmpdir): Default to _P_tmpdir on native Windows.
50578         (path_search): On native Windows, try the value returned by GetTempPath
50579         before trying P_tmpdir.
50580         * modules/tmpdir (Depends-on): Add pathmax.
50581         Suggested by John Darrington <john@darrington.wattle.id.au>.
50583 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
50585         doc: fix typo in README-release
50586         * top/README-release: Capitalize first word of a sentence.
50588 2011-08-19  Jim Meyering  <meyering@redhat.com>
50590         fts: do not exhaust memory when processing million-entry directories
50591         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
50592         directory would require about 256*N bytes of memory.  Thus, it was
50593         easy to construct a directory too large to be processed by any of
50594         those tools.  With this change, fts' maximum memory utilization is
50595         now limited to around 30MB.
50596         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
50597         (fts_read): When we've processed the final entry (i.e., when
50598         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
50599         using the parent entry to read any remaining entries.  Dispatch
50600         depending on what fts_build returns:
50601         - NULL+stop, aka failure: stop
50602         - NULL otherwise: move up in the dir hierarchy
50603         - non-NULL: handle this new entry
50604         (fts_build): Declare and use new local, continue_readdir.
50605         Prepare to be called from fts_read, when the entries
50606         from a partially-read directory have just been exhausted.
50607         In that case, we'll skip the opendir and instead use the parent's
50608         fts_dirp and derive dir_fd from that.
50609         Finally, in the readdir loop, if we read max_entries entries,
50610         exit the loop ensuring *not* to call closedir.  This is required
50611         so that fts_dirp can be reused on a subsequent call.
50612         Prompted by Ben England's report of memory exhaustion in find
50613         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
50615         maint: fts: move decl of `dp' down into while loop; split a long line
50616         * lib/fts.c (fts_build): No semantic change.
50618         fts: add/use new struct member, fts_dirp
50619         We are about to use this to manage any directory with
50620         too many entries to read all of them into memory at once.
50621         To do that, we'll need to save the DIR* pointer in each
50622         affected FTSENT struct.
50623         * lib/fts_.h: Include <dirent.h>.
50624         (struct FTSENT) [fts_dirp]: New member.
50625         * lib/fts.c (closedir_and_clear): Define.
50626         Use it in place of closedir so that we are sure to
50627         clear the new fts_dirp member when done with it.
50628         (fts_alloc): Initialize the new member.
50629         (fts_lfree): Free, if needed.
50631         maint: fts: give __opendir2 a new parameter and rename
50632         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
50633         than surreptitiously using sole caller's "dir_fd".
50634         (fts_opendir): Rename from __opendir2.
50636         maint: fts.c: remove __opendir2's now-unused parameter, oflag
50637         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
50639         maint: fts.c: correct off-by-one indentation
50640         * lib/fts.c (fts_build): Correct indentation, change style
50641         of a couple of block comments, and bracing style.
50643         maint: fts.c: move __opendir2 #define "up" out of function body
50644         * lib/fts.c (__opendir2): Move "up".  No semantic change.
50646         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
50647         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
50648         out for a long time and besides was useful only on BSD systems.
50650 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
50652         regex: port to Stratus OpenVOS
50653         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
50654         define to empty, rather than attempting nonportable optimizations.
50655         Problem reported by Paul Green in:
50656         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
50657         and fix suggested by Eric Blake in:
50658         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
50660 2011-08-17  Eric Blake  <eblake@redhat.com>
50662         getcwd: fix test failures on mingw
50663         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
50664         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
50665         test if long directory cannot be created, and allow mingw errno.
50667         getcwd-lgpl: fix m4 to match relaxed test for BSD
50668         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
50669         (gl_FUNC_GETCWD_SIGNATURE): New macro.
50670         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
50671         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
50672         signature problem.
50674         getcwd: fix compilation on mingw64
50675         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
50676         getcwd.
50677         Reported by Marc-André Lureau.
50679         pipe2: silence compiler warning
50680         * lib/pipe2.c (pipe2): Hide label if it is not used.
50682 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
50684         relocatable-prog: fix link error
50685         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
50686         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
50687         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
50688         into modules/relocatable-lib without noticing that
50689         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
50690         also needs to build relocatable.c.
50692 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
50694         getaddrinfo: fix sh typo in gai_strerrorA decl checking
50695         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
50696         shell code: it contained a 'break' that was not in a loop.
50697         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
50698         via a shell-language loop; this may have been true in old Autoconf
50699         versions, but it's not true in Autoconf 2.68.  I found this bug
50700         when testing coreutils git on Solaris 8, whose shell complains
50701         about the syntax error.
50703 2011-08-12  Simon Josefsson  <simon@josefsson.org>
50705         * lib/base64.c: Fix comment to reference RFC 4648.
50706         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
50707         <gvtulder@gmail.com>.
50709 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
50711         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
50713         po/Makefile.in.in: fix make -q problem
50714         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
50715         rule, since there's no file named 'check-macro-version' and its
50716         use as a file breaks make -q.
50717         (all): Don't depend on check-macro-version.
50718         (CHECK_MACRO_VERSION): New macro.
50719         (stamp-po): Use it.
50721         configmake: fix make -q problem
50722         * modules/configmake (configmake.h): Update configmake.h's time stamp
50723         even if the file does not change.  Otherwise, 'make -q' fails.
50724         Problem reported by Simon Josefsson in
50725         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
50727 2011-08-11  Jim Meyering  <meyering@redhat.com>
50729         git-version-gen: correct the advice in a comment
50730         * build-aux/git-version-gen: Correct comment.
50731         Don't recommend to list .tarball-version in .gitignore.
50733 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50735         base64: fix off-by-one buffer size bug
50736         Problem and (trivial) fix reported by Gijs van Tulder in
50737         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
50738         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
50739         * tests/test-base64.c (main): Catch the bug.
50741 2011-08-10  Eric Blake  <eblake@redhat.com>
50743         closein: correct comments
50744         * lib/closein.c (close_stdin): Improve comments.
50746 2011-08-09  Bruno Haible  <bruno@clisp.org>
50748         More tests for 'fseeko'.
50749         * tests/test-fseeko3.c: New file, from Eric Blake.
50750         * tests/test-fseeko3.sh: New file.
50751         * modules/fseeko-tests (Files): Add them.
50752         (TESTS): Add test-fseeko3.sh.
50753         (check_PROGRAMS): Add test-fseeko3.
50755 2011-08-09  Eric Blake  <eblake@redhat.com>
50757         fseeko: remove unneeded hack
50758         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
50760         fseeko: fix bug on glibc
50761         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
50762         Reported by John W. Eaton.
50764 2011-08-08  Bruno Haible  <bruno@clisp.org>
50766         unictype/base: Fix interoperability with preinstalled libunistring.
50767         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
50768         Reported by Simon Josefsson.
50770 2011-08-08  Bruno Haible  <bruno@clisp.org>
50772         iswblank: Detect declaration correctly.
50773         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
50774         AC_CHECK_DECLS invocation.
50776 2011-08-08  Bruno Haible  <bruno@clisp.org>
50778         tcgetsid: Detect declaration correctly.
50779         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
50780         AC_CHECK_DECLS invocation.
50781         Reported by Simon Josefsson.
50783 2011-08-08  Eric Blake  <eblake@redhat.com>
50785         largefile: fix typo that regressed large file support
50786         * modules/largefile (configure.ac-early): Fix section name.
50788 2011-08-06  Karl Berry  <karl@gnu.org>
50790         * MODULES.html.sh (func_all_files): _Noreturn is no longer
50791         a separate module.
50793 2011-08-05  Simon Josefsson  <simon@josefsson.org>
50795         openat: Fix warnings and commens when building unlinkat.c on Hurd.
50796         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
50797         get prototype for free.
50799 2011-08-04  Bruno Haible  <bruno@clisp.org>
50801         Tests for module 'pathmax'.
50802         * modules/pathmax-tests: New file.
50803         * tests/test-pathmax.c: New file.
50805         canonicalize-lgpl: Support larger filenames on the Hurd.
50806         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
50807         Reported by Paul Eggert.
50809         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
50810         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
50811         * lib/chdir-long.h: Include pathmax.h.
50812         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
50813         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
50814         (PATH_MAX): Remove code that is done by pathmax.h.
50815         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
50816         * lib/tmpfile.c: Add a comment.
50817         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
50818         * modules/chdir-long (Depends-on): Add pathmax.
50819         * modules/getcwd (Depends-on): Add pathmax.
50820         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
50821         is not defined.
50822         * doc/posix-headers/limits.texi: Mention the pathmax module.
50823         * NEWS: Mention the change.
50825 2011-08-02  Bruno Haible  <bruno@clisp.org>
50827         pthread_sigmask: Actually use results of gl_THREADLIB.
50828         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
50829         gl_THREADLIB, not gl_[]THREADLIB.
50830         Reported by Eric Blake.
50832 2011-08-02  Jim Meyering  <meyering@redhat.com>
50834         maint.mk: relax the default _gl_TS_function_match regexp
50835         * top/maint.mk (_gl_TS_function_match): Don't require at least one
50836         space between function name and "(" in an "extern" declaration.
50837         That would fail to match a decl with no space there: extern void foo();
50839 2011-07-31  Iain Nicol  <iain@thenicols.net>
50841         git-version-gen: document that EXTRA_DIST must include .version
50842         * build-aux/git-version-gen: In the how-to-use comment, document
50843         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
50844         will fail when run from an unpacked distribution tarball.
50846 2011-08-01  Bruno Haible  <bruno@clisp.org>
50848         wctype-h: Fix last change.
50849         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
50850         REPLACE_TOWLOWER to 0.
50851         Reported by Sam Steingold <sds@gnu.org>.
50853 2011-07-31  Bruno Haible  <bruno@clisp.org>
50855         frexpl: Update autoconf test.
50856         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
50857         according to changes of 2011-06-20.
50859 2011-07-31  Bruno Haible  <bruno@clisp.org>
50861         sys_utsname: Add support for Minix.
50862         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
50863         <sys/utsname.h>.
50864         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
50865         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
50867 2011-07-31  Bruno Haible  <bruno@clisp.org>
50869         strings: Add support for Minix.
50870         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
50871         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
50872         * doc/posix-headers/strings.texi: Document the Minix problem.
50874 2011-07-31  Bruno Haible  <bruno@clisp.org>
50876         wctype-h: Add support for Minix.
50877         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
50878         REPLACE_TOWLOWER.
50879         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
50880         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
50881         REPLACE_ISWCNTRL.
50883 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
50885         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
50886         This is a performance improvement for 64-bit hosts: it causes the
50887         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
50889 2011-07-31  Bruno Haible  <bruno@clisp.org>
50891         stdioext: Add support for Minix.
50892         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
50893         * lib/fpurge.c (fpurge): Likewise.
50894         * lib/freadahead.c (freadahead): Likewise.
50895         * lib/freadable.c (freadable): Likewise.
50896         * lib/freading.c (freading): Likewise.
50897         * lib/freadptr.c (freadptr): Likewise.
50898         * lib/freadseek.c (freadptrinc): Likewise.
50899         * lib/fseeko.c (rpl_fseeko): Likewise.
50900         * lib/fseterr.c (fseterr): Likewise.
50901         * lib/fwritable.c (fwritable): Likewise.
50902         * lib/fwriting.c (fwriting): Likewise.
50903         * lib/fflush.c (clear_ungetc_buffer): Update comment.
50904         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
50906 2011-07-31  Bruno Haible  <bruno@clisp.org>
50908         errno: Port to Minix.
50909         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
50910         ECONNABORTED are defined.
50911         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
50912         GNULIB_defined_ECONNABORTED): New macros.
50913         * lib/strerror-override.h (strerror_override): Test also
50914         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
50915         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
50916         ECONNABORTED.
50917         * doc/posix-headers/errno.texi: Mention the Minix problem.
50919 2011-07-31  Bruno Haible  <bruno@clisp.org>
50921         Work around declaration collisions on Minix.
50922         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
50923         defined, set REPLACE_MBSINIT.
50924         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
50925         defined, set REPLACE_MBRTOWC.
50926         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
50927         set REPLACE_MBRLEN.
50928         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
50929         defined, set REPLACE_MBSRTOWCS.
50930         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
50931         defined, set REPLACE_WCRTOMB.
50932         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
50933         defined, set REPLACE_WCSRTOMBS.
50935 2011-07-31  Bruno Haible  <bruno@clisp.org>
50937         Add support for Minix with ACK compiler.
50938         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
50939         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
50940         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
50942 2011-07-31  Bruno Haible  <bruno@clisp.org>
50944         Documentation about Minix.
50945         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
50946         * doc/glibc-headers/*.texi: Likewise.
50947         * doc/posix-functions/*.texi: Likewise.
50948         * doc/glibc-functions/*.texi: Likewise.
50950 2011-07-31  Bruno Haible  <bruno@clisp.org>
50952         snippet/warn-on-use: Fix indentation.
50953         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
50955 2011-07-25  Jim Meyering  <meyering@redhat.com>
50957         tests: test-update-copyright.sh: remove unnecessary "rm" commands
50958         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
50959         commands.
50961 2011-07-27  Jim Meyering  <meyering@redhat.com>
50963         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
50964         * top/maint.mk (gl_extract_significant_defines_): Now that
50965         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
50966         gnulib/lib/signal.in.h, and now that we recommend to
50967         define-if-undefined those two symbols in application code,
50968         we must filter them out of the "significant" list.
50969         This avoids a "make syntax-check" failure in coreutils.
50971 2011-07-26  Eric Blake  <eblake@redhat.com>
50973         warnings: add comments about previous patch
50974         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
50975         * m4/include_next.m4: Likewise.
50976         * m4/warn-on-use.m4: Likewise.
50977         * m4/warnings.m4: Likewise, and simplify use.
50978         Suggested by Stefano Lattarini.
50980         include-next, warnings: support older autoconf
50981         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
50982         AS_VAR_PUSHDEF in a way that works with older autoconf.
50983         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
50984         Reported by Daniel P. Berrange.
50986 2011-07-25  Bruno Haible  <bruno@clisp.org>
50988         fseek, ftell: Fix doc.
50989         * doc/posix-functions/fseek.texi: Reword statement about
50990         AC_SYS_LARGEFILE.
50991         * doc/posix-functions/ftell.texi: Likewise.
50993 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
50994             Bruno Haible  <bruno@clisp.org>
50996         Add dependencies to the 'largefile' module.
50997         * modules/fopen (Depends-on): Add 'largefile'.
50998         * modules/freopen (Depends-on): Likewise.
50999         * modules/fseeko (Depends-on): Likewise.
51000         * modules/ftello (Depends-on): Likewise.
51001         * modules/glob (Depends-on): Likewise.
51002         * modules/lseek (Depends-on): Likewise.
51003         * modules/lstat (Depends-on): Likewise.
51004         * modules/mkostemp (Depends-on): Likewise.
51005         * modules/mkostemps (Depends-on): Likewise.
51006         * modules/mkstemp (Depends-on): Likewise.
51007         * modules/mkstemps (Depends-on): Likewise.
51008         * modules/open (Depends-on): Likewise.
51009         * modules/openat (Depends-on): Likewise.
51010         * modules/pread (Depends-on): Likewise.
51011         * modules/pwrite (Depends-on): Likewise.
51012         * modules/scandir (Depends-on): Likewise.
51013         * modules/stat (Depends-on): Likewise.
51014         * modules/tmpfile (Depends-on): Likewise.
51015         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
51016         since the containing module now depends on the largefile module.
51017         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
51018         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
51019         off_t is fixed by gnulib.
51020         * doc/posix-functions/freopen.texi: Likewise.
51021         * doc/posix-functions/fseeko.texi: Likewise.
51022         * doc/posix-functions/fstatat.texi: Likewise.
51023         * doc/posix-functions/ftello.texi: Likewise.
51024         * doc/posix-functions/glob.texi: Likewise.
51025         * doc/posix-functions/lseek.texi: Likewise.
51026         * doc/posix-functions/lstat.texi: Likewise.
51027         * doc/posix-functions/mkstemp.texi: Likewise.
51028         * doc/posix-functions/open.texi: Likewise.
51029         * doc/posix-functions/openat.texi: Likewise.
51030         * doc/posix-functions/pread.texi: Likewise.
51031         * doc/posix-functions/pwrite.texi: Likewise.
51032         * doc/posix-functions/scandir.texi: Likewise.
51033         * doc/posix-functions/stat.texi: Likewise.
51034         * doc/posix-functions/tmpfile.texi: Likewise.
51035         * doc/glibc-functions/mkostemp.texi: Likewise.
51036         * doc/glibc-functions/mkostemps.texi: Likewise.
51037         * doc/glibc-functions/mkstemps.texi: Likewise.
51039 2011-07-25  Bruno Haible  <bruno@clisp.org>
51041         fcntl: Move AC_LIBOBJ invocation to module description.
51042         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
51043         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
51045         fcntl: Remove call-in from fchdir.m4.
51046         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
51047         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
51049         dup3: Remove potential call-in from fchdir.m4.
51050         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
51051         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
51053         dup2: Move AC_LIBOBJ invocation to module description.
51054         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
51055         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
51056         Don't invoke AC_LIBOBJ.
51057         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
51059         dup2: Remove call-in from fchdir.m4.
51060         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
51061         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
51063         fclose: Move AC_LIBOBJ invocation to module description.
51064         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
51065         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
51066         to 1.
51067         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
51069         fclose: Remove call-in from close.m4.
51070         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
51071         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
51073         close: Move AC_LIBOBJ invocation to module description.
51074         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
51075         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
51076         1.
51077         * modules/close (configure.ac): Invoke AC_LIBOBJ.
51079         close: Remove call-in from fchdir.m4.
51080         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
51081         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
51083         open: Move AC_LIBOBJ invocation to module description.
51084         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
51085         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
51086         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
51088         open: Remove call-in from fchdir.m4.
51089         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
51090         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
51092         fchdir: Start to remove gl_REPLACE_* idiom.
51093         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
51094         (gl_FUNC_FCHDIR): Invoke it.
51096 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
51098         * lib/ftell.c (ftell): Comment out cast.
51100         close: use gl_REPLACE_FCLOSE only if defined
51101         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
51102         is defined.  The close module doesn't depend on the fclose module
51103         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
51104         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
51105         I reproduced the problem with "./gnulib-tool --test close sys_socket".
51107 2011-07-24  Jim Meyering  <meyering@redhat.com>
51109         test-select.h: avoid warning when using gcc's -Wmissing-declarations
51110         * tests/test-select.h (test_function): Declare as "static".
51112 2011-07-24  Bruno Haible  <bruno@clisp.org>
51114         doc: Mention the effects of AC_SYS_LARGEFILE.
51115         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
51116         on this function.
51117         * doc/posix-functions/aio_error.texi: Likewise.
51118         * doc/posix-functions/aio_fsync.texi: Likewise.
51119         * doc/posix-functions/aio_read.texi: Likewise.
51120         * doc/posix-functions/aio_return.texi: Likewise.
51121         * doc/posix-functions/aio_suspend.texi: Likewise.
51122         * doc/posix-functions/aio_write.texi: Likewise.
51123         * doc/posix-functions/fgetpos.texi: Likewise.
51124         * doc/posix-functions/fopen.texi: Likewise.
51125         * doc/posix-functions/freopen.texi: Likewise.
51126         * doc/posix-functions/fsetpos.texi: Likewise.
51127         * doc/posix-functions/fstatvfs.texi: Likewise.
51128         * doc/posix-functions/ftruncate.texi: Likewise.
51129         * doc/posix-functions/ftw.texi: Likewise.
51130         * doc/posix-functions/getrlimit.texi: Likewise.
51131         * doc/posix-functions/glob.texi: Likewise.
51132         * doc/posix-functions/lio_listio.texi: Likewise.
51133         * doc/posix-functions/lockf.texi: Likewise.
51134         * doc/posix-functions/mkstemp.texi: Likewise.
51135         * doc/posix-functions/mmap.texi: Likewise.
51136         * doc/posix-functions/nftw.texi: Likewise.
51137         * doc/posix-functions/openat.texi: Likewise.
51138         * doc/posix-functions/opendir.texi: Likewise.
51139         * doc/posix-functions/posix_fadvise.texi: Likewise.
51140         * doc/posix-functions/posix_fallocate.texi: Likewise.
51141         * doc/posix-functions/pread.texi: Likewise.
51142         * doc/posix-functions/pwrite.texi: Likewise.
51143         * doc/posix-functions/readdir.texi: Likewise.
51144         * doc/posix-functions/readdir_r.texi: Likewise.
51145         * doc/posix-functions/rewinddir.texi: Likewise.
51146         * doc/posix-functions/scandir.texi: Likewise.
51147         * doc/posix-functions/seekdir.texi: Likewise.
51148         * doc/posix-functions/setrlimit.texi: Likewise.
51149         * doc/posix-functions/statvfs.texi: Likewise.
51150         * doc/posix-functions/telldir.texi: Likewise.
51151         * doc/posix-functions/tmpfile.texi: Likewise.
51152         * doc/posix-functions/truncate.texi: Likewise.
51153         * doc/glibc-functions/fallocate.texi: Likewise.
51154         * doc/glibc-functions/fstatfs.texi: Likewise.
51155         * doc/glibc-functions/fts_children.texi: Likewise.
51156         * doc/glibc-functions/fts_read.texi: Likewise.
51157         * doc/glibc-functions/getdirentries.texi: Likewise.
51158         * doc/glibc-functions/mkostemp.texi: Likewise.
51159         * doc/glibc-functions/mkostemps.texi: Likewise.
51160         * doc/glibc-functions/mkstemps.texi: Likewise.
51161         * doc/glibc-functions/preadv.texi: Likewise.
51162         * doc/glibc-functions/pwritev.texi: Likewise.
51163         * doc/glibc-functions/sendfile.texi: Likewise.
51164         * doc/glibc-functions/statfs.texi: Likewise.
51166 2011-07-24  Bruno Haible  <bruno@clisp.org>
51168         doc: Fix typo.
51169         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
51171 2011-07-24  Bruno Haible  <bruno@clisp.org>
51173         doc: Mention fsusage.
51174         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
51176 2011-07-24  Bruno Haible  <bruno@clisp.org>
51178         doc: Mention new glibc headers and functions.
51179         * doc/glibc-headers/gshadow.texi: New file.
51180         * doc/glibc-functions/endsgent.texi: New file.
51181         * doc/glibc-functions/fgetsgent.texi: New file.
51182         * doc/glibc-functions/fgetsgent_r.texi: New file.
51183         * doc/glibc-functions/getsgent.texi: New file.
51184         * doc/glibc-functions/getsgent_r.texi: New file.
51185         * doc/glibc-functions/getsgnam.texi: New file.
51186         * doc/glibc-functions/getsgnam_r.texi: New file.
51187         * doc/glibc-functions/putsgent.texi: New file.
51188         * doc/glibc-functions/setsgent.texi: New file.
51189         * doc/glibc-functions/sgetsgent.texi: New file.
51190         * doc/glibc-functions/sgetsgent_r.texi: New file.
51191         * doc/glibc-functions/malloc_info.texi: New file.
51192         * doc/glibc-functions/preadv.texi: New file.
51193         * doc/glibc-functions/pwritev.texi: New file.
51194         * doc/glibc-functions/register_printf_modifier.texi: New file.
51195         * doc/glibc-functions/register_printf_specifier.texi: New file.
51196         * doc/glibc-functions/register_printf_type.texi: New file.
51197         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
51198         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
51199         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
51200         * doc/glibc-functions/pthread_getname_np.texi: New file.
51201         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
51202         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
51203         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
51204         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
51205         * doc/glibc-functions/pthread_setname_np.texi: New file.
51206         * doc/glibc-functions/pthread_sigqueue.texi: New file.
51207         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
51208         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
51209         * doc/glibc-functions/qsort_r.texi: New file.
51210         * doc/glibc-functions/quick_exit.texi: New file.
51211         * doc/glibc-functions/syncfs.texi: New file.
51212         * doc/gnulib.texi: Include them.
51213         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
51214         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
51215         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
51216         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
51217         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
51218         * doc/glibc-functions/execvpe.texi: Likewise.
51220 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51222         ftell: don't include <unistd.h>
51223         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
51224         guaranteed to define off_t, and the ftell module depends on the
51225         stdio module.
51227         ftell: do not assume wraparound signed arithmetic
51228         * lib/ftell.c: Include <limits.h>.
51229         (ftell): Don't assume wraparound signed arithmetic.
51231 2011-07-24  Bruno Haible  <bruno@clisp.org>
51233         close: No longer depend on module 'fclose'.
51234         * modules/close (Depends-on): Remove fclose.
51235         * NEWS: Mention the change.
51236         Suggested by Sam Steingold <sds@gnu.org>.
51238 2011-07-24  Bruno Haible  <bruno@clisp.org>
51240         fsusage: Enable large volume support on AIX >= 5.2.
51241         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
51242         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
51243         instead of STAT_STATVFS.
51244         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
51246         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
51247         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
51248         f_blocks field only on MacOS X.
51250         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
51251         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
51252         * modules/fsusage (Depends-on): Add largefile.
51254 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51256         * README: Modernize discussion of signed integers.
51257         Assuming overflow wraparound is no longer safe.
51258         Mention ones' complement and signed magnitude.
51260 2011-07-22  Bruno Haible  <bruno@clisp.org>
51262         select tests, pselect tests: Refactor.
51263         * tests/test-select.h: New file, extracted from tests/test-select.c.
51264         (select_fn): New type.
51265         (test, do_select, do_select_nowait, do_select_wait, test_tty,
51266         test_connect_first, test_accept_first, test_pair, test_socket_pair,
51267         test_pipe): Add my_select argument.
51268         (test_function): Renamed from main. Add my_select argument.
51269         * tests/test-select.c: Move most code to tests/test-select.h. Include
51270         test-select.h.
51271         * modules/select-tests (Files): Add tests/test-select.h.
51272         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
51273         (my_select, main): New functions.
51274         * modules/pselect-tests (Files): Add tests/test-select.h,
51275         tests/macros.h, tests/signature.h.
51276         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
51277         (configure.ac): Check for <sys/wait.h>.
51279 2011-07-22  Bruno Haible  <bruno@clisp.org>
51281         sys_select tests: Check the signature of FD_*.
51282         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
51283         signature tests from here...
51284         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
51285         here.
51286         * modules/sys_select-tests (Files): Add tests/signature.h.
51288 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51290         largefile: new module, replacing large-inode
51291         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
51292         * MODULES.html.sh: Add largefile, remove large-inode.
51293         * modules/largefile, m4/largefile.m4: New files.
51294         * modules/large-inode, m4/large-inode.m4: Remove.
51296         fsusage: port to MacOS X 10.7 with 4 TiB file systems
51297         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
51298         implementations that use only 32 bits to count blocks.
51299         On typical hosts with 1024-byte blocks, this fails with file
51300         systems as small as 4 TiB.  Problem reported by Herb Wartens
51301         <http://debbugs.gnu.org/9140> and this should also fix a similar
51302         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
51304         large-inode: New module
51305         * MODULES.html.sh: Add it.
51306         * modules/large-inode, m4/large-inode.m4: New files.
51308         extensions: Enable extensions on MacOS X 10.5 and later.
51309         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
51311 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
51313         file-has-acl: use acl_extended_file_nofollow if available
51314         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
51315         (acl_extended_file): New macro.
51316         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
51317         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
51319 2011-07-21  Bruno Haible  <bruno@clisp.org>
51321         Declare system functions in a way that works with C++.
51322         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
51323         declare fdopendir as extern "C".
51324         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
51325         declare frexpl as extern "C".
51326         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
51327         declare gai_strerror as extern "C".
51328         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
51329         programs, declare gai_strerror as extern "C".
51330         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
51331         declare getlogin_r as extern "C".
51332         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
51333         as extern "C".
51334         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
51335         declare ldexpl as extern "C".
51336         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
51337         as extern "C".
51338         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
51339         program, declare getmntinfo as extern "C".
51340         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
51341         stpncpy as extern "C".
51342         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
51343         program, declare __xpg_strerror_r as extern "C".
51344         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
51345         strndup as extern "C".
51346         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
51347         declare memset and bzero as extern "C".
51348         Reported by Sam Steingold <sds@gnu.org>.
51350 2011-07-12  Jim Meyering  <meyering@redhat.com>
51352         maint.mk: prohibit inclusion of "verify.h" without use
51353         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
51355 2011-07-19  Pádraig Brady  <P@draigBrady.com>
51357         timer-time: A new module to check for timer_settime()
51358         * m4/timer_time.m4: Check for the posix function.
51359         * modules/timer-time: Add the new module.
51360         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
51361         Mention it.
51363 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
51364             Bruno Haible  <bruno@clisp.org>
51366         pthread_sigmask: assume POSIX threads if --avoid=threadlib
51367         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
51368         not defined, assume POSIX threads and look for pthread_sigmask in
51369         $LIBS, without changing $CPPFLAGS.
51371 2011-07-19  Bruno Haible  <bruno@clisp.org>
51373         strstr: Update cross-compilation guess.
51374         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
51375         CPUs, guess no, in view of glibc
51376         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
51377         Suggested by Eric Blake. Reported by Reuben Thomas.
51379 2011-07-19  Pádraig Brady  <P@draigBrady.com>
51381         getopt-gnu: suppress core dumps from detection code
51382         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
51383         to suppress core dumps that may well occur on glibc systems.
51384         * modules/getopt-gnu: Depend on nocrash.
51386 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
51388         pthread_sigmask: ensure usleep is declared
51389         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
51390         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
51392 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
51394         doc: Document NonStop portability issues.
51395         * doc/posix-functions/sigaction.texi (sigaction):
51396         * doc/posix-headers/signal.texi (signal.h):
51397         Document NonStop.  See Joachim Schmitz in
51398         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
51400 2011-07-15  Bruno Haible  <bruno@clisp.org>
51402         ffsl, ffsll: Avoid unportable behaviour.
51403         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
51405 2011-07-15  Bruno Haible  <bruno@clisp.org>
51407         ffs: More tests.
51408         * tests/test-ffs.c (NBITS): New macro.
51409         (main): Add more tests.
51410         * tests/test-ffsl.c (NBITS): New macro.
51411         (main): Add more tests.
51412         * tests/test-ffsll.c (NBITS): New macro.
51413         (main): Add more tests.
51415 2011-07-15  Eric Blake  <eblake@redhat.com>
51417         ffsl, ffsll: new modules
51418         * modules/ffsl: New file.
51419         * modules/ffsll: Likewise.
51420         * m4/ffsl.m4: Likewise.
51421         * m4/ffsll.m4: Likewise.
51422         * lib/ffsl.c: Likewise.
51423         * lib/ffsl.h: Likewise.
51424         * lib/ffsll.c: Likewise.
51425         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
51426         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
51427         * modules/string (Makefile.am): Substitute witnesses.
51428         * lib/strings.in.h (ffsl, ffsll): Declare.
51429         * modules/ffsl-tests: New test file.
51430         * modules/ffsll-tests: Likewise.
51431         * tests/test-ffsl.c: Likewise.
51432         * tests/test-ffsll.c: Likewise.
51433         * MODULES.html.sh (Integer arithmetic functions): Mention it.
51434         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
51435         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
51437         ffs: fix m4 prerequisite
51438         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
51440         ffs: avoid undefined behavior
51441         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
51442         * tests/test-ffs.c (naive, main): Avoid signed shifts.
51443         Reported by Bruno Haible.
51445 2011-07-12  Bruno Haible  <bruno@clisp.org>
51447         pthread_sigmask: Rely on module 'threadlib'.
51448         * modules/pthread_sigmask (Depends-on): Add threadlib.
51449         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
51450         is defined.
51452 2011-07-12  Bruno Haible  <bruno@clisp.org>
51454         regex: Depend on module 'strcase'.
51455         * modules/regex (Depends-on): Add strcase, for strcasecmp().
51457 2011-07-12  Jim Meyering  <meyering@redhat.com>
51459         warn-on-use: fix typo in file name
51460         * modules/snippet/warn-on-use (Files): Correct file name:
51461         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
51463 2011-07-12  Bruno Haible  <bruno@clisp.org>
51465         strings: Document module.
51466         * doc/posix-headers/strings.texi: Mention module 'strings'.
51468 2011-07-12  Bruno Haible  <bruno@clisp.org>
51470         Rename module '_Noreturn' to 'snippet/_Noreturn'.
51471         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
51472         (Files, Makefile.am): Update.
51473         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
51474         * modules/stdlib (Depends-on): Update.
51476 2011-07-12  Bruno Haible  <bruno@clisp.org>
51478         * NEWS: Mention the changes.
51480         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
51481         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
51482         (Files, Makefile.am): Update.
51483         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
51484         * modules/arpa_inet (Depends-on): Update.
51485         * modules/ctype (Depends-on): Update.
51486         * modules/dirent (Depends-on): Update.
51487         * modules/fcntl-h (Depends-on): Update.
51488         * modules/glob (Depends-on): Update.
51489         * modules/iconv-h (Depends-on): Update.
51490         * modules/inttypes-incomplete (Depends-on): Update.
51491         * modules/langinfo (Depends-on): Update.
51492         * modules/locale (Depends-on): Update.
51493         * modules/math (Depends-on): Update.
51494         * modules/netdb (Depends-on): Update.
51495         * modules/poll-h (Depends-on): Update.
51496         * modules/pty (Depends-on): Update.
51497         * modules/search (Depends-on): Update.
51498         * modules/signal (Depends-on): Update.
51499         * modules/spawn (Depends-on): Update.
51500         * modules/stdio (Depends-on): Update.
51501         * modules/stdlib (Depends-on): Update.
51502         * modules/string (Depends-on): Update.
51503         * modules/strings (Depends-on): Update.
51504         * modules/sys_file (Depends-on): Update.
51505         * modules/sys_ioctl (Depends-on): Update.
51506         * modules/sys_select (Depends-on): Update.
51507         * modules/sys_socket (Depends-on): Update.
51508         * modules/sys_stat (Depends-on): Update.
51509         * modules/sys_time (Depends-on): Update.
51510         * modules/sys_times (Depends-on): Update.
51511         * modules/sys_utsname (Depends-on): Update.
51512         * modules/sys_wait (Depends-on): Update.
51513         * modules/termios (Depends-on): Update.
51514         * modules/time (Depends-on): Update.
51515         * modules/unistd (Depends-on): Update.
51516         * modules/wchar (Depends-on): Update.
51517         * modules/wctype-h (Depends-on): Update.
51518         * MODULES.html.sh (Support for building libraries and executables):
51519         Update.
51521         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
51522         * modules/snippet/unused-parameter: Renamed from
51523         modules/unused-parameter.
51524         (Files, Makefile.am): Update.
51525         * build-aux/snippet/unused-parameter.h: Renamed from
51526         build-aux/unused-parameter.h.
51527         * modules/selinux-h (Depends-on): Update.
51528         * modules/unistr/base (Depends-on): Update.
51529         * MODULES.html.sh (Core language properties): Update.
51531         Rename module 'link-warning' to 'snippet/link-warning'.
51532         * modules/snippet/link-warning: Renamed from modules/link-warning.
51533         (Files, Makefile.am): Update.
51534         * build-aux/snippet/link-warning.h: Renamed from
51535         build-aux/link-warning.h.
51536         * MODULES.html.sh (Support for building libraries and executables):
51537         Update.
51539         Rename module 'c++defs' to 'snippet/c++defs'.
51540         * modules/snippet/c++defs: Renamed from modules/c++defs.
51541         (Files, Makefile.am): Update.
51542         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
51543         * modules/arpa_inet (Depends-on): Update.
51544         * modules/ctype (Depends-on): Update.
51545         * modules/dirent (Depends-on): Update.
51546         * modules/fcntl-h (Depends-on): Update.
51547         * modules/glob (Depends-on): Update.
51548         * modules/iconv-h (Depends-on): Update.
51549         * modules/langinfo (Depends-on): Update.
51550         * modules/locale (Depends-on): Update.
51551         * modules/math (Depends-on): Update.
51552         * modules/netdb (Depends-on): Update.
51553         * modules/poll-h (Depends-on): Update.
51554         * modules/pty (Depends-on): Update.
51555         * modules/search (Depends-on): Update.
51556         * modules/signal (Depends-on): Update.
51557         * modules/spawn (Depends-on): Update.
51558         * modules/stdio (Depends-on): Update.
51559         * modules/stdlib (Depends-on): Update.
51560         * modules/string (Depends-on): Update.
51561         * modules/strings (Depends-on): Update.
51562         * modules/sys_ioctl (Depends-on): Update.
51563         * modules/sys_select (Depends-on): Update.
51564         * modules/sys_socket (Depends-on): Update.
51565         * modules/sys_stat (Depends-on): Update.
51566         * modules/sys_time (Depends-on): Update.
51567         * modules/sys_wait (Depends-on): Update.
51568         * modules/termios (Depends-on): Update.
51569         * modules/time (Depends-on): Update.
51570         * modules/unistd (Depends-on): Update.
51571         * modules/wchar (Depends-on): Update.
51572         * modules/wctype-h (Depends-on): Update.
51574         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
51575         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
51576         (Files, Makefile.am): Update.
51577         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
51578         * modules/argv-iter (Depends-on): Update.
51579         * modules/arpa_inet (Depends-on): Update.
51580         * modules/dirent (Depends-on): Update.
51581         * modules/fcntl-h (Depends-on): Update.
51582         * modules/fnmatch (Depends-on): Update.
51583         * modules/getopt-posix (Depends-on): Update.
51584         * modules/glob (Depends-on): Update.
51585         * modules/iconv-h (Depends-on): Update.
51586         * modules/inttypes-incomplete (Depends-on): Update.
51587         * modules/locale (Depends-on): Update.
51588         * modules/math (Depends-on): Update.
51589         * modules/netdb (Depends-on): Update.
51590         * modules/search (Depends-on): Update.
51591         * modules/signal (Depends-on): Update.
51592         * modules/spawn (Depends-on): Update.
51593         * modules/stdio (Depends-on): Update.
51594         * modules/stdlib (Depends-on): Update.
51595         * modules/string (Depends-on): Update.
51596         * modules/strings (Depends-on): Update.
51597         * modules/sys_socket (Depends-on): Update.
51598         * modules/sys_stat (Depends-on): Update.
51599         * modules/sys_time (Depends-on): Update.
51600         * modules/sys_times (Depends-on): Update.
51601         * modules/sys_utsname (Depends-on): Update.
51602         * modules/time (Depends-on): Update.
51603         * modules/unistd (Depends-on): Update.
51604         * modules/wchar (Depends-on): Update.
51605         * MODULES.html.sh (Support for building libraries and executables):
51606         Update.
51608 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
51610         Improvements on _Noreturn and related modules.
51612         modules/_Exit-tests: test _Noreturn too
51613         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
51614         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
51615         (main): Use them.
51617         stdnoreturn, stdnoreturn-tests: remove modules
51618         They're not needed here and a bit premature for use elsewhere.  See
51619         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
51620         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
51621         * tests/test-stdnoreturn.c: Remove files.
51622         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
51623         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
51624         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
51625         and using noreturn.
51626         * modules/openat, modules/sigpipe-die, modules/xalloc:
51627         * modules/xmemdup0, modules/xstrtol:
51628         Remove dependency on stdnoreturn.
51630         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
51631         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
51632         Reparenthesize to avoid GCC warning.
51633         Support Microsoft's syntax.
51634         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
51636         _Noreturn-tests: remove module
51637         * modules/_Noreturn-tests: Remove.
51638         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
51639         * tests/test-_Noreturn.c: Remove.
51640         * tests/test-stdnoreturn.c: Merge from the old
51641         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
51643 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
51645         _Noreturn, stdnoreturn, and related modules.
51647         * top/maint.mk: Adjust to new noreturn support.
51648         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
51649         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
51651         xalloc: use stdnoreturn.h
51652         * lib/xalloc.h: Include <stdnoreturn.h>.
51653         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51654         * modules/xalloc (Depends-on): Add stdnoreturn.
51656         xstrtol: use stdnoreturn.h
51657         * lib/xstrtol.h: Include <stdnoreturn.h>.
51658         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51659         * modules/xstrtol (Depends-on): Add stdnoreturn.
51661         xmemdup0: use stdnoreturn.h
51662         * lib/xmemdup0.h: Include <stdnoreturn.h>.
51663         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51664         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
51666         sigpipe-die: use stdnoreturn.h
51667         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
51668         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51669         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
51671         openat: use stdnoreturn.h
51672         * lib/openat.h: Include <stdnoreturn.h>.
51673         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51674         * modules/openat (Depends-on): Add stdnoreturn.
51676         * lib/openat-die.c (openat_save_fail): Modernize comment.
51678         * lib/xalloc-die.c (xalloc_die): Modernize comment.
51680         * lib/glthread/thread.h: Modernize comment.
51682         obstack: use _Noreturn
51683         * lib/obstack.c (__attribute__): Remove macro.
51684         (print_and_abort): Use _Noreturn.
51686         c-stack: use _Noreturn
51687         * lib/c-stack.c (die, overflow_handler, segv_handler):
51688         Use _Noreturn rather than __attribute__((noreturn)).
51690         argmatch-tests, exclude_tests: use _Noreturn
51691         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
51692         Remove.
51693         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
51695         stdlib: use _Noreturn
51696         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
51697         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
51698         * modules/stdlib (Depends-on): Add _Noreturn.
51699         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
51701         stdnoreturn-tests: new module
51702         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
51704         stdnoreturn: new module
51705         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
51706         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
51708         _Noreturn-tests: new module
51709         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
51711         _Noreturn: new module
51712         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
51713         New section, mentioning it.
51714         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
51716         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
51718 2011-07-11  Eric Blake  <eblake@redhat.com>
51720         ffs: new module
51721         * modules/ffs: New file.
51722         * m4/ffs.m4: Likewise.
51723         * lib/ffs.c: Likewise.
51724         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
51725         * modules/strings (Makefile.am): Substitute witness.
51726         (Depends-on): Add c++defs.
51727         * lib/strings.in.h (ffs): Declare.
51728         * modules/ffs-tests: New test file.
51729         * tests/test-ffs.c: Test new module.
51730         * MODULES.html.sh (Integer arithmetic functions): Mention it.
51731         * doc/posix-functions/ffs.texi (ffs): Likewise.
51733         regex: avoid compiler warning
51734         * lib/regex.c (includes): Include <strings.h>, for use of
51735         strcasecmp in regcomp.c.
51736         Reported by Joachim Schmitz.
51738 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51740         stdint: respect system's intmax_t if INTMAX_MAX
51741         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
51742         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
51743         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
51744         long but int64_t is long long, and where we will clash with the
51745         system intmax_t if we override it.  See
51746         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
51747         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
51748         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
51749         similarly for UINTMAX_C.
51751 2011-07-08  Bruno Haible  <bruno@clisp.org>
51753         pthread_sigmask tests: Avoid a compiler warning.
51754         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
51755         non-zero.
51757         sigprocmask tests: A better way to avoid a compiler warning.
51758         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
51759         (main): Complain if system() returns non-zero.
51760         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
51762 2011-07-08  Bruno Haible  <bruno@clisp.org>
51764         pthread_sigmask: Work around IRIX bug.
51765         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
51766         bug.
51767         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
51768         there may be unblocked pending signals.
51769         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
51771 2011-07-08  Bruno Haible  <bruno@clisp.org>
51773         pthread_sigmask: Work around Cygwin bug.
51774         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
51775         bug.
51776         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
51777         the system's pthread_sigmask function.
51778         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
51780 2011-07-08  Bruno Haible  <bruno@clisp.org>
51782         pthread_sigmask: Work around bug in single-threaded implementation.
51783         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
51784         FreeBSD, HP-UX, Solaris bug.
51785         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
51786         * lib/pthread_sigmask.c: Include <stddef.h>.
51787         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
51788         the system's pthread_sigmask function.
51789         * modules/pthread_sigmask (configure.ac): Invoke
51790         gl_PREREQ_PTHREAD_SIGMASK.
51791         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
51792         HP-UX, Solaris.
51794 2011-07-08  Eric Blake  <eblake@redhat.com>
51796         test-sigprocmask: avoid compiler warning
51797         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
51798         * tests/test-sigprocmask.c (main): Use it to silence warning.
51799         Reported by Jim Meyering.
51801         test-snprintf: avoid compiler warning
51802         * tests/test-snprintf.c (main): Avoid shadowed declaration.
51803         * tests/test-vsnprintf.c (main): Likewise.
51804         Reported by Jim Meyering.
51806 2011-07-08  Bruno Haible  <bruno@clisp.org>
51808         Tests for module 'pthread_sigmask'.
51809         * modules/pthread_sigmask-tests: New file.
51810         * tests/test-pthread_sigmask1.c: New file, based on
51811         tests/test-sigprocmask.c.
51812         * tests/test-pthread_sigmask2.c: New file.
51814 2011-07-08  Jim Meyering  <meyering@redhat.com>
51816         test-getopt.h: avoid warning about an unused variable
51817         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
51819 2011-07-07  Jim Meyering  <meyering@redhat.com>
51821         maint: reduce list of files exempt from sc_prohibit_leading_TABs
51822         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
51823         now that it no longer contains leading TABs.
51824         Remove unused "url=FIXME" statement.
51826 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
51828         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
51829         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
51830         When gl_THREADLIB is not in use, assume that the POSIX sematics
51831         are desired.  This is better for Emacs, which uses POSIX semantics
51832         on GNUish and/or POSIXish platforms, and does not use threads at
51833         all otherwise.
51835         pthread_sigmask: fix typo when testing for libraries
51836         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
51837         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
51839 2011-07-08  Eric Blake  <eblake@redhat.com>
51841         fts: introduce FTS_NOATIME
51842         * lib/fts_.h (FTS_NOATIME): New bit flag.
51843         (FTS_OPTIONMASK): Adjust.
51844         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
51845         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
51847 2011-07-08  Bruno Haible  <bruno@clisp.org>
51849         Tests for module 'thread'.
51850         * modules/thread-tests: New file.
51851         * tests/test-thread_self.c: New file.
51852         * tests/test-thread_create.cc: New file.
51854 2011-07-08  Bruno Haible  <bruno@clisp.org>
51856         thread: Avoid gcc warnings when using gl_thread_self().
51857         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
51858         'void *'.
51859         (gl_thread_self_pointer): Update.
51861 2011-07-07  Bruno Haible  <bruno@clisp.org>
51863         signal-c++-tests: Check declaration of pthread_sigmask.
51864         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
51865         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
51866         $(LIB_PTHREAD_SIGMASK).
51868 2011-07-07  Bruno Haible  <bruno@clisp.org>
51870         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
51871         * lib/signal.in.h (pthread_sigmask): Override if
51872         REPLACE_PTHREAD_SIGMASK is 1.
51873         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51874         REPLACE_PTHREAD_SIGMASK.
51875         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
51876         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
51877         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
51878         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
51879         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
51881 2011-07-07  Bruno Haible  <bruno@clisp.org>
51883         pthread_sigmask: Ensure declaration in <signal.h>.
51884         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
51885         include <pthread.h>.
51886         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
51887         problem.
51889 2011-07-07  Bruno Haible  <bruno@clisp.org>
51891         pthread_sigmask: Document the module.
51892         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
51894 2011-07-07  Bruno Haible  <bruno@clisp.org>
51896         pthread_sigmask: Follow gnulib conventions.
51897         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
51898         gl_PTHREAD_SIGMASK.
51899         * modules/pthread_sigmask (configure.ac): Update.
51901 2011-07-07  Bruno Haible  <bruno@clisp.org>
51903         pthread_sigmask: Make declaration C++ safe.
51904         * lib/signal.in.h: In two special conditions, just do an #include_next.
51905         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
51906         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
51907         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51908         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
51909         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
51910         not REPLACE_PTHREAD_MASK.
51911         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
51912         not REPLACE_PTHREAD_MASK.
51913         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
51915 2011-07-07  Bruno Haible  <bruno@clisp.org>
51917         pthread_sigmask: Fix return value.
51918         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
51919         * lib/pthread_sigmask.c: New file.
51920         * modules/pthread_sigmask (Files): Add it.
51921         (configure.ac): Invoke AC_LIBOBJ.
51923 2011-07-07  Eric Blake  <eblake@redhat.com>
51925         getopt: more portable argv creation
51926         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
51927         const, use char arrays rather than strings.
51928         Suggested by Paul Eggert.
51930 2011-07-07  Bruno Haible  <bruno@clisp.org>
51932         Tests for module 'sigprocmask'.
51933         * modules/sigprocmask-tests: New file.
51934         * tests/test-sigprocmask.c: New file.
51936 2011-07-07  Bruno Haible  <bruno@clisp.org>
51938         float tests: Tweak.
51939         * tests/test-float.c (main): Tweak skip message.
51941 2011-07-07  Eric Blake  <eblake@redhat.com>
51943         getopt: avoid compiler warning during configure
51944         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
51945         assigning string literals to non-const pointer.
51947         getopt-gnu: avoid crash in glibc getopt
51948         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
51949         * tests/test-getopt.h (test_getopt): Enhance test.
51950         * tests/test-getopt_long.h (test_getopt_long): Likewise.
51951         * doc/posix-functions/getopt.texi (getopt): Document it.
51952         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
51953         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
51954         Likewise.
51956 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
51958         getopt: handle W; without long options in getopt [BZ #12922]
51959         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
51960         but no long options are defined, just return 'W'.
51962 2011-07-07  Bruno Haible  <bruno@clisp.org>
51964         Avoid literal tabs.
51965         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
51966         variable containing a tab instead of a literal tab.
51967         Reported by Jim Meyering.
51969 2011-07-07  Bruno Haible  <bruno@clisp.org>
51971         Comments.
51972         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
51974 2011-07-06  Bruno Haible  <bruno@clisp.org>
51976         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
51977         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
51978         <winsock2.h>.
51979         (rpl_fd_isset, FD_ISSET): New definitions, copied from
51980         lib/sys_socket.in.h.
51981         (close, gethostname): Hide declarations from <winsock2.h>.
51982         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
51983         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
51984         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
51985         (select): Don't override if gnulib's <sys/select.h> was already
51986         included.
51987         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
51988         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
51989         setsockopt, shutdown, select): Tweak indentation.
51991 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51993         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
51994         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
51995         in an application that does not use the sys_select module.
51997 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
51999         poll: do not return 0 on timeout=-1
52000         * lib/poll.c: Loop with yield if no events occurred.
52002 2011-07-06  Eric Blake  <eblake@redhat.com>
52004         pthread_sigmask: always replace when not using pthread
52005         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
52006         replacement when using some threading other than pthread.  Fix
52007         logic bug.
52009 2011-07-06  Bruno Haible  <bruno@clisp.org>
52011         Comments.
52012         * m4/printf.m4: Update comments about mingw.
52014 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
52016         sys_select: define sigset_t more portably
52017         * lib/sys_select.in.h: Always include <sys/types.h>, since
52018         we now need sigset_t and mingw defines it there.
52019         Include <signal.h> before split inclusion guard, to avoid
52020         mishaps on Solaris, whose <signal.h> eventually includes us.
52021         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
52022         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
52023         which come from ...
52024         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
52025         gl_CHECK_TYPE_SIGSET_T.
52026         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
52027         does the real work.
52028         * modules/sys_select (Depends-on): Add 'signal'.
52030         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
52031         Suggested by Bruno Haible.
52033         pselect: Use pthread_sigmask, not sigprocmask.
52034         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
52035         multithreaded apps better than sigprocmask does.
52036         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
52037         sigprocmask directly.
52039 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
52041         * lib/pselect.c (pselect): Use plain name, without "rpl_".
52042         Don't #undef,  since we don't need any underlying pselect.
52043         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
52044         (Depends-on): Add select.
52045         (Link): Add $(LIBSOCKET).
52046         These changes suggested by Bruno Haible.
52048         pselect: document better
52049         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
52050         * doc/posix-functions/pselect.texi (pselect): Document new module.
52052         pthread_sigmask: new module
52053         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
52054         * doc/posix-functions/pthread_sigmask.texi: Document new module.
52055         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
52056         This is done only as a macro; I don't know how well that'll
52057         work for C++.  Move <sys/types.h> include before the include_next,
52058         to avoid mishap on Solaris.
52059         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
52060         * modules/signal (Makefile.am): Substitute the check's results.
52061         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
52063         test-pselect: new module
52064         * modules/pselect-tests, tests/test-pselect.c: New files.
52065         * tests/test-select.c, tests/test-sys_select-c++.cc:
52066         If TEST_PSELECT is defined, test pselect instead of testing select.
52068         * tests/test-sys_select.c (sigset_t): Test for it, too.
52069         Suggested by Bruno Haible.
52071 2011-07-05  Eric Blake  <eblake@redhat.com>
52073         snprintf: guarantee %1$d, for libintl
52074         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
52075         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
52076         * doc/posix-functions/snprintf.texi (snprintf): Update.
52077         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
52078         * tests/test-snprintf.c (main): Enhance test.
52079         * tests/test-vsnprintf.c (main): Likewise.
52081 2011-07-05  Jim Meyering  <meyering@redhat.com>
52083         maint: exempt stdio-read.c and stdio-write.c from the cppi check
52084         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
52085         per Bruno's request, to accommodate this idiom (no space after "#")
52086         even when the function is inside an #if block:
52087         char *
52088         gets (char *s)
52089         #undef gets
52090         {
52091           ...
52092         }
52094 2011-07-04  Jim Meyering  <meyering@redhat.com>
52096         maint: indent with spaces, not TABs, and add a rule to check this
52097         * tests/test-userspec.c: Indent with spaces, not TABs.
52098         * tests/test-argp.c: Likewise.
52099         * tests/test-c-stack2.sh: Likewise.
52100         * tests/test-parse-duration.sh: Likewise
52101         * m4/strtod.m4: Likewise.
52102         * m4/alloca.m4: Likewise.
52103         * m4/pselect.m4: Likewise.
52104         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
52106 2011-07-03  Jim Meyering  <meyering@redhat.com>
52108         maint.mk: correct omissions in prohibit_argmatch_without_use check
52109         This rule would mistakenly report that argmatch.h is included without
52110         use even when both the argmatch and invalid_arg macro were used.
52111         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
52112         of argmatch and invalid_arg.
52114 2011-07-03  Bruno Haible  <bruno@clisp.org>
52116         Comments about EINTR.
52117         * lib/safe-read.h: Explain the purpose of this module.
52118         * lib/safe-write.h: Likewise.
52119         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
52120         module.
52121         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
52122         module.
52123         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52125 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
52127         xnanosleep: Rewrite to use new dtotimespec module.
52128         It has the conversion code that used to be in xnanosleep.
52129         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
52130         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
52131         (TIME_T_MAX): Remove.
52132         (xnanosleep): Rewrite in terms of dtotimespec.
52133         * modules/xnanosleep (Depends-on): Add dtotimespec.
52134         Remove intprops, stdbool.
52136         timespec-add, timespec-sub: new modules
52137         * lib/timespec.h (timespec_add, timespec_sub): New decls.
52138         * lib/timespec-add.c, lib/timespec-sub.c:
52139         * modules/timespec-add, modules/timespec-sub: New files.
52141         dtotimespec: new module
52142         * lib/timespec.h (dtotimespec): New decl.
52143         * lib/dtotimespec.c, modules/dtotimespec: New files.
52145         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
52147         pselect: new module
52148         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
52149         (pselect): New decls.
52150         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
52151         since the standard pselect decl uses 'restrict'.
52152         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
52153         HAVE_PSELECT, REPLACE_PSELECT.
52154         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
52155         HAVE_PSELECT, REPLACE_PSELECT.
52156         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
52158         sys_select: don't depend on sys_socket
52159         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
52160         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
52161         This fix works on GNU and GNU-like platforms, but has not been tested
52162         on native Windows.
52163         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
52164         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
52165         gl_HEADER_SYS_SOCKET.
52166         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
52167         gl_PREREQ_SYS_H_WINSOCK2.
52169 2011-06-29  Eric Blake  <eblake@redhat.com>
52171         pipe2: fix C89 compile problem
52172         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
52173         Reported by Bruno Haible.
52175         pipe, pipe2: don't corrupt fd on error
52176         * lib/pipe.c (pipe): Leave fd unchanged on error.
52177         * lib/pipe2.c (pipe2): Likewise.
52178         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
52179         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
52181 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
52183         mmap-anon: do not use regular expressions inadvertently
52184         * m4/mmap-anon.m4: Remove trailing period from strings sought
52185         in the output.
52187 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
52189         nanosleep: fix integer overflow problem
52190         * lib/nanosleep.c (my_usleep): Don't assume signed integer
52191         arithmetic wraps around on overflow.
52193         nanosleep: simplify carrying
52194         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
52195         first call to the underyling nanosleep, not for the last one.
52196         This doesn't fix any bugs, but it simplifies the computation of
52197         the remaining delay.  Found while auditing integer overflow issues.
52199         dup2: remove test for existence of fcntl
52200         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
52201         "#if HAVE_FCNTL", in the configure-time test program.
52202         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
52203         and therefore speeds up "configure" a bit.  Found while
52204         adding the dup2 module to Emacs.
52206 2011-06-24  Eric Blake  <eblake@redhat.com>
52208         maint.mk: enhance useless header checks
52209         * top/maint.mk (_sc_header_without_use): Check both include
52210         styles.
52211         (sc_prohibit_assert_without_use)
52212         (sc_prohibit_close_stream_without_use)
52213         (sc_prohibit_getopt_without_use)
52214         (sc_prohibit_quotearg_without_use)
52215         (sc_prohibit_quote_without_use)
52216         (sc_prohibit_long_options_without_use)
52217         (sc_prohibit_inttostr_without_use)
52218         (sc_prohibit_ignore_value_without_use)
52219         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
52220         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
52221         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
52222         (sc_prohibit_hash_pjw_without_use)
52223         (sc_prohibit_safe_read_without_use)
52224         (sc_prohibit_argmatch_without_use)
52225         (sc_prohibit_canonicalize_without_use)
52226         (sc_prohibit_root_dev_ino_without_use)
52227         (sc_prohibit_openat_without_use)
52228         (sc_prohibit_c_ctype_without_use)
52229         (sc_prohibit_signal_without_use)
52230         (sc_prohibit_stdio--_without_use)
52231         (sc_prohibit_stdio-safer_without_use)
52232         (sc_prohibit_strings_without_use)
52233         (sc_prohibit_intprops_without_use)
52234         (sc_prohibit_stddef_without_use)
52235         (sc_prohibit_xfreopen_without_use): Update clients.
52237 2011-06-24  Jim Meyering  <meyering@redhat.com>
52239         syntax-check: keep one maint.mk rule in sync with its header
52240         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
52241         of the bug Eric has just fixed, with today's commit 25e4c2ec.
52242         I prefer to avoid temporary files here, so use <(...), but that
52243         is not supported by /bin/sh, so...
52244         (SHELL): Define to /bin/bash.
52246 2011-06-24  Eric Blake  <eblake@redhat.com>
52248         maint.mk: update sc_prohibit_intprops_without_use
52249         * top/maint.mk (_intprops_names): Match recent changes.
52251 2011-06-24  Bruno Haible  <bruno@clisp.org>
52253         strerror-override: No-op tweak.
52254         * lib/strerror-override.h (strerror_override): Reorder conditions,
52255         for consistency with lib/strerror-override.c.
52257 2011-06-23  Eric Blake  <eblake@redhat.com>
52259         maint.mk: test further PATH_MAX issues
52260         * top/maint.mk (sc_prohibit_path_max_array): Rename...
52261         (sc_prohibit_path_max_allocation): ...and also test alloca.
52262         Suggested by Jim Meyering.
52264 2011-06-22  Eric Blake  <eblake@redhat.com>
52266         maint.mk: add syntax-check to avoid char[PATH_MAX]
52267         * top/maint.mk (sc_prohibit_path_max_array): New rule.
52269         stat: be robust to PATH_MAX definition
52270         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
52271         * modules/stat (Depends-on): Add verify.
52273         link: work around IRIX bug
52274         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
52275         * lib/link.c (rpl_link): Work around it.
52276         * tests/test-link.h (test_link): Enhance test.
52277         * doc/posix-functions/link.texi (link): Document the bug.
52279         getopt: silence clang warning
52280         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
52281         dereference.
52282         Reported by Gustavo Martin Domato.
52284 2011-06-22  Jim Meyering  <meyering@redhat.com>
52286         bootstrap: do not insert a blank line into each .gitignore file
52287         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
52289 2011-06-21  Eric Blake  <eblake@redhat.com>
52291         perror: test for output mismatch
52292         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
52293         perror on IRIX.
52295         strerror_r: fix OpenBSD behavior on out-of-range
52296         * lib/strerror_r.c (strerror_r): Always use maximal string.
52297         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
52299         strerror_r: fix OpenBSD behavior on 0
52300         * lib/strerror-override.c (strerror_override): Also override 0
52301         when needed.
52302         * lib/strerror-override.h (strerror_override): Likewise.
52303         * lib/strerror.c (strerror): Simplify, now that 0 override is done
52304         earlier.
52305         * lib/strerror_r.c (strerror_r): Likewise.
52306         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
52307         behavior...
52308         (gl_FUNC_STRERROR_0): ...into new macro.
52309         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
52310         is overridden.
52311         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
52312         * modules/strerror-override (Files): Add strerror.m4.
52313         (configure.ac): Also provide override for 0 when needed.
52314         * doc/posix-functions/strerror.texi (strerror): Document this.
52315         * doc/posix-functions/perror.texi (perror): Likewise.
52317         perror: adjust array size
52318         * modules/perror (Depends-on): Add strerror-override.
52319         * lib/perror.c (perror): Use it to avoid magic number.
52321         strerror-override: reduce size
52322         * lib/strerror-override.c (strerror_override): Use fewer lines.
52324 2011-06-20  Bruno Haible  <bruno@clisp.org>
52326         pathmax: Ensure correct value for PATH_MAX on HP-UX.
52327         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
52329 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
52331         alloca: port to compilers that can optimize like GCC 4.6.0
52332         * lib/alloca.c (find_stack_direction): New signature, taken from
52333         Autoconf git.  This works with GCC 4.6.0.  This code should never
52334         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
52335         be used with other compilers that optimize as well as GCC 4.6.0 does.
52336         (alloca): Adjust to new signature.
52337         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
52338         New macro, which patches Autoconf in a similar way.
52340         c-stack: stop worrying about stack direction
52341         * lib/c-stack.c (find_stack_direction): Remove.
52342         (segv_handler): Don't worry about stack direction growth, as it's
52343         too much of a pain to configure this correctly, given how compilers
52344         are optimizing-away our stack-growth detection code.  Instead, assume
52345         that any access to just before or just after the stack is OK.
52346         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
52347         Don't require AC_FUNC_ALLOCA; no longer needed.
52349 2011-06-20  Eric Blake  <eblake@redhat.com>
52351         test-stat: don't allocate PATH_MAX bytes
52352         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
52353         PATH_MAX-sized buffer.
52354         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
52355         * modules/stat-tests (Depends-on): Likewise.
52356         * tests/test-fstatat.c (includes): Drop pathmax.h.
52357         * tests/test-stat.c (includes): Likewise.
52358         Reported by Bruno Haible.
52360 2011-06-20  Bruno Haible  <bruno@clisp.org>
52362         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
52363         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
52364         * lib/float.c: New file.
52365         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
52366         REPLACE_FLOAT_LDBL.
52367         * modules/float (Files): Add lib/float.c.
52368         (configure.ac): Invoke AC_LIBOBJ.
52369         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
52371 2011-06-20  Bruno Haible  <bruno@clisp.org>
52373         Tests for module 'float'.
52374         * modules/float-tests: New file.
52375         * tests/test-float.c: New file.
52377 2011-06-19  Bruno Haible  <bruno@clisp.org>
52379         isinf: Coding style.
52380         * lib/isinf.c: Use GNU coding style.
52382 2011-06-19  Bruno Haible  <bruno@clisp.org>
52384         linkat test: Avoid test failure on AIX 7.1.
52385         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
52386         * tests/test-link.h (test_link): Likewise.
52388 2011-06-19  Bruno Haible  <bruno@clisp.org>
52390         pread test: Avoid test failure on OpenBSD 4.9.
52391         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
52393 2011-06-19  Bruno Haible  <bruno@clisp.org>
52395         sprintf-posix: Fix test failure on AIX 7.1.
52396         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
52397         * doc/posix-functions/dprintf.texi: Mention limited precision problem
52398         on AIX.
52399         * doc/posix-functions/fprintf.texi: Likewise.
52400         * doc/posix-functions/printf.texi: Likewise.
52401         * doc/posix-functions/snprintf.texi: Likewise.
52402         * doc/posix-functions/sprintf.texi: Likewise.
52403         * doc/posix-functions/vdprintf.texi: Likewise.
52404         * doc/posix-functions/vfprintf.texi: Likewise.
52405         * doc/posix-functions/vprintf.texi: Likewise.
52406         * doc/posix-functions/vsnprintf.texi: Likewise.
52407         * doc/posix-functions/vsprintf.texi: Likewise.
52409 2011-06-19  Bruno Haible  <bruno@clisp.org>
52411         roundl-ieee: Fix test failure on AIX 7.1.
52412         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
52413         * doc/posix-functions/roundl.texi: Mention problem with negative
52414         arguments.
52416 2011-06-19  Bruno Haible  <bruno@clisp.org>
52418         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
52419         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
52420         * doc/posix-functions/round.texi: Mention problem with negative
52421         arguments.
52422         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
52424 2011-06-19  Bruno Haible  <bruno@clisp.org>
52426         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
52427         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
52428         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
52429         * doc/posix-functions/roundf.texi: Mention problem with negative
52430         arguments.
52431         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
52433 2011-06-19  Bruno Haible  <bruno@clisp.org>
52435         ceilf-ieee: Work around bug on MacOS X 10.5.
52436         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
52438         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
52439         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
52440         IEEE compliant, avoid compiler optimizations.
52441         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
52442         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
52443         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
52444         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
52445         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
52446         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
52447         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
52448         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
52449         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
52450         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
52452 2011-06-19  Bruno Haible  <bruno@clisp.org>
52454         ceilf-ieee: Work around bug on AIX 7.1.
52455         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
52456         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
52458 2011-06-19  Bruno Haible  <bruno@clisp.org>
52460         ceil-ieee: Work around bug on AIX 7.1.
52461         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
52462         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
52464 2011-06-18  Bruno Haible  <bruno@clisp.org>
52466         fsync test: Avoid test failure on MacOS X and AIX.
52467         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
52468         EINVAL.
52470 2011-06-18  Bruno Haible  <bruno@clisp.org>
52472         openat, fdopendir tests: Fix link errors.
52473         * modules/openat-tests (Depends-on): Add progname.
52474         * modules/fdopendir-tests (Depends-on): Likewise.
52475         * tests/test-fchownat.c: Include progname.h.
52476         (main): Call set_program_name.
52477         * tests/test-fstatat.c: Include progname.h.
52478         (main): Call set_program_name.
52479         * tests/test-mkdirat.c: Include progname.h.
52480         (main): Call set_program_name.
52481         * tests/test-openat.c: Include progname.h.
52482         (main): Call set_program_name.
52483         * tests/test-unlinkat.c: Include progname.h.
52484         (main): Call set_program_name.
52485         * tests/test-fdopendir.c: Include progname.h.
52486         (main): Call set_program_name.
52488 2011-06-18  Bruno Haible  <bruno@clisp.org>
52490         Doc update.
52491         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
52492         HP-UX.
52493         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
52495 2011-06-18  Bruno Haible  <bruno@clisp.org>
52497         getcwd tests: Avoid compilation error on HP-UX 11.31.
52498         * modules/getcwd-tests (Depends-on): Add pathmax.
52499         * tests/test-getcwd.c: Include pathmax.h.
52501 2011-06-18  Bruno Haible  <bruno@clisp.org>
52503         isfinite, isinf: Fix link error on AIX 6 and 7.
52504         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
52505         needed, also test the macro with a 'float' argument.
52506         * m4/isinf.m4 (gl_ISINF): Likewise.
52508 2011-06-18  Bruno Haible  <bruno@clisp.org>
52510         getloadavg: Don't clobber LIBS. Regression from previous commit.
52511         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
52512         AC_CHECK_LIB from here...
52513         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
52514         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
52515         gl_func_getloadavg_done.
52516         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52518 2011-06-18  Bruno Haible  <bruno@clisp.org>
52520         clean-temp: Improve documentation.
52521         * lib/clean-temp.h: Explain better how to use this module.
52522         Reported by John Darrington <john@darrington.wattle.id.au>.
52524 2011-06-17  Bruno Haible  <bruno@clisp.org>
52526         pread, pwrite: Avoid cc warning on AIX.
52527         * lib/unistd.in.h (pread): Undefine before defining as a macro.
52528         (pwrite): Likewise.
52530 2011-06-17  Bruno Haible  <bruno@clisp.org>
52532         spawn-pipe tests: Fix link error.
52533         * tests/test-spawn-pipe-child.c: Undefine fprintf.
52534         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52536 2011-06-17  Bruno Haible  <bruno@clisp.org>
52538         Tests: Remove unnecessary dependency.
52539         * modules/canonicalize-tests (Depends-on): Remove progname.
52540         * modules/chown-tests (Depends-on): Likewise.
52541         * modules/dirname-tests (Depends-on): Likewise.
52542         * modules/fdopendir-tests (Depends-on): Likewise.
52543         * modules/fdutimensat-tests (Depends-on): Likewise.
52544         * modules/hash-tests (Depends-on): Likewise.
52545         * modules/lchown-tests (Depends-on): Likewise.
52546         * modules/linkat-tests (Depends-on): Likewise.
52547         * modules/renameat-tests (Depends-on): Likewise.
52548         * modules/spawn-pipe-tests (Depends-on): Likewise.
52549         * modules/utimensat-tests (Depends-on): Likewise.
52551 2011-06-17  Bruno Haible  <bruno@clisp.org>
52553         spawn-pipe tests: Fix link error.
52554         * tests/test-spawn-pipe-child.c: Undefine fflush.
52556 2011-06-17  Bruno Haible  <bruno@clisp.org>
52558         Fix tests link errors.
52559         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
52560         * modules/chown-tests (Makefile.am): Don't link test-chown with
52561         LIBINTL.
52562         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
52563         LIBINTL.
52564         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
52565         LIBINTL.
52566         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
52567         LIBINTL.
52569 2011-06-16  Bruno Haible  <bruno@clisp.org>
52571         crypto/gc-sha1: Fix recent regression.
52572         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
52573         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
52575         crypto/gc-md5: Fix recent regression.
52576         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
52578         crypto/gc-md4: Fix recent regression.
52579         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
52580         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
52582         crypto/gc-arctwo: Fix recent regression.
52583         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
52584         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
52586         crypto/gc-rijndael: Fix recent regression.
52587         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
52588         (configure.ac): Invoke AC_LIBOBJ here.
52589         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
52590         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52592         crypto/gc-hmac-sha1: Fix recent regression.
52593         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
52594         (configure.ac): Invoke AC_LIBOBJ here.
52595         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
52596         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52598         crypto/gc-hmac-md5: Fix recent regression.
52599         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
52600         (configure.ac): Invoke AC_LIBOBJ here.
52601         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
52602         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52604         crypto/gc-des: Fix recent regression.
52605         * modules/crypto/gc-des (Files): Remove m4/des.m4.
52606         (configure.ac): Invoke AC_LIBOBJ here.
52607         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
52608         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52610         crypto/gc-arcfour: Fix recent regression.
52611         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
52612         (configure.ac): Invoke AC_LIBOBJ here.
52613         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
52614         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52616 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
52618         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
52619         After the 2011-05-21 change, this macro requires
52620         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
52621         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52623 2011-06-16  Bruno Haible  <bruno@clisp.org>
52625         fprintftime: Move AC_LIBOBJ invocations to module description.
52626         * m4/fprintftime.m4: Remove file.
52627         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
52628         (configure.ac): Remove gl_FPRINTFTIME call.
52629         (Makefile.am): Augment lib_SOURCES.
52630         Reported by Jim Meyering.
52632 2011-06-16  Bruno Haible  <bruno@clisp.org>
52634         tmpfile-safer: Finish 2011-05-23 commit.
52635         * m4/stdio-safer.m4: Really remove file.
52636         Reported by Jim Meyering.
52638 2011-06-16  Bruno Haible  <bruno@clisp.org>
52640         syntax-check: Fix typo.
52641         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
52642         printf-posix.m4.
52643         Reported by Jim Meyering.
52645 2011-06-13  Jim Meyering  <meyering@redhat.com>
52647         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
52648         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
52650 2011-05-23  Bruno Haible  <bruno@clisp.org>
52652         yesno: Move AC_LIBOBJ invocations to module description.
52653         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
52654         * modules/yesno (Makefile.am): Augment lib_SOURCES.
52656 2011-05-23  Bruno Haible  <bruno@clisp.org>
52658         xstrtol: Move AC_LIBOBJ invocations to module description.
52659         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
52660         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
52662 2011-05-23  Bruno Haible  <bruno@clisp.org>
52664         xstrtold: Move AC_LIBOBJ invocations to module description.
52665         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
52666         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
52668 2011-05-23  Bruno Haible  <bruno@clisp.org>
52670         xstrtod: Move AC_LIBOBJ invocations to module description.
52671         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
52672         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
52674 2011-05-23  Bruno Haible  <bruno@clisp.org>
52676         xnanosleep: Move AC_LIBOBJ invocations to module description.
52677         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
52678         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
52680 2011-05-23  Bruno Haible  <bruno@clisp.org>
52682         xgetcwd: Move AC_LIBOBJ invocations to module description.
52683         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
52684         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
52686 2011-05-23  Bruno Haible  <bruno@clisp.org>
52688         xalloc: Move AC_LIBOBJ invocations to module description.
52689         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
52690         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
52692 2011-05-23  Bruno Haible  <bruno@clisp.org>
52694         write-any-file: Move AC_LIBOBJ invocations to module description.
52695         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
52696         invocation.
52697         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
52699 2011-05-23  Bruno Haible  <bruno@clisp.org>
52701         utimens: Move AC_LIBOBJ invocations to module description.
52702         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
52703         * modules/utimens (Makefile.am): Augment lib_SOURCES.
52705 2011-05-23  Bruno Haible  <bruno@clisp.org>
52707         utimecmp: Move AC_LIBOBJ invocations to module description.
52708         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
52709         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
52711 2011-05-23  Bruno Haible  <bruno@clisp.org>
52713         userspec: Move AC_LIBOBJ invocations to module description.
52714         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
52715         * modules/userspec (Makefile.am): Augment lib_SOURCES.
52717 2011-05-23  Bruno Haible  <bruno@clisp.org>
52719         unlinkdir: Move AC_LIBOBJ invocations to module description.
52720         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
52721         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
52723 2011-05-23  Bruno Haible  <bruno@clisp.org>
52725         unistd-safer: Move AC_LIBOBJ invocations to module description.
52726         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
52727         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
52729 2011-05-23  Bruno Haible  <bruno@clisp.org>
52731         tempname: Move AC_LIBOBJ invocations to module description.
52732         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
52733         * modules/tempname (Makefile.am): Augment lib_SOURCES.
52735 2011-05-23  Bruno Haible  <bruno@clisp.org>
52737         strftime: Move AC_LIBOBJ invocations to module description.
52738         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
52739         * modules/strftime (Makefile.am): Augment lib_SOURCES.
52741 2011-05-23  Bruno Haible  <bruno@clisp.org>
52743         stdlib-safer: Move AC_LIBOBJ invocations to module description.
52744         * m4/stdlib-safer.m4: Remove file.
52745         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
52746         (configure.ac): Remove gl_STDLIB_SAFER call.
52747         (Makefile.am): Augment lib_SOURCES.
52749 2011-05-23  Bruno Haible  <bruno@clisp.org>
52751         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
52752         * m4/stdio-safer.m4: Remove file.
52753         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
52754         (configure.ac): Remove gl_TMPFILE_SAFER call.
52755         (Makefile.am): Augment lib_SOURCES.
52757 2011-05-23  Bruno Haible  <bruno@clisp.org>
52759         popen-safer: Move AC_LIBOBJ invocations to module description.
52760         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
52761         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
52762         (configure.ac): Remove gl_POPEN_SAFER call.
52763         (Makefile.am): Augment lib_SOURCES.
52765 2011-05-23  Bruno Haible  <bruno@clisp.org>
52767         freopen-safer: Move AC_LIBOBJ invocations to module description.
52768         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
52769         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
52770         (configure.ac): Remove gl_FREOPEN_SAFER call.
52771         (Makefile.am): Augment lib_SOURCES.
52773 2011-05-23  Bruno Haible  <bruno@clisp.org>
52775         fopen-safer: Move AC_LIBOBJ invocations to module description.
52776         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
52777         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
52778         (configure.ac): Remove gl_FOPEN_SAFER call.
52779         (Makefile.am): Augment lib_SOURCES.
52781 2011-05-23  Bruno Haible  <bruno@clisp.org>
52783         crypto/sha512: Move AC_LIBOBJ invocations to module description.
52784         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
52785         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
52787 2011-05-23  Bruno Haible  <bruno@clisp.org>
52789         crypto/sha256: Move AC_LIBOBJ invocations to module description.
52790         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
52791         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
52793 2011-05-23  Bruno Haible  <bruno@clisp.org>
52795         crypto/sha1: Move AC_LIBOBJ invocations to module description.
52796         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
52797         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
52799 2011-05-23  Bruno Haible  <bruno@clisp.org>
52801         settime: Move AC_LIBOBJ invocations to module description.
52802         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
52803         * modules/settime (Makefile.am): Augment lib_SOURCES.
52805 2011-05-23  Bruno Haible  <bruno@clisp.org>
52807         savedir: Move AC_LIBOBJ invocations to module description.
52808         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
52809         * modules/savedir (Makefile.am): Augment lib_SOURCES.
52811 2011-05-23  Bruno Haible  <bruno@clisp.org>
52813         save-cwd: Move AC_LIBOBJ invocations to module description.
52814         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
52815         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
52817 2011-05-23  Bruno Haible  <bruno@clisp.org>
52819         same: Move AC_LIBOBJ invocations to module description.
52820         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
52821         * modules/same (Makefile.am): Augment lib_SOURCES.
52823 2011-05-23  Bruno Haible  <bruno@clisp.org>
52825         safe-write: Move AC_LIBOBJ invocations to module description.
52826         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
52827         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
52828         instead of gl_SAFE_WRITE.
52829         (Makefile.am): Augment lib_SOURCES.
52831 2011-05-23  Bruno Haible  <bruno@clisp.org>
52833         safe-read: Move AC_LIBOBJ invocations to module description.
52834         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
52835         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
52836         of gl_SAFE_READ.
52837         (Makefile.am): Augment lib_SOURCES.
52839 2011-05-23  Bruno Haible  <bruno@clisp.org>
52841         safe-alloc: Move AC_LIBOBJ invocations to module description.
52842         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
52843         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
52845 2011-05-23  Bruno Haible  <bruno@clisp.org>
52847         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
52848         * m4/rijndael.m4: Remove file.
52849         * modules/crypto/rijndael (Files): Remove it.
52850         (configure.ac): Remove gl_RIJNDAEL call.
52851         (Makefile.am): Augment lib_SOURCES.
52853 2011-05-23  Bruno Haible  <bruno@clisp.org>
52855         readtokens: Move AC_LIBOBJ invocations to module description.
52856         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
52857         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
52859 2011-05-23  Bruno Haible  <bruno@clisp.org>
52861         read-file: Move AC_LIBOBJ invocations to module description.
52862         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
52863         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
52864         of gl_FUNC_READ_FILE.
52865         (Makefile.am): Augment lib_SOURCES.
52867 2011-05-23  Bruno Haible  <bruno@clisp.org>
52869         quotearg: Move AC_LIBOBJ invocations to module description.
52870         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
52871         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
52873 2011-05-23  Bruno Haible  <bruno@clisp.org>
52875         quote: Move AC_LIBOBJ invocations to module description.
52876         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
52877         * modules/quote (Makefile.am): Augment lib_SOURCES.
52879 2011-05-23  Bruno Haible  <bruno@clisp.org>
52881         posixver: Move AC_LIBOBJ invocations to module description.
52882         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
52883         * modules/posixver (Makefile.am): Augment lib_SOURCES.
52885 2011-05-23  Bruno Haible  <bruno@clisp.org>
52887         posixtm: Move AC_LIBOBJ invocations to module description.
52888         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
52889         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
52891 2011-05-23  Bruno Haible  <bruno@clisp.org>
52893         physmem: Move AC_LIBOBJ invocations to module description.
52894         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
52895         * modules/physmem (Makefile.am): Augment lib_SOURCES.
52897 2011-05-23  Bruno Haible  <bruno@clisp.org>
52899         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
52900         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
52901         invocation.
52902         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
52904 2011-05-23  Bruno Haible  <bruno@clisp.org>
52906         mpsort: Move AC_LIBOBJ invocations to module description.
52907         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
52908         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
52910 2011-05-23  Bruno Haible  <bruno@clisp.org>
52912         modechange: Move AC_LIBOBJ invocations to module description.
52913         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
52914         * modules/modechange (Makefile.am): Augment lib_SOURCES.
52916 2011-05-23  Bruno Haible  <bruno@clisp.org>
52918         mkdir-p: Move AC_LIBOBJ invocations to module description.
52919         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
52920         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
52922 2011-05-23  Bruno Haible  <bruno@clisp.org>
52924         mkancesdirs: Move AC_LIBOBJ invocations to module description.
52925         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
52926         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
52928 2011-05-23  Bruno Haible  <bruno@clisp.org>
52930         mgetgroups: Move AC_LIBOBJ invocations to module description.
52931         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
52932         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
52934 2011-05-23  Bruno Haible  <bruno@clisp.org>
52936         memxor: Move AC_LIBOBJ invocations to module description.
52937         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
52938         * modules/memxor (Makefile.am): Augment lib_SOURCES.
52940 2011-05-23  Bruno Haible  <bruno@clisp.org>
52942         memcoll: Move AC_LIBOBJ invocations to module description.
52943         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
52944         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
52946 2011-05-23  Bruno Haible  <bruno@clisp.org>
52948         memcasecmp: Move AC_LIBOBJ invocations to module description.
52949         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
52950         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
52952 2011-05-23  Bruno Haible  <bruno@clisp.org>
52954         crypto/md5: Move AC_LIBOBJ invocations to module description.
52955         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
52956         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
52958 2011-05-23  Bruno Haible  <bruno@clisp.org>
52960         crypto/md4: Move AC_LIBOBJ invocations to module description.
52961         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
52962         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
52964 2011-05-23  Bruno Haible  <bruno@clisp.org>
52966         crypto/md2: Move AC_LIBOBJ invocations to module description.
52967         * m4/md2.m4: Remove file.
52968         * modules/crypto/md2 (Files): Remove it.
52969         (configure.ac): Remove gl_MD2 call.
52970         (Makefile.am): Augment lib_SOURCES.
52972 2011-05-23  Bruno Haible  <bruno@clisp.org>
52974         long-options: Move AC_LIBOBJ invocations to module description.
52975         * m4/long-options.m4: Remove file.
52976         * modules/long-options (Files): Remove it.
52977         (configure.ac): Remove gl_LONG_OPTIONS call.
52978         (Makefile.am): Augment lib_SOURCES.
52980 2011-05-23  Bruno Haible  <bruno@clisp.org>
52982         i-ring: Move AC_LIBOBJ invocations to module description.
52983         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
52984         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
52986 2011-05-23  Bruno Haible  <bruno@clisp.org>
52988         idcache: Move AC_LIBOBJ invocations to module description.
52989         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
52990         * modules/idcache (Makefile.am): Augment lib_SOURCES.
52992 2011-05-23  Bruno Haible  <bruno@clisp.org>
52994         human: Move AC_LIBOBJ invocations to module description.
52995         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
52996         * modules/human (Makefile.am): Augment lib_SOURCES.
52998 2011-05-23  Bruno Haible  <bruno@clisp.org>
53000         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
53001         * m4/hmac-sha1.m4: Remove file.
53002         * modules/crypto/hmac-sha1 (Files): Remove it.
53003         (configure.ac): Remove gl_HMAC_SHA1 call.
53004         (Makefile.am): Augment lib_SOURCES.
53006 2011-05-23  Bruno Haible  <bruno@clisp.org>
53008         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
53009         * m4/hmac-md5.m4: Remove file.
53010         * modules/crypto/hmac-md5 (Files): Remove it.
53011         (configure.ac): Remove gl_HMAC_MD5 call.
53012         (Makefile.am): Augment lib_SOURCES.
53014 2011-05-23  Bruno Haible  <bruno@clisp.org>
53016         hash: Move AC_LIBOBJ invocations to module description.
53017         * m4/hash.m4: Remove file.
53018         * modules/hash (Files): Remove it.
53019         (configure.ac): Remove gl_HASH call.
53020         (Makefile.am): Augment lib_SOURCES.
53022 2011-05-23  Bruno Haible  <bruno@clisp.org>
53024         hard-locale: Move AC_LIBOBJ invocations to module description.
53025         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
53026         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
53028 2011-05-23  Bruno Haible  <bruno@clisp.org>
53030         getugroups: Move AC_LIBOBJ invocations to module description.
53031         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
53032         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
53034 2011-05-23  Bruno Haible  <bruno@clisp.org>
53036         gettime: Move AC_LIBOBJ invocations to module description.
53037         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
53038         * modules/gettime (Makefile.am): Augment lib_SOURCES.
53040 2011-05-23  Bruno Haible  <bruno@clisp.org>
53042         getndelim2: Move AC_LIBOBJ invocations to module description.
53043         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
53044         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
53046 2011-05-23  Bruno Haible  <bruno@clisp.org>
53048         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
53049         * m4/gc-pbkdf2-sha1.m4: Remove file.
53050         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
53051         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
53052         (Makefile.am): Augment lib_SOURCES.
53054 2011-05-23  Bruno Haible  <bruno@clisp.org>
53056         fts: Move AC_LIBOBJ invocations to module description.
53057         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
53058         * modules/fts (configure.ac): ... to here.
53060 2011-05-23  Bruno Haible  <bruno@clisp.org>
53062         file-type: Move AC_LIBOBJ invocations to module description.
53063         * m4/file-type.m4: Remove file.
53064         * modules/file-type (Files): Remove it.
53065         (configure.ac): Remove gl_FILE_TYPE call.
53066         (Makefile.am): Augment lib_SOURCES.
53068 2011-05-23  Bruno Haible  <bruno@clisp.org>
53070         filenamecat*: Respect rules for use of AC_LIBOBJ.
53071         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
53072         Remove AC_LIBOBJ invocation.
53073         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
53074         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
53076 2011-05-23  Bruno Haible  <bruno@clisp.org>
53078         filemode: Move AC_LIBOBJ invocations to module description.
53079         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
53080         * modules/filemode (Makefile.am): Augment lib_SOURCES.
53082 2011-05-23  Bruno Haible  <bruno@clisp.org>
53084         openat-safer: Move AC_LIBOBJ invocations to module description.
53085         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
53086         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
53088 2011-05-23  Bruno Haible  <bruno@clisp.org>
53090         fcntl-safer: Move AC_LIBOBJ invocations to module description.
53091         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
53092         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
53094 2011-05-23  Bruno Haible  <bruno@clisp.org>
53096         exclude: Move AC_LIBOBJ invocations to module description.
53097         * m4/exclude.m4: Remove file.
53098         * modules/exclude (Files): Remove it.
53099         (configure.ac): Remove gl_EXCLUDE call.
53100         (Makefile.am): Augment lib_SOURCES.
53102 2011-05-23  Bruno Haible  <bruno@clisp.org>
53104         dirname*: Respect rules for use of AC_LIBOBJ.
53105         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
53106         invocations.
53107         * modules/dirname (Makefile.am): Augment lib_SOURCES.
53108         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
53110 2011-05-23  Bruno Haible  <bruno@clisp.org>
53112         dirent-safer: Move AC_LIBOBJ invocations to module description.
53113         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
53114         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
53116 2011-05-23  Bruno Haible  <bruno@clisp.org>
53118         crypto/des: Move AC_LIBOBJ invocations to module description.
53119         * m4/des.m4: Remove file.
53120         * modules/crypto/des (Files): Remove it.
53121         (configure.ac): Remove gl_DES call.
53122         (Makefile.am): Augment lib_SOURCES.
53124 2011-05-23  Bruno Haible  <bruno@clisp.org>
53126         cycle-check: Move AC_LIBOBJ invocations to module description.
53127         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
53128         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
53130 2011-05-23  Bruno Haible  <bruno@clisp.org>
53132         c-strtold: Move AC_LIBOBJ invocations to module description.
53133         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
53134         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
53136 2011-05-23  Bruno Haible  <bruno@clisp.org>
53138         c-strtod: Move AC_LIBOBJ invocations to module description.
53139         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
53140         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
53142 2011-05-23  Bruno Haible  <bruno@clisp.org>
53144         crc: Move AC_LIBOBJ invocations to module description.
53145         * m4/crc.m4: Remove file.
53146         * modules/crc (Files): Remove it.
53147         (configure.ac): Remove gl_CRC call.
53148         (Makefile.am): Augment lib_SOURCES.
53150 2011-05-23  Bruno Haible  <bruno@clisp.org>
53152         close-stream: Move AC_LIBOBJ invocations to module description.
53153         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
53154         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
53156 2011-05-23  Bruno Haible  <bruno@clisp.org>
53158         closeout: Move AC_LIBOBJ invocations to module description.
53159         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
53160         * modules/closeout (Makefile.am): Augment lib_SOURCES.
53162 2011-05-23  Bruno Haible  <bruno@clisp.org>
53164         closein: Move AC_LIBOBJ invocations to module description.
53165         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
53166         * modules/closein (Makefile.am): Augment lib_SOURCES.
53168 2011-05-23  Bruno Haible  <bruno@clisp.org>
53170         cloexec: Move AC_LIBOBJ invocations to module description.
53171         * m4/cloexec.m4: Remove file.
53172         * modules/cloexec (Files): Remove it.
53173         (configure.ac): Remove gl_CLOEXEC call.
53174         (Makefile.am): Augment lib_SOURCES.
53176 2011-05-23  Bruno Haible  <bruno@clisp.org>
53178         check-version: Move AC_LIBOBJ invocations to module description.
53179         * m4/check-version.m4: Remove file.
53180         * modules/check-version (Files): Remove it.
53181         (configure.ac): Remove gl_CHECK_VERSION call.
53182         (Makefile.am): Augment lib_SOURCES.
53184 2011-05-23  Bruno Haible  <bruno@clisp.org>
53186         chdir-safer: Move AC_LIBOBJ invocations to module description.
53187         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
53188         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
53190 2011-05-23  Bruno Haible  <bruno@clisp.org>
53192         canonicalize: Move AC_LIBOBJ invocations to module description.
53193         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
53194         AC_LIBOBJ invocation.
53195         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
53197 2011-05-23  Bruno Haible  <bruno@clisp.org>
53199         canon-host: Move AC_LIBOBJ invocations to module description.
53200         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
53201         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
53202         instead of gl_CANON_HOST.
53203         (Makefile.am): Augment lib_SOURCES.
53205 2011-05-23  Bruno Haible  <bruno@clisp.org>
53207         backupfile: Move AC_LIBOBJ invocations to module description.
53208         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
53209         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
53211 2011-05-23  Bruno Haible  <bruno@clisp.org>
53213         argmatch: Move AC_LIBOBJ invocations to module description.
53214         * m4/argmatch.m4: Remove file.
53215         * modules/argmatch (Files): Remove it.
53216         (configure.ac): Remove gl_ARGMATCH call.
53217         (Makefile.am): Augment lib_SOURCES.
53219 2011-05-23  Bruno Haible  <bruno@clisp.org>
53221         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
53222         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
53223         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
53225 2011-05-23  Bruno Haible  <bruno@clisp.org>
53227         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
53228         * m4/arcfour.m4: Remove file.
53229         * modules/crypto/arcfour (Files): Remove it.
53230         (configure.ac): Remove gl_ARCFOUR call.
53231         (Makefile.am): Augment lib_SOURCES.
53233 2011-05-22  Bruno Haible  <bruno@clisp.org>
53235         write: Move AC_LIBOBJ invocations to module description.
53236         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
53237         * modules/write (configure.ac): ... to here.
53239 2011-05-22  Bruno Haible  <bruno@clisp.org>
53241         wmemset: Move AC_LIBOBJ invocations to module description.
53242         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
53243         here...
53244         * modules/wmemset (configure.ac): ... to here.
53246 2011-05-22  Bruno Haible  <bruno@clisp.org>
53248         wmemmove: Move AC_LIBOBJ invocations to module description.
53249         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
53250         here...
53251         * modules/wmemmove (configure.ac): ... to here.
53253 2011-05-22  Bruno Haible  <bruno@clisp.org>
53255         wmemcpy: Move AC_LIBOBJ invocations to module description.
53256         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
53257         here...
53258         * modules/wmemcpy (configure.ac): ... to here.
53260 2011-05-22  Bruno Haible  <bruno@clisp.org>
53262         wmemcmp: Move AC_LIBOBJ invocations to module description.
53263         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
53264         here...
53265         * modules/wmemcmp (configure.ac): ... to here.
53267 2011-05-22  Bruno Haible  <bruno@clisp.org>
53269         wmemchr: Move AC_LIBOBJ invocations to module description.
53270         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
53271         here...
53272         * modules/wmemchr (configure.ac): ... to here.
53274 2011-05-22  Bruno Haible  <bruno@clisp.org>
53276         wcswidth: Move AC_LIBOBJ invocations to module description.
53277         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
53278         here...
53279         * modules/wcswidth (configure.ac): ... to here.
53281 2011-05-22  Bruno Haible  <bruno@clisp.org>
53283         wcwidth: Respect rules for use of AC_LIBOBJ.
53284         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
53285         invocation from here...
53286         * modules/wcwidth (configure.ac): ... to here.
53287         (Depends-on): Update conditions.
53289 2011-05-22  Bruno Haible  <bruno@clisp.org>
53291         wctype: Move AC_LIBOBJ invocations to module description.
53292         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
53293         invocation from here...
53294         * modules/wctype (configure.ac): ... to here.
53295         (Depends-on): Update conditions.
53297 2011-05-22  Bruno Haible  <bruno@clisp.org>
53299         wctrans: Move AC_LIBOBJ invocations to module description.
53300         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
53301         invocation from here...
53302         * modules/wctrans (configure.ac): ... to here.
53304 2011-05-22  Bruno Haible  <bruno@clisp.org>
53306         wctomb: Move AC_LIBOBJ invocations to module description.
53307         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
53308         invocations from here...
53309         * modules/wctomb (configure.ac): ... to here.
53311 2011-05-22  Bruno Haible  <bruno@clisp.org>
53313         wctob: Move AC_LIBOBJ invocations to module description.
53314         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
53315         gl_PREREQ_WCTOB invocations from here...
53316         * modules/wctob (configure.ac): ... to here.
53317         (Depends-on): Update conditions.
53319 2011-05-22  Bruno Haible  <bruno@clisp.org>
53321         wcsxfrm: Move AC_LIBOBJ invocations to module description.
53322         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
53323         here...
53324         * modules/wcsxfrm (configure.ac): ... to here.
53326 2011-05-22  Bruno Haible  <bruno@clisp.org>
53328         wcstok: Move AC_LIBOBJ invocations to module description.
53329         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
53330         * modules/wcstok (configure.ac): ... to here.
53332 2011-05-22  Bruno Haible  <bruno@clisp.org>
53334         wcsstr: Move AC_LIBOBJ invocations to module description.
53335         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
53336         * modules/wcsstr (configure.ac): ... to here.
53338 2011-05-22  Bruno Haible  <bruno@clisp.org>
53340         wcsspn: Move AC_LIBOBJ invocations to module description.
53341         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
53342         * modules/wcsspn (configure.ac): ... to here.
53344 2011-05-22  Bruno Haible  <bruno@clisp.org>
53346         wcsrtombs: Move AC_LIBOBJ invocations to module description.
53347         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
53348         gl_PREREQ_WCSRTOMBS invocations from here...
53349         * modules/wcsrtombs (configure.ac): ... to here.
53351 2011-05-22  Bruno Haible  <bruno@clisp.org>
53353         wcsrchr: Move AC_LIBOBJ invocations to module description.
53354         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
53355         here...
53356         * modules/wcsrchr (configure.ac): ... to here.
53358 2011-05-22  Bruno Haible  <bruno@clisp.org>
53360         wcspbrk: Move AC_LIBOBJ invocations to module description.
53361         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
53362         here...
53363         * modules/wcspbrk (configure.ac): ... to here.
53365 2011-05-22  Bruno Haible  <bruno@clisp.org>
53367         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
53368         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
53369         gl_PREREQ_WCSNRTOMBS invocations from here...
53370         * modules/wcsnrtombs (configure.ac): ... to here.
53372 2011-05-22  Bruno Haible  <bruno@clisp.org>
53374         wcsnlen: Move AC_LIBOBJ invocations to module description.
53375         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
53376         here...
53377         * modules/wcsnlen (configure.ac): ... to here.
53379 2011-05-22  Bruno Haible  <bruno@clisp.org>
53381         wcsncpy: Move AC_LIBOBJ invocations to module description.
53382         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
53383         here...
53384         * modules/wcsncpy (configure.ac): ... to here.
53386 2011-05-22  Bruno Haible  <bruno@clisp.org>
53388         wcsncmp: Move AC_LIBOBJ invocations to module description.
53389         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
53390         here...
53391         * modules/wcsncmp (configure.ac): ... to here.
53393 2011-05-22  Bruno Haible  <bruno@clisp.org>
53395         wcsncat: Move AC_LIBOBJ invocations to module description.
53396         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
53397         here...
53398         * modules/wcsncat (configure.ac): ... to here.
53400 2011-05-22  Bruno Haible  <bruno@clisp.org>
53402         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
53403         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
53404         from here...
53405         * modules/wcsncasecmp (configure.ac): ... to here.
53407 2011-05-22  Bruno Haible  <bruno@clisp.org>
53409         wcslen: Move AC_LIBOBJ invocations to module description.
53410         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
53411         * modules/wcslen (configure.ac): ... to here.
53413 2011-05-22  Bruno Haible  <bruno@clisp.org>
53415         wcsdup: Move AC_LIBOBJ invocations to module description.
53416         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
53417         * modules/wcsdup (configure.ac): ... to here.
53419 2011-05-22  Bruno Haible  <bruno@clisp.org>
53421         wcscspn: Move AC_LIBOBJ invocations to module description.
53422         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
53423         here...
53424         * modules/wcscspn (configure.ac): ... to here.
53426 2011-05-22  Bruno Haible  <bruno@clisp.org>
53428         wcscpy: Move AC_LIBOBJ invocations to module description.
53429         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
53430         * modules/wcscpy (configure.ac): ... to here.
53432 2011-05-22  Bruno Haible  <bruno@clisp.org>
53434         wcscoll: Move AC_LIBOBJ invocations to module description.
53435         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
53436         here...
53437         * modules/wcscoll (configure.ac): ... to here.
53439 2011-05-22  Bruno Haible  <bruno@clisp.org>
53441         wcscmp: Move AC_LIBOBJ invocations to module description.
53442         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
53443         * modules/wcscmp (configure.ac): ... to here.
53445 2011-05-22  Bruno Haible  <bruno@clisp.org>
53447         wcschr: Move AC_LIBOBJ invocations to module description.
53448         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
53449         * modules/wcschr (configure.ac): ... to here.
53451 2011-05-22  Bruno Haible  <bruno@clisp.org>
53453         wcscat: Move AC_LIBOBJ invocations to module description.
53454         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
53455         * modules/wcscat (configure.ac): ... to here.
53457 2011-05-22  Bruno Haible  <bruno@clisp.org>
53459         wcscasecmp: Move AC_LIBOBJ invocations to module description.
53460         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
53461         here...
53462         * modules/wcscasecmp (configure.ac): ... to here.
53464 2011-05-22  Bruno Haible  <bruno@clisp.org>
53466         wcrtomb: Move AC_LIBOBJ invocations to module description.
53467         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
53468         invocations from here...
53469         * modules/wcrtomb (configure.ac): ... to here.
53471 2011-05-22  Bruno Haible  <bruno@clisp.org>
53473         wcpncpy: Move AC_LIBOBJ invocations to module description.
53474         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
53475         here...
53476         * modules/wcpncpy (configure.ac): ... to here.
53478 2011-05-22  Bruno Haible  <bruno@clisp.org>
53480         wcpcpy: Move AC_LIBOBJ invocations to module description.
53481         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
53482         * modules/wcpcpy (configure.ac): ... to here.
53484 2011-05-22  Bruno Haible  <bruno@clisp.org>
53486         waitpid: Move AC_LIBOBJ invocations to module description.
53487         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
53488         invocation from here...
53489         * modules/waitpid (configure.ac): ... to here.
53491 2011-05-22  Bruno Haible  <bruno@clisp.org>
53493         utimensat: Move AC_LIBOBJ invocations to module description.
53494         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
53495         here...
53496         * modules/utimensat (configure.ac): ... to here.
53498 2011-05-22  Bruno Haible  <bruno@clisp.org>
53500         usleep: Move AC_LIBOBJ invocations to module description.
53501         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
53502         here...
53503         * modules/usleep (configure.ac): ... to here.
53505 2011-05-22  Bruno Haible  <bruno@clisp.org>
53507         unlockpt: Move AC_LIBOBJ invocations to module description.
53508         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
53509         gl_PREREQ_UNLOCKPT invocations from here...
53510         * modules/unlockpt (configure.ac): ... to here.
53512 2011-05-22  Bruno Haible  <bruno@clisp.org>
53514         unlink: Respect rules for use of AC_LIBOBJ.
53515         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
53516         * modules/unlink (configure.ac): ... to here.
53518 2011-05-22  Bruno Haible  <bruno@clisp.org>
53520         uname: Move AC_LIBOBJ invocations to module description.
53521         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
53522         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
53523         here...
53524         * modules/uname (configure.ac): ... to here.
53526 2011-05-22  Bruno Haible  <bruno@clisp.org>
53528         ttyname_r: Move AC_LIBOBJ invocations to module description.
53529         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
53530         gl_PREREQ_TTYNAME_R invocations from here...
53531         * modules/ttyname_r (configure.ac): ... to here.
53533 2011-05-22  Bruno Haible  <bruno@clisp.org>
53535         tsearch: Move AC_LIBOBJ invocations to module description.
53536         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
53537         invocations from here...
53538         * modules/tsearch (configure.ac): ... to here.
53540 2011-05-22  Bruno Haible  <bruno@clisp.org>
53542         towctrans: Move AC_LIBOBJ invocations to module description.
53543         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
53544         AC_LIBOBJ invocation from here...
53545         * modules/towctrans (configure.ac): ... to here.
53547 2011-05-22  Bruno Haible  <bruno@clisp.org>
53549         tmpfile: Move AC_LIBOBJ invocations to module description.
53550         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
53551         invocations from here...
53552         * modules/tmpfile (configure.ac): ... to here.
53554 2011-05-22  Bruno Haible  <bruno@clisp.org>
53556         times: Move AC_LIBOBJ invocations to module description.
53557         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
53558         * modules/times (configure.ac): ... to here.
53560 2011-05-22  Bruno Haible  <bruno@clisp.org>
53562         time_r: Move AC_LIBOBJ invocations to module description.
53563         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
53564         invocations from here...
53565         * modules/time_r (configure.ac): ... to here.
53567 2011-05-22  Bruno Haible  <bruno@clisp.org>
53569         timegm: Move AC_LIBOBJ invocations to module description.
53570         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
53571         invocations from here...
53572         * modules/timegm (configure.ac): ... to here.
53574 2011-05-22  Bruno Haible  <bruno@clisp.org>
53576         tcgetsid: Move AC_LIBOBJ invocations to module description.
53577         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
53578         and gl_PREREQ_TCGETSID invocations from here...
53579         * modules/tcgetsid (configure.ac): ... to here.
53580         (Depends-on): Update conditions.
53582 2011-05-22  Bruno Haible  <bruno@clisp.org>
53584         symlinkat: Move AC_LIBOBJ invocations to module description.
53585         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
53586         here...
53587         * modules/symlinkat (configure.ac): ... to here.
53589 2011-05-22  Bruno Haible  <bruno@clisp.org>
53591         symlink: Move AC_LIBOBJ invocations to module description.
53592         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
53593         here...
53594         * modules/symlink (configure.ac): ... to here.
53596 2011-05-22  Bruno Haible  <bruno@clisp.org>
53598         strverscmp: Move AC_LIBOBJ invocations to module description.
53599         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
53600         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
53601         from here...
53602         * modules/strverscmp (configure.ac): ... to here.
53604 2011-05-22  Bruno Haible  <bruno@clisp.org>
53606         strtok_r: Move AC_LIBOBJ invocations to module description.
53607         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
53608         and gl_PREREQ_STRTOK_R invocations from here...
53609         * modules/strtok_r (configure.ac): ... to here.
53610         (Depends-on): Update conditions.
53612 2011-05-22  Bruno Haible  <bruno@clisp.org>
53614         strtoumax: Move AC_LIBOBJ invocations to module description.
53615         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
53616         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
53617         from here...
53618         * modules/strtoumax (configure.ac): ... to here.
53620 2011-05-22  Bruno Haible  <bruno@clisp.org>
53622         strtoimax: Move AC_LIBOBJ invocations to module description.
53623         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
53624         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
53625         from here...
53626         * modules/strtoimax (configure.ac): ... to here.
53628 2011-05-22  Bruno Haible  <bruno@clisp.org>
53630         strtoull: Move AC_LIBOBJ invocations to module description.
53631         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
53632         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
53633         from here...
53634         * modules/strtoull (configure.ac): ... to here.
53636 2011-05-22  Bruno Haible  <bruno@clisp.org>
53638         strtoll: Move AC_LIBOBJ invocations to module description.
53639         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
53640         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
53641         here...
53642         * modules/strtoll (configure.ac): ... to here.
53644 2011-05-22  Bruno Haible  <bruno@clisp.org>
53646         strtoul: Move AC_LIBOBJ invocations to module description.
53647         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
53648         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
53649         * modules/strtoul (configure.ac): ... to here.
53651 2011-05-22  Bruno Haible  <bruno@clisp.org>
53653         strtol: Move AC_LIBOBJ invocations to module description.
53654         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
53655         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
53656         * modules/strtol (configure.ac): ... to here.
53658 2011-05-22  Bruno Haible  <bruno@clisp.org>
53660         strtod: Move AC_LIBOBJ invocations to module description.
53661         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
53662         invocations from here...
53663         * modules/strtod (configure.ac): ... to here.
53665 2011-05-22  Bruno Haible  <bruno@clisp.org>
53667         strstr*: Move AC_LIBOBJ invocations to module description.
53668         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
53669         invocations from here...
53670         * modules/strstr-simple (configure.ac): ... to here.
53671         * modules/strstr (configure.ac): ... and here.
53673 2011-05-22  Bruno Haible  <bruno@clisp.org>
53675         strsignal: Move AC_LIBOBJ invocations to module description.
53676         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
53677         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
53678         * modules/strsignal (configure.ac): ... to here.
53679         (Depends-on): Update conditions.
53681 2011-05-22  Bruno Haible  <bruno@clisp.org>
53683         strsep: Move AC_LIBOBJ invocations to module description.
53684         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
53685         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
53686         here...
53687         * modules/strsep (configure.ac): ... to here.
53689 2011-05-22  Bruno Haible  <bruno@clisp.org>
53691         strptime: Move AC_LIBOBJ invocations to module description.
53692         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
53693         gl_PREREQ_STRPTIME invocations from here...
53694         * modules/strptime (configure.ac): ... to here.
53696 2011-05-22  Bruno Haible  <bruno@clisp.org>
53698         strpbrk: Move AC_LIBOBJ invocations to module description.
53699         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
53700         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
53701         here...
53702         * modules/strpbrk (configure.ac): ... to here.
53704 2011-05-22  Bruno Haible  <bruno@clisp.org>
53706         strnlen: Move AC_LIBOBJ invocations to module description.
53707         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
53708         invocations from here...
53709         * modules/strnlen (configure.ac): ... to here.
53711 2011-05-22  Bruno Haible  <bruno@clisp.org>
53713         strndup: Move AC_LIBOBJ invocations to module description.
53714         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
53715         invocations from here...
53716         * modules/strndup (configure.ac): ... to here.
53717         (Depends-on): Update conditions.
53719 2011-05-22  Bruno Haible  <bruno@clisp.org>
53721         strncat: Move AC_LIBOBJ invocations to module description.
53722         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
53723         invocations from here...
53724         * modules/strncat (configure.ac): ... to here.
53726 2011-05-22  Bruno Haible  <bruno@clisp.org>
53728         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
53729         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
53730         invocations from here...
53731         * modules/strdup (configure.ac): ... to here.
53732         * modules/strdup-posix (configure.ac): ... and here.
53734 2011-05-22  Bruno Haible  <bruno@clisp.org>
53736         strcspn: Move AC_LIBOBJ invocations to module description.
53737         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
53738         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
53739         here...
53740         * modules/strcspn (configure.ac): ... to here.
53742 2011-05-22  Bruno Haible  <bruno@clisp.org>
53744         strchrnul: Move AC_LIBOBJ invocations to module description.
53745         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
53746         gl_PREREQ_STRCHRNUL invocations from here...
53747         * modules/strchrnul (configure.ac): ... to here.
53749 2011-05-22  Bruno Haible  <bruno@clisp.org>
53751         strcasestr*: Move AC_LIBOBJ invocations to module description.
53752         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
53753         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
53754         * modules/strcasestr-simple (configure.ac): ... to here.
53755         * modules/strcasestr (configure.ac): ... and here.
53757 2011-05-22  Bruno Haible  <bruno@clisp.org>
53759         strcase: Move AC_LIBOBJ invocations to module description.
53760         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
53761         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
53762         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
53763         gl_PREREQ_STRNCASECMP invocations from here...
53764         * modules/strcase (configure.ac): ... to here.
53766 2011-05-22  Bruno Haible  <bruno@clisp.org>
53768         stpncpy: Move AC_LIBOBJ invocations to module description.
53769         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
53770         here...
53771         * modules/stpncpy (configure.ac): ... to here.
53773 2011-05-22  Bruno Haible  <bruno@clisp.org>
53775         stpcpy: Move AC_LIBOBJ invocations to module description.
53776         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
53777         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
53778         here...
53779         * modules/stpcpy (configure.ac): ... to here.
53781 2011-05-21  Bruno Haible  <bruno@clisp.org>
53783         stat: Move AC_LIBOBJ invocations to module description.
53784         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
53785         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
53786         here...
53787         * modules/stat (configure.ac): ... to here.
53789 2011-05-21  Bruno Haible  <bruno@clisp.org>
53791         sleep: Move AC_LIBOBJ invocations to module description.
53792         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
53793         * modules/sleep (configure.ac): ... to here.
53795 2011-05-21  Bruno Haible  <bruno@clisp.org>
53797         signbit: Move AC_LIBOBJ invocations to module description.
53798         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
53799         * modules/signbit (configure.ac): ... to here.
53801 2011-05-21  Bruno Haible  <bruno@clisp.org>
53803         sigprocmask: Move AC_LIBOBJ invocations to module description.
53804         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
53805         gl_PREREQ_SIGPROMASK invocations from here...
53806         * modules/sigprocmask (configure.ac): ... to here.
53808 2011-05-21  Bruno Haible  <bruno@clisp.org>
53810         sigaction: Move AC_LIBOBJ invocations to module description.
53811         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
53812         gl_PREREQ_SIGACTION invocations from here...
53813         * modules/sigaction (configure.ac): ... to here.
53815 2011-05-21  Bruno Haible  <bruno@clisp.org>
53817         sig2str: Move AC_LIBOBJ invocations to module description.
53818         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
53819         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
53820         here...
53821         * modules/sig2str (configure.ac): ... to here.
53823 2011-05-21  Bruno Haible  <bruno@clisp.org>
53825         setlocale: Move AC_LIBOBJ invocations to module description.
53826         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
53827         gl_PREREQ_SETLOCALE invocations from here...
53828         * modules/setlocale (configure.ac): ... to here.
53830 2011-05-21  Bruno Haible  <bruno@clisp.org>
53832         unsetenv: Move AC_LIBOBJ invocations to module description.
53833         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
53834         and gl_PREREQ_UNSETENV invocations from here...
53835         * modules/unsetenv (configure.ac): ... to here.
53836         (Depends-on): Update.
53838 2011-05-21  Bruno Haible  <bruno@clisp.org>
53840         setenv: Move AC_LIBOBJ invocations to module description.
53841         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
53842         here...
53843         * modules/setenv (configure.ac): ... to here.
53845 2011-05-21  Bruno Haible  <bruno@clisp.org>
53847         selinux-h: Move AC_LIBOBJ invocations to module description.
53848         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
53849         AC_LIBOBJ invocation from here...
53850         * modules/selinux-h (configure.ac): ... to here.
53852 2011-05-21  Bruno Haible  <bruno@clisp.org>
53854         select: Respect rules for use of AC_LIBOBJ.
53855         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
53856         here...
53857         * modules/select (configure.ac): ... to here.
53859 2011-05-21  Bruno Haible  <bruno@clisp.org>
53861         scandir: Move AC_LIBOBJ invocations to module description.
53862         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
53863         invocations from here...
53864         * modules/scandir (configure.ac): ... to here.
53866 2011-05-21  Bruno Haible  <bruno@clisp.org>
53868         rpmatch: Move AC_LIBOBJ invocations to module description.
53869         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
53870         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
53871         here...
53872         * modules/rpmatch (configure.ac): ... to here.
53874 2011-05-21  Bruno Haible  <bruno@clisp.org>
53876         rmdir: Respect rules for use of AC_LIBOBJ.
53877         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
53878         * modules/rmdir (configure.ac): ... to here.
53880 2011-05-21  Bruno Haible  <bruno@clisp.org>
53882         renameat: Move AC_LIBOBJ invocations to module description.
53883         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
53884         here...
53885         * modules/renameat (configure.ac): ... to here.
53887 2011-05-21  Bruno Haible  <bruno@clisp.org>
53889         rename: Respect rules for use of AC_LIBOBJ.
53890         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
53891         here...
53892         * modules/rename (configure.ac): ... to here.
53894 2011-05-21  Bruno Haible  <bruno@clisp.org>
53896         remove: Move AC_LIBOBJ invocations to module description.
53897         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
53898         here...
53899         * modules/remove (configure.ac): ... to here.
53901 2011-05-21  Bruno Haible  <bruno@clisp.org>
53903         relocatable-lib: Move AC_LIBOBJ invocations to module description.
53904         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
53905         macro.
53906         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
53907         * modules/relocatable-lib (configure.ac): ... to here.
53908         * modules/relocatable-prog-wrapper (configure.ac): Invoke
53909         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
53911 2011-05-21  Bruno Haible  <bruno@clisp.org>
53913         relocatable-prog: Move AC_LIBOBJ invocations to module description.
53914         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
53915         here...
53916         * modules/relocatable-prog (configure.ac): ... to here.
53918 2011-05-21  Bruno Haible  <bruno@clisp.org>
53920         regex: Move AC_LIBOBJ invocations to module description.
53921         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
53922         invocations from here...
53923         * modules/regex (configure.ac): ... to here.
53925 2011-05-21  Bruno Haible  <bruno@clisp.org>
53927         realloc-*: Move AC_LIBOBJ invocations to module description.
53928         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
53929         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
53930         AC_LIBOBJ invocations from here...
53931         * modules/realloc-gnu (configure.ac): ... to here.
53932         * modules/realloc-posix (configure.ac): ... and here.
53934 2011-05-21  Bruno Haible  <bruno@clisp.org>
53936         readutmp: Move AC_LIBOBJ invocations to module description.
53937         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
53938         * modules/readutmp (configure.ac): ... to here.
53940 2011-05-21  Bruno Haible  <bruno@clisp.org>
53942         readlinkat: Move AC_LIBOBJ invocations to module description.
53943         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
53944         here...
53945         * modules/readlinkat (configure.ac): ... to here.
53947 2011-05-21  Bruno Haible  <bruno@clisp.org>
53949         readlink: Move AC_LIBOBJ invocations to module description.
53950         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
53951         gl_PREREQ_READLINK invocations from here...
53952         * modules/readlink (configure.ac): ... to here.
53954 2011-05-21  Bruno Haible  <bruno@clisp.org>
53956         readline: Move AC_LIBOBJ invocations to module description.
53957         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
53958         gl_PREREQ_READLINE invocations from here...
53959         * modules/readline (configure.ac): ... to here.
53961 2011-05-21  Bruno Haible  <bruno@clisp.org>
53963         read: Move AC_LIBOBJ invocations to module description.
53964         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
53965         * modules/read (configure.ac): ... to here.
53967 2011-05-21  Bruno Haible  <bruno@clisp.org>
53969         rawmemchr: Move AC_LIBOBJ invocations to module description.
53970         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
53971         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
53972         from here...
53973         * modules/rawmemchr (configure.ac): ... to here.
53975 2011-05-21  Bruno Haible  <bruno@clisp.org>
53977         random_r: Move AC_LIBOBJ invocations to module description.
53978         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
53979         gl_PREREQ_RANDOM_R invocations from here...
53980         * modules/random_r (configure.ac): ... to here.
53982 2011-05-21  Bruno Haible  <bruno@clisp.org>
53984         pwrite: Move AC_LIBOBJ invocations to module description.
53985         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
53986         * modules/pwrite (configure.ac): ... to here.
53988 2011-05-21  Bruno Haible  <bruno@clisp.org>
53990         putenv: Move AC_LIBOBJ invocations to module description.
53991         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
53992         * modules/putenv (configure.ac): ... to here.
53994 2011-05-21  Bruno Haible  <bruno@clisp.org>
53996         login_tty: Move AC_LIBOBJ invocations to module description.
53997         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
53998         * modules/login_tty (configure.ac): ... to here.
54000 2011-05-21  Bruno Haible  <bruno@clisp.org>
54002         openpty: Move AC_LIBOBJ invocations to module description.
54003         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
54004         * modules/openpty (configure.ac): ... to here.
54006 2011-05-21  Bruno Haible  <bruno@clisp.org>
54008         forkpty: Move AC_LIBOBJ invocations to module description.
54009         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
54010         * modules/forkpty (configure.ac): ... to here.
54012 2011-05-21  Bruno Haible  <bruno@clisp.org>
54014         ptsname: Move AC_LIBOBJ invocations to module description.
54015         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
54016         invocations from here...
54017         * modules/ptsname (configure.ac): ... to here.
54019 2011-05-21  Bruno Haible  <bruno@clisp.org>
54021         pread: Move AC_LIBOBJ invocations to module description.
54022         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
54023         * modules/pread (configure.ac): ... to here.
54025 2011-05-21  Bruno Haible  <bruno@clisp.org>
54027         posix_spawn*: Move AC_LIBOBJ invocations to module description.
54028         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
54029         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
54030         * modules/posix_spawn (configure.ac): ... to here.
54031         * modules/posix_spawnp (configure.ac): ... and here.
54033 2011-05-21  Bruno Haible  <bruno@clisp.org>
54035         popen: Move AC_LIBOBJ invocations to module description.
54036         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
54037         invocations from here...
54038         * modules/popen (configure.ac): ... to here.
54040 2011-05-21  Bruno Haible  <bruno@clisp.org>
54042         poll: Move AC_LIBOBJ invocations to module description.
54043         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
54044         invocations from here...
54045         * modules/poll (configure.ac): ... to here.
54047 2011-05-21  Bruno Haible  <bruno@clisp.org>
54049         pipe-posix: Move AC_LIBOBJ invocations to module description.
54050         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
54051         * modules/pipe-posix (configure.ac): ... to here.
54053 2011-05-21  Bruno Haible  <bruno@clisp.org>
54055         openat: Respect rules for use of AC_LIBOBJ.
54056         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
54057         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
54058         * modules/openat (configure.ac): ... to here.
54060 2011-05-21  Bruno Haible  <bruno@clisp.org>
54062         obstack-printf*: Move AC_LIBOBJ invocations to module description.
54063         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
54064         invocation from here...
54065         * modules/obstack-printf (configure.ac): ... to here.
54066         * modules/obstack-printf-posix (configure.ac): ... and here.
54068 2011-05-21  Bruno Haible  <bruno@clisp.org>
54070         nl_langinfo: Move AC_LIBOBJ invocations to module description.
54071         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
54072         from here...
54073         * modules/nl_langinfo (configure.ac): ... to here.
54075 2011-05-21  Bruno Haible  <bruno@clisp.org>
54077         nanosleep: Move AC_LIBOBJ invocations to module description.
54078         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
54079         gl_PREREQ_NANOSLEEP invocations from here...
54080         * modules/nanosleep (configure.ac): ... to here.
54082 2011-05-21  Bruno Haible  <bruno@clisp.org>
54084         mountlist: Move AC_LIBOBJ invocations to module description.
54085         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
54086         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
54087         * modules/mountlist (configure.ac): ... to here.
54089 2011-05-21  Bruno Haible  <bruno@clisp.org>
54091         mktime: Respect rules for use of AC_LIBOBJ.
54092         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
54093         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
54094         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
54095         (gl_FUNC_MKTIME_INTERNAL): ... and here...
54096         * modules/mktime (configure.ac): ... to here.
54097         * modules/mktime-internal (configure.ac): ... and here.
54098         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
54100 2011-05-21  Bruno Haible  <bruno@clisp.org>
54102         mkstemps: Move AC_LIBOBJ invocations to module description.
54103         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
54104         here...
54105         * modules/mkstemps (configure.ac): ... to here.
54107 2011-05-21  Bruno Haible  <bruno@clisp.org>
54109         mkstemp: Move AC_LIBOBJ invocations to module description.
54110         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
54111         gl_PREREQ_MKSTEMP invocations from here...
54112         * modules/mkstemp (configure.ac): ... to here.
54114 2011-05-21  Bruno Haible  <bruno@clisp.org>
54116         mkostemps: Move AC_LIBOBJ invocations to module description.
54117         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
54118         here...
54119         * modules/mkostemps (configure.ac): ... to here.
54121 2011-05-21  Bruno Haible  <bruno@clisp.org>
54123         mkostemp: Move AC_LIBOBJ invocations to module description.
54124         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
54125         gl_PREREQ_MKOSTEMP invocations from here...
54126         * modules/mkostemp (configure.ac): ... to here.
54128 2011-05-21  Bruno Haible  <bruno@clisp.org>
54130         mknod: Move AC_LIBOBJ invocations to module description.
54131         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
54132         * modules/mknod (configure.ac): ... to here.
54134 2011-05-21  Bruno Haible  <bruno@clisp.org>
54136         mkfifoat: Move AC_LIBOBJ invocations to module description.
54137         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
54138         here...
54139         * modules/mkfifoat (configure.ac): ... to here.
54141 2011-05-21  Bruno Haible  <bruno@clisp.org>
54143         mkfifo: Respect rules for use of AC_LIBOBJ.
54144         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
54145         here...
54146         * modules/mkfifo (configure.ac): ... to here.
54148 2011-05-21  Bruno Haible  <bruno@clisp.org>
54150         mkdtemp: Move AC_LIBOBJ invocations to module description.
54151         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
54152         invocations from here...
54153         * modules/mkdtemp (configure.ac): ... to here.
54155 2011-05-21  Bruno Haible  <bruno@clisp.org>
54157         mkdir: Move AC_LIBOBJ invocations to module description.
54158         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
54159         * modules/mkdir (configure.ac): ... to here.
54161 2011-05-21  Bruno Haible  <bruno@clisp.org>
54163         memset: Move AC_LIBOBJ invocations to module description.
54164         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
54165         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
54166         here...
54167         * modules/memset (configure.ac): ... to here.
54169 2011-05-21  Bruno Haible  <bruno@clisp.org>
54171         memrchr: Move AC_LIBOBJ invocations to module description.
54172         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
54173         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
54174         here...
54175         * modules/memrchr (configure.ac): ... to here.
54177 2011-05-21  Bruno Haible  <bruno@clisp.org>
54179         mempcpy: Move AC_LIBOBJ invocations to module description.
54180         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
54181         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
54182         here...
54183         * modules/mempcpy (configure.ac): ... to here.
54185 2011-05-21  Bruno Haible  <bruno@clisp.org>
54187         memmove: Move AC_LIBOBJ invocations to module description.
54188         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
54189         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
54190         here...
54191         * modules/memmove (configure.ac): ... to here.
54193 2011-05-21  Bruno Haible  <bruno@clisp.org>
54195         memmem*: Move AC_LIBOBJ invocations to module description.
54196         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
54197         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
54198         here...
54199         (gl_FUNC_MEMMEM): ... and here...
54200         * modules/memmem-simple (configure.ac): ... to here.
54201         * modules/memmem (configure.ac): ... and here.
54203 2011-05-21  Bruno Haible  <bruno@clisp.org>
54205         memcpy: Move AC_LIBOBJ invocations to module description.
54206         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
54207         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
54208         here...
54209         * modules/memcpy (configure.ac): ... to here.
54211 2011-05-21  Bruno Haible  <bruno@clisp.org>
54213         memcmp: Simplify autoconf macro.
54214         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
54215         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
54216         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
54218 2011-05-21  Bruno Haible  <bruno@clisp.org>
54220         memcmp: Move AC_LIBOBJ invocations to module description.
54221         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
54222         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
54223         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
54224         * modules/memcmp (configure.ac): ... to here.
54225         (Depends-on): Update conditions.
54227 2011-05-21  Bruno Haible  <bruno@clisp.org>
54229         memchr: Respect rules for use of AC_LIBOBJ.
54230         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
54231         invocations from here...
54232         * modules/memchr (configure.ac): ... to here.
54234 2011-05-21  Bruno Haible  <bruno@clisp.org>
54236         mbtowc: Move AC_LIBOBJ invocations to module description.
54237         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
54238         invocations from here...
54239         * modules/mbtowc (configure.ac): ... to here.
54241 2011-05-21  Bruno Haible  <bruno@clisp.org>
54243         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
54244         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
54245         gl_PREREQ_MBSRTOWCS invocations from here...
54246         * modules/mbsrtowcs (configure.ac): ... to here.
54248 2011-05-21  Bruno Haible  <bruno@clisp.org>
54250         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
54251         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
54252         gl_PREREQ_MBSNRTOWCS invocations from here...
54253         * modules/mbsnrtowcs (configure.ac): ... to here.
54255 2011-05-21  Bruno Haible  <bruno@clisp.org>
54257         mbsinit: Move AC_LIBOBJ invocations to module description.
54258         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
54259         invocations from here...
54260         * modules/mbsinit (configure.ac): ... to here.
54262 2011-05-21  Bruno Haible  <bruno@clisp.org>
54264         mbrlen: Move AC_LIBOBJ invocations to module description.
54265         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
54266         invocations from here...
54267         * modules/mbrlen (configure.ac): ... to here.
54269 2011-05-21  Bruno Haible  <bruno@clisp.org>
54271         mbrtowc: Respect rules for use of AC_LIBOBJ.
54272         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
54273         invocations from here...
54274         * modules/mbrtowc (configure.ac): ... to here.
54276 2011-05-21  Bruno Haible  <bruno@clisp.org>
54278         malloc-*: Move AC_LIBOBJ invocations to module description.
54279         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
54280         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
54281         AC_LIBOBJ invocations from here...
54282         * modules/malloc-gnu (configure.ac): ... to here.
54283         * modules/malloc-posix (configure.ac): ... and here.
54285 2011-05-21  Bruno Haible  <bruno@clisp.org>
54287         lstat, openat: Respect rules for use of AC_LIBOBJ.
54288         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
54289         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
54290         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
54291         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
54292         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
54293         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
54294         here.
54295         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
54297 2011-05-21  Bruno Haible  <bruno@clisp.org>
54299         lseek: Move AC_LIBOBJ invocations to module description.
54300         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
54301         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
54302         * modules/lseek (configure.ac): ... to here.
54304 2011-05-21  Bruno Haible  <bruno@clisp.org>
54306         linkat: Move AC_LIBOBJ invocations to module description.
54307         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
54308         here...
54309         * modules/linkat (configure.ac): ... to here.
54311 2011-05-21  Bruno Haible  <bruno@clisp.org>
54313         link: Respect rules for use of AC_LIBOBJ.
54314         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
54315         * modules/link (configure.ac): ... to here.
54317 2011-05-21  Bruno Haible  <bruno@clisp.org>
54319         lchown: Move AC_LIBOBJ invocations to module description.
54320         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
54321         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
54322         * modules/lchown (configure.ac): ... to here.
54324 2011-05-21  Bruno Haible  <bruno@clisp.org>
54326         iswctype: Move AC_LIBOBJ invocations to module description.
54327         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
54328         here...
54329         * modules/iswctype (configure.ac): ... to here.
54331 2011-05-21  Bruno Haible  <bruno@clisp.org>
54333         iswblank: Move AC_LIBOBJ invocations to module description.
54334         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
54335         here...
54336         * modules/iswblank (configure.ac): ... to here.
54338 2011-05-21  Bruno Haible  <bruno@clisp.org>
54340         atanl: Move AC_LIBOBJ invocations to module description.
54341         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
54342         * modules/atanl (configure.ac): ... to here.
54344 2011-05-21  Bruno Haible  <bruno@clisp.org>
54346         acosl: Move AC_LIBOBJ invocations to module description.
54347         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
54348         * modules/acosl (configure.ac): ... to here.
54350 2011-05-21  Bruno Haible  <bruno@clisp.org>
54352         asinl: Respect rules for use of AC_LIBOBJ.
54353         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
54354         * modules/asinl (configure.ac): ... to here.
54356 2011-05-21  Bruno Haible  <bruno@clisp.org>
54358         tanl: Move AC_LIBOBJ invocations to module description.
54359         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
54360         * modules/tanl (configure.ac): ... to here.
54362 2011-05-21  Bruno Haible  <bruno@clisp.org>
54364         cosl: Move AC_LIBOBJ invocations to module description.
54365         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
54366         * modules/cosl (configure.ac): ... to here.
54368 2011-05-21  Bruno Haible  <bruno@clisp.org>
54370         sinl: Move AC_LIBOBJ invocations to module description.
54371         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
54372         * modules/sinl (configure.ac): ... to here.
54374 2011-05-21  Bruno Haible  <bruno@clisp.org>
54376         logl: Move AC_LIBOBJ invocations to module description.
54377         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
54378         * modules/logl (configure.ac): ... to here.
54380 2011-05-21  Bruno Haible  <bruno@clisp.org>
54382         expl: Move AC_LIBOBJ invocations to module description.
54383         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
54384         * modules/expl (configure.ac): ... to here.
54386 2011-05-21  Bruno Haible  <bruno@clisp.org>
54388         roundl: Move AC_LIBOBJ invocations to module description.
54389         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
54390         * modules/roundl (configure.ac): ... to here.
54392 2011-05-21  Bruno Haible  <bruno@clisp.org>
54394         round: Move AC_LIBOBJ invocations to module description.
54395         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
54396         * modules/round (configure.ac): ... to here.
54398 2011-05-21  Bruno Haible  <bruno@clisp.org>
54400         roundf: Move AC_LIBOBJ invocations to module description.
54401         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
54402         * modules/roundf (configure.ac): ... to here.
54404 2011-05-21  Bruno Haible  <bruno@clisp.org>
54406         truncl: Move AC_LIBOBJ invocations to module description.
54407         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
54408         * modules/truncl (configure.ac): ... to here.
54410 2011-05-21  Bruno Haible  <bruno@clisp.org>
54412         trunc: Move AC_LIBOBJ invocations to module description.
54413         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
54414         * modules/trunc (configure.ac): ... to here.
54416 2011-05-21  Bruno Haible  <bruno@clisp.org>
54418         truncf: Move AC_LIBOBJ invocations to module description.
54419         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
54420         * modules/truncf (configure.ac): ... to here.
54422 2011-05-21  Bruno Haible  <bruno@clisp.org>
54424         ceill: Move AC_LIBOBJ invocations to module description.
54425         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
54426         * modules/ceill (configure.ac): ... to here.
54428 2011-05-21  Bruno Haible  <bruno@clisp.org>
54430         ceil: Move AC_LIBOBJ invocations to module description.
54431         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
54432         * modules/ceil (configure.ac): ... to here.
54434 2011-05-21  Bruno Haible  <bruno@clisp.org>
54436         ceilf: Move AC_LIBOBJ invocations to module description.
54437         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
54438         * modules/ceilf (configure.ac): ... to here.
54440 2011-05-21  Bruno Haible  <bruno@clisp.org>
54442         floorl: Respect rules for use of AC_LIBOBJ.
54443         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
54444         * modules/floorl (configure.ac): ... to here.
54446 2011-05-21  Bruno Haible  <bruno@clisp.org>
54448         floor: Respect rules for use of AC_LIBOBJ.
54449         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
54450         * modules/floor (configure.ac): ... to here.
54452 2011-05-21  Bruno Haible  <bruno@clisp.org>
54454         floorf: Move AC_LIBOBJ invocations to module description.
54455         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
54456         * modules/floorf (configure.ac): ... to here.
54458 2011-05-20  Bruno Haible  <bruno@clisp.org>
54460         sqrtl: Respect rules for use of AC_LIBOBJ.
54461         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
54462         * modules/sqrtl (configure.ac): ... to here.
54464 2011-05-20  Bruno Haible  <bruno@clisp.org>
54466         ldexpl: Respect rules for use of AC_LIBOBJ.
54467         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
54468         * modules/ldexpl (configure.ac): ... to here.
54470 2011-05-20  Bruno Haible  <bruno@clisp.org>
54472         frexpl*: Respect rules for use of AC_LIBOBJ.
54473         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
54474         invocation from here...
54475         * modules/frexpl (configure.ac): ... to here.
54476         * modules/frexpl-nolibm (configure.ac): ... and here.
54478 2011-05-20  Bruno Haible  <bruno@clisp.org>
54480         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
54481         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
54482         invocation from here...
54483         * modules/frexp (configure.ac): ... to here.
54484         * modules/frexp-nolibm (configure.ac): ... and here.
54486 2011-05-20  Bruno Haible  <bruno@clisp.org>
54488         isnan: Respect rules for use of AC_LIBOBJ.
54489         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
54490         invocations here.
54491         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
54492         REPLACE_ISNAN.
54493         * modules/isnand (configure.ac): Likewise.
54494         * modules/isnanl (configure.ac): Likewise.
54496 2011-05-20  Bruno Haible  <bruno@clisp.org>
54498         isnanl*: Respect rules for use of AC_LIBOBJ.
54499         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
54500         invocation from here...
54501         * modules/isnanl (configure.ac): ... to here.
54502         * modules/isnanl-nolibm (configure.ac): ... and here.
54504 2011-05-20  Bruno Haible  <bruno@clisp.org>
54506         isnand*: Move AC_LIBOBJ invocations to module description.
54507         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
54508         invocation from here...
54509         * modules/isnand (configure.ac): ... to here.
54510         * modules/isnand-nolibm (configure.ac): ... and here.
54512 2011-05-20  Bruno Haible  <bruno@clisp.org>
54514         isnanf*: Move AC_LIBOBJ invocations to module description.
54515         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
54516         invocation from here...
54517         * modules/isnanf (configure.ac): ... to here.
54518         * modules/isnanf-nolibm (configure.ac): ... and here.
54520 2011-05-20  Bruno Haible  <bruno@clisp.org>
54522         isnan*: Separate the AC_LIBOBJ invocations.
54523         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
54524         AC_LIBOBJ invocation.
54525         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
54526         here.
54527         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
54528         AC_LIBOBJ invocation.
54529         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
54530         here.
54531         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
54532         AC_LIBOBJ invocation.
54533         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
54534         here.
54535         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
54537 2011-05-08  Bruno Haible  <bruno@clisp.org>
54539         isinf: Move AC_LIBOBJ invocations to module description.
54540         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
54541         * modules/isinf (configure.ac): ... to here.
54543 2011-05-08  Bruno Haible  <bruno@clisp.org>
54545         isfinite: Move AC_LIBOBJ invocations to module description.
54546         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
54547         * modules/isfinite (configure.ac): ... to here.
54549 2011-05-08  Bruno Haible  <bruno@clisp.org>
54551         isblank: Move AC_LIBOBJ invocations to module description.
54552         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
54553         here...
54554         * modules/isblank (configure.ac): ... to here.
54556 2011-05-08  Bruno Haible  <bruno@clisp.org>
54558         isapipe: Move AC_LIBOBJ invocations to module description.
54559         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
54560         gl_PREREQ_ISAPIPE invocations from here...
54561         * modules/isapipe (configure.ac): ... to here.
54562         (Depends-on): Update condition.
54564 2011-05-08  Bruno Haible  <bruno@clisp.org>
54566         ioctl: Move AC_LIBOBJ invocations to module description.
54567         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
54568         invocations from here...
54569         * modules/ioctl (configure.ac): ... to here.
54570         (Depends-on): Update condition.
54572 2011-05-08  Bruno Haible  <bruno@clisp.org>
54574         imaxdiv: Move AC_LIBOBJ invocations to module description.
54575         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
54576         invocations from here...
54577         * modules/imaxdiv (configure.ac): ... to here.
54579 2011-05-08  Bruno Haible  <bruno@clisp.org>
54581         imaxabs: Move AC_LIBOBJ invocations to module description.
54582         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
54583         invocations from here...
54584         * modules/imaxabs (configure.ac): ... to here.
54586 2011-05-08  Bruno Haible  <bruno@clisp.org>
54588         getaddrinfo: Move AC_LIBOBJ invocations to module description.
54589         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
54590         AC_LIBOBJ invocations from here...
54591         * modules/getaddrinfo (configure.ac): ... to here.
54592         (Depends-on): Add conditions.
54594 2011-05-08  Bruno Haible  <bruno@clisp.org>
54596         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
54597         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
54598         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
54599         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
54600         (gl_PREREQ_INET_PTON): ... from here.
54601         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
54602         gl_PREREQ_INET_PTON here.
54603         (Depends-on): Update condition.
54605 2011-05-08  Bruno Haible  <bruno@clisp.org>
54607         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
54608         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
54609         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
54610         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
54611         (gl_PREREQ_INET_NTOP): ... from here.
54612         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
54613         gl_PREREQ_INET_NTOP here.
54614         (Depends-on): Update condition.
54616 2011-05-08  Bruno Haible  <bruno@clisp.org>
54618         iconv_open: Move AC_LIBOBJ invocations to module description.
54619         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
54620         AC_LIBOBJ invocations from here...
54621         * modules/iconv_open (configure.ac): ... to here.
54623 2011-05-08  Bruno Haible  <bruno@clisp.org>
54625         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
54626         If module 'iconv_open' is among the main modules and module
54627         'iconv_open-utf' is among the tests dependencies, then
54628         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
54629         return the special iconv_t values. Therefore iconv() and iconv_close()
54630         must support these special iconv_t values, already in lib, not only in
54631         tests.
54632         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
54633         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
54634         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
54635         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
54636         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
54637         (Depends-on): Add the dependencies of iconv_open-utf.
54638         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
54639         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
54640         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
54642 2011-05-08  Bruno Haible  <bruno@clisp.org>
54644         group-member: Move AC_LIBOBJ invocations to module description.
54645         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
54646         gl_PREREQ_GROUP_MEMBER invocations from here...
54647         * modules/group-member (configure.ac): ... to here.
54649 2011-05-08  Bruno Haible  <bruno@clisp.org>
54651         grantpt: Move AC_LIBOBJ invocations to module description.
54652         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
54653         invocations from here...
54654         * modules/grantpt (configure.ac): ... to here.
54656 2011-05-08  Bruno Haible  <bruno@clisp.org>
54658         glob: Move AC_LIBOBJ invocations to module description.
54659         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
54660         from here...
54661         * modules/glob (configure.ac): ... to here.
54663 2011-05-08  Bruno Haible  <bruno@clisp.org>
54665         getusershell: Move AC_LIBOBJ invocations to module description.
54666         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
54667         Move AC_LIBOBJ invocation from here...
54668         * modules/getusershell (configure.ac): ... to here.
54669         (Depends-on): Update condition.
54671 2011-05-08  Bruno Haible  <bruno@clisp.org>
54673         gettimeofday: Move AC_LIBOBJ invocations to module description.
54674         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
54675         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
54676         gl_PREREQ_GETTIMEOFDAY invocations from here...
54677         * modules/gettimeofday (configure.ac): ... to here.
54679 2011-05-08  Bruno Haible  <bruno@clisp.org>
54681         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
54682         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
54683         just gl_FUNC_TZSET.
54684         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
54685         (gl_FUNC_TZSET_CLOBBER): Remove actions.
54686         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
54687         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
54689 2011-05-08  Bruno Haible  <bruno@clisp.org>
54691         getsubopt: Move AC_LIBOBJ invocations to module description.
54692         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
54693         gl_PREREQ_GETSUBOPT invocations from here...
54694         * modules/getsubopt (configure.ac): ... to here.
54696 2011-05-08  Bruno Haible  <bruno@clisp.org>
54698         getpass-gnu: Move AC_LIBOBJ invocations to module description.
54699         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
54700         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
54701         * modules/getpass-gnu (configure.ac): ... to here.
54703 2011-05-08  Bruno Haible  <bruno@clisp.org>
54705         getpass: Move AC_LIBOBJ invocations to module description.
54706         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
54707         gl_PREREQ_GETPASS invocations from here...
54708         * modules/getpass (configure.ac): ... to here.
54710 2011-05-08  Bruno Haible  <bruno@clisp.org>
54712         getpagesize: Move AC_LIBOBJ invocations to module description.
54713         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
54714         from here...
54715         * modules/getpagesize (configure.ac): ... to here.
54717 2011-05-08  Bruno Haible  <bruno@clisp.org>
54719         getopt: Move AC_LIBOBJ invocations to module description.
54720         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
54721         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
54722         invocations from here...
54723         * modules/getopt-gnu (configure.ac): ... to here.
54724         * modules/getopt-posix (configure.ac): ... and here.
54725         (Depends-on): Update condition.
54727 2011-05-08  Bruno Haible  <bruno@clisp.org>
54729         getopt, argp: Respect rules for use of AC_LIBOBJ.
54730         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
54731         (gl_REPLACE_GETOPT_ALWAYS): New macro.
54732         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
54733         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
54735 2011-05-08  Bruno Haible  <bruno@clisp.org>
54737         getlogin_r: Move AC_LIBOBJ invocations to module description.
54738         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
54739         gl_PREREQ_GETLOGIN_R invocations from here...
54740         * modules/getlogin_r (configure.ac): ... to here.
54742 2011-05-08  Bruno Haible  <bruno@clisp.org>
54744         getlogin: Move AC_LIBOBJ invocations to module description.
54745         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
54746         here...
54747         * modules/getlogin (configure.ac): ... to here.
54749 2011-05-08  Bruno Haible  <bruno@clisp.org>
54751         getloadavg: Move AC_LIBOBJ invocations to module description.
54752         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
54753         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
54754         * modules/getloadavg (configure.ac): ... to here.
54756 2011-05-08  Bruno Haible  <bruno@clisp.org>
54758         gethrxtime: Move AC_LIBOBJ invocations to module description.
54759         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
54760         LIB_GETHRXTIME from here...
54761         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
54762         invocations from here...
54763         * modules/gethrxtime (configure.ac): ... to here.
54765 2011-05-08  Bruno Haible  <bruno@clisp.org>
54767         gethostname: Move AC_LIBOBJ invocations to module description.
54768         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
54769         gl_PREREQ_GETHOSTNAME invocations from here...
54770         * modules/gethostname (configure.ac): ... to here.
54772 2011-05-08  Bruno Haible  <bruno@clisp.org>
54774         getgroups: Move AC_LIBOBJ invocations to module description.
54775         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
54776         here...
54777         * modules/getgroups (configure.ac): ... to here.
54779 2011-05-08  Bruno Haible  <bruno@clisp.org>
54781         getdtablesize: Move AC_LIBOBJ invocations to module description.
54782         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
54783         invocation from here...
54784         * modules/getdtablesize (configure.ac): ... to here.
54786 2011-05-08  Bruno Haible  <bruno@clisp.org>
54788         getdomainname: Move AC_LIBOBJ invocations to module description.
54789         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
54790         gl_PREREQ_GETDOMAINNAME invocations from here...
54791         * modules/getdomainname (configure.ac): ... to here.
54793 2011-05-08  Bruno Haible  <bruno@clisp.org>
54795         getline: Move AC_LIBOBJ invocations to module description.
54796         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
54797         invocations from here...
54798         * modules/getline (configure.ac): ... to here.
54800 2011-05-08  Bruno Haible  <bruno@clisp.org>
54802         getline: Simplify.
54803         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
54804         It's already handled through the module dependency.
54806 2011-05-08  Bruno Haible  <bruno@clisp.org>
54808         getdelim: Move AC_LIBOBJ invocations to module description.
54809         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
54810         and gl_PREREQ_GETDELIM invocations from here...
54811         * modules/getdelim (configure.ac): ... to here.
54812         (Depends-on): Fix condition.
54814 2011-05-08  Bruno Haible  <bruno@clisp.org>
54816         getcwd: Move AC_LIBOBJ invocations to module description.
54817         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
54818         invocations from here...
54819         * modules/getcwd (configure.ac): ... to here.
54821 2011-05-08  Bruno Haible  <bruno@clisp.org>
54823         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
54824         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
54825         here...
54826         * modules/getcwd-lgpl (configure.ac): ... to here.
54828 2011-05-07  Bruno Haible  <bruno@clisp.org>
54830         crypto/gc: Move AC_LIBOBJ invocations to module description.
54831         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
54832         * modules/crypto/gc (configure.ac): ... to here.
54834 2011-05-07  Bruno Haible  <bruno@clisp.org>
54836         fwriting: Move AC_LIBOBJ invocations to module description.
54837         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
54838         here...
54839         * modules/fwriting (configure.ac): ... to here.
54841 2011-05-07  Bruno Haible  <bruno@clisp.org>
54843         fwritable: Move AC_LIBOBJ invocations to module description.
54844         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
54845         here...
54846         * modules/fwritable (configure.ac): ... to here.
54848 2011-05-07  Bruno Haible  <bruno@clisp.org>
54850         futimens: Move AC_LIBOBJ invocations to module description.
54851         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
54852         here...
54853         * modules/futimens (configure.ac): ... to here.
54855 2011-05-07  Bruno Haible  <bruno@clisp.org>
54857         ftruncate: Move AC_LIBOBJ invocations to module description.
54858         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
54859         gl_PREREQ_FTRUNCATE invocations from here...
54860         * modules/ftruncate (configure.ac): ... to here.
54862 2011-05-07  Bruno Haible  <bruno@clisp.org>
54864         fsync: Move AC_LIBOBJ invocations to module description.
54865         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
54866         invocations from here...
54867         * modules/fsync (configure.ac): ... to here.
54869 2011-05-07  Bruno Haible  <bruno@clisp.org>
54871         fsusage: Move AC_LIBOBJ invocations to module description.
54872         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
54873         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
54874         * modules/fsusage (configure.ac): ... to here.
54876 2011-05-07  Bruno Haible  <bruno@clisp.org>
54878         freopen: Move AC_LIBOBJ invocations to module description.
54879         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
54880         invocations from here...
54881         * modules/freopen (configure.ac): ... to here.
54883 2011-05-07  Bruno Haible  <bruno@clisp.org>
54885         free: Move AC_LIBOBJ invocations to module description.
54886         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
54887         invocations from here...
54888         * modules/free (configure.ac): ... to here.
54890 2011-05-07  Bruno Haible  <bruno@clisp.org>
54892         freadable: Move AC_LIBOBJ invocations to module description.
54893         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
54894         here...
54895         * modules/freadable (configure.ac): ... to here.
54897 2011-05-07  Bruno Haible  <bruno@clisp.org>
54899         fpurge: Move AC_LIBOBJ invocations to module description.
54900         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
54901         invocations from here...
54902         * modules/fpurge (configure.ac): ... to here.
54904 2011-05-07  Bruno Haible  <bruno@clisp.org>
54906         fpending: Move AC_LIBOBJ invocations to module description.
54907         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
54908         gl_FUNC_FPENDING.
54909         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
54910         invocations from here...
54911         * modules/fpending (configure.ac): ... to here.
54913 2011-05-07  Bruno Haible  <bruno@clisp.org>
54915         fopen: Move AC_LIBOBJ invocations to module description.
54916         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
54917         invocations from here...
54918         * modules/fopen (configure.ac): ... to here.
54920 2011-05-07  Bruno Haible  <bruno@clisp.org>
54922         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
54923         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
54924         gl_FUNC_FNMATCH_POSIX.
54925         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
54926         invocations from here...
54927         * modules/fnmatch (configure.ac): ... to here.
54928         * modules/fnmatch-gnu (configure.ac): ... and here.
54930 2011-05-07  Bruno Haible  <bruno@clisp.org>
54932         flock: Move AC_LIBOBJ invocations to module description.
54933         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
54934         invocations from here...
54935         * modules/flock (configure.ac): ... to here.
54937 2011-05-07  Bruno Haible  <bruno@clisp.org>
54939         fileblocks: Move AC_LIBOBJ invocations to module description.
54940         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
54941         gl_PREREQ_FILEBLOCKS invocations from here...
54942         * modules/fileblocks (configure.ac): ... to here.
54944 2011-05-06  Bruno Haible  <bruno@clisp.org>
54946         fflush: Move AC_LIBOBJ invocations to module description.
54947         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
54948         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
54949         invocations from here...
54950         * modules/fflush (configure.ac): ... to here.
54952 2011-05-06  Bruno Haible  <bruno@clisp.org>
54954         fdopendir: Move AC_LIBOBJ invocations to module description.
54955         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
54956         here...
54957         * modules/fdopendir (configure.ac): ... to here.
54958         (Depends-on): Improve conditions.
54960 2011-05-06  Bruno Haible  <bruno@clisp.org>
54962         _Exit: Move AC_LIBOBJ invocations to module description.
54963         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
54964         invocations from here...
54965         * modules/_Exit (configure.ac): ... to here.
54967 2011-05-21  Bruno Haible  <bruno@clisp.org>
54969         euidaccess: Respect rules for use of AC_LIBOBJ.
54970         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
54971         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
54972         from here...
54973         * modules/euidaccess (configure.ac): ... to here.
54975 2011-05-06  Bruno Haible  <bruno@clisp.org>
54977         error: Move AC_LIBOBJ invocations to module description.
54978         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
54979         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
54980         invocations from here...
54981         * modules/error (configure.ac): ... to here.
54983 2011-05-06  Bruno Haible  <bruno@clisp.org>
54985         duplocale: Move AC_LIBOBJ invocations to module description.
54986         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
54987         gl_PREREQ_DUPLOCALE invocations from here...
54988         * modules/duplocale (configure.ac): ... to here.
54990 2011-05-05  Bruno Haible  <bruno@clisp.org>
54992         dirfd: Move AC_LIBOBJ invocations to module description.
54993         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
54994         gl_FUNC_DIRFD.
54995         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
54996         here...
54997         * modules/dirfd (configure.ac): ... to here.
54998         (Depends-on): Fix condition.
55000 2011-05-05  Bruno Haible  <bruno@clisp.org>
55002         chown: Respect rules for use of AC_LIBOBJ.
55003         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
55004         * modules/chown (configure.ac): ... to here.
55006 2011-05-05  Bruno Haible  <bruno@clisp.org>
55008         chdir-long: Move AC_LIBOBJ invocations to module description.
55009         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
55010         gl_PREREQ_CHDIR_LONG invocations from here...
55011         * modules/chdir-long (configure.ac): ... to here.
55013 2011-05-05  Bruno Haible  <bruno@clisp.org>
55015         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
55016         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
55017         from here...
55018         * modules/canonicalize-lgpl (configure.ac): ... to here.
55020 2011-05-05  Bruno Haible  <bruno@clisp.org>
55022         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
55023         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
55024         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
55025         REPLACE_CALLOC.
55026         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
55027         * modules/calloc-gnu (configure.ac): Likewise.
55029 2011-05-05  Bruno Haible  <bruno@clisp.org>
55031         btowc: Move AC_LIBOBJ invocations to module description.
55032         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
55033         invocations from here...
55034         * modules/btowc (configure.ac): ... to here.
55036 2011-05-21  Bruno Haible  <bruno@clisp.org>
55038         atexit: Move AC_LIBOBJ invocations to module description.
55039         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
55040         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
55041         here...
55042         * modules/atexit (configure.ac): ... to here.
55044 2011-05-05  Bruno Haible  <bruno@clisp.org>
55046         atoll: Move AC_LIBOBJ invocations to module description.
55047         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
55048         invocations from here...
55049         * modules/atoll (configure.ac): ... to here.
55051 2011-05-05  Bruno Haible  <bruno@clisp.org>
55053         argz: Move AC_LIBOBJ invocations to module description.
55054         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
55055         * modules/argz (configure.ac): ... to here.
55057 2011-05-05  Bruno Haible  <bruno@clisp.org>
55059         alphasort: Move AC_LIBOBJ invocations to module description.
55060         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
55061         gl_PREREQ_ALPHASORT invocations from here...
55062         * modules/alphasort (configure.ac): ... to here.
55064 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
55066         verify: new macro verify_expr; verify_true deprecated
55067         * NEWS: Mention this.
55068         * doc/verify.texi (Compile-time Assertions): Document this.
55069         * lib/verify.h (verify_true): Deprecate.
55070         (verify_expr): New macro.
55071         * tests/test-verify.c (function): Test verify_expr.
55073 2011-06-14  Jim Meyering  <meyering@redhat.com>
55075         init.sh: give more portable redirection-related advice in a comment
55076         * tests/init.sh (stderr_fileno_): Update the advice in comments.
55077         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
55078         for lots of discussion.  Stefano Lattarini suggested the solution
55079         of putting "9>&2" after the command.  Reported by Bruno Haible.
55081 2011-06-13  Bruno Haible  <bruno@clisp.org>
55083         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
55084         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
55085         'none'.
55087 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
55089         ftoastr: use strtof only if HAVE_STRTOF
55090         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
55091         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
55092         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
55093         * modules/ftoastr (configure.ac): Check for strtof.
55095 2011-06-13  Bruno Haible  <bruno@clisp.org>
55097         gnulib-tool: Addendum to 2011-06-08 commit.
55098         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
55099         and --witness-c-macro have been given, augment AM_CPPFLAGS.
55101 2011-06-13  Bruno Haible  <bruno@clisp.org>
55103         fseeko: Provide a non-inline replacement of fseek().
55104         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
55105         * modules/fseeko (Depends-on): Add fseek.
55106         * modules/fseek (License): Change to LGPLv2+.
55108 2011-06-13  Bruno Haible  <bruno@clisp.org>
55110         ftello: Provide a non-inline replacement of ftell().
55111         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
55112         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
55113         not have ftello() (such as on mingw).
55114         * modules/ftello (Depends-on): Add ftell.
55115         * modules/ftell (License): Change to LGPLv2+.
55117 2011-05-07  Bruno Haible  <bruno@clisp.org>
55119         ftell: Move AC_LIBOBJ invocations to module description.
55120         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
55121         * modules/ftell (configure.ac): ... to here.
55123 2011-05-07  Bruno Haible  <bruno@clisp.org>
55125         ftello: Respect rules for use of AC_LIBOBJ.
55126         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
55127         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
55128         here...
55129         * modules/ftello (configure.ac): ... to here.
55131 2011-05-07  Bruno Haible  <bruno@clisp.org>
55133         fseeko: Simplify.
55134         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
55135         (gl_FUNC_FSEEKO): Inline it here.
55137 2011-05-07  Bruno Haible  <bruno@clisp.org>
55139         fseek: Move AC_LIBOBJ invocations to module description.
55140         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
55141         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
55142         * modules/fseek (configure.ac): ... to here.
55144 2011-05-07  Bruno Haible  <bruno@clisp.org>
55146         fseek: Respect rules for use of AC_LIBOBJ.
55147         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
55148         here...
55149         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
55151 2011-05-07  Bruno Haible  <bruno@clisp.org>
55153         fseeko: Respect rules for use of AC_LIBOBJ.
55154         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
55155         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
55156         here...
55157         * modules/fseeko (configure.ac): ... to here.
55159 2011-06-13  Bruno Haible  <bruno@clisp.org>
55161         gnulib-tool: Allow comments in the 'Depends-on' section.
55162         * doc/gnulib.texi (Module description): Mention comment syntax in the
55163         Depends-on section.
55164         * gnulib-tool (func_get_dependencies): Filter out comment lines.
55166 2011-06-13  Bruno Haible  <bruno@clisp.org>
55168         file-set.h: guard __attibute__ use, now that it's not always defined
55169         * lib/file-set.h (record_file): Use __attribute__ only with compiler
55170         versions that support it.  This fixes a coreutils build failure with
55171         the vendor cc on HP-UX 11.31.
55173 2011-06-12  Bruno Haible  <bruno@clisp.org>
55175         acl: Add support for HP-UX >= 11.11 JFS ACLs.
55176         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
55177         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
55178         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
55179         (acl, aclsort): New declarations.
55180         (aclv_nontrivial): New declaration.
55181         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
55182         (file_has_acl): Read also the second kind of HP-UX ACLs.
55183         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
55184         kind of HP-UX ACLs if the first kind fails.
55185         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
55186         second kind of HP-UX ACLs.
55187         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
55188         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
55189         agree.
55190         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
55191         hpuxjfs.
55192         Handle hpuxjfs.
55193         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
55194         hpuxjfs.
55195         Handle hpuxjfs.
55196         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
55197         (func_test_same_acls): Use both lsacl and getacl.
55198         Handle hpuxjfs.
55199         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
55200         (func_test_same_acls): Use both lsacl and getacl.
55201         Handle hpuxjfs.
55203 2011-06-12  Bruno Haible  <bruno@clisp.org>
55205         acl: Complete the 2010-08-10 fix.
55206         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
55207         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
55208         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
55209         explicitly.
55210         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
55211         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
55213 2011-06-12  Bruno Haible  <bruno@clisp.org>
55215         spawn-pipe tests: Comments.
55216         * tests/test-spawn-pipe-child.c (main): Update comment.
55217         Reported by James Youngman <jay@gnu.org>.
55219 2011-06-11  James Youngman  <jay@gnu.org>
55221         New module 'stat-size'.
55222         * modules/stat-size: New module.  Provides macros for accessing
55223         file size information in instances of struct stat.  Depends on the
55224         fileblocks module because it calls st_blocks.
55225         * lib/stat-size.h: New file, adapted from coreutils' system.h.
55226         * doc/gnulib.texi: Include stat-size.texi.
55227         * doc/stat-size.texi: Documentation for this module.
55228         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
55229         * m4/fileblocks.m4: Mention that stat-size depends on the call to
55230         AC_STRUCT_ST_BLOCKS.
55232 2011-06-09  Bruno Haible  <bruno@clisp.org>
55234         thread: Support pthreads-win32.
55235         * lib/glthread/thread.h (gl_thread_self): Define differently on
55236         pthreads-win32.
55237         (gl_null_thread): New declaration.
55238         (gl_thread_self_pointer): New macro.
55239         * lib/glthread/thread.c (gl_null_thread): New constant.
55240         * tests/test-lock.c: Use gl_thread_self_pointer instead of
55241         gl_thread_self.
55242         * tests/test-tls.c: Likewise.
55243         Suggested by Paul Eggert. Reported by Eric Blake.
55245 2011-06-09  Bruno Haible  <bruno@clisp.org>
55247         thread: Fix confusion between NULL and 0.
55248         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
55249         Reported by Paul Eggert.
55251 2011-06-09  Bruno Haible  <bruno@clisp.org>
55253         spawn-pipe tests: Avoid test failure on HP-UX 11.
55254         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
55255         is closed.
55257 2011-06-09  Bruno Haible  <bruno@clisp.org>
55259         acl tests: Fix compilation error on HP-UX 11.
55260         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
55262 2011-06-09  Bruno Haible  <bruno@clisp.org>
55264         rmdir: Avoid test failure on HP-UX 10.20.
55265         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
55266         EEXIST.
55268 2011-06-08  Eric Blake  <eblake@redhat.com>
55270         perror: fix test on mingw
55271         * modules/perror-tests (Depends-on): Add dup2.
55273         strerror_r-posix: fix on MacOS
55274         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
55275         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
55276         logic bug.
55277         * lib/strerror_r.c (strerror_r): Fix the bug.
55278         * lib/strerror.c (strerror): Likewise.
55279         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
55280         problem.
55281         * doc/posix-functions/strerror.texi (strerror): Likewise.
55282         * doc/posix-functions/perror.texi (perror): Likewise.
55283         * tests/test-strerror.c (main): Enhance test.
55284         * tests/test-strerror_r.c (main): Likewise.
55286 2011-06-08  Bruno Haible  <bruno@clisp.org>
55288         gnulib-tool: Better isolation between different gnulib-tool invocations.
55289         * gnulib-tool: New option --witness-c-macro.
55290         (witness_c_macro): New variable.
55291         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
55292         AM_CPPFLAGS define it as a C macro.
55293         (func_emit_tests_Makefile_am): Likewise.
55294         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
55295         read it from there.
55296         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
55297         m4_define, not AC_DEFUN.
55298         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
55299         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
55300         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
55301         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
55302         s|...|...|, to substitute the values of the GNULIB_* module indicator
55303         variables.
55304         * modules/dirent (Makefile.am): Likewise.
55305         * modules/fcntl-h (Makefile.am): Likewise.
55306         * modules/iconv-h (Makefile.am): Likewise.
55307         * modules/langinfo (Makefile.am): Likewise.
55308         * modules/locale (Makefile.am): Likewise.
55309         * modules/math (Makefile.am): Likewise.
55310         * modules/netdb (Makefile.am): Likewise.
55311         * modules/poll-h (Makefile.am): Likewise.
55312         * modules/pty (Makefile.am): Likewise.
55313         * modules/search (Makefile.am): Likewise.
55314         * modules/signal (Makefile.am): Likewise.
55315         * modules/spawn (Makefile.am): Likewise.
55316         * modules/stdio (Makefile.am): Likewise.
55317         * modules/stdlib (Makefile.am): Likewise.
55318         * modules/string (Makefile.am): Likewise.
55319         * modules/sys_ioctl (Makefile.am): Likewise.
55320         * modules/sys_select (Makefile.am): Likewise.
55321         * modules/sys_socket (Makefile.am): Likewise.
55322         * modules/sys_stat (Makefile.am): Likewise.
55323         * modules/sys_times (Makefile.am): Likewise.
55324         * modules/sys_utsname (Makefile.am): Likewise.
55325         * modules/sys_wait (Makefile.am): Likewise.
55326         * modules/termios (Makefile.am): Likewise.
55327         * modules/time (Makefile.am): Likewise.
55328         * modules/unistd (Makefile.am): Likewise.
55329         * modules/wchar (Makefile.am): Likewise.
55331 2011-06-08  Eric Blake  <eblake@redhat.com>
55333         strerror: simplify replacement
55334         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
55335         * modules/strerror (configure.ac): No prereqs needed here...
55336         * modules/strerror-override (configure.ac): ...but this needs it.
55337         (Files): Add file for needed prereq macro.
55339 2011-06-08  Bruno Haible  <bruno@clisp.org>
55341         strerror_r-posix: Tweaks.
55342         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
55343         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
55344         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
55345         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
55346         (gl_FUNC_STRERROR_R): ... to here.
55347         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
55349 2011-06-07  Eric Blake  <eblake@redhat.com>
55351         perror: document fixed bugs
55352         * doc/posix-functions/perror.texi (perror): Document recent
55353         patches.
55355 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
55357         stat-time: get_stat_birthtime failure is better-defined
55358         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
55359         return a timestamp whose tv_sec and tv_nsec values are both -1.
55360         Previously, the spec said only that the tv_nsec value was negative.
55361         This upward-compatible change simplifies GNU tar a bit.
55363 2011-06-07  Eric Blake  <eblake@redhat.com>
55365         strerror_r-posix: work around cygwin 1.7.9
55366         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
55367         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
55368         bug without replacing strerror_r.
55369         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
55370         strerror_r is buggy, but without requiring strerror_r compilation.
55371         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
55373         test-perror: relax test to ignore cygwin bug
55374         * tests/test-perror2.c (main): Relax test on requiring detection
55375         of stream errors, and use unbuffered stream.
55376         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
55377         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
55378         * doc/posix-functions/fputc.texi (fputc): Likewise.
55379         * doc/posix-functions/fputs.texi (fputs): Likewise.
55380         * doc/posix-functions/fputws.texi (fputws): Likewise.
55381         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
55382         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
55383         * doc/posix-functions/getopt.texi (getopt): Likewise.
55384         * doc/posix-functions/perror.texi (perror): Likewise.
55385         * doc/posix-functions/printf.texi (printf): Likewise.
55386         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
55387         * doc/posix-functions/psignal.texi (psignal): Likewise.
55388         * doc/posix-functions/putc.texi (putc): Likewise.
55389         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
55390         Likewise.
55391         * doc/posix-functions/putchar.texi (putchar): Likewise.
55392         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
55393         Likewise.
55394         * doc/posix-functions/puts.texi (puts): Likewise.
55395         * doc/posix-functions/putwc.texi (putwc): Likewise.
55396         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
55397         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
55398         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
55399         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
55400         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
55401         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
55402         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
55403         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
55405 2011-05-22  Bruno Haible  <bruno@clisp.org>
55407         strerror: Move AC_LIBOBJ invocations to module description.
55408         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
55409         gl_PREREQ_STRERROR invocations from here...
55410         * modules/strerror (configure.ac): ... to here.
55412 2011-05-21  Bruno Haible  <bruno@clisp.org>
55414         perror: Use common idiom.
55415         * modules/perror (configure.ac): Reorder statements.
55417 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
55419         tests: fix usage message in 'mktempd_'
55420         * tests/init.sh (mktempd_): In the usage message, use literal
55421         'mktempd_', not '$ME' (which is even undefined), as the name of
55422         the subroutine.
55424 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
55426         tests init: new function 'fatal_', for hard errors
55427         Before this patch, the only way offered by tests/init.sh to
55428         properly signal a hard error was the `framework_failure_'
55429         function.  But the error message issued by that function,
55430         as its name would suggest, refers to a set-up failure in the
55431         testsuite, while hard errors can obviously also be due to
55432         other reasons.  The best way to fix this inconsistency is to
55433         introduce a new function with a more general error message.
55434         * tests/init.sh (fatal_): New function.
55436 2011-06-06  Eric Blake  <eblake@redhat.com>
55438         canonicalize-lgpl: use common idiom
55439         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
55440         over newer POSIX -Rf.
55441         Reported by Bruno Haible.
55443         canonicalize-lgpl: work around AIX realpath bug
55444         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
55445         * doc/posix-functions/realpath.texi (realpath): Document it.
55446         Reported by Bruno Haible.
55448         strerror: work around FreeBSD bug
55449         * lib/strerror.c (strerror): Special case 0.
55450         Reported by Bruno Haible.
55452         strerror-override: avoid bloating errno module
55453         * modules/errno (Files, configure.ac): Move replacement strings...
55454         * modules/strerror-override: ...to new module.
55455         * modules/strerror (Depends-on): Add strerror-override.
55456         * modules/strerror_r-posix (Depends-on): Likewise.
55457         * MODULES.html.sh: Document new module.
55458         Reported by Bruno Haible.
55460 2011-06-06  Bruno Haible  <bruno@clisp.org>
55462         spawn-pipe tests: Rename program.
55463         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
55464         * tests/test-spawn-pipe-child.c: Update comment.
55465         * tests/test-spawn-pipe.sh: Update.
55466         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
55468         spawn-pipe tests: Link the child program only against libc.
55469         * tests/test-spawn-pipe-child.c: New file, extracted from
55470         tests/test-spawn-pipe.c.
55471         (main): Expect only one argument.
55472         (is_open): New function, copied from tests/test-pipe.c.
55473         * tests/test-spawn-pipe.c: Don't include <errno.h>.
55474         (child_main): Remove function.
55475         (test_pipe): Pass only one argument to the child program.
55476         (main): Remove child process code. Expect the child program's name as
55477         first argument.
55478         * tests/test-spawn-pipe.sh: Pass the child program's name as first
55479         argument.
55480         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
55481         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
55482         test-spawn-pipe-child against no libraries.
55484 2011-06-06  Bruno Haible  <bruno@clisp.org>
55486         careadlinkat: Avoid mismatch between ssize_t and int.
55487         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
55488         * lib/careadlinkat.c (careadlinkatcwd): Define always.
55490 2011-06-06  Jim Meyering  <meyering@redhat.com>
55492         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
55493         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
55494         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
55496 2011-06-05  Bruno Haible  <bruno@clisp.org>
55498         ansi-c++-opt: Interoperability with libtool.
55499         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
55500         set the variable to "no", not to ":".
55501         * NEWS: Mention the change.
55503 2011-06-05  Bruno Haible  <bruno@clisp.org>
55505         acl: Fix test failure on AIX 7.
55506         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
55507         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
55509 2011-06-05  Bruno Haible  <bruno@clisp.org>
55511         pipe-filter-ii: Fix test failure on AIX and IRIX.
55512         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
55513         with EAGAIN, retry with a smaller buffer size.
55515 2011-06-05  Bruno Haible  <bruno@clisp.org>
55517         localename: Fix link dependencies.
55518         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
55519         * modules/localename-tests (Makefile.am): Link test-localename with
55520         $(LIBTHREAD).
55522 2011-06-05  Bruno Haible  <bruno@clisp.org>
55524         error: Avoid gcc warning.
55525         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
55527 2011-06-05  Bruno Haible  <bruno@clisp.org>
55529         unsetenv: Avoid gcc warning.
55530         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
55532 2011-06-05  Bruno Haible  <bruno@clisp.org>
55534         setenv: Avoid gcc warning.
55535         * lib/setenv.c (setenv): Provide declaration if system lacks it.
55537 2011-06-05  Bruno Haible  <bruno@clisp.org>
55539         sys_select: Ensure memset is declared also on AIX 7.
55540         * lib/sys_select.in.h: Include <string.h> also on AIX.
55541         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
55542         self-contained also on AIX 7.1.
55544 2011-06-04  Jim Meyering  <meyering@redhat.com>
55546         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
55547         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
55548         function name, "error".
55549         (_gl_translatable_diag_func_re): New configurable variable.
55551 2011-06-04  Bruno Haible  <bruno@clisp.org>
55553         getopt: Avoid gcc warning.
55554         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
55556 2011-06-04  Bruno Haible  <bruno@clisp.org>
55558         strerror_r: Fix comments.
55559         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
55560         commit.
55562 2011-06-04  Bruno Haible  <bruno@clisp.org>
55564         perror: Fix compilation error.
55565         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
55566         Undefine fprintf, not sprintf.
55567         * modules/perror (Depends-on): Remove intprops, verify.
55569 2011-06-04  Bruno Haible  <bruno@clisp.org>
55571         setlocale: Enable replacement on Cygwin 1.5.
55572         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
55573         Cygwin 1.5.x.
55574         * doc/posix-functions/setlocale.texi: Mention that the problem with the
55575         LC_CTYPE category also exists on Cygwin 1.5.x.
55577 2011-06-04  Bruno Haible  <bruno@clisp.org>
55579         strerror-override: Don't disable symbol renamings.
55580         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
55581         * lib/strerror-override.c: Include config.h.
55582         (strerror_override): Don't undefine.
55584 2011-06-03  Bruno Haible  <bruno@clisp.org>
55586         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
55587         * lib/localename.h: Update copyright header.
55588         * lib/localename.c: Likewise.
55589         * lib/relocatable.h: Likewise.
55590         * lib/relocatable.c: Likewise.
55592 2011-06-02  Bruno Haible  <bruno@clisp.org>
55594         doc: Fix a module name.
55595         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
55597 2011-06-02  Bruno Haible  <bruno@clisp.org>
55599         pipe2: Remove dependency on 'nonblocking' module.
55600         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
55601         O_NONBLOCK is defined by gnulib.
55602         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
55603         is zero.
55604         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
55605         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
55606         defined by gnulib.
55607         (get_nonblocking_flag): New function.
55608         (main): Test O_NONBLOCK flag only if it is nonzero.
55609         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
55611 2011-06-03  Jim Meyering  <meyering@redhat.com>
55613         maint: three new prohibit-header-without-use rules
55614         Prohibit use of cloexec.h, posixver.h, same.h without use.
55615         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
55616         (sc_prohibit_posixver_without_use): Likewise.
55617         (sc_prohibit_same_without_use): Likewise.
55619 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55621         allocator: 'die' routine is now given requested size
55622         * lib/allocator.h (struct allocator.die): New size arg.
55623         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
55624         If the actual problem is an ssize_t limitation, not a size_t or
55625         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
55627 2011-06-01  Eric Blake  <eblake@redhat.com>
55629         strerror: drop strerror_r dependency
55630         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
55631         * lib/strerror-override.c (strerror_override): ...to new file.
55632         * lib/strerror-override.h: Add prototype.
55633         * lib/strerror-impl.h: Delete.
55634         * lib/strerror.c (strerror): New implementation.
55635         * modules/errno (Files): Add new files.
55636         (configure.ac): Compile new file as appropriate.
55637         * modules/strerror (Files): Drop unused file.
55638         (Depends-on): Drop strerror_r-posix.
55639         * MODULES.html.sh: Document strerror_r-posix.
55640         Requested by Sam Steingold.
55642         perror: call strerror_r directly
55643         * modules/perror (Files): Drop strerror-impl.h.
55644         * lib/perror.c (perror): Use our own stack buffer, rather than
55645         calling a wrapper that uses static storage.
55646         * doc/posix-functions/perror.texi (perror): Document a limitation
55647         of our replacement.
55649         strerror_r: fix includes for FreeBSD
55650         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
55651         since we use abort on some platforms.
55652         Reported by Matthias Bolte.
55654 2011-05-31  Bruno Haible  <bruno@clisp.org>
55656         Fix link errors in tests: openat-die uses gettext-h.
55657         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
55658         against $(LIBINTL).
55659         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
55660         against $(LIBINTL).
55661         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
55662         $(LIBINTL).
55663         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
55664         against $(LIBINTL).
55665         * modules/linkat-tests (Makefile.am): Link test-linkat against
55666         $(LIBINTL).
55667         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
55668         $(LIBINTL).
55669         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
55670         against $(LIBINTL).
55671         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
55672         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
55673         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
55674         $(LIBINTL).
55675         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
55676         $(LIBINTL).
55677         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
55678         $(LIBINTL).
55679         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55681 2011-05-31  Bruno Haible  <bruno@clisp.org>
55683         Fix link errors in tests: wait-process uses gettext-h.
55684         * modules/nonblocking-pipe-tests (Makefile.am): Set
55685         test_nonblocking_pipe_main_LDADD.
55686         * modules/nonblocking-socket-tests (Makefile.am): Link
55687         test-nonblocking-socket-main against $(LIBINTL).
55688         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55690 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
55692         assert-h: work around 'verify' incompatibility
55693         * lib/verify.h: Use @...@ directives, not ifdef.
55694         * modules/assert-h (assert.h): Implement the directives.
55695         (assert.h): Substitute the symbol-prefix more consistently.
55697 2011-05-29  Jim Meyering  <meyering@redhat.com>
55699         trim: remove three superfluous assignments
55700         * lib/trim.c (trim2): Remove three superfluous assignments
55701         and correct brace positioning.
55703 2011-05-29  Bruno Haible  <bruno@clisp.org>
55705         wctype-h: Avoid namespace pollution on Solaris 2.6.
55706         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
55707         identifiers.
55708         * doc/posix-headers/wctype.texi: Mention the problem.
55709         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55711 2011-05-28  Jim Meyering  <meyering@redhat.com>
55713         parse-datetime.y: accommodate -Wstrict-overflow
55714         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
55715         placate -Wstrict-overflow.
55717         trim: avoid a warning from -O2 -Wstrict-overflow
55718         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
55720 2011-05-29  Bruno Haible  <bruno@clisp.org>
55722         gnulib-tool: Fix bug in yesterday's commit.
55723         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
55724         twice.
55726 2011-05-29  Bruno Haible  <bruno@clisp.org>
55728         Allow multiple gnulib generated include files to be combined.
55729         * gnulib-tool (func_compute_include_guard_prefix): New function.
55730         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
55731         ${gl_include_guard_prefix} references.
55732         (func_import, func_create_testdir): Invoke
55733         func_compute_include_guard_prefix.
55734         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
55735         * lib/ctype.in.h: Likewise.
55736         * lib/dirent.in.h: Likewise.
55737         * lib/errno.in.h: Likewise.
55738         * lib/fcntl.in.h: Likewise.
55739         * lib/float.in.h: Likewise.
55740         * lib/getopt.in.h: Likewise.
55741         * lib/iconv.in.h: Likewise.
55742         * lib/langinfo.in.h: Likewise.
55743         * lib/locale.in.h: Likewise.
55744         * lib/math.in.h: Likewise.
55745         * lib/netdb.in.h: Likewise.
55746         * lib/netinet_in.in.h: Likewise.
55747         * lib/poll.in.h: Likewise.
55748         * lib/pthread.in.h: Likewise.
55749         * lib/pty.in.h: Likewise.
55750         * lib/sched.in.h: Likewise.
55751         * lib/se-selinux.in.h: Likewise.
55752         * lib/search.in.h: Likewise.
55753         * lib/signal.in.h: Likewise.
55754         * lib/spawn.in.h: Likewise.
55755         * lib/stdarg.in.h: Likewise.
55756         * lib/stddef.in.h: Likewise.
55757         * lib/stdint.in.h: Likewise.
55758         * lib/stdio.in.h: Likewise.
55759         * lib/stdlib.in.h: Likewise.
55760         * lib/string.in.h: Likewise.
55761         * lib/strings.in.h: Likewise.
55762         * lib/sys_file.in.h: Likewise.
55763         * lib/sys_ioctl.in.h: Likewise.
55764         * lib/sys_select.in.h: Likewise.
55765         * lib/sys_socket.in.h: Likewise.
55766         * lib/sys_stat.in.h: Likewise.
55767         * lib/sys_time.in.h: Likewise.
55768         * lib/sys_times.in.h: Likewise.
55769         * lib/sys_uio.in.h: Likewise.
55770         * lib/sys_utsname.in.h: Likewise.
55771         * lib/sys_wait.in.h: Likewise.
55772         * lib/sysexits.in.h: Likewise.
55773         * lib/termios.in.h: Likewise.
55774         * lib/time.in.h: Likewise.
55775         * lib/unistd.in.h: Likewise.
55776         * lib/wchar.in.h: Likewise.
55777         * lib/wctype.in.h: Likewise.
55778         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
55779         * modules/ctype (Makefile.am): Likewise.
55780         * modules/dirent (Makefile.am): Likewise.
55781         * modules/errno (Makefile.am): Likewise.
55782         * modules/fcntl-h (Makefile.am): Likewise.
55783         * modules/float (Makefile.am): Likewise.
55784         * modules/getopt-posix (Makefile.am): Likewise.
55785         * modules/iconv-h (Makefile.am): Likewise.
55786         * modules/langinfo (Makefile.am): Likewise.
55787         * modules/locale (Makefile.am): Likewise.
55788         * modules/math (Makefile.am): Likewise.
55789         * modules/netdb (Makefile.am): Likewise.
55790         * modules/netinet_in (Makefile.am): Likewise.
55791         * modules/poll-h (Makefile.am): Likewise.
55792         * modules/pthread (Makefile.am): Likewise.
55793         * modules/pty (Makefile.am): Likewise.
55794         * modules/sched (Makefile.am): Likewise.
55795         * modules/search (Makefile.am): Likewise.
55796         * modules/selinux-h (Makefile.am): Likewise.
55797         * modules/signal (Makefile.am): Likewise.
55798         * modules/spawn (Makefile.am): Likewise.
55799         * modules/stdarg (Makefile.am): Likewise.
55800         * modules/stddef (Makefile.am): Likewise.
55801         * modules/stdint (Makefile.am): Likewise.
55802         * modules/stdio (Makefile.am): Likewise.
55803         * modules/stdlib (Makefile.am): Likewise.
55804         * modules/string (Makefile.am): Likewise.
55805         * modules/strings (Makefile.am): Likewise.
55806         * modules/sys_file (Makefile.am): Likewise.
55807         * modules/sys_ioctl (Makefile.am): Likewise.
55808         * modules/sys_select (Makefile.am): Likewise.
55809         * modules/sys_socket (Makefile.am): Likewise.
55810         * modules/sys_stat (Makefile.am): Likewise.
55811         * modules/sys_time (Makefile.am): Likewise.
55812         * modules/sys_times (Makefile.am): Likewise.
55813         * modules/sys_uio (Makefile.am): Likewise.
55814         * modules/sys_utsname (Makefile.am): Likewise.
55815         * modules/sys_wait (Makefile.am): Likewise.
55816         * modules/sysexits (Makefile.am): Likewise.
55817         * modules/termios (Makefile.am): Likewise.
55818         * modules/time (Makefile.am): Likewise.
55819         * modules/unistd (Makefile.am): Likewise.
55820         * modules/wchar (Makefile.am): Likewise.
55821         * modules/wctype-h (Makefile.am): Likewise.
55822         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
55824 2011-05-29  Bruno Haible  <bruno@clisp.org>
55826         assert-h: Allow multiple gnulib generated replacements to coexist.
55827         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
55829 2011-05-29  Bruno Haible  <bruno@clisp.org>
55831         argp: Allow coexistence with strerror_r-posix module.
55832         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
55833         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
55834         by gnulib's <string.h> replacement), assume it has the POSIX signature,
55835         not the glibc signature.
55837 2011-05-28  Bruno Haible  <bruno@clisp.org>
55839         gnulib-tool: Alternative structure of testdirs, similar to --import.
55840         * gnulib-tool: New option --single-configure.
55841         (func_usage): Document it.
55842         (single_configure): New variable.
55843         (func_modules_transitive_closure_separately,
55844         func_modules_transitive_closure_separately,
55845         func_determine_use_libtests, func_modules_add_dummy_separately,
55846         func_modules_to_filelist_separately): New functions, extracted from
55847         func_import.
55848         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
55849         (func_import): Use the new functions.
55850         (func_create_testdir): Set final_modules. Handle $single_configure =
55851         true case.
55853 2011-05-28  Bruno Haible  <bruno@clisp.org>
55855         getloadavg: Remove an unreliable safety check.
55856         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
55857         getloadavg.c is in place.
55858         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
55859         Reported by Sam Steingold <sds@gnu.org>.
55861 2011-05-28  Bruno Haible  <bruno@clisp.org>
55863         doc: Cleanup yet another file produced by texinfo.tex.
55864         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
55866 2011-05-28  Bruno Haible  <bruno@clisp.org>
55868         Finish the conditional dependencies mechanism.
55869         * gnulib-tool: New option --no-conditional-dependencies.
55870         (func_usage): Document it. Don't mark --conditional-dependencies as
55871         experimental.
55872         (cond_dependencies): The possible values can now be true, false, empty.
55873         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
55874         (func_import): Store setting in gnulib-cache.m4 and read it from there.
55875         * doc/gnulib-tool.texi (Conditional dependencies): New section.
55877 2011-05-28  Bruno Haible  <bruno@clisp.org>
55879         doc: Use a recent texinfo.tex.
55880         * doc/Makefile (tex_opts): New variable.
55881         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
55883 2011-05-28  Jim Meyering  <meyering@redhat.com>
55885         intprops.h: adjust comment to match code change
55886         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
55887         only once, it *may* have side effects.  Also fix an unrelated typo.
55888         (_GL_INT_SIGNED): Likewise.
55890 2011-05-26  Simon Josefsson  <simon@josefsson.org>
55892         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
55894 2011-05-26  Bruno Haible  <bruno@clisp.org>
55896         mbsrchr: Avoid collision with system function on Interix.
55897         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
55898         Reported by Markus Duft <mduft@gentoo.org>.
55900 2011-05-15  James Youngman  <jay@gnu.org>
55902         getopt: for ambiguous options, enumerate the possibilities.
55903         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
55904         the ambiguous options when an ambiguous prefix is given. This was
55905         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
55906         glibc change was
55907         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
55909 2011-05-25  Eric Blake  <eblake@redhat.com>
55911         getcwd: work around mingw bug
55912         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
55913         * doc/posix-functions/getcwd.texi (getcwd): Document it.
55914         Reported by Matthias Bolte.
55916 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
55918         test-intprops: disable -Wtype-limits diagnostics
55919         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
55920         diagnostics.  Otherwise, the integer overflow macros generate many
55921         diagnostics.  Reported by Jim Meyering in
55922         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
55924         intprops: shorten, to pacify gcc -Woverlength-strings
55925         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
55926         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
55927         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
55928         likely to run afoul of C compiler limits for string constant lengths.
55929         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
55931 2011-05-24  Eric Blake  <eblake@redhat.com>
55933         docs: document recently fixed glibc printf bug
55934         * doc/posix-functions/fprintf.texi (fprintf): Document it.
55935         * doc/posix-functions/printf.texi (printf): Likewise.
55936         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
55937         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
55939         closein-tests: convert to init.sh
55940         * modules/closein-tests (Files): Add init.sh
55941         * tests/test-closein.sh Use it.
55943         yesno-tests: convert to init.sh
55944         * modules/yesno-tests (Files): Add init.sh.
55945         * tests/test-yesno.sh: Use it.
55947         atexit-tests: ensure reliable exit status
55948         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
55949         Reported by Bruno Haible.
55951 2011-05-24  Bruno Haible  <bruno@clisp.org>
55953         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
55954         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
55955         gl_PREREQ_STRERROR_R invocations from here...
55956         * modules/strerror_r-posix (configure.ac): ... to here.
55958 2011-05-24  Eric Blake  <eblake@redhat.com>
55960         strerror_r: fix missing header
55961         * lib/strerror_r.c: Avoid compiler warning about snprintf.
55963         strerror_r: fix AIX test failures
55964         * lib/strerror_r.c (strerror_r): Convert silent truncation to
55965         ERANGE failure.
55967         strerror_r: fix Solaris test failures
55968         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
55969         failures.
55970         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
55972         strerror_r: enforce POSIX recommendations
55973         * lib/strerror_r.c (safe_copy): New helper method.
55974         (strerror_r): Guarantee a non-empty string.
55975         * tests/test-strerror_r.c (main): Enhance tests to incorporate
55976         recent POSIX rulings and to match our strerror guarantees.
55977         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
55979 2011-05-24  Jim Meyering  <meyering@redhat.com>
55981         test-perror2.c: avoid warning about unused variable
55982         * tests/test-perror2.c (main): Remove declaration of unused "fp".
55984 2011-05-24  Eric Blake  <eblake@redhat.com>
55986         perror: avoid spurious test failure on HP-UX
55987         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
55989         tests: fix logic bug in init.sh
55990         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
55991         shell.
55993 2011-05-24  Jim Meyering  <meyering@redhat.com>
55995         utimensat: do not reference an out-of-scope buffer
55996         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
55997         declared in an inner scope, yet "times" would be dereferenced outside
55998         the scope in which "ts" was valid.
55999         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
56000         of ts[2] "out/up", so that the use of aliased "times" (via
56001         "times = ts;") does not end up referencing an out-of-scope "ts"
56003         opendir-safer.c: don't clobber errno; don't close negative FD
56004         * lib/opendir-safer.c (opendir_safer):
56005         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
56006         file descriptor, and more importantly, don't clobber the
56007         offending errno value with EINVAL.  Before, upon failure
56008         of dup_safer, we would pass the negative file descriptor to
56009         fdopendir, which would clobber errno.
56011 2011-05-23  Bruno Haible  <bruno@clisp.org>
56013         idcache: Fix module description.
56014         * modules/idcache (Include): Set to "idcache.h".
56016 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
56018         gnulib-tool: fix portability problem with MacOS sed
56019         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
56020         before the "}".  Problem reported by Leo in
56021         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
56022         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
56023         sed_extract_condition1, sed_extract_condition2.
56025 2011-05-23  Bruno Haible  <bruno@clisp.org>
56027         hash: Simplify autoconf macro.
56028         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
56030 2011-05-23  Bruno Haible  <bruno@clisp.org>
56032         getugroups: Fix module description.
56033         * modules/getugroups (Include): Set to "getugroups.h".
56035 2011-05-23  Bruno Haible  <bruno@clisp.org>
56037         linkat: Simplify autoconf macro.
56038         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
56040 2011-05-23  Bruno Haible  <bruno@clisp.org>
56041             Eric Blake  <eblake@redhat.com>
56043         linkat, renameat: Update dependencies.
56044         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
56045         * modules/linkat (Depends-on): Likewise. Remove also readlink,
56046         symlinkat.
56048 2011-05-23  Jim Meyering  <meyering@redhat.com>
56050         maint.mk: more tight_scope improvements
56051         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
56052         (_gl_TS_headers): Define only in if-0'd block.
56053         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
56054         sometimes we must *not* use it.  Adjust uses accordingly.
56055         (sc_tight_scope): Use much simpler grep-based test to determine
56056         whether we skip this rule.
56058         maint.mk: generalize/improve the tight-scope rule
56059         * top/maint.mk: Emit a warning when the test is skipped.
56060         (_gl_TS_dir): Add $(srcdir)/ prefix.
56061         (_gl_TS_function_match): Simplify, rather than trying
56062         to enumerate common types.  Otherwise, it would fail to match an
56063         "extern unsigned char const *" declaration in idutils.
56064         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
56065         a way to support use of that type of macro.
56066         (_gl_TS_var_match): Simplify regexp.
56067         (_gl_TS_obj_files): New configurable variable.
56068         (_gl_TS_headers): Likewise.
56070 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
56072         verify: fix bug when gnulib <assert.h> is also included
56073         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
56074         is defined, not if _GL_STATIC_ASSERT_H is not defined.
56075         Perhaps there's a better way, but this fixes the immediate problem.
56076         Problem reported by Bruno Haible in
56077         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
56079 2011-05-22  Bruno Haible  <bruno@clisp.org>
56081         xgetcwd: Simplify autoconf macro.
56082         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
56084 2011-05-22  Bruno Haible  <bruno@clisp.org>
56086         New module 'mktime-internal'.
56087         * modules/mktime-internal: New file.
56088         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
56089         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
56090         mktime_internal as a C macro if libc has __mktime_internal.
56091         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
56092         conditions.
56093         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
56095 2011-05-22  Bruno Haible  <bruno@clisp.org>
56097         timegm: Correct mktime replacement statements.
56098         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
56099         defining mktime as a C macro. This completes a 2009-07-28 commit.
56101 2011-05-22  Bruno Haible  <bruno@clisp.org>
56103         timegm: Simplify autoconf macro.
56104         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
56106 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
56108         clock-time: change to LGPLv2+.
56109         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
56110         BSD-like but we have no mark for that; this is good enough for now.
56112 2011-05-21  Bruno Haible  <bruno@clisp.org>
56114         strerror_r: Fix comments.
56115         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
56117 2011-05-21  Bruno Haible  <bruno@clisp.org>
56119         relocatable-prog-wrapper: Fix possible link error.
56120         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
56121         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
56122         (gl_FUNC_SETENV): ... to here.
56123         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
56124         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
56126 2011-05-21  Bruno Haible  <bruno@clisp.org>
56128         relocatable-prog-wrapper: Assume strerror() exists.
56129         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
56130         m4/strerror.m4.
56131         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
56132         * lib/relocwrapper.c: Remove mention of strerror module.
56133         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
56134         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
56135         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
56136         C macro.
56138 2011-05-21  Bruno Haible  <bruno@clisp.org>
56140         select: Simplify replacement idiom.
56141         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
56142         Win32 platforms.
56143         * lib/sys_select.in.h (select): Simplify accordingly.
56144         * modules/select (Depends-on): Likewise.
56146 2011-05-21  Bruno Haible  <bruno@clisp.org>
56148         mkdir-p: Simplify autoconf macro.
56149         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
56150         gl_FUNC_LCHOWN.
56152 2011-05-21  Eric Blake  <eblake@redhat.com>
56154         strerror_r: avoid clobbering strerror on cygwin
56155         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
56156         fall back instead to sys_errlist.
56157         * modules/strerror (configure.ac): Add witness.
56158         * tests/test-strerror_r.c (main): Enhance test.
56159         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
56160         * tests/test-perror2.c (main): Free memory before exit.
56162 2011-05-21  Bruno Haible  <bruno@clisp.org>
56164         mkdtemp: Use gnulib naming conventions.
56165         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
56166         * modules/mkdtemp (configure.ac): Update.
56168 2011-05-20  Eric Blake  <eblake@redhat.com>
56170         strerror_r: avoid corrupting errno on Solaris
56171         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
56172         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
56174         strerror_r: avoid compiler warning
56175         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
56177         strerror_r: simplify AIX code
56178         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
56180         test-perror: avoid spurious failure on FreeBSD
56181         * modules/perror-tests (Depends-on): Add strerror, now that
56182         strerror_r no longer pulls it in.
56184 2011-05-20  Bruno Haible  <bruno@clisp.org>
56186         strerror_r-posix: Remove unused dependencies.
56187         * modules/strerror_r-posix (Depends-on): Remove strerror.
56188         Reported by Eric Blake.
56190 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56192         intprops: remove assumption about A|B representation
56193         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
56194         is a valid integer if both A and B are.  Although this is true for
56195         all known practical hosts, the C standard doesn't guarantee it,
56196         and the code need not assume it.  Also, this change may work around
56197         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
56198         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
56200 2011-05-20  Eric Blake  <eblake@redhat.com>
56202         perror: work around FreeBSD bug
56203         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
56204         is broken.  Move AC_LIBOBJ...
56205         * modules/perror (configure.ac): Here.
56206         * doc/posix-functions/perror.texi (perror): Document this.
56207         * tests/test-perror2.c (main): Enhance test.
56209         test-perror: check for strerror interactions
56210         * tests/macros.h (STREQ): Add macro.
56211         * modules/perror-tests (Files): Add second test.
56212         * tests/test-perror2.c (main): New file.
56213         * doc/posix-functions/perror.texi (perror): Document glibc bug.
56215         test-perror: rewrite to use init script
56216         * modules/perror-tests (Files): Add init.sh.
56217         * tests/test-perror.sh: Use temporary directory.
56219 2011-05-20  Jim Meyering  <meyering@redhat.com>
56221         maint: replace misused "a" with "an"
56222         * doc/intprops.texi: "a integer"
56223         * doc/regex.texi: "a explanation"
56224         * lib/alignof.h: "a object"
56225         * lib/argmatch.h: "a explanation"
56226         * lib/argp-help.c: "a option" and "a OPTION_DOC"
56227         * lib/stdint.in.h: "a integer"
56228         * lib/userspec.c: "a owner"
56229         * doc/gnulib.texi: Fix "a idea", and reword.
56231 2011-05-19  Jim Meyering  <meyering@redhat.com>
56233         maint: correct misuse of "a" and "an"
56234         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
56235         * lib/argp-help.c: "an docum...": s/an/a/
56236         * lib/argp-parse.c: "An vector": s/An/A/
56237         * lib/execute.c: "an native": s/an/a/
56238         * lib/spawn-pipe.c: Likewise.
56239         * lib/gc.h: "an Gc_rc": s/an/a/
56240         * lib/unigbrk.in.h: "an grapheme": s/an/a/
56241         * lib/fts.c: "an stat.st_dev": s/an/a/
56243 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56245         intprops-tests: work around HP-UX 11.23 cc bug with constants
56246         * tests/test-intprops.c (VERIFY): New macro.
56247         (main): Use it, instead of verify, to work around the compiler bug; see
56248         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
56250         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
56251         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
56252         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
56253         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
56254         (_GL_REMAINDER_OVERFLOW): Use it.
56256         intprops-tests: revert unsigned part of previous change
56257         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
56258         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
56259         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
56260         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
56262 2011-05-19  Bruno Haible  <bruno@clisp.org>
56264         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
56265         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
56266         strerror_r() returned without filling the buffer.
56267         Reported by Eric Blake.
56269 2011-05-19  Eric Blake  <eblake@redhat.com>
56271         strerror_r: guarantee unchanged errno
56272         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
56273         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
56274         failure.
56275         * tests/test-strerror_r.c (main): Enhance test.
56277 2011-05-19  Bruno Haible  <bruno@clisp.org>
56279         strerror_r: Reorder #if blocks.
56280         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
56281         for consistency with the previous commit.
56283 2011-05-19  Bruno Haible  <bruno@clisp.org>
56285         perror: Avoid clobbering the strerror buffer when possible.
56286         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
56287         * lib/strerror.c: Include it.
56288         * modules/strerror (Files): Add lib/strerror-impl.h.
56289         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
56290         (my_strerror): New function, defined through lib/strerror-impl.h.
56291         (perror): Use it instead of strerror.
56292         * modules/perror (Files): Add lib/strerror-impl.h.
56293         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
56295 2011-05-19  Eric Blake  <eblake@redhat.com>
56297         strerror_r: fix on newer cygwin
56298         * lib/strerror_r.c (strerror_r): Cygwin now has
56299         __xpg_strerror_r, use it.
56301 2011-05-19  Bruno Haible  <bruno@clisp.org>
56303         strerror_r: Avoid clobbering the strerror buffer when possible.
56304         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
56305         (sys_nerr, sys_errlist): New declarations.
56306         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
56307         HP-UX, native Win32, IRIX, and 32-bit Solaris.
56308         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
56310 2011-05-19  Bruno Haible  <bruno@clisp.org>
56312         strerror_r: Fix test failure on mingw.
56313         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
56314         EXTEND_STRERROR_R.
56315         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
56316         macros from errno.in.h instead.
56318 2011-05-19  Eric Blake  <eblake@redhat.com>
56320         strerror: relax test for Solaris
56321         * tests/test-strerror.c (main): Permit Solaris behavior.
56322         * tests/test-strerror_r.c (main): Likewise.
56324         strerror: enforce POSIX ruling on strerror(0)
56325         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
56326         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
56327         * lib/strerror_r.c (rpl_strerror_r): Work around it.
56328         * doc/posix-functions/strerror.texi (strerror): Document it.
56329         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
56330         * tests/test-strerror.c (main): Strengthen test.
56331         * tests/test-strerror_r.c (main): Likewise.
56333 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56335         intprop-tests: port to older and more-pedantic compilers
56336         * modules/intprops-tests (Files): Add tests/macros.h.
56337         * tests/test-intprops.c: Include macros.h.
56338         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
56339         it's no longer documented to expand to an integer constant expression.
56340         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
56341         argument is floating point, as it's no longer documented to expand
56342         to an integer constant expression in that case.
56343         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
56344         compiler bugs reported by Bruno Haible.  See
56345         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
56346         (U0, U1): New constants, to work around the same bugs.  Also,
56347         in tests, use e.g., "(unsigned int) 39" rather than "39u".
56349         intprops: work around C compiler bugs
56350         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
56351         bug in Sun C 5.11 2010/08/13 and other compilers; see
56352         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
56354         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
56355         * doc/intprops.texi (Integer Type Determination): Fix
56356         documentation for TYPE_IS_INTEGER: it returns an constant
56357         expression, not an integer constant expression.  Fix doc for
56358         TYPE_SIGNED: it returns an integer constant expression only if its
56359         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
56360         hardly worth documented that way....)
56362 2011-05-18  Bruno Haible  <bruno@clisp.org>
56364         strerror_r: Avoid clobbering the strerror buffer when possible.
56365         * lib/strerror_r.c (strerror_r): Merge the three implementations.
56366         Handle gnulib defined errno values here. When strerror() returns NULL
56367         or an empty string, return EINVAL.
56368         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
56369         gnulib defined errno values here.
56370         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
56372 2011-05-18  Eric Blake  <eblake@redhat.com>
56374         fnmatch: avoid compiler warning
56375         * lib/fnmatch_loop.c (FCT): Use correct type.
56376         Reported by Matthias Bolte.
56378 2011-05-13  Jim Meyering  <meyering@redhat.com>
56380         maint.mk: three new prohibit_<HDR>_without_use rules
56381         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
56382         (sc_prohibit_stdio-safer_without_use): Likewise.
56383         (sc_prohibit_xfreopen_without_use): Likewise.
56385 2011-05-17  Jim Meyering  <meyering@redhat.com>
56387         announce-gen: fail if the NEWS delta is empty
56388         If there's nothing noteworthy in NEWS, then either you forgot
56389         or you shouldn't be releasing.
56390         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
56392 2011-05-17  Pádraig Brady  <P@draigBrady.com>
56394         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
56395         reserved symbols starting with double underscore from the check.
56397 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56399         intprops: add doc
56400         * doc/intprops.texi: New file, documenting intprops.
56401         * doc/gnulib.texi (Particular Modules): Include it.
56403         verify: add doc to gnulib manual and fix example
56404         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
56405         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
56406         (Compile-time Assertions): Fix example so it can't overflow.
56408 2011-05-17  Jim Meyering  <meyering@redhat.com>
56410         warnings.m4: don't usurp save_CPPFLAGS variable name
56411         * m4/warnings.m4: Prefix local temporary variable name with gl_.
56413         doc: fix typo
56414         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
56416 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56417             Bruno Haible  <bruno@clisp.org>
56419         doc: Tweak recent change.
56420         * README (Portability guidelines): Tweak new text.
56421         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
56422         Interix 6.1.
56424 2011-05-16  Eric Blake  <eblake@redhat.com>
56426         inttypes: avoid autoconf warning
56427         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
56428         * m4/stdint.m4 (gl_STDINT_H): Likewise.
56430 2011-05-16  Sam Steingold  <sds@gnu.org>
56431         and Eric Blake  <eblake@redhat.com>
56433         vc-list-files: accept multiple directory operands
56434         * build-aux/vc-list-files: Iterate over all remaining operands.
56436 2011-05-16  Bruno Haible  <bruno@clisp.org>
56438         Fix confusion regarding deprecated modules.
56439         * modules/calloc (Status, Notice): Mark module as deprecated, not
56440         obsolete.
56441         * modules/fnmatch-posix (Status, Notice): Likewise.
56442         * modules/getdate (Status, Notice): Likewise.
56443         * modules/getopt (Status, Notice): Likewise.
56444         * modules/malloc (Status, Notice): Likewise.
56445         * modules/pipe (Status, Notice): Likewise.
56446         * modules/realloc (Status, Notice): Likewise.
56447         * modules/rename-dest-slash (Status, Notice): Likewise.
56448         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
56449         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
56450         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
56451         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
56452         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
56454 2011-05-16  Bruno Haible  <bruno@clisp.org>
56456         doc: List the target platforms.
56457         * doc/gnulib-intro.texi (Target Platforms): New section.
56458         * doc/gnulib.texi (Introduction): Update menu.
56459         * README (Portability guidelines): Refer to the new section. Update
56460         statement about oldest supported environment. Remove rationale why
56461         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
56462         unportable C89 function.
56463         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
56464         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
56466 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56468         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
56470 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56472         intprops-tests: new module
56473         * modules/intprops-tests, tests/test-intprops.c: New files.
56475         intprops: add safe, portable integer overflow checking
56476         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
56477         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
56478         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
56479         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
56480         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
56481         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
56482         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
56483         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
56484         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
56485         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
56486         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
56488 2011-05-12  James Youngman  <jay@gnu.org>
56490         Add a test for glibc's Bugzilla bug #12378.
56491         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
56492         doesn't allow the literal matching of a lone "[" (which is
56493         required by POSIX).
56494         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
56496 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
56498         Sync glibc change fixing Bugzilla bug #12378.
56499         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
56500         beginning and fall back to matching as normal character if the
56501         string ends before the matching ']' is found.  This is what POSIX
56502         requires.
56504 2011-05-13  Eric Blake  <eblake@redhat.com>
56506         getcwd-lgpl: relax test for FreeBSD
56507         * doc/posix-functions/getcwd.texi (getcwd): Document portability
56508         issue.
56509         * tests/test-getcwd-lgpl.c (main): Relax test.
56510         Reported by Matthias Bolte.
56512 2011-05-11  Eric Blake  <eblake@redhat.com>
56514         test-fflush: silence compiler warning
56515         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
56517 2011-05-11  Bruno Haible  <bruno@clisp.org>
56519         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
56520         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
56521         * modules/canonicalize (Depends-on): Add 'nocrash'.
56522         * modules/canonicalize-lgpl (Depends-on): Likewise.
56523         * doc/posix-functions/realpath.texi: Update platforms list.
56524         Reported by Ryan Schmidt <ryandesign@macports.org>.
56526 2011-05-11  Bruno Haible  <bruno@clisp.org>
56528         group-member: Declare function in <unistd.h>.
56529         * lib/unistd.in.h (group_member): New declaration.
56530         * lib/group-member.h: Remove file.
56531         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
56532         * tests/test-unistd-c++.cc: Check signature of group_member.
56533         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
56534         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
56535         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
56536         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
56537         HAVE_GROUP_MEMBER.
56538         * modules/group-member (Files): Remove lib/group-member.h.
56539         (Depends-on): Add unistd. Specify conditions.
56540         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56541         (Include): Change to <unistd.h>.
56542         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
56543         HAVE_GROUP_MEMBER.
56544         * NEWS: Mention the change.
56545         * lib/euidaccess.c: Don't include group-member.h.
56547 2011-05-11  Bruno Haible  <bruno@clisp.org>
56549         group-member: Document module.
56550         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
56551         module.
56553 2011-05-11  Bruno Haible  <bruno@clisp.org>
56555         fclose: Fix mistake earlier today.
56556         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
56558 2011-05-11  Eric Blake  <eblake@redhat.com>
56560         fclose: preserve fflush errors
56561         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
56562         Reported by Jim Meyering.
56564         bootstrap: support a prereq of 'rpcgen -' on RHEL5
56565         * build-aux/bootstrap (check_versions): When no specific version
56566         is required, merely check that the app produces an exit status
56567         that indicates its existence.
56569         maint.mk: drop redundant check
56570         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
56571         the same but better.
56573 2011-05-11  Bruno Haible  <bruno@clisp.org>
56575         fclose: Fix possible link error.
56576         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
56577         unregister_shadow_fd. Improve comments.
56578         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
56579         Eric Blake.
56581 2011-05-11  Jim Meyering  <meyering@redhat.com>
56583         maint.mk: improve "can not" detection and generalize rule name
56584         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
56585         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
56586         Use the same technique as in sc_prohibit_doubled_word, so that
56587         we recognize "can not" also when the words are separated by a newline.
56588         Suggested by Eric Blake.
56589         (perl_filename_lineno_text_): Define.  Factored out of...
56590         (prohibit_doubled_word_): ...here.  Use the new definition.
56591         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
56592         (prohibit_undesirable_word_seq_RE_): New overridable variable.
56593         (ignore_undesirable_word_sequence_RE_): New overridable variable.
56595 2011-05-10  Eric Blake  <eblake@redhat.com>
56597         fclose: avoid double close race when possible
56598         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
56599         all but WINDOWS_SOCKETS.
56601 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
56603         openat: correct new comment
56604         * lib/openat-proc.c (openat_proc_name): Correct the comment.
56606 2011-05-10  Jim Meyering  <meyering@redhat.com>
56608         openat: add comments
56609         * lib/openat-proc.c (openat_proc_name): Add comments,
56610         mostly from Eric Blake.
56612 2011-05-09  Eric Blake  <eblake@redhat.com>
56614         openat: reduce syscalls in first probe of /proc
56615         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
56616         be a directory.  Simplify the probe for .. bugs.
56617         * modules/openat (Depends-on): Drop same-inode.
56618         Reported by Bastien ROUCARIES.
56620 2011-05-09  Jim Meyering  <meyering@redhat.com>
56622         maint.mk: change semantics/name of tight_scope variables
56623         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
56624         Rename variables to align with semantics that make them more useful.
56626         maint.mk: tweak new rule's name not to impinge
56627         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
56628         (sc_tight_scope): Use new rule name rather than $@-0.
56630         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
56631         * top/maint.mk (sc_tight_scope): New rule.
56632         (sc_tight_scope-0): New rule, ifdef'd out.
56633         (_gl_TS_dir): Default.
56634         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
56635         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
56637 2011-05-09  Simon Josefsson  <simon@josefsson.org>
56639         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
56640         Haible <bruno@clisp.org>.
56642 2011-05-08  Bruno Haible  <bruno@clisp.org>
56644         Comments.
56645         * m4/isnanf.m4: Add comment.
56646         * m4/isnanl.m4: Likewise.
56648 2011-05-08  Bruno Haible  <bruno@clisp.org>
56650         glob: Remove obsolete macro.
56651         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
56653 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
56655         intprops: Sun C 5.11 supports __typeof__
56656         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
56657         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
56658         which is new.
56659         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
56661         intprops: switch to usual gnulib indenting and naming
56662         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
56663         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
56665         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
56667 2011-05-08  Jim Meyering  <meyering@redhat.com>
56669         maint.mk: suppress "Entering/Leaving directory" diag in announcement
56670         * top/maint.mk (release-prep): Use make's --no-print-directory
56671         option when generating the announcement.  This eliminates the
56672         pesky "make[2]: Entering/Leaving directory" diagnostics in the
56673         generated announcement template.
56675 2011-05-08  Bruno Haible  <bruno@clisp.org>
56677         tzset: Fix gettimeofday wrapper on Solaris 2.6.
56678         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
56679         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
56681 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
56683         ignore-value, verify: Omit include files from lib_SOURCES.
56684         * modules/ignore-value, modules/verify (Makefile.am):
56685         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
56686         that leads Automake to duplicate use of am__objects_... variables
56687         in Makefile.in.  See
56688         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
56690 2011-05-07  Bruno Haible  <bruno@clisp.org>
56692         fclose: Simplify autoconf macro.
56693         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
56694         defined.
56696 2011-05-07  Bruno Haible  <bruno@clisp.org>
56698         canonicalize-lgpl: Fix autoconf macro ordering bug.
56699         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
56700         gl_STDLIB_H_DEFAULTS.
56702 2011-05-06  Eric Blake  <eblake@redhat.com>
56704         maintainer-makefile: make sc_po_check easier to tune
56705         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
56706         to probe for strings, such as an alternate location for gnulib.
56708         fclose: guarantee behavior on seekable stdin
56709         * modules/fclose (Depends-on): Add fflush.
56710         * doc/posix-functions/fclose.texi (fclose): Document this.
56711         * tests/test-fclose.c (main): Make test for this unconditional.
56713 2011-05-06  Bruno Haible  <bruno@clisp.org>
56715         fflush, fpurge: Relicense under LGPLv2+.
56716         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
56717         * modules/fpurge (License): Likewise.
56718         With permission from Eric Blake and Jim Meyering.
56719         Suggested by Eric Blake.
56721 2011-05-06  Karl Berry  <karl@gnu.org>
56723         * MODULES.html.sh (func_all_modules): remove exit.
56725 2011-05-06  Jim Meyering  <meyering@redhat.com>
56727         maint.mk: use info-gnu@ as the default only for a stable release
56728         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
56729         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
56730         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
56731         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
56733 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
56735         assert-h: new module, which supports C1X-style static_assert
56736         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
56737         * lib/verify.h: Revamp so that this can be copied into assert.h,
56738         while retaining the ability to use it standalone as before.
56739         Rename private identifiers so as not to encroach on the
56740         standard C namespace, since this is now used by assert.h.
56741         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
56742         the old verify_true.
56743         (_GL_VERIFY_TRUE): New macro, with much of the contents of
56744         the old verify_true.  Use _GL_VERIFY_TYPE.
56745         (_GL_VERIFY): New macro, with much of the contents of the old verify.
56746         (static_assert): New macro, if _GL_STATIC_ASSERT_H
56747         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
56748         defined when this file is copied into the replacement assert.h.
56749         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
56750         and _Static_assert is not built in.
56751         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
56752         defined, and use the new macros mentioned above.
56753         * doc/posix-headers/assert.texi: Document this.
56755 2011-05-05  Bruno Haible  <bruno@clisp.org>
56757         fclose, fflush: Respect rules for use of AC_LIBOBJ.
56758         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
56759         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
56760         gl_REPLACE_FCLOSE here.
56761         * modules/fflush (Depends-on): Remove fclose.
56762         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
56763         combination with module 'fclose'.
56765 2011-05-05  Bruno Haible  <bruno@clisp.org>
56767         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
56768         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
56769         gl_FUNC_FFLUSH.
56770         (gl_FUNC_FFLUSH): Use it.
56771         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
56772         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
56773         gl_REPLACE_FSEEKO here.
56775 2011-05-05  Bruno Haible  <bruno@clisp.org>
56777         tzset: Relicense under LGPL.
56778         * modules/tzset (License): Change to LGPL.
56779         No agreement needed; it's a no-op.
56781         strtoimax, strtoumax: Relicense under LGPL.
56782         * modules/strtoimax (License): Change to LGPL.
56783         * modules/strtoumax (License): Likewise.
56784         With permission from Jim Meyering, Paul Eggert:
56785         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
56786         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
56788         getgroups: Relicense under LGPL.
56789         * modules/getgroups (License): Change to LGPL.
56790         With permission from Jim Meyering, Paul Eggert, Eric Blake:
56791         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
56792         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
56793         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56795         nanosleep: Relicense under LGPL.
56796         * modules/nanosleep (License): Change to LGPL.
56797         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
56798         Haible:
56799         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
56800         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
56801         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56802         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
56804         futimens: Relicense under LGPL.
56805         * modules/futimens (License): Change to LGPL.
56806         With permission from Eric Blake:
56807         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56809         fflush: Relicense under LGPL.
56810         * modules/fflush (License): Change to LGPL.
56811         With permission from Eric Blake, Bruno Haible, Jim Meyering:
56812         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56813         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
56814         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
56816         tmpfile: Relicense under LGPL.
56817         * modules/tmpfile (License): Change to LGPL.
56818         With permission from Ben Pfaff:
56819         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
56821         isfinite: Relicense under LGPL.
56822         * modules/isfinite (License): Change to LGPL.
56823         With permission from Ben Pfaff, Bruno Haible:
56824         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
56825         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
56827         acosl..tanl: Relicense under LGPL.
56828         * modules/acosl (License): Change to LGPL.
56829         * modules/asinl (License): Likewise.
56830         * modules/atanl (License): Likewise.
56831         * modules/cosl (License): Likewise.
56832         * modules/expl (License): Likewise.
56833         * modules/logl (License): Likewise.
56834         * modules/sinl (License): Likewise.
56835         * modules/sqrtl (License): Likewise.
56836         * modules/tanl (License): Likewise.
56837         Source code originally from glibc and Paolo Bonzini. Agreements:
56838         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
56839         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
56841 2011-05-05  Bruno Haible  <bruno@clisp.org>
56843         signal: Define sighandler_t.
56844         * lib/signal.in.h (sighandler_t): New type.
56845         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
56846         whether sighandler_t is defined.
56847         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
56848         * modules/signal (Depends-on): Add extensions.
56849         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
56850         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
56851         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
56853 2011-05-05  Eric Blake  <eblake@redhat.com>
56855         maint: remove useless REPLACE_*_H macros
56856         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
56857         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
56858         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
56859         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
56860         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
56861         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
56862         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
56863         * m4/btowc.m4: Update callers.
56864         * m4/dirfd.m4: Likewise.
56865         * m4/duplocale.m4: Likewise.
56866         * m4/fchdir.m4: Likewise.
56867         * m4/fdopendir.m4: Likewise.
56868         * m4/inet_ntop.m4: Likewise.
56869         * m4/inet_pton.m4: Likewise.
56870         * m4/ioctl.m4: Likewise.
56871         * m4/mbrlen.m4: Likewise.
56872         * m4/mbrtowc.m4: Likewise.
56873         * m4/mbsinit.m4: Likewise.
56874         * m4/mbsnrtowcs.m4: Likewise.
56875         * m4/mbsrtowcs.m4: Likewise.
56876         * m4/poll.m4: Likewise.
56877         * m4/setlocale.m4: Likewise.
56878         * m4/wcrtomb.m4: Likewise.
56879         * m4/wcsnrtombs.m4: Likewise.
56880         * m4/wcsrtombs.m4: Likewise.
56881         * m4/wctob.m4: Likewise.
56882         * m4/wcwidth.m4: Likewise.
56883         * modules/posix_spawn: Likewise.
56884         * modules/posix_spawn_file_actions_addclose: Likewise.
56885         * modules/posix_spawn_file_actions_adddup2: Likewise.
56886         * modules/posix_spawn_file_actions_addopen: Likewise.
56887         * modules/posix_spawn_file_actions_destroy: Likewise.
56888         * modules/posix_spawn_file_actions_init: Likewise.
56889         * modules/posix_spawnattr_destroy: Likewise.
56890         * modules/posix_spawnattr_getflags: Likewise.
56891         * modules/posix_spawnattr_getpgroup: Likewise.
56892         * modules/posix_spawnattr_getschedparam: Likewise.
56893         * modules/posix_spawnattr_getschedpolicy: Likewise.
56894         * modules/posix_spawnattr_getsigdefault: Likewise.
56895         * modules/posix_spawnattr_getsigmask: Likewise.
56896         * modules/posix_spawnattr_init: Likewise.
56897         * modules/posix_spawnattr_setflags: Likewise.
56898         * modules/posix_spawnattr_setpgroup: Likewise.
56899         * modules/posix_spawnattr_setschedparam: Likewise.
56900         * modules/posix_spawnattr_setschedpolicy: Likewise.
56901         * modules/posix_spawnattr_setsigdefault: Likewise.
56902         * modules/posix_spawnattr_setsigmask: Likewise.
56903         * modules/posix_spawnp: Likewise.
56905 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
56907         Add option to do-release-commit-and-tag to specify branch.
56908         * build-aux/do-release-commit-and-tag: Add --branch.
56910 2011-05-03  Bruno Haible  <bruno@clisp.org>
56912         Avoid unnecessary compilation units, through conditional dependencies.
56913         * modules/accept (Depends-on): Add conditions to the dependencies.
56914         * modules/acosl (Depends-on): Likewise.
56915         * modules/argz (Depends-on): Likewise.
56916         * modules/asinl (Depends-on): Likewise.
56917         * modules/atanl (Depends-on): Likewise.
56918         * modules/atoll (Depends-on): Likewise.
56919         * modules/bind (Depends-on): Likewise.
56920         * modules/btowc (Depends-on): Likewise.
56921         * modules/canonicalize-lgpl (Depends-on): Likewise.
56922         * modules/ceil (Depends-on): Likewise.
56923         * modules/ceilf (Depends-on): Likewise.
56924         * modules/ceill (Depends-on): Likewise.
56925         * modules/chdir-long (Depends-on): Likewise.
56926         * modules/chown (Depends-on): Likewise.
56927         * modules/close (Depends-on): Likewise.
56928         * modules/connect (Depends-on): Likewise.
56929         * modules/cosl (Depends-on): Likewise.
56930         * modules/dirfd (Depends-on): Likewise.
56931         * modules/dprintf (Depends-on): Likewise.
56932         * modules/dprintf-posix (Depends-on): Likewise.
56933         * modules/error (Depends-on): Likewise.
56934         * modules/euidaccess (Depends-on): Likewise.
56935         * modules/expl (Depends-on): Likewise.
56936         * modules/faccessat (Depends-on): Likewise.
56937         * modules/fchdir (Depends-on): Likewise.
56938         * modules/fclose (Depends-on): Likewise.
56939         * modules/fcntl (Depends-on): Likewise.
56940         * modules/fdopendir (Depends-on): Likewise.
56941         * modules/fflush (Depends-on): Likewise.
56942         * modules/floor (Depends-on): Likewise.
56943         * modules/floorf (Depends-on): Likewise.
56944         * modules/floorl (Depends-on): Likewise.
56945         * modules/fnmatch (Depends-on): Likewise.
56946         * modules/fopen (Depends-on): Likewise.
56947         * modules/fprintf-posix (Depends-on): Likewise.
56948         * modules/frexp (Depends-on): Likewise.
56949         * modules/frexp-nolibm (Depends-on): Likewise.
56950         * modules/frexpl (Depends-on): Likewise.
56951         * modules/frexpl-nolibm (Depends-on): Likewise.
56952         * modules/fseek (Depends-on): Likewise.
56953         * modules/fsusage (Depends-on): Likewise.
56954         * modules/ftell (Depends-on): Likewise.
56955         * modules/ftello (Depends-on): Likewise.
56956         * modules/futimens (Depends-on): Likewise.
56957         * modules/getcwd (Depends-on): Likewise.
56958         * modules/getcwd-lgpl (Depends-on): Likewise.
56959         * modules/getdelim (Depends-on): Likewise.
56960         * modules/getdomainname (Depends-on): Likewise.
56961         * modules/getgroups (Depends-on): Likewise.
56962         * modules/gethostname (Depends-on): Likewise.
56963         * modules/getline (Depends-on): Likewise.
56964         * modules/getlogin_r (Depends-on): Likewise.
56965         * modules/getopt-posix (Depends-on): Likewise.
56966         * modules/getpeername (Depends-on): Likewise.
56967         * modules/getsockname (Depends-on): Likewise.
56968         * modules/getsockopt (Depends-on): Likewise.
56969         * modules/getsubopt (Depends-on): Likewise.
56970         * modules/getusershell (Depends-on): Likewise.
56971         * modules/glob (Depends-on): Likewise.
56972         * modules/grantpt (Depends-on): Likewise.
56973         * modules/iconv_open (Depends-on): Likewise.
56974         * modules/iconv_open-utf (Depends-on): Likewise.
56975         * modules/inet_ntop (Depends-on): Likewise.
56976         * modules/inet_pton (Depends-on): Likewise.
56977         * modules/ioctl (Depends-on): Likewise.
56978         * modules/isapipe (Depends-on): Likewise.
56979         * modules/isfinite (Depends-on): Likewise.
56980         * modules/isinf (Depends-on): Likewise.
56981         * modules/lchown (Depends-on): Likewise.
56982         * modules/ldexpl (Depends-on): Likewise.
56983         * modules/link (Depends-on): Likewise.
56984         * modules/linkat (Depends-on): Likewise.
56985         * modules/listen (Depends-on): Likewise.
56986         * modules/logl (Depends-on): Likewise.
56987         * modules/lstat (Depends-on): Likewise.
56988         * modules/mbrlen (Depends-on): Likewise.
56989         * modules/mbrtowc (Depends-on): Likewise.
56990         * modules/mbsinit (Depends-on): Likewise.
56991         * modules/mbsnrtowcs (Depends-on): Likewise.
56992         * modules/mbsrtowcs (Depends-on): Likewise.
56993         * modules/mbtowc (Depends-on): Likewise.
56994         * modules/memcmp (Depends-on): Likewise.
56995         * modules/mkdir (Depends-on): Likewise.
56996         * modules/mkdtemp (Depends-on): Likewise.
56997         * modules/mkfifo (Depends-on): Likewise.
56998         * modules/mkfifoat (Depends-on): Likewise.
56999         * modules/mknod (Depends-on): Likewise.
57000         * modules/mkostemp (Depends-on): Likewise.
57001         * modules/mkostemps (Depends-on): Likewise.
57002         * modules/mkstemp (Depends-on): Likewise.
57003         * modules/mkstemps (Depends-on): Likewise.
57004         * modules/mktime (Depends-on): Likewise.
57005         * modules/nanosleep (Depends-on): Likewise.
57006         * modules/open (Depends-on): Likewise.
57007         * modules/openat (Depends-on): Likewise.
57008         * modules/perror (Depends-on): Likewise.
57009         * modules/poll (Depends-on): Likewise.
57010         * modules/popen (Depends-on): Likewise.
57011         * modules/posix_spawn (Depends-on): Likewise.
57012         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
57013         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
57014         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
57015         * modules/posix_spawnp (Depends-on): Likewise.
57016         * modules/pread (Depends-on): Likewise.
57017         * modules/printf-posix (Depends-on): Likewise.
57018         * modules/ptsname (Depends-on): Likewise.
57019         * modules/putenv (Depends-on): Likewise.
57020         * modules/pwrite (Depends-on): Likewise.
57021         * modules/readline (Depends-on): Likewise.
57022         * modules/readlink (Depends-on): Likewise.
57023         * modules/readlinkat (Depends-on): Likewise.
57024         * modules/recv (Depends-on): Likewise.
57025         * modules/recvfrom (Depends-on): Likewise.
57026         * modules/regex (Depends-on): Likewise.
57027         * modules/remove (Depends-on): Likewise.
57028         * modules/rename (Depends-on): Likewise.
57029         * modules/renameat (Depends-on): Likewise.
57030         * modules/rmdir (Depends-on): Likewise.
57031         * modules/round (Depends-on): Likewise.
57032         * modules/roundf (Depends-on): Likewise.
57033         * modules/roundl (Depends-on): Likewise.
57034         * modules/rpmatch (Depends-on): Likewise.
57035         * modules/select (Depends-on): Likewise.
57036         * modules/send (Depends-on): Likewise.
57037         * modules/sendto (Depends-on): Likewise.
57038         * modules/setenv (Depends-on): Likewise.
57039         * modules/setlocale (Depends-on): Likewise.
57040         * modules/setsockopt (Depends-on): Likewise.
57041         * modules/shutdown (Depends-on): Likewise.
57042         * modules/sigaction (Depends-on): Likewise.
57043         * modules/signbit (Depends-on): Likewise.
57044         * modules/sigprocmask (Depends-on): Likewise.
57045         * modules/sinl (Depends-on): Likewise.
57046         * modules/sleep (Depends-on): Likewise.
57047         * modules/snprintf (Depends-on): Likewise.
57048         * modules/snprintf-posix (Depends-on): Likewise.
57049         * modules/socket (Depends-on): Likewise.
57050         * modules/sprintf-posix (Depends-on): Likewise.
57051         * modules/sqrtl (Depends-on): Likewise.
57052         * modules/stat (Depends-on): Likewise.
57053         * modules/strchrnul (Depends-on): Likewise.
57054         * modules/strdup-posix (Depends-on): Likewise.
57055         * modules/strerror (Depends-on): Likewise.
57056         * modules/strerror_r-posix (Depends-on): Likewise.
57057         * modules/strndup (Depends-on): Likewise.
57058         * modules/strnlen (Depends-on): Likewise.
57059         * modules/strptime (Depends-on): Likewise.
57060         * modules/strsep (Depends-on): Likewise.
57061         * modules/strsignal (Depends-on): Likewise.
57062         * modules/strstr-simple (Depends-on): Likewise.
57063         * modules/strtod (Depends-on): Likewise.
57064         * modules/strtoimax (Depends-on): Likewise.
57065         * modules/strtok_r (Depends-on): Likewise.
57066         * modules/strtoumax (Depends-on): Likewise.
57067         * modules/symlink (Depends-on): Likewise.
57068         * modules/symlinkat (Depends-on): Likewise.
57069         * modules/tanl (Depends-on): Likewise.
57070         * modules/tcgetsid (Depends-on): Likewise.
57071         * modules/tmpfile (Depends-on): Likewise.
57072         * modules/trunc (Depends-on): Likewise.
57073         * modules/truncf (Depends-on): Likewise.
57074         * modules/truncl (Depends-on): Likewise.
57075         * modules/uname (Depends-on): Likewise.
57076         * modules/unlink (Depends-on): Likewise.
57077         * modules/unlockpt (Depends-on): Likewise.
57078         * modules/unsetenv (Depends-on): Likewise.
57079         * modules/usleep (Depends-on): Likewise.
57080         * modules/utimensat (Depends-on): Likewise.
57081         * modules/vasprintf (Depends-on): Likewise.
57082         * modules/vdprintf (Depends-on): Likewise.
57083         * modules/vdprintf-posix (Depends-on): Likewise.
57084         * modules/vfprintf-posix (Depends-on): Likewise.
57085         * modules/vprintf-posix (Depends-on): Likewise.
57086         * modules/vsnprintf (Depends-on): Likewise.
57087         * modules/vsnprintf-posix (Depends-on): Likewise.
57088         * modules/vsprintf-posix (Depends-on): Likewise.
57089         * modules/wcrtomb (Depends-on): Likewise.
57090         * modules/wcscasecmp (Depends-on): Likewise.
57091         * modules/wcscspn (Depends-on): Likewise.
57092         * modules/wcsdup (Depends-on): Likewise.
57093         * modules/wcsncasecmp (Depends-on): Likewise.
57094         * modules/wcsnrtombs (Depends-on): Likewise.
57095         * modules/wcspbrk (Depends-on): Likewise.
57096         * modules/wcsrtombs (Depends-on): Likewise.
57097         * modules/wcsspn (Depends-on): Likewise.
57098         * modules/wcsstr (Depends-on): Likewise.
57099         * modules/wcstok (Depends-on): Likewise.
57100         * modules/wcswidth (Depends-on): Likewise.
57101         * modules/wctob (Depends-on): Likewise.
57102         * modules/wctomb (Depends-on): Likewise.
57103         * modules/wctype (Depends-on): Likewise.
57104         * modules/wcwidth (Depends-on): Likewise.
57105         * modules/write (Depends-on): Likewise.
57107 2011-05-03  Bruno Haible  <bruno@clisp.org>
57109         Support for conditional dependencies.
57110         * doc/gnulib.texi (Module description): Document the syntax of
57111         conditional dependencies.
57112         * gnulib-tool: New option --conditional-dependencies.
57113         (func_usage): Document it.
57114         (cond_dependencies): New variable.
57115         (func_get_automake_snippet_conditional,
57116         func_get_automake_snippet_unconditional): New functions, extracted from
57117         func_get_automake_snippet.
57118         (func_get_automake_snippet): Use them.
57119         (sed_first_32_chars): New variable.
57120         (func_module_shellfunc_name): New function.
57121         (func_module_shellvar_name): New function.
57122         (func_module_conditional_name): New function.
57123         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
57124         func_cond_module_condition): New functions.
57125         (func_modules_transitive_closure): Add support for conditional
57126         dependencies.
57127         (func_emit_lib_Makefile_am): For a conditional module, enclose the
57128         conditional automake snippet in an automake conditional.
57129         (func_emit_autoconf_snippets): Emit shell functions that contain the
57130         code for conditional modules.
57131         (func_import, func_create_testdir): Update specification.
57133 2011-05-03  Eric Blake  <eblake@redhat.com>
57135         test-getaddrinfo: report error information
57136         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
57138 2011-05-03  Jim Meyering  <meyering@redhat.com>
57140         bootstrap: avoid build failure when $GZIP is set
57141         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
57142         program name.  If defined at all, it is supposed to list gzip options.
57143         Reported by Alan Curry in http://debbugs.gnu.org/8609
57145 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
57147         readme-release: new module with release instructions
57148         * modules/readme-release: New module.
57149         * top/README-release: New file, from coreutils, grep, diffutils.
57150         * MODULES.html.sh (Support for maintaining and releasing): Add it.
57152 2011-05-02  Eric Blake  <eblake@redhat.com>
57154         fflush: also replace fclose when fixing fflush
57155         * modules/fflush (Depends-on): Add fclose.
57156         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
57157         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
57158         memstreams with no backing fd.
57159         * doc/posix-functions/fclose.texi (fclose): Document the use of
57160         fflush module to fix the bug.
57161         * tests/test-fclose.c (main): Relax test when fclose is used in
57162         isolation.
57164         fclose: add some tests
57165         * modules/fclose-tests: New test module.
57166         * tests/test-fclose.c: New file.
57167         * doc/posix-functions/fclose.texi (fclose): Document the bug.
57169         fclose: reduced dependencies
57170         * modules/fclose (Depends-on): Switch from fflush/fseeko to
57171         simpler lseek.
57172         * lib/fclose.c (rpl_fclose): Likewise.
57173         Reported by Simon Josefsson.
57175         exit: drop remaining clients
57176         * modules/argmatch (Depends-on): Replace exit with stdlib.
57177         * modules/copy-file (Depends-on): Likewise.
57178         * modules/execute (Depends-on): Likewise.
57179         * modules/exitfail (Depends-on): Likewise.
57180         * modules/obstack (Depends-on): Likewise.
57181         * modules/pagealign_alloc (Depends-on): Likewise.
57182         * modules/pipe-filter-gi (Depends-on): Likewise.
57183         * modules/pipe-filter-ii (Depends-on): Likewise.
57184         * modules/savewd (Depends-on): Likewise.
57185         * modules/spawn-pipe (Depends-on): Likewise.
57186         * modules/wait-process (Depends-on): Likewise.
57187         * modules/xsetenv (Depends-on): Likewise.
57188         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
57189         * modules/git-merge-changelog (Depends-on): Likewise.
57190         * modules/long-options (Depends-on): Likewise.
57191         * modules/pt_chown (Depends-on): Likewise.
57192         * modules/sysexits (Depends-on): Likewise.
57194         freading: relax license from LGPLv3+ to LGPLv2+
57195         * modules/freading (License): Relax LGPL version.
57197 2011-05-02  Bruno Haible  <bruno@clisp.org>
57199         fchdir: Remove unused dependencies.
57200         * modules/fchdir (Depends-on): Remove include_next.
57202 2011-05-02  Bruno Haible  <bruno@clisp.org>
57204         gnulib-tool: Refactor.
57205         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
57206         from func_emit_autoconf_snippets.
57207         (func_emit_autoconf_snippets): Use it.
57209 2011-05-02  Simon Josefsson  <simon@josefsson.org>
57211         * NEWS: Document removal of 'exit'.
57212         * modules/exit: Remove file.
57214 2011-05-01  Bruno Haible  <bruno@clisp.org>
57216         Update DEPENDENCIES.
57217         * DEPENDENCIES (gettext): Recommend the newest release.
57218         Reported by Simon Josefsson.
57220 2011-05-01  Bruno Haible  <bruno@clisp.org>
57222         gnulib-tool: Reduce code duplication.
57223         * gnulib-tool (func_emit_autoconf_snippets): New function.
57224         (func_import, func_create_testdir): Use it.
57226 2011-04-30  Eric Blake  <eblake@redhat.com>
57228         fclose: don't fail on non-seekable input stream
57229         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
57230         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
57231         since fflush is allowed to fail in that case.
57233 2011-04-30  Bruno Haible  <bruno@clisp.org>
57235         dup3: cleanup
57236         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
57238 2011-04-30  Bruno Haible  <bruno@clisp.org>
57240         netdb: Make it work in C++ mode.
57241         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
57242         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
57243         module.
57244         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
57245         gl_MODULE_INDICATOR_FOR_TESTS.
57246         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
57247         * modules/netdb-c++-tests: New file.
57248         * tests/test-netdb-c++.cc: New file.
57250 2011-04-30  Bruno Haible  <bruno@clisp.org>
57252         New modules 'vfscanf', 'vscanf'.
57253         * modules/vfscanf: New file.
57254         * modules/vscanf: New file.
57255         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
57256         here.
57257         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
57258         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
57260 2011-04-30  Bruno Haible  <bruno@clisp.org>
57262         passfd: Add comments.
57263         * lib/passfd.c: Add comments about platforms.
57265 2011-04-30  Bruno Haible  <bruno@clisp.org>
57267         sys_uio: Make <sys/uio.h> self-contained.
57268         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
57269         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
57271 2011-04-30  Bruno Haible  <bruno@clisp.org>
57273         sys_socket: Ensure 'struct iovec' definition.
57274         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
57275         <sys/socket.h>.
57276         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
57278 2011-04-30  Bruno Haible  <bruno@clisp.org>
57280         sys_uio: Protect definition of 'struct iovec'.
57281         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
57282         it as a C struct.
57284 2011-04-30  Bruno Haible  <bruno@clisp.org>
57286         manywarnings: fix indentation
57287         * m4/manywarnings.m4: Indent by 2 spaces consistently.
57289 2011-04-30  Pádraig Brady  <P@draigBrady.com>
57291         manywarnings: add -Wno-missing-field-initializers if needed.
57292         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
57293         option if it's needed to allow initialization with { 0, }
57295 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
57297         announce-gen: cosmetic improvement
57298         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
57300 2011-04-29  Jim Meyering  <meyering@redhat.com>
57302         vc-list-files: indent with spaces, not TABs
57303         * build-aux/vc-list-files: Convert leading TABs to spaces,
57304         to match the style of most other files in gnulib.
57306         announce-gen: indent with spaces, not TABs
57307         * build-aux/announce-gen: Convert all TABs to spaces, to match
57308         the style of most other files in gnulib.
57310 2011-04-29  Eric Blake  <eblake@redhat.com>
57312         quotearg: avoid uninitialized variable use
57313         * lib/quotearg.c (quoting_options_from_style): Initialize
57314         remaining fields, and ensure that custom styles are only used via
57315         quoting_options rather than quoting_style.
57317 2011-04-29  Jim Meyering  <meyering@redhat.com>
57319         maint.mk: remove unused VC-tag variable
57320         * top/maint.mk (VC-tag): Remove unused variable.
57322 2011-04-29  Bruno Haible  <bruno@clisp.org>
57324         netdb: fix gai_strerror replacements
57325         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
57326         * modules/netdb: Substitute it.
57328 2011-04-29  Jim Meyering  <meyering@redhat.com>
57330         test-getcwd.c: avoid new set-but-not-used warning
57331         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
57332         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
57333         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
57334         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
57336         test-hash.c: avoid a new shadowing warning
57337         * tests/test-hash.c (main): Don't shadow "dup".
57339 2011-04-28  Eric Blake  <eblake@redhat.com>
57341         getaddrinfo: fix gai_strerror signature
57342         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
57343         and work around mingw with UNICODE defined.
57344         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
57345         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
57346         * modules/netdb (Makefile.am): Substitute it.
57347         * lib/netdb.in.h (gai_strerror): Declare replacement.
57348         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
57349         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
57350         the fix.
57352         getsockopt: avoid compiler warning
57353         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
57354         Reported by Matthias Bolte.
57356         tests: drop unused link dependency
57357         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
57358         * modules/dirent-safer-tests (Makefile.am): Likewise.
57359         * modules/fdopendir-tests (Makefile.am): Likewise.
57360         * modules/mkfifoat-tests (Makefile.am): Likewise.
57361         * modules/openat-safer-tests (Makefile.am): Likewise.
57362         * modules/openat-tests (Makefile.am): Likewise.
57363         * modules/readlinkat-tests (Makefile.am): Likewise.
57364         * modules/symlinkat-tests (Makefile.am): Likewise.
57365         * modules/linkat-tests (Makefile.am): Likewise.
57366         (Depends-on): Switch to filenamecat-lgpl.
57367         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
57368         LIBINTL.
57369         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
57370         * tests/test-linkat.c (main): Don't require xalloc.
57372         hash, mgetgroups: drop xalloc dependency
57373         * lib/hash.c (includes): Adjust includes.
57374         * lib/mgetgroups.c (includes): Likewise.
57375         (xgetgroups): Move...
57376         * lib/xgetgroups.c: ...to new file.
57377         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
57378         * modules/xgetgroups: New file, split from...
57379         * modules/mgetgroups: ...here.
57380         (Depends-on): Add xalloc-oversized.
57381         * modules/hash (Depends-on): Likewise.
57382         * modules/hash-tests (Depends-on): Drop xalloc.
57383         (test_hash_LDADD): Drop unused library.
57384         * tests/test-hash.c (main): Break xalloc dependency.
57385         (includes): Drop unused include.
57387         xalloc-oversized: new module
57388         * modules/xalloc-oversized: New module.
57389         * modules/xalloc (Depends-on): Add it.
57390         * lib/xalloc.h (xalloc_oversized): Move...
57391         * lib/xalloc-oversized.h: ...into new file.
57393         utimecmp: drop dependency on xmalloc
57394         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
57395         due to memory pressure.
57396         * modules/utimecmp (Depends-on): Drop xalloc.
57398 2011-04-27  Eric Blake  <eblake@redhat.com>
57400         getcwd: fix mingw bugs
57401         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
57402         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
57403         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
57405 2011-04-27  Bruno Haible  <bruno@clisp.org>
57407         mkstemps: Ensure declaration on MacOS X 10.5.
57408         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
57409         * doc/glibc-functions/mkstemps.texi: Document header file problem on
57410         MacOS X.
57412 2011-04-27  Bruno Haible  <bruno@clisp.org>
57414         mkstemp: More documentation.
57415         * doc/posix-functions/mkstemp.texi: Document header file problem on
57416         MacOS X.
57418 2011-04-27  Bruno Haible  <bruno@clisp.org>
57420         mkstemp: Tweak configure message when cross-compiling.
57421         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
57422         result as a guess.
57424 2011-04-27  Bruno Haible  <bruno@clisp.org>
57426         clean-temp: Clarify what it does.
57427         * lib/clean-temp.h: Add more comments.
57428         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
57429         module.
57430         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
57431         * doc/glibc-functions/mkstemps.texi: Likewise.
57432         * doc/glibc-functions/mkostemps.texi: Likewise.
57434 2011-04-27  Eric Blake  <eblake@redhat.com>
57436         fchdir: avoid extra chdir and fix test
57437         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
57438         getcwd-lgpl.
57439         * lib/fchdir.c (get_name): Any absolute name will do; it does not
57440         have to be canonical.
57441         (canonicalize_file_name): Drop unused macro.
57442         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
57444         filenamecat-lgpl: fix licence
57445         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
57446         when it was first created.
57448         linkat, renameat: add missing dependency
57449         * modules/linkat (Depends-on): Require getcwd-lgpl.
57450         * modules/renameat (Depends-on): Likewise.
57452         tests: reduce dependencies
57453         * tests/test-linkat.c (main): Use lighter-weight getcwd.
57454         * tests/test-renameat.c (main): Likewise.
57455         * modules/linkat-tests (Depends-on): Relax dependency.
57456         * modules/renameat-tests (Depends-on): Likewise.
57457         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
57458         dependency explicit.
57460         save-cwd: reduce default dependency
57461         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
57462         * lib/save-cwd.c: Update comments.
57463         * NEWS: Document the semantic change.
57465         getcwd: enhance tests
57466         * tests/test-getcwd-lgpl.c: New file, taken from...
57467         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
57468         repeat long path stress tests from m4 probe.
57469         * modules/getcwd-lgpl-tests: New module.
57470         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
57471         * m4/getcwd-abort-bug.m4: Update comment.
57472         * m4/getcwd-path-max.m4: Likewise.
57474         getcwd-lgpl: new module
57475         * modules/getcwd-lgpl: New module.
57476         * lib/getcwd-lgpl.c: New file.
57477         * doc/posix-functions/getcwd.texi (getcwd): Document it.
57478         * MODULES.html.sh (lacking POSIX:2008): Likewise.
57479         * modules/getcwd (configure.ac): Set C witness.
57480         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
57482         getcwd: tweak comments
57483         * m4/getcwd-abort-bug.m4: Fix comments.
57484         * m4/getcwd-path-max.m4: Likewise.
57485         * m4/getcwd.m4: Likewise.
57487 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
57488         and Eric Blake  <eblake@redhat.com>
57490         mkstemp: replace if system version uses wrong permissions
57491         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
57492         read/write mode bits set in file created by mkstemp.
57493         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
57495 2011-04-27  Eric Blake  <eblake@redhat.com>
57497         passfd: avoid compiler warning
57498         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
57499         Reported by Laine Stump.
57501 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
57503         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
57504         required by the NetBSD (and perhaps other 4.4BSD derived) join.
57506 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
57507         and Eric Blake  <eblake@redhat.com>
57509         mkstemp: mention clean-temp module
57510         * lib/mkstemp.c: Add comment.
57511         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
57513 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
57515         inttypes: also provide default values for 32-bit tests
57516         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
57517         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
57519 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
57521         strtoumax: remove dependency on strtoimax
57522         This is like the strtoull change of yesterday.
57523         * modules/strtoumax (Files): Add lib/strtoimax.c.
57524         (Depends-on): Remove strtoimax and add verify.
57526         inttypes-incomplete: new module
57527         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
57528         all but the PRI* and SCN* parts of gl_INTTYPES_H.
57529         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
57530         of gl_INTTYPES_H.
57531         (gl_INTTYPES_H): Rewrite in terms of these new macros.
57532         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
57533         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
57534         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
57535         * modules/strtoumax, modules/xstrtol (Depends-on):
57536         Depend on inttypes-incomplete, not inttypes.
57537         * modules/inttypes-incomplete: New module, containing the contents
57538         of the old modules/inttypes module, except that the Files: section
57539         omits m4/inttypes-pri.m4, and the configure.ac section invokes
57540         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
57541         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
57542         (Depends-on): Depend only on inttypes-incomplete.
57543         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
57545         inttypes: omit now-redundant strtoimax and strtoumax work
57546         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
57547         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
57549         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
57550         This supports apps that need pointers to strtoimax and strtoumax,
57551         and ports to HP-UX 11.00 64.bit, which has macros that expand to
57552         nonexistent functions.  See
57553         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
57554         et seq.
57555         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
57556         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
57557         a macro.
57558         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
57560 2011-04-25  Simon Josefsson  <simon@josefsson.org>
57562         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
57564 2011-04-25  Bruno Haible  <bruno@clisp.org>
57566         strtol, strtoul: Mark modules as obsolete.
57567         * modules/strtol (Status, Notice): New sections.
57568         * modules/strtoul (Status, Notice): New sections.
57570 2011-04-25  Bruno Haible  <bruno@clisp.org>
57572         strtod: Remove check for strtod, unless supporting old platforms.
57573         * modules/strtod-obsolete: New file.
57574         * m4/strtod-obsolete.m4: New file.
57575         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
57576         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
57577         * modules/strtod (Depends-on): Add strtod-obsolete.
57578         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
57580 2011-04-25  Bruno Haible  <bruno@clisp.org>
57582         strcase: Make module obsolete.
57583         * modules/strcase (Status, Notice): New sections.
57585 2011-04-25  Bruno Haible  <bruno@clisp.org>
57587         dup2: Remove check for dup2, unless supporting old obsolete platforms.
57588         * modules/dup2-obsolete: New file.
57589         * m4/dup2-obsolete.m4: New file.
57590         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
57591         gl_FUNC_DUP2_OBSOLETE is not also defined.
57592         * modules/dup2 (Depends-on): Add dup2-obsolete.
57593         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
57595 2011-04-25  Bruno Haible  <bruno@clisp.org>
57597         strnlen: Avoid memchr related link error on old obsolete platforms.
57598         * modules/memchr-obsolete: New file.
57599         * m4/memchr-obsolete.m4: New file.
57600         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
57601         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
57602         * modules/memchr (Depends-on): Add memchr-obsolete.
57603         * modules/strnlen (Depends-on): Likewise.
57604         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
57606 2011-04-25  Jim Meyering  <meyering@redhat.com>
57608         maint.mk: makefile_at_at_check extend and clean up
57609         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
57610         in addition to */Makefile.am.
57611         Exempt legitimate uses of @VAR@ notation, e.g.,
57612         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
57613         Remove obsolete coreutils-specific comment.
57614         Prompted by discussion here:
57615         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
57617 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
57619         strtoul: remove dependency on strtol
57620         This is so that 'configure' need not check for strtol merely because
57621         the application needs strtoul.
57622         * modules/strtoul (Files): Add lib/strtol.c.
57623         (Depends-on): Remove strtol.
57625         strtoull: remove dependency on strtoul
57626         This is like the strtoll change.
57627         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
57628         (Depends-on): Remove strtoul.
57630         strtoll: remove dependency on strtol
57631         This is so that 'configure' need not check for strtol merely because
57632         the application needs strtoll.
57633         * modules/strtoll (Files): Add lib/strtol.c.
57634         (Depends-on): Remove strtol.
57636 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57638         inttypes: Move some configure check to module 'imaxdiv'.
57639         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
57640         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
57641         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
57643 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57645         inttypes: Move some configure check to module 'imaxabs'.
57646         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
57647         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
57648         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
57650 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57652         inttypes: Remove configure tests that are not needed since 2009-12-31.
57653         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
57654         gl_cv_header_working_inttypes_h.
57656 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57658         * modules/strnlen (Depends-on): Remove memchr.
57659         The strnlen implementation doesn't need the memchr module's fixes; see
57660         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
57662         strtol: remove dependency on wchar
57663         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
57664         * modules/strtol (Depends-on): Remove wchar.
57666 2011-04-21  Eric Blake  <eblake@redhat.com>
57668         passfd: fix test regression on Linux
57669         * modules/passfd-tests (configure.ac): Correct socketpair check.
57671         passfd: speed up configure and drop unused code
57672         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
57673         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
57674         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
57675         Instead of probing at configure for unix_scm_rights_bsd44_way,
57676         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
57677         check to a struct member probe.
57678         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
57679         (sendfd, recvfd): Update preprocessor checks.
57680         * modules/passfd (Files): Reflect rename, and drop unused file.
57681         (Depends-on): Drop unused dependency.
57683         passfd: allow compilation on mingw
57684         * modules/sys_socket (Depends-on): Add sys_uio.
57685         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
57686         iovec and a minimal struct msghdr.
57687         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
57688         * tests/test-sys_socket.c (main): Enhance test.
57689         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
57690         guaranteed to provide what we need.
57691         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
57692         * modules/passfd-tests (Depends-on): Add sys_wait.
57693         * tests/test-passfd.c (main): Skip test on mingw, for now.
57694         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
57695         partial 'struct msghdr' implementation.
57697         sys_uio: new module
57698         * modules/sys_uio: New module.
57699         * modules/sys_uio-tests: Likewise.
57700         * lib/sys_uio.in.h: New file.
57701         * m4/sys_uio_h.m4: Likewise.
57702         * tests/test-sys_uio.c: Likewise.
57703         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
57704         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
57706 2011-04-20  Jim Meyering  <meyering@redhat.com>
57708         useless-if-before-free: avoid false-positive
57709         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
57710         disjunct so that it too requires a terminating ";".  Without that,
57711         this script would identify as useless one statement from gcc that
57712         was not:
57713           if (aligned_ptr)
57714             free (((void **) aligned_ptr) [-1]);
57716 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
57718         doc: update users.txt.
57719         * users.txt: Add barcode.
57721 2011-04-19  Bruno Haible  <bruno@clisp.org>
57723         ioctl: Remove link dependency on native Windows.
57724         * lib/fd-hook.h: Renamed from lib/close-hook.h.
57725         (gl_close_fn, gl_ioctl_fn): New types.
57726         (struct fd_hook): Renamed from struct close_hook. Change type of
57727         private_close_fn field. Add private_ioctl_fn field.
57728         (close_hook_fn): Add parameter for primary close method.
57729         (execute_close_hooks, execute_all_close_hooks): Likewise.
57730         (ioctl_hook_fn): New type.
57731         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
57732         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
57733         argument.
57734         (unregister_fd_hook): Renamed from unregister_close_hook.
57735         * lib/fd-hook.c: Renamed from lib/close-hook.c.
57736         Don't include <unistd.h>.
57737         (close): Remove undef.
57738         (anchor): Update.
57739         (execute_close_hooks): Add argument for primary close method.
57740         (execute_all_close_hooks): Likewise.
57741         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
57742         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
57743         argument. Allow each argument to be NULL.
57744         (unregister_fd_hook): Renamed from unregister_close_hook.
57745         * lib/close.c (rpl_close): Pass 'close' function pointer to
57746         execute_all_close_hooks.
57747         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
57748         (primary_ioctl): New function.
57749         (ioctl): Don't call ioctlsocket here. Instead, call
57750         execute_all_ioctl_hooks.
57751         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
57752         close method.
57753         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
57754         (fd_sockets_hook): Renamed from close_sockets_hook.
57755         (gl_sockets_startup, gl_sockets_cleanup): Update.
57756         * modules/fd-hook: Renamed from modules/close-hook. Update.
57757         * modules/close (Depends-on): Add fd-hook, remove close-hook.
57758         * modules/sockets (Depends-on): Likewise.
57759         * modules/ioctl (Depends-on): Add fd-hook.
57760         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
57761         GNULIB_SOCKET.
57763 2011-04-19  Bruno Haible  <bruno@clisp.org>
57765         Move the support of O_NONBLOCK in open() to the 'open' module.
57766         * modules/nonblocking (Depends-on): Remove 'open'.
57767         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
57768         gl_cv_have_open_O_NONBLOCK.
57769         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
57770         O_NONBLOCK support.
57771         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
57773 2011-04-17  Bruno Haible  <bruno@clisp.org>
57775         pipe2: Simplify code.
57776         * lib/pipe2.c (pipe2): Reduce code duplication.
57778 2011-04-17  Bruno Haible  <bruno@clisp.org>
57780         nonblocking: Add comment.
57781         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
57783 2011-04-17  Bruno Haible  <bruno@clisp.org>
57785         nonblocking: Add tests for sockets.
57786         * tests/test-nonblocking-socket.sh: New file.
57787         * tests/test-nonblocking-socket-main.c: New file.
57788         * tests/test-nonblocking-socket-child.c: New file.
57789         * tests/test-nonblocking-socket.h: New file.
57790         * tests/socket-server.h: New file.
57791         * tests/socket-client.h: New file.
57792         * modules/nonblocking-socket-tests: New file.
57793         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
57795 2011-04-17  Bruno Haible  <bruno@clisp.org>
57797         nonblocking: Add tests for pipes.
57798         * tests/test-nonblocking-pipe.sh: New file.
57799         * tests/test-nonblocking-pipe-main.c: New file.
57800         * tests/test-nonblocking-pipe-child.c: New file.
57801         * tests/test-nonblocking-pipe.h: New file.
57802         * tests/test-nonblocking-writer.h: New file.
57803         * tests/test-nonblocking-reader.h: New file.
57804         * tests/test-nonblocking-misc.h: New file.
57805         * modules/nonblocking-pipe-tests: New file.
57806         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
57808 2011-04-16  Bruno Haible  <bruno@clisp.org>
57810         gettext: Clarify the needed programmer actions.
57811         * modules/gettext (Notice): New field.
57812         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
57814 2011-04-16  Bruno Haible  <bruno@clisp.org>
57816         strchrnul: Tweak last commit.
57817         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
57818         bug.
57819         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
57820         as in _GL_FUNCDECL_SYS.
57821         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
57822         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
57824 2011-04-15  Eric Blake  <eblake@redhat.com>
57826         strchrnul: work around cygwin bug
57827         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
57828         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
57829         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
57830         * modules/string (Makefile.am): Substitute it.
57831         * lib/string.in.h (strchrnul): Use it.
57833 2011-04-15  Bruno Haible  <bruno@clisp.org>
57835         Don't require lib/stdio-write.c when only module 'stdio' is used.
57836         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
57837         invocation.
57838         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
57840 2011-04-14  Bruno Haible  <bruno@clisp.org>
57842         Support non-blocking pipe I/O in read() on native Windows.
57843         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
57844         (read): New declaration.
57845         * lib/read.c: New file.
57846         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
57847         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
57848         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
57849         vscanf): New declarations.
57850         * lib/stdio-read.c: New file.
57851         * m4/read.m4: New file.
57852         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
57853         REPLACE_READ.
57854         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
57855         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57856         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
57857         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
57858         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
57859         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57860         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
57861         * modules/read: New file.
57862         * modules/nonblocking (Files): Add lib/stdio-read.c.
57863         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
57864         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
57865         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57866         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
57867         * modules/pread (Depends-on): Add read.
57868         * modules/safe-read (Depends-on): Likewise.
57869         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
57870         gets, scanf, vfscanf, vscanf): Verify signatures.
57871         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
57872         problem with non-blocking pipes.
57873         * doc/posix-functions/fgetc.texi: Likewise.
57874         * doc/posix-functions/fgets.texi: Likewise.
57875         * doc/posix-functions/fread.texi: Likewise.
57876         * doc/posix-functions/fscanf.texi: Likewise.
57877         * doc/posix-functions/getc.texi: Likewise.
57878         * doc/posix-functions/getchar.texi: Likewise.
57879         * doc/posix-functions/gets.texi: Likewise.
57880         * doc/posix-functions/scanf.texi: Likewise.
57881         * doc/posix-functions/vfscanf.texi: Likewise.
57882         * doc/posix-functions/vscanf.texi: Likewise.
57884 2011-04-14  Bruno Haible  <bruno@clisp.org>
57886         Support non-blocking pipe I/O in write() on native Windows.
57887         * lib/write.c (rpl_write): Split a write request that failed merely
57888         because the byte count was larger than the pipe buffer's size.
57889         * doc/posix-functions/write.texi: Mention the problem with large byte
57890         counts.
57892 2011-04-14  Bruno Haible  <bruno@clisp.org>
57894         wchar: Ensure that wchar_t gets defined on uClibc.
57895         * lib/wchar.in.h: On uClibc, include <stddef.h>.
57896         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
57898 2011-04-13  Bruno Haible  <bruno@clisp.org>
57900         safe-write, full-read: Avoid unnecessary compilation units.
57901         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
57902         (Depends-on): Remove safe-read. Add ssize_t.
57903         * modules/full-read (Files): Add lib/full-write.c.
57904         (Depends-on): Add full-write.
57906 2011-04-13  Bruno Haible  <bruno@clisp.org>
57908         Support non-blocking pipe I/O and SIGPIPE in pwrite().
57909         * modules/pwrite (Depends-on): Add 'write'.
57911 2011-04-13  Bruno Haible  <bruno@clisp.org>
57913         Support non-blocking pipe I/O in write() on native Windows.
57914         * lib/unistd.in.h (write): Enable replacement also if
57915         GNULIB_UNISTD_H_NONBLOCKING is 1.
57916         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
57917         (rpl_write): When failing to write on a non-blocking pipe, change
57918         errno from ENOSPC to EAGAIN.
57919         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
57920         putchar, puts, vfprintf, vprintf): Enable replacement also if
57921         GNULIB_STDIO_H_NONBLOCKING is 1.
57922         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
57923         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
57924         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
57925         CALL_WITH_SIGPIPE_EMULATION.
57926         (CALL_WITH_SIGPIPE_EMULATION): Use them.
57927         * m4/nonblocking.m4: New file.
57928         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
57929         for non-blocking I/O support.
57930         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57931         GNULIB_UNISTD_H_NONBLOCKING.
57932         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
57933         required for non-blocking I/O support.
57934         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
57935         * modules/nonblocking (Files): Add m4/nonblocking.m4,
57936         lib/stdio-write.c, m4/asm-underscore.m4.
57937         (Depends-on): Add stdio, unistd.
57938         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
57939         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
57940         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
57941         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
57942         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
57943         problem with non-blocking pipes.
57944         * doc/posix-functions/fputc.texi: Likewise.
57945         * doc/posix-functions/fputs.texi: Likewise.
57946         * doc/posix-functions/fwrite.texi: Likewise.
57947         * doc/posix-functions/printf.texi: Likewise.
57948         * doc/posix-functions/putc.texi: Likewise.
57949         * doc/posix-functions/putchar.texi: Likewise.
57950         * doc/posix-functions/puts.texi: Likewise.
57951         * doc/posix-functions/vfprintf.texi: Likewise.
57952         * doc/posix-functions/vprintf.texi: Likewise.
57953         * doc/posix-functions/write.texi: Likewise.
57955 2011-04-10  Jim Meyering  <meyering@redhat.com>
57957         maint.mk: prohibit doubled words
57958         Detect them also when they're separated by a newline.
57959         There are 3 ways to customize it:
57960           - disable the test on a per file basis, as usual with rules using
57961             $(VC_LIST_EXCEPT)
57962           - replace the default doubled-word-selecting regexp (affects all files)
57963           - ignore a particular file-vs-doubled-word match
57964         I nearly used that last one to ignore the "is is" match in
57965         coreutils' NEWS file, since the text was "ls -is is ..."
57966         To do that, I would have added this line to cfg.mk:
57967           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
57968         but it would have ignored any "is is" match in NEWS.
57969         Low probability, but still...
57970         Instead, I changed the text, slightly:
57971           -  ls -is is now consistent with ls -lis in ignoring values returned
57972           +  "ls -is" is now consistent with ls -lis in ignoring values returned
57973         * top/maint.mk (prohibit_double_word_RE_): Provide default.
57974         (prohibit_doubled_word_): Define.
57975         (sc_prohibit_doubled_word): New rule.
57976         (sc_prohibit_the_the): Remove.  Subsumed by the above.
57978 2011-04-10  Jim Meyering  <meyering@redhat.com>
57980         maint: fix doubled-word typo in comment
57981         * m4/gethostname.m4: s/is is/it is/
57982         * m4/getdomainname.m4: Likewise.
57984 2011-04-10  Jim Meyering  <meyering@redhat.com>
57986         maint: remove doubled word: s/it it/it/
57987         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
57989 2011-04-10  Jim Meyering  <meyering@redhat.com>
57991         maint.mk: remove useless semicolon and backslash
57992         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
57993         semicolon and backslash.
57995 2011-04-10  Bruno Haible  <bruno@clisp.org>
57997         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
57998         * modules/stdint-tests (Depends-on): Add wchar.
58000 2011-04-10  Jim Meyering  <meyering@redhat.com>
58002         maint: remove doubled words in comments, e.g., s/a a/a/
58003         * lib/strptime.c (day_of_the_week): s/the the/the/
58004         * tests/test-chown.h (test_chown): s/a a/a/
58006         test-chown.h: correct a cast
58007         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
58008         when the destination is a stat.st_gid.
58010 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
58012         getaddrinfo: Fix test for sa_len member.
58013         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
58014         include <sys/types.h> before <sys/socket.h>.
58016 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
58018         maint: change "can not" to "cannot"
58019         * doc/posix-functions/iconv.texi (iconv): This one crossed line
58020         boundaries.
58022 2011-04-09  Jim Meyering  <meyering@redhat.com>
58024         maint: change "a a" to "a"
58025         * tests/test-lchown.h (test_lchown): s/a a/a/
58027         maint.mk: prohibit \<the the\>
58028         * top/maint.mk (sc_prohibit_the_the): New rule.
58030         maint: fix "the the" in comment
58031         * lib/count-one-bits.h: s/the the/the/
58033         maint: change "can not" to "cannot"
58034         But do not change the occurrences in maintain.texi or in
58035         build-aux/po/Makefile.in.in, which I presume comes from gettext.
58036         * doc/gnulib-tool.texi: s/can not/cannot/
58037         * doc/posix-functions/accept.texi (accept): Likewise.
58038         * doc/posix-functions/socket.texi (socket): Likewise.
58039         * lib/mbrtowc.c: Likewise.
58041         maint.mk: prohibit use of "can not"
58042         * top/maint.mk (sc_prohibit_can_not): New rule.
58043         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
58045 2011-04-09  Bruno Haible  <bruno@clisp.org>
58047         careadlinkat: Guard against misuse of careadlinkatcwd.
58048         * lib/careadlinkat.c: Include <stdlib.h>.
58049         (careadlinkatcwd): Check that the fd argument is as expected.
58051 2011-04-09  Bruno Haible  <bruno@clisp.org>
58053         careadlinkat: Use common coding style.
58054         * lib/careadlinkat.c: Move gnulib includes after system includes.
58056 2011-04-09  Bruno Haible  <bruno@clisp.org>
58058         careadlinkat: Clarify specification.
58059         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
58060         (careadlinkatcwd): Add comment.
58061         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
58063 2011-04-09  Bruno Haible  <bruno@clisp.org>
58065         areadlinkat: Avoid link error on many platforms.
58066         * modules/areadlinkat (Depends-on): Add areadlink.
58068 2011-04-09  Bruno Haible  <bruno@clisp.org>
58070         allocator, careadlinkat: Fix double-inclusion guard.
58071         * lib/allocator.h: Fix double-inclusion guard.
58072         * lib/careadlinkat.h: Likewise.
58074 2011-04-09  Bruno Haible  <bruno@clisp.org>
58076         relocatable-prog-wrapper: Update after module 'areadlink' changed.
58077         * lib/relocwrapper.c: Update dependencies hierarchy.
58078         * build-aux/install-reloc: Update list of files to be compiled.
58079         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
58080         lib/allocator.[hc].
58082 2011-04-08  Eric Blake  <eblake@redhat.com>
58084         strftime: silence gnulib-tool warning
58085         * modules/strftime-tests (Depends-on): Drop automatic dependency.
58087 2011-04-08  Bruno Haible  <bruno@clisp.org>
58089         verify: Fix syntax error with GCC 4.6 in C++ mode.
58090         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
58091         (HAVE_STATIC_ASSERT): New macro.
58092         (verify_true, verify): Use 'static_assert' if it is supported and
58093         '_Static_assert' is not supported.
58095 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
58097         allocator: New module.
58098         * modules/allocator, lib/allocator.c: New files.
58099         * lib/allocator.h (stdlib_allocator): New decl.
58100         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
58101         Remove.  Do not include <stdlib.h>.
58102         (careadlinkat): Use stdlib_allocator instead of rolling our own.
58103         * modules/careadlinkat (Files): Remove lib/allocator.h.
58104         (Depends-on): Add allocator.
58106         stdlib: let modules use system malloc, realloc
58107         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
58108         if !_GL_USE_STDLIB_ALLOC.
58109         (malloc, realloc): Limit this change to a smaller scope.
58111         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
58112         (malloc, realloc): Don't #undef; no longer needed.
58113         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58114         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58115         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
58116         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58117         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58118         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58119         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
58120         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
58122         careadlinkat: rename members to avoid problem
58123         * lib/allocator.h (struct allocator): Rename members from
58124         malloc/realloc to allocate/reallocate, to avoid problems if malloc
58125         and realloc are #define'd.  Reported by Eric Blake in
58126         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
58127         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
58129 2011-04-08  Eric Blake  <eblake@redhat.com>
58131         nonblocking: reduce dependency
58132         * tests/test-nonblocking.c: Only test sockets when in use.
58133         * modules/nonblocking-tests (Depends-on): Drop socket.
58134         (Makefile.am): Link even if sockets are not present.
58135         * modules/pipe2-tests (Makefile.am): Likewise.
58136         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
58138         pipe2: fix O_NONBLOCK support on mingw
58139         * modules/pipe2 (Depends-on): Add nonblocking.
58140         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
58141         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
58142         * tests/test-nonblocking.c (main): Likewise.
58143         * modules/pipe2-tests (Makefile.am): Avoid link failure.
58145         fcntl-h: fix O_ACCMODE on cygwin
58146         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
58147         * lib/fcntl.in.h (O_ACCMODE): Fix it.
58149         pipe-filter: drop O_NONBLOCK workarounds
58150         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
58151         * modules/pipe-filter-ii (Depends-on): Likewise.
58152         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
58154         nonblocking: provide O_NONBLOCK for mingw
58155         * modules/nonblocking (Depends-on): Add open.
58156         (configure.ac): Set new witness macro.
58157         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
58158         * modules/fcntl-h (Makefile.am): Substitute it.
58159         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
58160         nonblocking module is in use.
58161         * lib/nonblocking.c: Adjust portability test.
58162         * lib/open.c (open): Don't let native open see gnulib flag.
58163         * tests/test-fcntl-h.c (main): Enhance test.
58164         * tests/test-open.h (test_open): Likewise.
58165         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
58167         careadlinkat: fix compilation error on mingw
58168         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
58169         within struct allocator.
58171 2011-04-06  Eric Blake  <eblake@redhat.com>
58173         binary-io: relicense under LGPLv2+
58174         * modules/binary-io (License): Relax to LGPLv2+.
58175         Requested for libvirt, and required by pipe2.
58177 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
58179         verify: use _Static_assert if available
58180         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
58181         (verify_true, verify): Use it if available.  This generates better
58182         diagnostics with GCC 4.6.0 and later.
58184 2011-04-05  Bruno Haible  <bruno@clisp.org>
58186         Remove leftover generated .h files after config.status changed.
58188         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
58189         GL_GENERATE_ALLOCA_H.
58190         * modules/alloca-opt (Makefile.am): Remove alloca.h if
58191         GL_GENERATE_ALLOCA_H evaluates to false.
58193         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
58194         GL_GENERATE_ARGZ_H.
58195         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
58196         evaluates to false.
58198         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
58199         GL_GENERATE_BYTESWAP_H.
58200         * modules/byteswap (Makefile.am): Remove byteswap.h if
58201         GL_GENERATE_BYTESWAP_H evaluates to false.
58203         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
58204         GL_GENERATE_ERRNO_H.
58205         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
58206         evaluates to false.
58208         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
58209         GL_GENERATE_FLOAT_H.
58210         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
58211         evaluates to false.
58213         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
58214         GL_GENERATE_FNMATCH_H.
58215         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
58216         GL_GENERATE_FNMATCH_H evaluates to false.
58218         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
58219         GL_GENERATE_GLOB_H.
58220         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
58221         evaluates to false.
58223         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
58224         automake conditional GL_GENERATE_ICONV_H.
58225         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
58226         evaluates to false.
58228         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
58229         GL_GENERATE_NETINET_IN_H.
58230         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
58231         GL_GENERATE_NETINET_IN_H evaluates to false.
58233         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
58234         conditional GL_GENERATE_PTHREAD_H.
58235         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
58236         * modules/pthread (Makefile.am): Remove pthread.h if
58237         GL_GENERATE_PTHREAD_H evaluates to false.
58239         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
58240         GL_GENERATE_SCHED_H.
58241         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
58242         evaluates to false.
58244         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
58245         conditional GL_GENERATE_SELINUX_CONTEXT_H.
58246         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
58247         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
58249         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
58250         GL_GENERATE_STDARG_H.
58251         * modules/stdarg (Makefile.am): Remove stdarg.h if
58252         GL_GENERATE_STDARG_H evaluates to false.
58254         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
58255         GL_GENERATE_STDBOOL_H.
58256         * modules/stdbool (Makefile.am): Remove stdbool.h if
58257         GL_GENERATE_STDBOOL_H evaluates to false.
58259         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
58260         conditional GL_GENERATE_STDDEF_H.
58261         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
58262         * modules/stddef (Makefile.am): Remove stddef.h if
58263         GL_GENERATE_STDDEF_H evaluates to false.
58265         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
58266         GL_GENERATE_STDINT_H.
58267         * modules/stdint (Makefile.am): Remove stdint.h if
58268         GL_GENERATE_STDINT_H evaluates to false.
58270         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
58271         GL_GENERATE_SYSEXITS_H.
58272         * modules/sysexits (Makefile.am): Remove sysexits.h if
58273         GL_GENERATE_SYSEXITS_H evaluates to false.
58275         Reported by Karl Berry and Ralf Wildenhues.
58277 2011-04-05  Bruno Haible  <bruno@clisp.org>
58279         Ensure to rebuild generated .h files when config.status has changed.
58280         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
58281         config.status.
58282         * modules/ctype (Makefile.am): Likewise.
58283         * modules/dirent (Makefile.am): Likewise.
58284         * modules/errno (Makefile.am): Likewise.
58285         * modules/fcntl-h (Makefile.am): Likewise.
58286         * modules/float (Makefile.am): Likewise.
58287         * modules/getopt-posix (Makefile.am): Likewise.
58288         * modules/glob (Makefile.am): Likewise.
58289         * modules/iconv-h (Makefile.am): Likewise.
58290         * modules/inttypes (Makefile.am): Likewise.
58291         * modules/langinfo (Makefile.am): Likewise.
58292         * modules/locale (Makefile.am): Likewise.
58293         * modules/math (Makefile.am): Likewise.
58294         * modules/netdb (Makefile.am): Likewise.
58295         * modules/netinet_in (Makefile.am): Likewise.
58296         * modules/poll-h (Makefile.am): Likewise.
58297         * modules/pthread (Makefile.am): Likewise.
58298         * modules/pty (Makefile.am): Likewise.
58299         * modules/sched (Makefile.am): Likewise.
58300         * modules/search (Makefile.am): Likewise.
58301         * modules/selinux-h (Makefile.am): Likewise.
58302         * modules/signal (Makefile.am): Likewise.
58303         * modules/spawn (Makefile.am): Likewise.
58304         * modules/stdarg (Makefile.am): Likewise.
58305         * modules/stdbool (Makefile.am): Likewise.
58306         * modules/stddef (Makefile.am): Likewise.
58307         * modules/stdint (Makefile.am): Likewise.
58308         * modules/stdio (Makefile.am): Likewise.
58309         * modules/stdlib (Makefile.am): Likewise.
58310         * modules/string (Makefile.am): Likewise.
58311         * modules/strings (Makefile.am): Likewise.
58312         * modules/sys_file (Makefile.am): Likewise.
58313         * modules/sys_ioctl (Makefile.am): Likewise.
58314         * modules/sys_select (Makefile.am): Likewise.
58315         * modules/sys_socket (Makefile.am): Likewise.
58316         * modules/sys_stat (Makefile.am): Likewise.
58317         * modules/sys_time (Makefile.am): Likewise.
58318         * modules/sys_times (Makefile.am): Likewise.
58319         * modules/sys_utsname (Makefile.am): Likewise.
58320         * modules/sys_wait (Makefile.am): Likewise.
58321         * modules/sysexits (Makefile.am): Likewise.
58322         * modules/termios (Makefile.am): Likewise.
58323         * modules/time (Makefile.am): Likewise.
58324         * modules/unistd (Makefile.am): Likewise.
58325         * modules/wchar (Makefile.am): Likewise.
58326         * modules/wctype-h (Makefile.am): Likewise.
58327         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
58329 2011-04-05  Bruno Haible  <bruno@clisp.org>
58331         pipe2: Relicense under LGPLv2+.
58332         * modules/pipe2 (License): Change to LGPLv2+.
58333         Requested by Eric Blake, for libvirt.
58335 2011-04-05  Bruce Korb  <bkorb@gnu.org>
58337         bootstrap: compute gnulib_extra_files after updating build_aux
58338         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
58339         change build_aux or also supply gnulib_extra_files.  Handle correctly.
58341 2011-04-05  Eric Blake  <eblake@redhat.com>
58343         bootstrap: preserve git whitelist item sorting
58344         * build-aux/bootstrap (sort_patterns): New function.
58345         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
58347 2011-04-05  Simon Josefsson  <simon@josefsson.org>
58349         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
58350         sc_space_tab check.
58352 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
58354         areadlink, areadlinkat: rewrite in terms of careadlinkat
58355         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
58356         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
58357         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
58358         (malloc, realloc): Remove #undefs.
58359         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
58360         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
58361         readlink, ssize_t, stdint, unistd.
58362         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
58363         areadlink, stdint.
58365         careadlinkat: new module
58366         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
58367         * modules/careadlinkat: New files, written by me with
58368         a review and feedback from Ben Pfaff in
58369         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
58371 2011-04-01  Bruno Haible  <bruno@clisp.org>
58373         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
58374         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
58375         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
58376         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
58377         Reported by Bruce Korb <bruce.korb@gmail.com>.
58379 2011-04-01  Bruno Haible  <bruno@clisp.org>
58381         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
58382         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
58383         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
58384         * modules/wcpcpy (Depends-on): Add extensions.
58385         * modules/wcpncpy (Depends-on): Likewise.
58386         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
58387         systems.
58388         * doc/posix-functions/wcpncpy.texi: Likewise.
58389         * doc/posix-functions/wcwidth.texi: Likewise.
58391 2011-03-31  Eric Blake  <eblake@redhat.com>
58393         nonblocking: fix mingw test failures
58394         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
58395         non-blocking flag on regular file.
58396         (get_nonblocking_flag): Set errno on invalid fd.
58397         * tests/test-nonblocking.c (main): Avoid test failure on
58398         directories if fchdir is not active.
58399         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
58401 2011-03-31  Bruno Haible  <bruno@clisp.org>
58403         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
58404         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
58405         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
58406         Reported by Simon Josefsson <simon@josefsson.org>.
58408 2011-03-31  Bruno Haible  <bruno@clisp.org>
58409         and Eric Blake  <eblake@redhat.com>
58411         nonblocking: new module
58412         * modules/nonblocking: New module.
58413         * modules/nonblocking-tests: Likewise.
58414         * lib/nonblocking.h: New file.
58415         * lib/nonblocking.c: Likewise.
58416         * tests/test-nonblocking.c: New test.
58417         * lib/ioctl.c (ioctl) [mingw]: Update comment.
58419 2011-03-30  Bruno Haible  <bruno@clisp.org>
58421         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
58422         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
58423         instead of 'printf' format for GCC >= 4.4.
58424         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
58425         (fprintf, printf, vfprintf, vprintf): Declare with
58426         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
58427         the system's vfprintf() function.
58428         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
58430 2011-03-30  Eric Blake  <eblake@redhat.com>
58432         passfd: fix scoping bug
58433         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
58434         before sendmsg/recvmsg.
58436         passfd: standardize coding conventions
58437         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
58438         can be learned at compile time.
58439         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
58440         ifdefs.
58441         (sendfd, recvfd): Follow gnulib code conventions.
58443         passfd: fix incorrect sendmsg arguments
58444         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
58445         incorrect msg_controllen value.
58446         * modules/passfd-tests (Depends-on): Check for alarm.
58447         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
58448         Reported by Bastien ROUCARIES.
58450 2011-03-30  Bruno Haible  <bruno@clisp.org>
58452         c-strcasestr: Relicense under LGPLv2+.
58453         * modules/c-strcasestr (License): Change to LGPLv2+.
58454         Requested by Eric Blake, for libvirt.
58456 2011-03-30  Simon Josefsson  <simon@josefsson.org>
58458         * users.txt: Add libidn2.  Fix libtasn1 link.
58460 2011-03-30  Jim Meyering  <meyering@redhat.com>
58462         tests: readlink* ("",... fails with EINVAL on newer kernels
58463         readlink and readlinkat have typically failed with ENOENT for
58464         the invalid, empty file name,  "".  However, with the advent
58465         of linux-2.6.39, they fail with EINVAL.
58466         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
58467         when operating on the empty file name.
58468         * tests/test-readlink.h (test_readlink): Likewise.
58470 2011-03-29  Bruno Haible  <bruno@clisp.org>
58472         Relicense some modules under LGPLv2+, for libidn2.
58473         * modules/array-mergesort (License): Change to LGPLv2+.
58474         * modules/c-strcaseeq (License): Likewise.
58475         * modules/striconveh (License): Likewise.
58476         * modules/striconveha (License): Likewise.
58477         * modules/uniconv/base (License): Likewise.
58478         * modules/uniconv/u8-conv-from-enc (License): Likewise.
58479         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
58480         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
58481         * modules/unictype/base (License): Likewise.
58482         * modules/unictype/bidiclass-of (License): Likewise.
58483         * modules/unictype/category-M (License): Likewise.
58484         * modules/unictype/category-none (License): Likewise.
58485         * modules/unictype/category-of (License): Likewise.
58486         * modules/unictype/category-test (License): Likewise.
58487         * modules/unictype/category-test-withtable (License): Likewise.
58488         * modules/unictype/combining-class (License): Likewise.
58489         * modules/unictype/joiningtype-of (License): Likewise.
58490         * modules/unictype/scripts (License): Likewise.
58491         * modules/uninorm/base (License): Likewise.
58492         * modules/uninorm/canonical-decomposition (License): Likewise.
58493         * modules/uninorm/composition (License): Likewise.
58494         * modules/uninorm/decompose-internal (License): Likewise.
58495         * modules/uninorm/decomposition-table (License): Likewise.
58496         * modules/uninorm/nfc (License): Likewise.
58497         * modules/uninorm/nfd (License): Likewise.
58498         * modules/uninorm/u32-normalize (License): Likewise.
58499         * modules/unistr/base (License): Likewise.
58500         * modules/unistr/u32-cpy (License): Likewise.
58501         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
58502         * modules/unistr/u32-to-u8 (License): Likewise.
58503         * modules/unistr/u32-uctomb (License): Likewise.
58504         * modules/unistr/u8-check (License): Likewise.
58505         * modules/unistr/u8-mblen (License): Likewise.
58506         * modules/unistr/u8-mbtouc (License): Likewise.
58507         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
58508         * modules/unistr/u8-mbtoucr (License): Likewise.
58509         * modules/unistr/u8-prev (License): Likewise.
58510         * modules/unistr/u8-strlen (License): Likewise.
58511         * modules/unistr/u8-to-u32 (License): Likewise.
58512         * modules/unistr/u8-uctomb (License): Likewise.
58513         * modules/unitypes (License): Likewise.
58514         Requested by Simon Josefsson.
58516 2011-03-29  Simon Josefsson  <simon@josefsson.org>
58518         lib-symbol-visibility: Add a notice.
58519         * modules/lib-symbol-visibility (Notice): New field.
58521 2011-03-29  Bruno Haible  <bruno@clisp.org>
58523         getaddrinfo: Doc fix.
58524         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
58525         section "fixed in Gnulib".
58527 2011-03-28  Simon Josefsson  <simon@josefsson.org>
58529         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
58530         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
58532 2011-03-26  Bruno Haible  <bruno@clisp.org>
58534         unictype/property-byname: Reduce the number of load-time relocations.
58535         * lib/unictype/pr_byname.c: Include <stdlib.h>.
58536         (UC_PROPERTY_INDEX_*): New enumeration values.
58537         (uc_property_byname): Convert an index from the lookup table to an
58538         uc_property_t.
58539         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
58540         values.
58542 2011-03-26  Bruno Haible  <bruno@clisp.org>
58544         unictype/property-byname: Allow omitted word separators and aliases.
58545         * lib/unictype/pr_byname.gperf: Add property names without word
58546         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
58547         for 'space'.
58549 2011-03-26  Bruno Haible  <bruno@clisp.org>
58551         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
58552         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
58553         also hyphens to space.
58554         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
58555         without spaces.
58556         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
58558 2011-03-26  Bruno Haible  <bruno@clisp.org>
58560         unictype/joiningtype-byname: Recognize long names as well.
58561         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
58562         a long name.
58563         * lib/unictype/joiningtype_byname.c: Include <string.h>,
58564         unictype/joiningtype_byname.h.
58565         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
58566         * lib/unictype/joiningtype_byname.gperf: New file.
58567         * modules/unictype/joiningtype-byname (Files): Add
58568         lib/unictype/joiningtype_byname.gperf.
58569         (Depends-on): Add gperf.
58570         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
58571         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
58572         long names.
58574         Tests for module 'unictype/joiningtype-longname'.
58575         * modules/unictype/joiningtype-longname-tests: New file.
58576         * tests/unictype/test-joiningtype_longname.c: New file.
58578         New module 'unictype/joiningtype-longname'.
58579         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
58580         * lib/unictype/joiningtype_longname.c: New file.
58581         * modules/unictype/joiningtype-longname: New file.
58582         * modules/unictype/joiningtype-all (Depends-on): Add
58583         unictype/joiningtype-longname.
58585 2011-03-26  Bruno Haible  <bruno@clisp.org>
58587         unictype/bidiclass-byname: Recognize long names as well.
58588         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
58589         name.
58590         * lib/unictype/bidi_byname.c: Include <string.h>,
58591         unictype/bidi_byname.h.
58592         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
58593         * lib/unictype/bidi_byname.gperf: New file.
58594         * modules/unictype/bidiclass-byname (Files): Add
58595         lib/unictype/bidi_byname.gperf.
58596         (Depends-on): Add gperf.
58597         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
58598         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
58599         long names.
58601         Tests for module 'unictype/bidiclass-longname'.
58602         * modules/unictype/bidiclass-longname-tests: New file.
58603         * tests/unictype/test-bidi_longname.c: New file.
58605         New module 'unictype/bidiclass-longname'.
58606         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
58607         * lib/unictype/bidi_longname.c: New file.
58608         * modules/unictype/bidiclass-longname: New file.
58609         * modules/unictype/bidiclass-all (Depends-on): Add
58610         unictype/bidiclass-longname.
58612 2011-03-26  Bruno Haible  <bruno@clisp.org>
58614         unictype/bidi*: Rename modules.
58615         * modules/unictype/bidiclass-all: Renamed from
58616         modules/unictype/bidicategory-all.
58617         * modules/unictype/bidiclass-name: Renamed from
58618         modules/unictype/bidiclass-name.
58619         (Description): Update.
58620         * modules/unictype/bidiclass-name-tests: Renamed from
58621         modules/unictype/bidicategory-name-tests.
58622         * modules/unictype/bidiclass-byname: Renamed from
58623         modules/unictype/bidicategory-byname.
58624         (Description): Update.
58625         * modules/unictype/bidiclass-byname-tests: Renamed from
58626         modules/unictype/bidicategory-byname-tests.
58627         * modules/unictype/bidiclass-of: Renamed from
58628         modules/unictype/bidicategory-of.
58629         (Description): Update.
58630         * modules/unictype/bidiclass-of-tests: Renamed from
58631         modules/unictype/bidicategory-of-tests.
58632         * modules/unictype/bidiclass-test: Renamed from
58633         modules/unictype/bidicategory-test.
58634         (Description): Update.
58635         * modules/unictype/bidiclass-test-tests: Renamed from
58636         modules/unictype/bidicategory-test-tests.
58637         * modules/unictype/bidicategory-all: New file, a simple redirection.
58638         * modules/unictype/bidicategory-name: Likewise.
58639         * modules/unictype/bidicategory-byname: Likewise.
58640         * modules/unictype/bidicategory-of: Likewise.
58641         * modules/unictype/bidicategory-test: Likewise.
58642         * modules/unictype/property-bidi-* (Dependencies): Update.
58643         * lib/unictype/bidi_*.c: Update comment.
58645 2011-03-26  Bruno Haible  <bruno@clisp.org>
58647         unictype/bidi*: Rename functions, part 2.
58648         * modules/unictype/bidicategory-name (configure.ac): Update required
58649         libunistring version.
58650         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
58652 2011-03-25  Bruno Haible  <bruno@clisp.org>
58654         New module 'unictype/combining-class-all'.
58655         * modules/unictype/combining-class-all: New file.
58657         Tests for module 'unictype/combining-class-byname'.
58658         * modules/unictype/combining-class-byname-tests: New file.
58659         * tests/unictype/test-combiningclass_byname.c: New file.
58661         New module 'unictype/combining-class-byname'.
58662         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
58663         * lib/unictype/combiningclass_byname.c: New file.
58664         * lib/unictype/combiningclass_byname.gperf: New file.
58665         * modules/unictype/combining-class-byname: New file.
58667         Tests for module 'unictype/combining-class-longname'.
58668         * modules/unictype/combining-class-longname-tests: New file.
58669         * tests/unictype/test-combiningclass_longname.c: New file.
58671         New module 'unictype/combining-class-longname'.
58672         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
58673         * lib/unictype/combiningclass_longname.c: New file.
58674         * modules/unictype/combining-class-longname: New file.
58676         Tests for module 'unictype/combining-class-name'.
58677         * modules/unictype/combining-class-name-tests: New file.
58678         * tests/unictype/test-combiningclass_name.c: New file.
58680         New module 'unictype/combining-class-name'.
58681         * lib/unictype.in.h (uc_combining_class_name): New declaration.
58682         * lib/unictype/combiningclass_name.c: New file.
58683         * modules/unictype/combining-class-name: New file.
58685 2011-03-25  Bruno Haible  <bruno@clisp.org>
58687         unictype/combining-class: Rename source files.
58688         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
58689         of unictype/combining.h.
58690         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
58691         Update.
58692         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
58693         * modules/unictype/combining-class (Description): Fix.
58694         (Files, Makefile.am): Update.
58695         * tests/unictype/test-combiningclass.c: Renamed from
58696         tests/unictype/test-combining.c.
58697         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
58699 2011-03-25  Bruno Haible  <bruno@clisp.org>
58701         unictype: Update list of canonical combining classes.
58702         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
58704 2011-03-25  Bruno Haible  <bruno@clisp.org>
58706         unictype/category-byname: Recognize long names as well.
58707         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
58708         a long name.
58709         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
58710         unictype/categ_byname.h.
58711         (UC_CATEGORY_INDEX_*): New enumeration values.
58712         (uc_general_category_byname): Use uc_general_category_lookup and
58713         convert from index to value.
58714         * lib/unictype/categ_byname.gperf: New file.
58715         * modules/unictype/category-byname (Files): Add
58716         lib/unictype/categ_byname.gperf.
58717         (Depends-on): Add gperf.
58718         (Makefile.am): Add rule for generating unictype/categ_byname.h.
58719         * tests/unictype/test-categ_byname.c (main): Test the recognition of
58720         long names.
58722         Tests for module 'unictype/category-longname'.
58723         * modules/unictype/category-longname-tests: New file.
58724         * tests/unictype/test-categ_longname.c: New file.
58726         New module 'unictype/category-longname'.
58727         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
58728         * lib/unictype/categ_longname.c: New file.
58729         * modules/unictype/category-longname: New file.
58730         * modules/unictype/category-all (Depends-on): Add it.
58732 2011-03-25  Bruno Haible  <bruno@clisp.org>
58734         Tests for module 'unictype/category-LC'.
58735         * modules/unictype/category-LC-tests: New file.
58736         * tests/unictype/test-categ_LC.c: New file, automatically generated.
58738         New module 'unictype/category-LC'.
58739         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
58740         (UC_CATEGORY_LC): New declaration.
58741         (UC_CASED_LETTER): New macro.
58742         * lib/gen-uni-tables.c (is_category_LC): New function.
58743         (output_categories): Also handle category LC.
58744         (UC_CATEGORY_MASK_LC): New enumeration value.
58745         (general_category_byname): Also handle category LC.
58746         * lib/unictype/categ_LC.c: New file.
58747         * lib/unictype/categ_LC.h: New file, automatically generated.
58748         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
58749         category LC.
58750         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
58751         * modules/unictype/category-LC: New file.
58752         * modules/unictype/category-byname (Depends-on): Add
58753         unictype/category-LC.
58754         * modules/unictype/category-all (Depends-on): Likewise.
58756 2011-03-25  Eric Blake  <eblake@redhat.com>
58758         xmalloc: revert yesterday's regression
58759         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
58760         realloc's underlying behavior (allowing allocation of zero-size
58761         objects, especially if malloc-gnu is also in use).
58763 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
58765         maint.mk: add missing version to VC-tag
58766         * top/maint.mk: git tag was missing actual tag name; add it.
58768         valgrind: do leak checking, and exit with code 1 on error (not 0)
58769         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
58770         to VALGRIND.
58772 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
58774         posix-modules: say what it does.
58775         * posix-modules: Add a line to the --help output saying what it does.
58777 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
58779         xmalloc: Do not leak if underlying realloc is C99 compatible.
58780         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
58781         This avoids a leak on C99-based systems.  See
58782         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
58784 2011-03-24  Eric Blake  <eblake@redhat.com>
58786         realloc: document portability problem
58787         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
58788         passing 0 size to realloc.
58790 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
58792         doc: update users.txt
58793         * users.txt: Add cvsps, tmpwatch
58795 2011-03-23  Matt Rice  <ratmice@gmail.com>
58797         doc: update users.txt
58798         * users.txt: Add gdb.
58800 2011-03-23  Jim Meyering  <meyering@redhat.com>
58802         doc: update users.txt
58803         Looking through matches up to the following URL (there are still
58804         several more pages), I found several projects that use gnulib:
58805         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
58806         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
58807         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
58809 2011-03-22  Bruno Haible  <bruno@clisp.org>
58811         unictype/bidi*: Rename functions.
58812         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
58813         uc_bidi_class, uc_is_bidi_class): New declarations.
58814         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
58815         uc_bidi_category_byname.
58816         (uc_bidi_category_byname): New function.
58817         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
58818         u_bidi_category_name.
58819         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
58820         (uc_bidi_category_name): New function.
58821         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
58822         uc_bidi_category.
58823         (uc_bidi_category): New function.
58824         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
58825         uc_is_bidi_category. Invoke uc_bidi_class.
58826         (uc_is_bidi_category): New function.
58827         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
58828         instead of uc_bidi_category_byname.
58829         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
58830         instead of uc_bidi_category_name.
58831         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
58832         uc_bidi_category.
58833         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
58834         instead of uc_is_bidi_category.
58836 2011-03-21  Bruno Haible  <bruno@clisp.org>
58838         New module 'unictype/joininggroup-all'.
58839         * modules/unictype/joininggroup-all: New file.
58841         Tests for module 'unictype/joininggroup-of'.
58842         * modules/unictype/joininggroup-of-tests: New file.
58843         * tests/unictype/test-joininggroup_of.c: New file.
58844         * tests/unictype/test-joininggroup_of.h: New file, automatically
58845         generated by gen-uni-tables.
58847         New module 'unictype/joininggroup-of'.
58848         * modules/unictype/joininggroup-of: New file.
58849         * lib/unictype/joininggroup_of.c: New file.
58850         * lib/unictype/joininggroup_of.h: New file, automatically generated by
58851         gen-uni-tables.
58853         Tests for module 'unictype/joininggroup-byname'.
58854         * modules/unictype/joininggroup-byname-tests: New file.
58855         * tests/unictype/test-joininggroup_byname.c: New file.
58857         New module 'unictype/joininggroup-byname'.
58858         * modules/unictype/joininggroup-byname: New file.
58859         * lib/unictype/joininggroup_byname.c: New file.
58860         * lib/unictype/joininggroup_byname.gperf: New file.
58862         Tests for module 'unictype/joininggroup-name'.
58863         * modules/unictype/joininggroup-name-tests: New file.
58864         * tests/unictype/test-joininggroup_name.c: New file.
58866         New module 'unictype/joininggroup-name'.
58867         * modules/unictype/joininggroup-name: New file.
58868         * lib/unictype/joininggroup_name.c: New file.
58869         * lib/unictype/joininggroup_name.h: New file.
58871         New module 'unictype/joiningtype-all'.
58872         * modules/unictype/joiningtype-all: New file.
58874         Tests for module 'unictype/joiningtype-of'.
58875         * modules/unictype/joiningtype-of-tests: New file.
58876         * tests/unictype/test-joiningtype_of.c: New file.
58877         * tests/unictype/test-joiningtype_of.h: New file, automatically
58878         generated by gen-uni-tables.
58880         New module 'unictype/joiningtype-of'.
58881         * modules/unictype/joiningtype-of: New file.
58882         * lib/unictype/joiningtype_of.c: New file.
58883         * lib/unictype/joiningtype_of.h: New file, automatically generated by
58884         gen-uni-tables.
58886         Tests for module 'unictype/joiningtype-byname'.
58887         * modules/unictype/joiningtype-byname-tests: New file.
58888         * tests/unictype/test-joiningtype_byname.c: New file.
58890         New module 'unictype/joiningtype-byname'.
58891         * modules/unictype/joiningtype-byname: New file.
58892         * lib/unictype/joiningtype_byname.c: New file.
58894         Tests for module 'unictype/joiningtype-name'.
58895         * modules/unictype/joiningtype-name-tests: New file.
58896         * tests/unictype/test-joiningtype_name.c: New file.
58898         New module 'unictype/joiningtype-name'.
58899         * modules/unictype/joiningtype-name: New file.
58900         * lib/unictype/joiningtype_name.c: New file.
58902         unictype: Add support for Arabic shaping properties.
58903         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
58904         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
58905         declarations.
58906         (UC_JOINING_GROUP_*): New enumeration values.
58907         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
58908         declarations.
58909         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
58910         (unicode_joining_type): New variable.
58911         (UC_JOINING_GROUP_*): New enumeration values.
58912         (unicode_joining_group): New variable.
58913         (fill_arabicshaping, joining_type_as_c_identifier,
58914         output_joining_type_test, output_joining_type,
58915         joining_group_as_c_identifier, output_joining_group_test,
58916         output_joining_group): New functions.
58917         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
58918         fill_arabicshaping and output_joining_type_test, output_joining_type,
58919         output_joining_group_test, output_joining_group.
58920         Reported by Simon Josefsson.
58922 2011-03-21  Jim Meyering  <meyering@redhat.com>
58924         strftime: fix a bug in yesterday's change
58925         * lib/strftime.c (add): Accommodate width's initial value of -1.
58926         Otherwise, nstrftime would copy uninitialized data into
58927         the result buffer.
58929 2011-03-21  Jim Meyering  <meyering@redhat.com>
58931         tests: add strftime-tests module
58932         * tests/test-strftime.c: New file.
58933         * modules/strftime-tests: New module.
58935 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58937         strftime: don't assume a byte count fits in 'int'
58938         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
58939         found this problem by static analysis, using gcc -Wstrict-overflow
58940         (GCC 4.5.2, x86-64).  This reported an optimization that depended
58941         on an integer overflow having undefined behavior, but it turns out
58942         that the argument is a size, which might not fit in 'int' anyway,
58944 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58946         stdio: don't require ignore_value around fwrite
58948         This patch works around libc bug 11959
58949         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
58950         Without this patch, applications must often write
58951         ignore_value (fwrite (...)) even though the ignore_value is
58952         not helpful here.  It's common to write many objects, using
58953         fwrite/printf/etc., and then use ferror to detect output error.
58955         I considered making this patch optional, but decided against it,
58956         because libc is obviously being inconsistent here: there is no
58957         reason libc should insist that user code must inspect fwrite
58958         return's value without also insisting that it inspect printf's,
58959         putchar's, etc.  If user code wants to have a strict style where
58960         all these functions' values are checked (so that ferror need not
58961         be checked), we could add support for that style in a new gnulib
58962         module, but in the meantime it's better to be consistent and to
58963         support common usage.
58965         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
58966         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
58967         that we are compiling in checking mode, and if not C++, and
58968         if not already wrapping fwrite for some other reason.
58969         (fwrite): #define to rpl_fwrite if the latter is defined.
58971 2011-03-20  Bruno Haible  <bruno@clisp.org>
58973         verror: Fix compilation error introduced on 2011-02-13.
58974         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
58975         instead of __attribute__.
58976         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
58978 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58979             Bruno Haible  <bruno@clisp.org>
58981         socklen: do not depend on sys_socket
58982         While trying to modify Emacs to use gnulib's socklen module,
58983         I discovered a circular dependency: socklen depends on sys_socket
58984         and vice versa.  Emacs can use socklen, but it does not need
58985         sys_socket because it has its own substitute for sys/socket.h.
58986         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
58987         gl_TYPE_SOCKLEN_T.
58988         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
58989         gl_PREREQ_SYS_H_SOCKET.
58990         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
58991         gl_PREREQ_SYS_H_SOCKET.
58992         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
58993         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
58994         * modules/socklen (Depends-on): Do not depend on sys_socket.
58995         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
58997 2011-03-20  Jim Meyering  <meyering@redhat.com>
58999         maint.mk: sort file names *after* new transformation
59000         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
59001         prefix would have led to an unwarranted failure in GNU parted.
59002         Sort after that transformation.
59004 2011-03-19  Jim Meyering  <meyering@redhat.com>
59006         maint.mk: fix po-file syntax-check rule
59007         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
59008         Patch by Bruno Haible.
59010 2011-03-19  Bruno Haible  <bruno@clisp.org>
59012         socklen: Update comment.
59013         * m4/socklen.m4: Update comment about platforms.
59015 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
59016             Bruno Haible  <bruno@clisp.org>
59018         inet_ntop, inet_pton: Simplify.
59019         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
59020         documented to provide socklen_t and we already depend on sys_socket.
59021         * modules/inet_pton (Depends-on): Likewise.
59022         * lib/arpa_inet.in.h: Adjust comment.
59024 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
59025             Bruno Haible  <bruno@clisp.org>
59027         netdb: Simplify.
59028         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
59029         documented to provide socklen_t and we already depend on sys_socket.
59030         * lib/netdb.in.h: Adjust comment.
59032 2011-03-19  Bruno Haible  <bruno@clisp.org>
59034         sys_socket, netdb: Document problem with socklen_t.
59035         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
59036         platforms.
59037         * doc/posix-headers/netdb.texi: Likewise.
59039 2011-03-18  Eric Blake  <eblake@redhat.com>
59041         maint.mk: let po check work in VPATH build
59042         * top/maint.mk (po_file): Allow cfg.mk override.
59043         (sc_po_check): Allow VPATH use.
59044         Reported by Jiri Denemark.
59046 2011-03-16  Jim Meyering  <meyering@redhat.com>
59048         maint.mk: allow fine-grained syntax-check exclusion via Make variables
59049         Before, you would have had to create one .x-sc_ file per rule in order
59050         to exempt offending files.  Now, you may instead use a Make variable --
59051         usually defined in cfg.mk -- whose name identifies the affected rule.
59052         * top/maint.mk (_sc_excl): Define.
59053         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
59054         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
59056 2011-03-13  Bruno Haible  <bruno@clisp.org>
59058         ignore-value tests: Avoid warnings.
59059         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
59060         empty for gcc < 3.4.
59062 2011-03-13  Bruno Haible  <bruno@clisp.org>
59064         passfd: Fix link error on Solaris.
59065         * modules/passfd (Description): Correct.
59066         (Depends-on): Add socketlib.
59067         (Link): New section.
59068         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
59070 2011-03-13  Bruno Haible  <bruno@clisp.org>
59072         passfd: Fix link error on AIX 5.2.
59073         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
59075 2011-03-13  Bruno Haible  <bruno@clisp.org>
59077         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
59078         * lib/sys_socket.in.h: Include <stddef.h>.
59079         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
59080         CMSG_FIRSTHDR. Remove unused variable.
59082 2011-03-13  Bruno Haible  <bruno@clisp.org>
59084         passfd: Fix compilation error on OpenBSD.
59085         * lib/passfd.c: Include <sys/uio.h>.
59087 2011-03-13  Bruno Haible  <bruno@clisp.org>
59089         passfd test: Fix warnings.
59090         * tests/test-passfd.c: Include <sys/wait.h>.
59091         (main): Fix typo.
59093 2011-03-13  Bruno Haible  <bruno@clisp.org>
59095         passfd module, part 4, tweaks.
59096         * tests/test-passfd.c: Reorder includes.
59097         (main): Fix perror and printf calls.
59099 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
59101         passfd module, part 4.
59102         * modules/passfd-tests: New file.
59103         * tests/test-passfd.c: New file.
59105 2011-03-13  Jim Meyering  <meyering@redhat.com>
59107         Makefile: rely on GNU make; derive syntax-check rule names
59108         Rather than requiring that each sc_ rule be listed as a dependent
59109         of "check", use features of GNU make to derive the list.
59110         * Makefile (syntax-check-rules): Define.
59111         (check): Depend on the new variable, not the hard-coded list.
59113 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
59114             Bruno Haible  <bruno@clisp.org>
59116         passfd module, part 3.
59117         * lib/passfd.h (recvfd): Add a flags argument.
59118         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
59119         (recvfd): Add a flags argument.
59120         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
59121         exists.
59122         * modules/passfd (Depends-on): Add cloexec.
59123         Suggested by Eric Blake.
59125 2011-03-13  Bruno Haible  <bruno@clisp.org>
59127         passfd module, part 2, tweaks.
59128         * modules/passfd (Files): Reorder.
59129         (Depends-on): Remove errno.
59130         (Include): Remove <sys/socket.h>, <sys/un.h>.
59131         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
59132         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
59133         specification header. Include <sys/socket.h> always. Don't include
59134         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
59135         (sendfd): Clarify that it sets errno when it fails.
59136         (recvfd): Fix specification.
59138 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
59140         passfd module, part 2.
59141         * modules/passfd: New file.
59142         * lib/passfd.h: New file.
59143         * lib/passfd.c: New file.
59145 2011-03-12  Bruno Haible  <bruno@clisp.org>
59147         wcswidth, mbswidth: Avoid integer overflow.
59148         * lib/wcswidth.c: Include <limits.h>.
59149         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
59150         * lib/mbswidth.c: Include <limits.h>.
59151         (mbsnwidth): Avoid 'int' overflow.
59152         Reported by Jim Meyering.
59154 2011-03-12  Bruno Haible  <bruno@clisp.org>
59156         futimens, utimensat: Avoid endless recursion on Solaris 10.
59157         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
59158         Solaris.
59159         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
59160         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
59162 2011-03-11  Jim Meyering  <meyering@redhat.com>
59164         maint.mk: relax a regexp to accommodate other formatting styles
59165         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
59166         between "ngettext" and the following "(".
59168 2011-03-11  Pádraig Brady  <P@draigBrady.com>
59170         maint.mk: suppress a false positive warning
59171         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
59172         diagnostics are marked with ngettext.
59174 2011-03-10  Eric Blake  <eblake@redhat.com>
59176         wchar: add explicit dependencies, for Tru64
59177         * modules/mbmemcasecoll (Depends-on): Add wchar.
59178         * modules/mbtowc (Depends-on): Likewise.
59179         * modules/vasnprintf (Depends-on): Likewise.
59180         * modules/unistdio/u-printf-args (Depends-on): Likewise.
59181         * modules/wctomb (Depends-on): Likewise.
59182         Reported by Peter O'Gorman.
59184 2011-03-08  Bruno Haible  <bruno@clisp.org>
59186         passfd module, part 1, tweaks.
59187         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
59188         Improve indentation. Improve AC_MSG_CHECKING messages.
59189         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
59190         gl_SOCKET_FAMILIES.
59192 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
59194         passfd module, part 1.
59195         * m4/afunix.m4: New file.
59196         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
59197         sockets.
59199 2011-03-08  Bruno Haible  <bruno@clisp.org>
59201         regex-quote: New API.
59202         * lib/regex-quote.h: Include <stdbool.h>.
59203         (struct regex_quote_spec): New type.
59204         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
59205         New declarations.
59206         (regex_quote_length, regex_quote_copy, regex_quote): Take a
59207         'const struct regex_quote_spec *' argument.
59208         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
59209         (pcre_special): New constant.
59210         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
59211         New functions.
59212         (regex_quote_length, regex_quote_copy, regex_quote): Take a
59213         'const struct regex_quote_spec *' argument.
59214         * modules/regex-quote (Depends-on): Add stdbool.
59215         * tests/test-regex-quote.c (check): Update for new API. Add test for
59216         anchored results.
59217         * NEWS: Mention the API change.
59218         Reported by Reuben Thomas and Eric Blake.
59220 2011-03-06  Bruno Haible  <bruno@clisp.org>
59222         regex-quote: Fix creation of POSIX extended regular expressions.
59223         * lib/regex-quote.c (ere_special): Add grouping and alternation
59224         operators.
59226 2011-03-05  Bruno Haible  <bruno@clisp.org>
59228         doc: Improve doc regarding autopoint vs. gnulib.
59229         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
59230         disable autopoint while running autoreconf.
59231         Suggested by Ralf Wildenhues.
59233 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59235         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
59236         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
59238 2011-03-03  Bruce Korb  <bkorb@gnu.org>
59240         parse-duration: remove xalloc.h dependency
59241         * lib/parse-duration.c (parse_period): handle NULL return from
59242         strdup instead of calling xstrdup().
59243         * modules/parse-duration: remove "xalloc" dependency
59245 2011-03-03  Matthew Booth  <mbooth@redhat.com>
59247         bootstrap: honor m4_base when running aclocal
59248         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
59250 2011-03-02  Jim Meyering  <meyering@redhat.com>
59252         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
59253         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
59254         on request from Matt Booth.
59256 2011-03-01  Eric Blake  <eblake@redhat.com>
59258         test-link: work on Hurd
59259         * tests/test-link.h (test_link): Hurd rejects linking directories
59260         with EISDIR instead of the POSIX-mandated EPERM.
59262 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
59264         stdio: simplify by moving files to printf-posix, sigpipe
59265         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
59266         since this symbol is needed only if printf is replaced.
59267         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
59268         Require gl_ASM_SYMBOL_PREFIX.
59269         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
59270         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
59271         (Depends-on): Add 'raise'.
59272         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
59273         * modules/stdio (Files): Remove lib/stdio-write.c,
59274         m4/asm-underscore.m4.
59275         (Depends-on): Remove 'raise'.
59277         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
59278         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
59279         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
59280         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
59282 2011-02-28  Bruno Haible  <bruno@clisp.org>
59284         localcharset: Assume ANSI C behaviour of free().
59285         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
59286         calling free().
59287         Suggested by Simon Josefsson <simon@josefsson.org>.
59289 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
59290             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
59291             Bruno Haible  <bruno@clisp.org>  (tiny change)
59293         On Cygwin, use /proc file system instead of win32 API.
59294         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
59295         Win32 file names.
59296         (DllMain): Simplify by removing Cygwin specific code.
59297         (find_shared_library_fullname): Use Linux specific implementation also
59298         for Cygwin.
59299         (get_shared_library_fullname): Update accordingly.
59300         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
59301         Win32 file names.
59302         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
59303         Cygwin specific code.
59305 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
59306             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
59308         Fix OpenMP flag detection for various Fortran compilers.
59309         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
59310         OpenMP-conditional compilation construct, to force compile
59311         failure with missing OpenMP flag.
59312         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
59314 2011-02-25  Eric Blake  <eblake@redhat.com>
59316         strstr: expand test coverage
59317         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
59318         compilation.
59319         * tests/test-memmem.c (main): Duplicate tests.
59320         * tests/test-strcasestr.c (main): Likewise.
59321         * tests/test-c-strcasestr.c (main): Likewise.
59323 2011-02-25  Jim Meyering  <meyering@redhat.com>
59325         maint.mk: detect missing-NL-at-EOF, too
59326         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
59327         it also detects when a file lacks a newline at EOF.
59328         (require_exactly_one_NL_at_EOF_): Renamed from
59329         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
59330         since people may well have .x-sc_... file names tied to the
59331         existing name.  Suggested by Eric Blake.
59333 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
59335         dirname: move m4/dos.m4 functionality into lib/dosname.h
59337         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
59338         extracts symbols from it, puts them into config.h; but it's much
59339         easier to use the symbols directly.  filename.h already does this,
59340         but it disagrees with dos.m4 in some respects.  This patch
59341         introduces a different include file dosname.h that packages up
59342         dos.m4, and then later we can work on merging filename.h and
59343         dosname.h.  Applications that need only the easy-to-configure
59344         symbols should consider including dosname.h rather than dirname.h.
59345         * NEWS: Mention incompatible changes.
59346         * m4/dos.m4: Remove.
59347         * lib/dosname.h, modules/dosname: New files.
59348         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
59349         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
59350         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
59351         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
59352         Include dosname.h, not dirname.h.
59353         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
59354         Include dosname.h, for definitions of symbols like ISSLASH
59355         that used to be in config.h.
59356         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
59357         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
59358         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
59359         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
59360         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
59361         * modules/rmdir (Files): Likewise.
59362         * modules/stat (Files): Likewise.
59363         * modules/unlink (Files): Likewise.
59364         * modules/dirname-lgpl (Depends-on): Add dosname.
59365         * modules/lstat (Depends-on): Likewise.
59366         * modules/openat (Depends-on): Likewise.
59367         * modules/rmdir (Depends-on): Likewise.
59368         * modules/savewd (Depends-on): Likewise.
59369         * modules/stat (Depends-on): Likewise.
59370         * modules/unlink (Depends-on): Likewise.
59371         * modules/openat (Depends-on): Remove dirname-lgpl.
59372         * modules/savewd (Depends-on): Likewise.
59373         * tests/test-dirname.c: Do not use removed symbols like
59374         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
59375         the remaining symbols, e.g., ISSLASH ('\\').
59377 2011-02-25  Eric Blake  <eblake@redhat.com>
59379         strstr: revert patches that introduced bug and pessimization
59380         * lib/str-two-way.h: Add another reference.
59381         (two_way_short_needle, two_way_long_needle): Revert changes from
59382         2011-02-24; they pessimize search speed.
59383         (critical_factorization): Partially revert changes from
59384         2010-06-22; they violate the requirement that the left half of the
59385         needle be smaller than the period of the needle.
59387 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
59389         filenamecat: remove unnecessary dependency on dirname-lgpl
59390         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
59391         is no direct dependency, just an indirect one via filenamecat-lgpl.
59393         remove: remove unnecessary use of m4/dos.m4
59394         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
59395         * modules/remove (FILES): Remove m4/dos.m4.
59397         * lib/openat-proc.c: Don't include dirname.h; not needed.
59399         backupfile: remove unnecessary use of m4/dos.m4
59400         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
59401         of its symbols are used by the backupfile code.  backupfile.c does
59402         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
59403         for the rare case of programs that want all their backup file
59404         names to live within 8+3 limits, and dos.m4 doesn't address that.
59405         * modules/backupfile (Files): Remove m4/dos.m4.
59407 2011-02-24  Jim Meyering  <meyering@redhat.com>
59409         strstr: fix a bug whereby strstr would mistakenly return NULL
59410         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
59411         in period calculation.
59412         (two_way_long_needle): Likewise.
59413         The original problem was reported by Mike Stump in
59414         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
59415         Ralf Wildenhues provided the short needle and haystack.
59416         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
59417         Add a more involved test to trigger the bug in two_way_long_needle.
59419 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
59421         gnulib-tool: remove use of bold display in help screen
59422         * gnulib-tool (func_usage): Do not use bold display anymore in the
59423         help screen.  That was just meant to be a temporary emphasis for a
59424         backward-incompatible change.
59426 2011-02-23  Bruno Haible  <bruno@clisp.org>
59428         Fix misindentation of preprocessor directives.
59429         * lib/argp-namefrob.h: Reindent preprocessor directives.
59430         * lib/getopt_int.h (struct _getopt_data): Likewise.
59431         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
59432         * lib/vasnprintf.c (decode_long_double): Likewise.
59433         * tests/test-argmatch.c: Insert blank lines, for clarity.
59434         * tests/test-exclude.c: Likewise.
59436 2011-02-22  Bruno Haible  <bruno@clisp.org>
59438         ioctl: Fix for MacOS X in 64-bit mode.
59439         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
59440         value.
59441         Suggested by Eric Blake.
59442         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
59444 2011-02-22  Jim Meyering  <meyering@redhat.com>
59446         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
59447         * Makefile (sc_cpp_indent_check): Don't limit the check to files
59448         in lib/.
59450 2011-02-22  Eric Blake  <eblake@redhat.com>
59452         maint: avoid any CDPATH issue
59453         * Makefile (sc_cpp_indent_check): Anchor cd argument.
59455         maint: adjust cpp indentation for my modules, as well
59456         * Makefile (sc_cpp_indent_check): Add my name.
59457         * lib/fbufmode.c: Filter through cppi.
59458         * lib/fpurge.c: Likewise.
59459         * lib/freadable.c: Likewise.
59460         * lib/freading.c: Likewise.
59461         * lib/fwritable.c: Likewise.
59462         * lib/fwriting.c: Likewise.
59463         * lib/sigaction.c: Likewise.
59465 2011-02-22  Jim Meyering  <meyering@redhat.com>
59467         maint: adjust cpp indentation to reflect nesting depth
59468         I.e., in a block of code that begins with an unnested "#if",
59469         put one space between the "#" in column 1 and following token.
59470         For example,
59471         -#include <sys/vfs.h>
59472         +# include <sys/vfs.h>
59473         Do this only in .c files that are part of a module I maintain.
59474         * lib/linkat.c: Filter through cppi.
59475         * lib/nanosleep.c: Likewise.
59476         * lib/openat.c: Likewise.
59477         * lib/openat-die.c: Likewise.
59478         * lib/dup3.c: Likewise.
59479         * lib/fchownat.c: Likewise.
59480         * lib/flock.c: Likewise.
59481         * lib/fsync.c: Likewise.
59482         * lib/fts.c: Likewise.
59483         * lib/getpass.c: Likewise.
59484         * lib/gettimeofday.c: Likewise.
59485         * lib/userspec.c: Likewise.
59486         * Makefile (sc_cpp_indent_check): New rule, to check this.
59488 2011-02-22  Bruno Haible  <bruno@clisp.org>
59490         New module 'wctomb'.
59491         * lib/stdlib.in.h (wctomb): New declaration.
59492         * lib/wctomb.c: New file.
59493         * lib/wctomb-impl.h: New file.
59494         * m4/wctomb.m4: New file.
59495         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
59496         REPLACE_WCTOMB.
59497         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
59498         REPLACE_WCTOMB.
59499         * modules/wctomb: New file.
59500         * tests/test-stdlib-c++.cc: Test signature of wctomb.
59501         * doc/posix-functions/wctomb.texi: Mention the new module.
59502         * modules/wctob (Depends-on): Add wctomb.
59504 2011-02-22  Bruno Haible  <bruno@clisp.org>
59506         New module 'mbtowc'.
59507         * lib/stdlib.in.h (mbtowc): New declaration.
59508         * lib/mbtowc.c: New file.
59509         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
59510         * m4/mbtowc.m4: New file.
59511         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
59512         REPLACE_MBTOWC.
59513         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
59514         REPLACE_MBTOWC.
59515         * modules/mbtowc: New file.
59516         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
59517         * doc/posix-functions/mbtowc.texi: Mention the new module.
59518         * modules/btowc (Depends-on): Add mbtowc.
59520 2011-02-22  Bruno Haible  <bruno@clisp.org>
59522         wcrtomb: Add more tests for native Windows platforms.
59523         * tests/test-wcrtomb-w32-1.sh: New file.
59524         * tests/test-wcrtomb-w32-2.sh: New file.
59525         * tests/test-wcrtomb-w32-3.sh: New file.
59526         * tests/test-wcrtomb-w32-4.sh: New file.
59527         * tests/test-wcrtomb-w32-5.sh: New file.
59528         * tests/test-wcrtomb-w32.c: New file.
59529         * modules/wcrtomb-tests (Files): Add them.
59530         (Makefile.am): Arrange to run these tests.
59531         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
59532         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
59534 2011-02-20  Bruno Haible  <bruno@clisp.org>
59536         wcrtomb: Enhance test.
59537         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
59539 2011-02-20  Bruno Haible  <bruno@clisp.org>
59541         mbrtowc: Tiny optimization.
59542         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
59544 2011-02-20  Jim Meyering  <meyering@redhat.com>
59546         test-exclude.c: remove unmatched #endif
59547         * tests/test-exclude.c: Remove stray #endif, left over from
59548         the change of a week ago.
59550 2011-02-19  Jim Meyering  <meyering@redhat.com>
59552         git-version-gen: skip "-dirty" check when appropriate
59553         * build-aux/git-version-gen: Don't run any git commands when the
59554         version string comes from .tarball-version.  Prior to this, we
59555         would run git update-index --refresh even from a just-unpacked
59556         tarball directory, and that could affect a .git/ directory in a
59557         parent of the build directory.  Reported by Mike Frysinger.
59559 2011-02-19  Bruno Haible  <bruno@clisp.org>
59561         unictype/property-byname: Reduce the size of the 'data' segment.
59562         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
59564 2011-02-19  Bruno Haible  <bruno@clisp.org>
59566         unictype/scripts: Reduce the size of the 'data' segment.
59567         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
59568         '%pic'.
59569         * lib/unictype/scripts_byname.gperf: Regenerated.
59571 2011-02-19  Bruno Haible  <bruno@clisp.org>
59573         stdint: Update documentation.
59574         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
59576 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
59578         stdint: omit redundant check for wchar.h
59579         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
59580         always tests whether wchar.h exists, so remove the now-redundant test.
59582 2011-02-18  Bruno Haible  <bruno@clisp.org>
59584         stdint: Cut dependency to module 'wchar'.
59585         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
59586         include the necessary prerequisites.
59587         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
59588         * modules/stdint (Depends-on): Remove wchar.
59589         (Makefile.am): Substitute HAVE_WCHAR_H.
59590         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
59592 2011-02-18  Eric Blake  <eblake@redhat.com>
59594         longlong: skip, rather than fail, on cross-compilation
59595         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
59596         when cross-compiling; regression from 2011-02-16.
59598 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
59600         * NEWS: Mention 2011-02-08 change to stdlib.
59602 2011-02-17  Bruno Haible  <bruno@clisp.org>
59604         getloadavg: Add comments about platforms.
59605         * m4/getloadavg.m4: Add comment.
59606         * lib/getloadavg.c: Likewise.
59608 2011-02-17  Bruno Haible  <bruno@clisp.org>
59610         getloadavg: Fix link error on Solaris 2.6.
59611         * modules/getloadavg (Link): New section.
59612         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
59613         linking test-getloadavg.
59614         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
59615         getloadavg.
59617 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
59619         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
59620         It was 'int', but this doesn't match the IRIX 6.5 manual.
59621         Suggested by Bruno Haible in
59622         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
59624 2011-02-17  Bruno Haible  <bruno@clisp.org>
59626         havelib: Fix comments.
59627         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
59628         change.
59630 2011-02-17  Bruno Haible  <bruno@clisp.org>
59632         havelib: Update config.rpath.
59633         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
59635 2011-02-17  Bruno Haible  <bruno@clisp.org>
59637         getloadavg test: Add some plausibility checks.
59638         * tests/test-getloadavg.c (check_avg): Print a warning when the value
59639         is improbable.
59641 2011-02-16  Eric Blake  <eblake@redhat.com>
59643         maintainer-makefile: make syntax-check a no-op from tarballs
59644         * top/maint.mk (no-vc-detected): New rule.
59645         (local-checks-available): Use it to avoid hanging if someone tries
59646         'make syntax-check' from a tarball.  Also append to any non-syntax
59647         checks already defined in cfg.mk.
59649 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
59651         longlong: tune, particularly for common case of c99
59653         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
59654         or running anything if c99, or if unsigned long long int does not
59655         work.  In either case, we know the answer without further tests.
59656         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
59657         it at most once, and use its results for both long long int and
59658         unsigned long long int.  This is more likely to be efficient in
59659         the common case where the program wants to check for both long
59660         long int and unsigned long long int.
59661         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
59662         since the answer is already known.
59664 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
59666         getloadavg: set errno
59667         * lib/getloadavg.c: Set errno when returning -1.  If no other
59668         error number looks appropriate, set it to ENOSYS if the getloadavg
59669         looks like it can't possibly ever work, ENOTSUP otherwise.
59670         Suggested by Bruno Haible in
59671         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
59673         getloadavg: trim unused parts and speed up 'configure'
59674         * NEWS: Document this.
59675         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
59676         always compiled if getloadavg is absent.
59677         Move test code to ...
59678         * tests/test-getloadavg.c: New file, containing previous
59679         contents of test from lib/getloadavg.c.  It also contains
59680         suggestions by Bruno Haible in
59681         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
59682         * modules/getloadavg-tests: New file.
59683         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
59684         Do tests in the same order as they're needed for getloadavg.c.
59685         Omit setgid-related tests that generate symbols KMEM_GROUP,
59686         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
59687         Do only the tests that are needed to see whether the system has
59688         getloadavg, moving the other tests into ...
59689         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
59690         NLIST_NAME_UNION; nobody should be using it.  Do not define
59691         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
59692         relevant, as the user of this module shouldn't care how getloadavg
59693         is implemented.
59695         getloadavg: omit unused var
59696         * lib/getloadavg.c (getloadavg): Omit unused local variable.
59698 2011-02-15  Jim Meyering  <meyering@redhat.com>
59700         doc: update users.txt
59701         * users.txt: Update iwhd's URL.
59703 2011-02-13  Bruno Haible  <bruno@clisp.org>
59705         Consistent macro naming for macros that use GCC __attribute__.
59706         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
59707         _ATTRIBUTE_NONNULL_.
59708         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
59709         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
59710         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
59711         ATTRIBUTE_DEPRECATED.
59712         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
59713         ATTRIBUTE_NORETURN.
59714         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59715         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59716         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59717         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59718         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
59719         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
59720         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
59721         ATTRIBUTE_SENTINEL.
59722         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
59723         ATTRIBUTE_RETURN_CHECK.
59724         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
59725         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
59726         ATTRIBUTE_NORETURN.
59727         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
59728         Reported by Paul Eggert.
59730 2011-02-13  Bruno Haible  <bruno@clisp.org>
59732         Don't interfere with a program's definition of __attribute__.
59733         * lib/argp.h (__attribute__): Remove definition.
59734         (_GL_ATTRIBUTE_FORMAT): New macro.
59735         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
59736         * lib/argp-fmtstream.h (__attribute__): Remove definition.
59737         (_GL_ATTRIBUTE_FORMAT): New macro.
59738         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
59739         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
59740         GCC 3 or newer.
59741         * lib/error.h (__attribute__): Remove definition.
59742         (_GL_ATTRIBUTE_FORMAT): New macro.
59743         (error, error_at_line): Use it.
59744         * lib/hash.h (__attribute__): Remove definition.
59745         (ATTRIBUTE_WUR): Update definition. Define always.
59746         * lib/openat.h (__attribute__): Remove definition.
59747         (ATTRIBUTE_NORETURN): Update definition. Define always.
59748         * lib/sigpipe-die.h (__attribute__): Remove definition.
59749         (ATTRIBUTE_NORETURN): Update definition. Define always.
59750         * lib/vasnprintf.h (__attribute__): Remove definition.
59751         (_GL_ATTRIBUTE_FORMAT): New macro.
59752         (asnprintf, vasnprintf): Use it.
59753         * lib/xalloc.h (__attribute__): Remove definition.
59754         (ATTRIBUTE_NORETURN): Update definition. Define always.
59755         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
59756         * lib/xmemdup0.h (__attribute__): Remove definition.
59757         (ATTRIBUTE_NORETURN): Update definition. Define always.
59758         * lib/xprintf.h (__attribute__): Remove definition.
59759         (_GL_ATTRIBUTE_FORMAT): New macro.
59760         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
59761         * lib/xstrtol.h (__attribute__): Remove definition.
59762         (ATTRIBUTE_NORETURN): Update definition. Define always.
59763         * lib/xvasprintf.h (__attribute__): Remove definition.
59764         (_GL_ATTRIBUTE_FORMAT): New macro.
59765         (xasprintf, xvasprintf): Use it.
59766         * tests/test-argmatch.c (__attribute__): Remove definition.
59767         (ATTRIBUTE_NORETURN): Update definition. Define always.
59768         * tests/test-exclude.c (__attribute__): Remove definition.
59769         (ATTRIBUTE_NORETURN): Update definition. Define always.
59770         Reported by Paul Eggert.
59772 2011-02-13  Bruno Haible  <bruno@clisp.org>
59774         mbrtowc: Add more tests for native Windows platforms.
59775         * tests/test-mbrtowc-w32-1.sh: New file.
59776         * tests/test-mbrtowc-w32-2.sh: New file.
59777         * tests/test-mbrtowc-w32-3.sh: New file.
59778         * tests/test-mbrtowc-w32-4.sh: New file.
59779         * tests/test-mbrtowc-w32-5.sh: New file.
59780         * tests/test-mbrtowc-w32.c: New file.
59781         * modules/mbrtowc-tests (Files): Add them.
59782         (Makefile.am): Arrange to run these tests.
59783         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
59784         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
59786 2011-02-13  Bruno Haible  <bruno@clisp.org>
59788         mbrtowc: Work around native Windows bug.
59789         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
59790         guess when no suitable locale for testing was found.
59791         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
59793 2011-02-13  Bruno Haible  <bruno@clisp.org>
59795         mbsinit: Work around mingw bug.
59796         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
59797         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
59798         Windows.
59799         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
59801 2011-02-13  Bruno Haible  <bruno@clisp.org>
59803         mbsinit: Don't crash for a NULL argument.
59804         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
59805         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
59807 2011-02-13  Bruno Haible  <bruno@clisp.org>
59809         Don't interfere with a program's definition of __attribute__.
59810         * lib/stdio.in.h (__attribute__): Remove definition.
59811         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
59812         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
59813         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
59814         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
59815         * lib/string.in.h (__attribute__): Remove definition.
59816         Reported by Paul Eggert.
59818 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59820         stdlib: don't get in the way of non-GCC __attribute__
59821         See thread starting at
59822         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
59823         Revert previous stdlib change, installing the following instead:
59824         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
59825         to get in the way of a non-GCC compiler that supports __attribute__.
59826         (_GL_ATTRIBUTE_RETURN): New macro.
59827         (_Exit): Use it instead of __attribute__.
59829 2011-02-12  Bruno Haible  <bruno@clisp.org>
59831         quotearg test: Avoid test failure on mingw.
59832         * tests/test-quotearg.sh: Convert the locale identifier from native
59833         Windows syntax to Unix syntax.
59835 2011-02-12  Bruno Haible  <bruno@clisp.org>
59837         setlocale: Prefer gnulib's override over libintl's override.
59838         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
59839         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
59840         GNULIB_defined_setlocale is set.
59842 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59844         stdlib: support non-GCC __attribute__
59846         Fix a serious and tricky problem encountered when attempting to
59847         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
59848         5.5, but it crashed due to memory corruption on Solaris 10 with
59849         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
59850         bits that are otherwise zero.  This tagging is optional inside
59851         Emacs but is preferred and is used when __attribute__ ((__aligned
59852         (8))) works, as it does with both recent-enough GCC and with Sun C
59853         5.11.  However, Sun C 5.11 is not GCC and does not #define
59854         __GNUC__ and __GNUC_MINOR__.
59856         When I added the getloadavg module to Emacs, it brought in
59857         stdlib.in.h, which contained this fragment:
59859            #ifndef __attribute__
59860            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
59861            #  define __attribute__(Spec)   /* empty */
59862            # endif
59863            #endif
59865         When files that include <stdlib.h> were compiled with Sun C 5.11,
59866         the above code disabled __attribute__ ((__aligned (8))), which
59867         caused variables to not be properly aligned, which eventually led
59868         to the pointer corruption mentioned above.  (This was a bit hard
59869         to diagnose, unfortunately.)
59871         Several "#define __attribute__(X) /* empty */" code snippets need
59872         to be eradicated from Gnulib to work with non-GCC compilers that
59873         support __attribute__.  The Autoconf way to do this is to test for
59874         each kind of attribute that we want support for, and selectively
59875         enable that in source code.
59877         Fix this problem just for stdlib.h, by adding a test for the
59878         __noreturn__ attribute, and change stdlib.in.h to use that test
59879         when needed.  This technique can be easily generalized to the
59880         other *.in.h files and attributes, and a similar technique can be
59881         used for *.h and *.c files.  This patch is enough to solve the
59882         problem for Emacs + getloadavg, and I thought I'd publish it for
59883         feedback before undertaking further, similar fixes in other
59884         modules.
59886         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
59887         because it's not needed for stdlib.h.  It merely substitutes the
59888         value directly into stdlib.h.  We may well need to #define it, or
59889         similar symbols, for other modules, but it's nice to also have an
59890         option to not #define it for applications like Emacs that do not
59891         need it.
59893         * lib/stdlib.in.h (__attribute__): Do not #define.
59894         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
59895         be defined only if the _Exit module is also used.
59896         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
59897         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
59898         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
59899         platforms.
59900         * modules/_Exit (Files): Add m4/attribute.m4.
59901         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
59902         * m4/attribute.m4: New file.
59904 2011-02-12  Bruno Haible  <bruno@clisp.org>
59906         wcsrtombs: Work around bug on native Windows.
59907         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
59908         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
59909         instead of len.
59910         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
59912 2011-02-12  Bruno Haible  <bruno@clisp.org>
59914         mbsrtowcs: Work around bug on native Windows.
59915         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
59916         against mingw bug.
59917         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
59919 2011-02-12  Bruno Haible  <bruno@clisp.org>
59921         Avoid setlocale bugs in tests.
59922         * modules/btowc (Dependencies): Add setlocale.
59923         * modules/c-strcase (Dependencies): Likewise.
59924         * modules/mbmemcasecmp (Dependencies): Likewise.
59925         * modules/mbmemcasecoll (Dependencies): Likewise.
59926         * modules/mbrtowc (Dependencies): Likewise.
59927         * modules/mbscasecmp (Dependencies): Likewise.
59928         * modules/mbscasestr (Dependencies): Likewise.
59929         * modules/mbschr (Dependencies): Likewise.
59930         * modules/mbscspn (Dependencies): Likewise.
59931         * modules/mbsinit (Dependencies): Likewise.
59932         * modules/mbsncasecmp (Dependencies): Likewise.
59933         * modules/mbsnrtowcs (Dependencies): Likewise.
59934         * modules/mbspbrk (Dependencies): Likewise.
59935         * modules/mbspcasecmp (Dependencies): Likewise.
59936         * modules/mbsrchr (Dependencies): Likewise.
59937         * modules/mbsrtowcs (Dependencies): Likewise.
59938         * modules/mbsspn (Dependencies): Likewise.
59939         * modules/mbsstr (Dependencies): Likewise.
59940         * modules/nl_langinfo (Dependencies): Likewise.
59941         * modules/quotearg (Dependencies): Likewise.
59942         * modules/unicase/locale-language (Dependencies): Likewise.
59943         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
59944         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
59945         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
59946         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
59947         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
59948         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
59949         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
59950         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
59951         * modules/vasnprintf-posix (Dependencies): Likewise.
59952         * modules/wcrtomb (Dependencies): Likewise.
59953         * modules/wcsnrtombs (Dependencies): Likewise.
59954         * modules/wcsrtombs (Dependencies): Likewise.
59956 2011-02-12  Bruno Haible  <bruno@clisp.org>
59958         setlocale: Workaround native Windows bug.
59959         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
59960         succeeds but sets LC_CTYPE to "C", report a failure.
59961         * tests/test-setlocale2.sh: New file.
59962         * tests/test-setlocale2.c: New file.
59963         * modules/setlocale-tests (Files): Add the new files.
59964         (Makefile.am): Enable test-setlocale2.sh test.
59965         * doc/posix-functions/setlocale.texi: Mention workaround.
59967 2011-02-11  Bruno Haible  <bruno@clisp.org>
59969         Tests for module 'setlocale'.
59970         * modules/setlocale-tests: New file.
59971         * tests/test-setlocale1.sh: New file.
59972         * tests/test-setlocale1.c: New file.
59974         New module 'setlocale'.
59975         * lib/locale.in.h (setlocale): New declaration.
59976         * lib/setlocale.c: New file, based on
59977         gettext/gettext-runtime/intl/setlocale.c.
59978         * m4/setlocale.m4: New file.
59979         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
59980         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
59981         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
59982         REPLACE_SETLOCALE.
59983         * modules/setlocale: New file.
59984         * tests/test-locale-c++.cc: Test the declaration of setlocale.
59985         * doc/posix-functions/setlocale.texi: Mention the new module.
59987 2011-02-11  Bruno Haible  <bruno@clisp.org>
59989         Prepare for locale dependent tests on mingw.
59990         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
59991         because it has the wrong locale encoding.
59992         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
59993         French_France.1252 instead of "fr".
59994         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
59995         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
59996         because it has the wrong locale encoding.
59997         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
59998         native Windows, try Turkish_Turkey.65001.
59999         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
60000         Chinese_China.54936.
60002         Prepare for locale dependent tests on mingw.
60003         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
60004         differently.
60005         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
60006         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
60007         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
60008         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
60010 2011-02-11  Eric Blake  <eblake@redhat.com>
60012         strptime: avoid compiler warnings
60013         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
60014         compiler warnings about dead code.
60015         Reported by Daniel P. Berrange.
60017 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
60019         doc: update users.txt
60020         * users.txt: Add rcs.
60022 2011-02-10  John W. Eaton  <jwe@gnu.org>
60024         doc: update users.txt
60025         * users.txt: Add octave.
60027 2011-02-10  Jim Meyering  <meyering@redhat.com>
60029         doc: update users.txt
60030         * users.txt: Add iwhd.
60032 2011-02-09  Bruno Haible  <bruno@clisp.org>
60034         gnulib-tool: Make copyright notice adjustment more robust.
60035         * gnulib-tool (func_import): In sed_transform_main_lib_file,
60036         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
60037         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
60038         License".
60039         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
60041 2011-02-06  Bruno Haible  <bruno@clisp.org>
60043         New module 'towctrans'.
60044         * modules/towctrans: New file.
60045         * lib/wctype.in.h (towctrans): New declaration.
60046         * lib/towctrans.c: New file.
60047         * lib/towctrans-impl.h: New file.
60048         * m4/towctrans.m4: New file.
60049         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
60050         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
60051         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
60052         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
60053         * doc/posix-functions/towctrans.texi: Mention the new module.
60055 2011-02-06  Bruno Haible  <bruno@clisp.org>
60057         New module 'wctrans'.
60058         * modules/wctrans: New file.
60059         * lib/wctype.in.h (wctrans): New declaration.
60060         * lib/wctrans.c: New file.
60061         * lib/wctrans-impl.h: New file.
60062         * m4/wctrans.m4: New file.
60063         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
60064         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
60065         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
60066         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
60067         * doc/posix-functions/wctrans.texi: Mention the new module.
60069 2011-02-06  Bruno Haible  <bruno@clisp.org>
60071         New module 'iswctype'.
60072         * modules/iswctype: New file.
60073         * lib/wctype.in.h (iswctype): New declaration.
60074         * lib/iswctype.c: New file.
60075         * lib/iswctype-impl.h: New file.
60076         * m4/iswctype.m4: New file.
60077         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
60078         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
60079         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
60080         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
60081         * doc/posix-functions/iswctype.texi: Mention the new module and the
60082         HP-UX 11.00 problem.
60084 2011-02-06  Bruno Haible  <bruno@clisp.org>
60086         New module 'wctype'.
60087         * modules/wctype: Change to represent the wctype() substitute.
60088         * lib/wctype.in.h (wctype): New declaration.
60089         * lib/wctype.c: New file.
60090         * lib/wctype-impl.h: New file.
60091         * m4/wctype.m4: New file.
60092         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
60093         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
60094         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
60095         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
60096         * doc/posix-functions/wctype.texi: Mention the new module and the
60097         HP-UX 11.00 problem.
60099 2011-02-06  Bruno Haible  <bruno@clisp.org>
60101         wctype-h: Ensure wctype_t and wctrans_t are defined.
60102         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
60103         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
60104         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
60105         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
60106         HAVE_WCTRANS_T.
60107         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
60109 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60111         flock: fix license typo
60113         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
60114         omitted.
60116 2011-02-08  Bruno Haible  <bruno@clisp.org>
60118         Split large sed scripts, for HP-UX sed.
60119         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
60120         to avoid HP-UX limit of 99 commands, in the near future.
60121         * modules/stdlib (Makefile.am): Likewise.
60122         * modules/unistd (Makefile.am): Likewise.
60123         * modules/wchar (Makefile.am): Likewise.
60124         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
60125         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
60126         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
60128 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
60129             Bruno Haible  <bruno@clisp.org>
60131         stdlib: improve random_r modularization
60132         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
60133         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
60134         you also need the random_r module to get this material right.
60135         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
60136         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
60137         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
60139 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
60141         stdlib: don't depend on stdint
60142         * lib/stdlib.in.h: Don't include <stdint.h> merely because
60143         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
60144         be independent of whether stdint.h is needed.
60145         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
60146         here, instead of ...
60147         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
60148         struct random_data should be using the random_r module, not just
60149         the stdlib module (which wouldn't make sense: what package needs
60150         just struct random_data without also needing random_r?).
60151         * modules/stdlib (Depends-on): Remove stdint.
60153         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
60154         See the thread rooted at
60155         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
60156         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
60157         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
60158         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
60159         __VMS)); previously it was always included (via fcntl--.h).
60160         (getloadavg): Do not use c_strtod.  Instead, approximate it by
60161         hand; this is good enough for load averages.  Also, do not use
60162         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
60163         flags directly if available and don't bother otherwise.  (Packages
60164         that need the extra reliability should use the modules that define
60165         these flags on older platforms that lack them.)
60166         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
60167         fcntl-safer.
60169 2011-02-08  Jim Meyering  <meyering@redhat.com>
60171         di-set.h, ino-map.h: add multiple-inclusion guard
60172         Technically, the guard is required only for ino-map.h, due to its
60173         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
60174         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
60175         * lib/ino-map.h: Likewise.
60177 2011-02-06  Bruno Haible  <bruno@clisp.org>
60179         iswblank: Ensure declaration on glibc systems.
60180         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
60181         * modules/iswblank (Dependencies): Add 'extensions'.
60182         * doc/posix-functions/iswblank.texi: Document the glibc problem.
60184 2011-02-06  Bruno Haible  <bruno@clisp.org>
60186         New module 'iswblank'.
60187         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
60188         * modules/iswblank: New file.
60189         * modules/wctype-h (Files): Remove lib/iswblank.c.
60190         (Makefile.am): Substitute GNULIB_ISWBLANK.
60191         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
60192         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
60193         (gl_WCTYPE_H_DEFAULTS): New macro.
60194         (gl_WCTYPE_H): Require it. Remove iswblank related code.
60195         * modules/iswblank-tests: New file.
60196         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
60197         * tests/test-wctype-h.c (main): Remove iswblank tests.
60198         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
60199         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
60200         of 'wctype-h'.
60201         * NEWS: Mention the change.
60202         * modules/mbchar (Depends-on): Add iswblank.
60204 2011-02-08  Bruno Haible  <bruno@clisp.org>
60206         di-set tests: Refactor.
60207         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
60208         unnecessary includes.
60209         (ASSERT): Remove macro.
60210         (main): Make C90 compliant by avoiding variable declaration after
60211         statement.
60212         * modules/di-set-tests (Files): Add tests/macros.h.
60214 2011-02-08  Bruno Haible  <bruno@clisp.org>
60216         ino-map tests: Refactor.
60217         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
60218         unnecessary includes.
60219         (ASSERT): Remove macro.
60220         (main): Make C90 compliant by avoiding variable declaration after
60221         statement.
60222         * modules/ino-map-tests (Files): Add tests/macros.h.
60224 2011-02-08  Jim Meyering  <meyering@redhat.com>
60226         di-set: add "const" to a cast
60227         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
60228         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
60230 2011-02-06  Bruno Haible  <bruno@clisp.org>
60232         Rename module 'wctype' to 'wctype-h'.
60233         * modules/wctype-h: Renamed from modules/wctype.
60234         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
60235         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
60236         (Files, Depends-on, Makefile.am): Update.
60237         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
60238         (Files, Makefile.am): Update.
60239         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
60240         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
60241         * doc/posix-headers/wctype.texi: Update.
60242         * doc/posix-functions/iswalnum.texi: Update.
60243         * doc/posix-functions/iswalpha.texi: Update.
60244         * doc/posix-functions/iswblank.texi: Update.
60245         * doc/posix-functions/iswcntrl.texi: Update.
60246         * doc/posix-functions/iswdigit.texi: Update.
60247         * doc/posix-functions/iswgraph.texi: Update.
60248         * doc/posix-functions/iswlower.texi: Update.
60249         * doc/posix-functions/iswprint.texi: Update.
60250         * doc/posix-functions/iswpunct.texi: Update.
60251         * doc/posix-functions/iswspace.texi: Update.
60252         * doc/posix-functions/iswupper.texi: Update.
60253         * doc/posix-functions/iswxdigit.texi: Update.
60254         * doc/posix-functions/towlower.texi: Update.
60255         * doc/posix-functions/towupper.texi: Update.
60256         * NEWS: Mention the change.
60257         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
60258         * modules/mbchar (Dependencies): Likewise.
60259         * modules/mbswidth (Dependencies): Likewise.
60260         * modules/quotearg (Dependencies): Likewise.
60261         * modules/regex (Dependencies): Likewise.
60262         * modules/wcscasecmp (Dependencies): Likewise.
60263         * modules/wcsncasecmp (Dependencies): Likewise.
60264         * modules/wcwidth (Dependencies): Likewise.
60266 2011-02-06  Bruno Haible  <bruno@clisp.org>
60268         New module 'wcswidth'.
60269         * modules/wcswidth: New file.
60270         * lib/wchar.in.h (wcswidth): New declaration.
60271         * lib/wcswidth.c: New file.
60272         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
60273         * m4/wcswidth.m4: New file.
60274         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
60275         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
60276         REPLACE_WCSWIDTH.
60277         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
60278         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
60279         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
60280         * doc/posix-functions/wcswidth.texi: Mention the new module.
60282 2011-02-06  Bruno Haible  <bruno@clisp.org>
60284         New module 'wcstok'.
60285         * modules/wcstok: New file.
60286         * lib/wchar.in.h (wcstok): New declaration.
60287         * lib/wcstok.c: New file.
60288         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
60289         * m4/wcstok.m4: New file.
60290         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
60291         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
60292         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
60293         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
60294         * doc/posix-functions/wcstok.texi: Mention the new module.
60296 2011-02-06  Bruno Haible  <bruno@clisp.org>
60298         New module 'wcsstr'.
60299         * modules/wcsstr: New file.
60300         * lib/wchar.in.h (wcsstr): New declaration.
60301         * lib/wcsstr.c: New file.
60302         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
60303         * m4/wcsstr.m4: New file.
60304         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
60305         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
60306         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
60307         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
60308         * doc/posix-functions/wcsstr.texi: Mention the new module.
60310 2011-02-06  Bruno Haible  <bruno@clisp.org>
60312         New module 'wcspbrk'.
60313         * modules/wcspbrk: New file.
60314         * lib/wchar.in.h (wcspbrk): New declaration.
60315         * lib/wcspbrk.c: New file.
60316         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
60317         * m4/wcspbrk.m4: New file.
60318         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
60319         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
60320         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
60321         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
60322         * doc/posix-functions/wcspbrk.texi: Mention the new module.
60324 2011-02-06  Bruno Haible  <bruno@clisp.org>
60326         New module 'wcsspn'.
60327         * modules/wcsspn: New file.
60328         * lib/wchar.in.h (wcsspn): New declaration.
60329         * lib/wcsspn.c: New file.
60330         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
60331         * m4/wcsspn.m4: New file.
60332         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
60333         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
60334         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
60335         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
60336         * doc/posix-functions/wcsspn.texi: Mention the new module.
60338 2011-02-06  Bruno Haible  <bruno@clisp.org>
60340         New module 'wcscspn'.
60341         * modules/wcscspn: New file.
60342         * lib/wchar.in.h (wcscspn): New declaration.
60343         * lib/wcscspn.c: New file.
60344         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
60345         * m4/wcscspn.m4: New file.
60346         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
60347         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
60348         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
60349         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
60350         * doc/posix-functions/wcscspn.texi: Mention the new module.
60352 2011-02-06  Bruno Haible  <bruno@clisp.org>
60354         New module 'wcsrchr'.
60355         * modules/wcsrchr: New file.
60356         * lib/wchar.in.h (wcsrchr): New declaration.
60357         * lib/wcsrchr.c: New file.
60358         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
60359         * m4/wcsrchr.m4: New file.
60360         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
60361         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
60362         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
60363         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
60364         * doc/posix-functions/wcsrchr.texi: Mention the new module.
60366 2011-02-06  Bruno Haible  <bruno@clisp.org>
60368         New module 'wcschr'.
60369         * modules/wcschr: New file.
60370         * lib/wchar.in.h (wcschr): New declaration.
60371         * lib/wcschr.c: New file.
60372         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
60373         * m4/wcschr.m4: New file.
60374         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
60375         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
60376         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
60377         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
60378         * doc/posix-functions/wcschr.texi: Mention the new module.
60380 2011-02-06  Bruno Haible  <bruno@clisp.org>
60382         New module 'wcsdup'.
60383         * modules/wcsdup: New file.
60384         * lib/wchar.in.h (wcsdup): New declaration.
60385         * lib/wcsdup.c: New file.
60386         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
60387         * m4/wcsdup.m4: New file.
60388         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
60389         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
60390         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
60391         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
60392         * doc/posix-functions/wcsdup.texi: Mention the new module.
60394 2011-02-06  Bruno Haible  <bruno@clisp.org>
60396         New module 'wcsxfrm'.
60397         * modules/wcsxfrm: New file.
60398         * lib/wchar.in.h (wcsxfrm): New declaration.
60399         * lib/wcsxfrm.c: New file.
60400         * lib/wcsxfrm-impl.h: New file.
60401         * m4/wcsxfrm.m4: New file.
60402         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
60403         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
60404         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
60405         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
60406         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
60408 2011-02-06  Bruno Haible  <bruno@clisp.org>
60410         New module 'wcscoll'.
60411         * modules/wcscoll: New file.
60412         * lib/wchar.in.h (wcscoll): New declaration.
60413         * lib/wcscoll.c: New file.
60414         * lib/wcscoll-impl.h: New file.
60415         * m4/wcscoll.m4: New file.
60416         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
60417         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
60418         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
60419         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
60420         * doc/posix-functions/wcscoll.texi: Mention the new module.
60422 2011-02-06  Bruno Haible  <bruno@clisp.org>
60424         New module 'wcsncasecmp'.
60425         * modules/wcsncasecmp: New file.
60426         * lib/wchar.in.h (wcsncasecmp): New declaration.
60427         * lib/wcsncasecmp.c: New file.
60428         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
60429         * m4/wcsncasecmp.m4: New file.
60430         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
60431         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
60432         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
60433         HAVE_WCSNCASECMP.
60434         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
60435         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
60437 2011-02-06  Bruno Haible  <bruno@clisp.org>
60439         New module 'wcscasecmp'.
60440         * modules/wcscasecmp: New file.
60441         * lib/wchar.in.h (wcscasecmp): New declaration.
60442         * lib/wcscasecmp.c: New file.
60443         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
60444         * m4/wcscasecmp.m4: New file.
60445         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
60446         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
60447         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
60448         HAVE_WCSCASECMP.
60449         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
60450         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
60452 2011-02-05  Bruno Haible  <bruno@clisp.org>
60454         New module 'wcsncmp'.
60455         * modules/wcsncmp: New file.
60456         * lib/wchar.in.h (wcsncmp): New declaration.
60457         * lib/wcsncmp.c: New file.
60458         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
60459         * m4/wcsncmp.m4: New file.
60460         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
60461         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
60462         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
60463         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
60464         * doc/posix-functions/wcsncmp.texi: Mention the new module.
60466 2011-02-05  Bruno Haible  <bruno@clisp.org>
60468         New module 'wcscmp'.
60469         * modules/wcscmp: New file.
60470         * lib/wchar.in.h (wcscmp): New declaration.
60471         * lib/wcscmp.c: New file.
60472         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
60473         * m4/wcscmp.m4: New file.
60474         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
60475         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
60476         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
60477         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
60478         * doc/posix-functions/wcscmp.texi: Mention the new module.
60480 2011-02-05  Bruno Haible  <bruno@clisp.org>
60482         New module 'wcsncat'.
60483         * modules/wcsncat: New file.
60484         * lib/wchar.in.h (wcsncat): New declaration.
60485         * lib/wcsncat.c: New file.
60486         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
60487         * m4/wcsncat.m4: New file.
60488         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
60489         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
60490         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
60491         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
60492         * doc/posix-functions/wcsncat.texi: Mention the new module.
60494 2011-02-05  Bruno Haible  <bruno@clisp.org>
60496         New module 'wcscat'.
60497         * modules/wcscat: New file.
60498         * lib/wchar.in.h (wcscat): New declaration.
60499         * lib/wcscat.c: New file.
60500         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
60501         * m4/wcscat.m4: New file.
60502         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
60503         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
60504         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
60505         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
60506         * doc/posix-functions/wcscat.texi: Mention the new module.
60508 2011-02-05  Bruno Haible  <bruno@clisp.org>
60510         New module 'wcpncpy'.
60511         * modules/wcpncpy: New file.
60512         * lib/wchar.in.h (wcpncpy): New declaration.
60513         * lib/wcpncpy.c: New file.
60514         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
60515         * m4/wcpncpy.m4: New file.
60516         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
60517         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
60518         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
60519         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
60520         * doc/posix-functions/wcpncpy.texi: Mention the new module.
60522 2011-02-05  Bruno Haible  <bruno@clisp.org>
60524         New module 'wcsncpy'.
60525         * modules/wcsncpy: New file.
60526         * lib/wchar.in.h (wcsncpy): New declaration.
60527         * lib/wcsncpy.c: New file.
60528         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
60529         * m4/wcsncpy.m4: New file.
60530         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
60531         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
60532         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
60533         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
60534         * doc/posix-functions/wcsncpy.texi: Mention the new module.
60536 2011-02-05  Bruno Haible  <bruno@clisp.org>
60538         New module 'wcpcpy'.
60539         * modules/wcpcpy: New file.
60540         * lib/wchar.in.h (wcpcpy): New declaration.
60541         * lib/wcpcpy.c: New file.
60542         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
60543         * m4/wcpcpy.m4: New file.
60544         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
60545         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
60546         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
60547         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
60548         * doc/posix-functions/wcpcpy.texi: Mention the new module.
60550 2011-02-05  Bruno Haible  <bruno@clisp.org>
60552         New module 'wcscpy'.
60553         * modules/wcscpy: New file.
60554         * lib/wchar.in.h (wcscpy): New declaration.
60555         * lib/wcscpy.c: New file.
60556         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
60557         * m4/wcscpy.m4: New file.
60558         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
60559         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
60560         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
60561         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
60562         * doc/posix-functions/wcscpy.texi: Mention the new module.
60564 2011-02-05  Bruno Haible  <bruno@clisp.org>
60566         New module 'wcsnlen'.
60567         * modules/wcsnlen: New file.
60568         * lib/wchar.in.h (wcsnlen): New declaration.
60569         * lib/wcsnlen.c: New file.
60570         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
60571         * m4/wcsnlen.m4: New file.
60572         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
60573         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
60574         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
60575         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
60576         * doc/posix-functions/wcsnlen.texi: Mention the new module.
60578 2011-02-05  Bruno Haible  <bruno@clisp.org>
60580         New module 'wcslen'.
60581         * modules/wcslen: New file.
60582         * lib/wchar.in.h (wcslen): New declaration.
60583         * lib/wcslen.c: New file.
60584         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
60585         * m4/wcslen.m4: New file.
60586         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
60587         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
60588         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
60589         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
60590         * doc/posix-functions/wcslen.texi: Mention the new module.
60592 2011-02-05  Bruno Haible  <bruno@clisp.org>
60594         New module 'wmemset'.
60595         * modules/wmemset: New file.
60596         * lib/wchar.in.h (wmemset): New declaration.
60597         * lib/wmemset.c: New file.
60598         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
60599         * m4/wmemset.m4: New file.
60600         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
60601         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
60602         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
60603         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
60604         * doc/posix-functions/wmemset.texi: Mention the new module.
60606 2011-02-05  Bruno Haible  <bruno@clisp.org>
60608         New module 'wmemmove'.
60609         * modules/wmemmove: New file.
60610         * lib/wchar.in.h (wmemmove): New declaration.
60611         * lib/wmemmove.c: New file.
60612         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
60613         * m4/wmemmove.m4: New file.
60614         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
60615         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
60616         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
60617         HAVE_WMEMMOVE.
60618         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
60619         * doc/posix-functions/wmemmove.texi: Mention the new module.
60621 2011-02-05  Bruno Haible  <bruno@clisp.org>
60623         New module 'wmemcpy'.
60624         * modules/wmemcpy: New file.
60625         * lib/wchar.in.h (wmemcpy): New declaration.
60626         * lib/wmemcpy.c: New file.
60627         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
60628         * m4/wmemcpy.m4: New file.
60629         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
60630         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
60631         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
60632         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
60633         * doc/posix-functions/wmemcpy.texi: Mention the new module.
60635 2011-02-05  Bruno Haible  <bruno@clisp.org>
60637         New module 'wmemcmp'.
60638         * modules/wmemcmp: New file.
60639         * lib/wchar.in.h (wmemcmp): New declaration.
60640         * lib/wmemcmp.c: New file.
60641         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
60642         * m4/wmemcmp.m4: New file.
60643         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
60644         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
60645         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
60646         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
60647         * doc/posix-functions/wmemcmp.texi: Mention the new module.
60649 2011-02-07  Jim Meyering  <meyering@redhat.com>
60651         di-set, ino-map: new modules, from coreutils
60652         * lib/di-set.c: New file.
60653         * lib/di-set.h: Likewise.
60654         * lib/ino-map.c: Likewise.
60655         * lib/ino-map.h: Likewise.
60656         * modules/di-set: Likewise.
60657         * modules/di-set-tests: Likewise.
60658         * modules/ino-map: Likewise.
60659         * modules/ino-map-tests: Likewise.
60660         * tests/test-di-set.c: Likewise.
60661         * tests/test-ino-map.c: Likewise.
60663 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
60665         getloadavg: merge minor changes from Emacs
60667         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
60668         (getloadavg): Use memset, not bzero.
60670         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
60671         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
60672         clash (bug#86).
60674 2010-11-14  Bruno Haible  <bruno@clisp.org>
60676         Allow multiple gnulib generated replacements to coexist.
60677         * lib/getopt.in.h (struct option): Avoid identical redefinition.
60678         * lib/inttypes.in.h (imaxdiv_t): Likewise.
60679         * lib/langinfo.in.h (nl_item): Likewise.
60680         * lib/math.in.h (_NaN, NAN): Likewise.
60681         * lib/netdb.in.h (struct addrinfo): Likewise.
60682         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
60683         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
60684         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
60685         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
60686         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
60687         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
60688         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
60689         pthread_mutexattr_init, pthread_mutexattr_settype,
60690         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
60691         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
60692         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
60693         pthread_spin_trylock, pthread_spin_unlock): Likewise.
60694         * lib/sched.in.h (struct sched_param): Likewise.
60695         * lib/se-selinux.in.h (security_class_t, security_context_t,
60696         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
60697         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
60698         lsetfilecon, fsetfilecon, security_check_context,
60699         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
60700         Likewise.
60701         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
60702         Likewise.
60703         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
60704         _gl_function_taking_int_returning_void_t, union sigval,
60705         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
60706         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
60707         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
60708         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
60709         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
60710         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
60711         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
60712         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
60713         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
60714         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
60715         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
60716         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
60717         socklen_t, rpl_fd_isset): Likewise.
60718         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
60719         * lib/sys_time.in.h (struct timeval): Likewise.
60720         * lib/sys_times.in.h (struct tms): Likewise.
60721         * lib/sys_utsname.in.h (struct utsname):
60722         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
60723         * lib/unistd.in.h (getpagesize): Likewise.
60724         * lib/wchar.in.h (mbstate_t): Likewise.
60725         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60726         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
60727         towlower, towupper): Likewise.
60728         Reported by Sam Steingold <sds@gnu.org>.
60730 2011-02-05  Eric Blake  <eblake@redhat.com>
60732         unsetenv: work around Haiku issues
60733         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
60734         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
60736 2010-12-30  Bruce Korb  <bkorb@gnu.org>
60738         libposix: avoid calling error() within libposix
60739         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
60740         is defined.
60742 2011-02-05  Eric Blake  <eblake@redhat.com>
60744         strerror_r-posix: port to cygwin
60745         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
60746         implementation.
60747         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
60748         * tests/test-strerror_r.c (main): Fix test.
60749         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
60750         issue.
60752 2011-02-05  Bruno Haible  <bruno@clisp.org>
60754         New module 'wmemchr'.
60755         * modules/wmemchr: New file.
60756         * lib/wchar.in.h (wmemchr): New declaration.
60757         * lib/wmemchr.c: New file.
60758         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
60759         * m4/wmemchr.m4: New file.
60760         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
60761         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
60762         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
60763         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
60764         * doc/posix-functions/wmemchr.texi: Mention the new module.
60766 2011-02-04  Eric Blake  <eblake@redhat.com>
60768         fdopendir: detect FreeBSD bug
60769         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
60770         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
60772 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
60774         stdbool: do not define HAVE_STDBOOL_H
60775         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
60776         AC_HEADER_STDBOOL.  All uses changed.  Do not define
60777         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
60778         imported from the latest Autoconf git.  It was motivated by Emacs,
60779         which uses gnulib but does not need HAVE_STDBOOL_H.
60781 2011-02-04  Bruno Haible  <bruno@clisp.org>
60783         wcsnrtombs: Prepare for new module wwcsnrtombs.
60784         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
60785         * lib/wcsnrtombs.c: Include it.
60786         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
60788         wcsrtombs: Prepare for new module wwcsrtombs.
60789         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
60790         * lib/wcsrtombs.c: Include it.
60791         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
60793         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
60794         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
60795         * lib/mbsnrtowcs.c: Include it.
60796         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
60798         mbsrtowcs: Prepare for new module mbsrtowwcs.
60799         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
60800         * lib/mbsrtowcs.c: Include it.
60801         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
60803 2011-02-04  Bruno Haible  <bruno@clisp.org>
60805         vasnprintf: Reduce use of malloc for small format strings.
60806         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
60807         (arguments): Add room for the first 7 arguments.
60808         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
60809         (char_directives, u8_directives, u16_directives, u32_directives): Add
60810         room for the first 7 directives.
60811         * lib/printf-parse.c: Include <string.h>.
60812         (PRINTF_PARSE): Change memory handling code so that it uses the first
60813         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
60814         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
60815         Reported by Pádraig Brady <P@draigbrady.com>.
60817 2011-01-31  Eric Blake  <eblake@redhat.com>
60819         dup2: work around Haiku bug
60820         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
60821         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
60822         * doc/posix-functions/dup2.texi (dup2): Document the bug.
60823         * tests/test-dup2.c (main): Enhance test.
60825 2011-01-31  Simon Josefsson  <simon@josefsson.org>
60827         doc: off_t is not available in eglibc 2.11.2 stdio.h.
60828         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
60829         declared by eglibc 2.11.2.
60830         * lib/stdio.in.h: Likewise.
60832 2011-01-31  Eric Blake  <eblake@redhat.com>
60834         ignore-value: add missing test dependency
60835         * tests/test-ignore-value.c: Revert previous change; stdio.h
60836         provides off_t.
60837         * modules/ignore-value-tests (Depends-on): Add missing dependency.
60839 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
60841         mktime: clarify long_int width checking
60842         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
60843         the top level, to make it clearer that the assumption about
60844         long_int width is being checked.  See
60845         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
60847 2011-01-30  Simon Josefsson  <simon@josefsson.org>
60849         ignore-value: Fix self-test.
60850         * tests/test-ignore-value.c: Include sys/types.h for off_t.
60852 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
60854         TYPE_MAXIMUM: avoid theoretically undefined behavior
60855         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
60856         negative number, which the C Standard says has undefined behavior.
60857         In practice this is not a problem, but might as well do it by the book.
60858         Reported by Rich Felker and Eric Blake; see
60859         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
60860         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
60861         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
60862         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60863         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
60864         * m4/stdint.m4 (gl_STDINT_H): Likewise.
60865         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
60867         mktime: #undef mktime before #defining it
60868         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
60870         mktime: systematically normalize tm_isdst comparisons
60871         * lib/mktime.c (isdst_differ): New function.
60872         (__mktime_internal): Use it systematically for all isdst comparisons.
60873         This completes the fix for libc BZ #6723, and removes the need for
60874         normalizing tm_isdst.  See
60875         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
60876         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
60878         mktime: fix some integer overflow issues and sidestep the rest
60880         This was prompted by a bug report by Benjamin Lindner for MinGW
60881         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
60882         His bug is due to signed integer overflow (0 - INT_MIN), and I
60883         I scanned through mktime.c looking for other integer overflow
60884         problems, fixing all the bugs I found.
60886         Although the C Standard says the resulting code is still not safe
60887         in the presence of integer overflow, in practice it should be good
60888         enough for all real-world two's-complement implementations, except
60889         for debugging environments that deliberately trap on integer
60890         overflow (e.g., gcc -ftrapv).
60892         * lib/mktime.c (WRAPV): New macro.
60893         (SHR): Also check that long_int and time_t shift right in the
60894         usual way, before using the fast-but-unportable method.
60895         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
60896         used.  The code already assumed two's complement, so there's
60897         no need to test for alternatives.  All uses removed.
60898         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
60899         the C standard.  Problem reported by Rich Felker in
60900         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
60901         (twos_complement_arithmetic): Also check long_int and time_t.
60902         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
60903         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
60904         (__mktime_internal): Avoid integer overflow with unary subtraction
60905         in two instances where -1 - X is an adequate replacement for -X,
60906         since the calculations are approximate.
60908 2011-01-29  Eric Blake  <eblake@redhat.com>
60910         mktime: avoid infinite loop
60911         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
60912         type; behavior is still undefined but portable to all known targets.
60913         Reported by Rich Felker.
60915 2011-01-29  Simon Josefsson  <simon@josefsson.org>
60917         rename, unlink, same-inode: Relicense.
60918         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
60919         * modules/unlink (License): Likewise.
60920         * modules/same-inode (License): Likewise.
60922 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
60924         mktime: avoid problems on NetBSD 5 / i386
60925         * lib/mktime.c (long_int): New type.  This works around a problem
60926         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
60927         but time_t is 64 bits, and where I expect the existing code is
60928         wrong in some cases.
60929         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
60930         (ydhms_diff): Bring back the compile-time check for wide-enough
60931         year and yday.
60933         mktime: fix misspelling in comment
60934         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
60935         This merges all recent glibc changes of importance.
60937 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60939         move-if-change: cope with concurrent mv of identical file.
60940         * build-aux/move-if-change (CMPPROG): Accept environment
60941         variable as an override for `cmp'.
60942         (usage): Document CMPPROG.
60943         Adjust comparison to drop stdout.  Cope with failure of mv if
60944         the target file exists and is identical to the source, for
60945         parallel builds.
60946         Report from H.J. Lu against binutils in PR binutils/12283.
60948 2011-01-28  Bruce Korb  <bkorb@gnu.org>
60950         * users.txt: Mention sharutils.
60952 2011-01-28  Simon Josefsson  <simon@josefsson.org>
60954         * users.txt: Mention OATH Toolkit.
60956 2011-01-27  Bruno Haible  <bruno@clisp.org>
60958         Prepare for supporting FreeBSD 10.
60959         * build-aux/config.libpath: Remove handling of freebsd1*.
60961 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
60963         Prepare for supporting FreeBSD 10.
60964         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
60965         match FreeBSD 10.0.
60967 2011-01-27  Bruno Haible  <bruno@clisp.org>
60969         vma-iter, get-rusage-as: Add OpenBSD support.
60970         * modules/vma-iter (configure.ac): Test for mquery.
60971         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
60972         * lib/vma-iter.c: Include <sys/mman.h>.
60973         (vma_iterate): Add an implementation based on mquery().
60974         * lib/resource-ext.h (get_rusage_as): Update comments.
60975         * lib/get-rusage-as.c: Likewise.
60976         * lib/get-rusage-data.c: Likewise.
60978 2011-01-26  Karl Berry  <karl@gnu.org>
60980         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
60981         variables to make it easier to override the makeinfo program used.
60983 2011-01-26  Eric Blake  <eblake@redhat.com>
60985         fcntl: work around Haiku F_DUPFD bugs
60986         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
60987         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
60988         cloexec bit on duplication.
60989         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
60991 2011-01-26  Bruno Haible  <bruno@clisp.org>
60993         Enable memory leak tests on AIX.
60994         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
60995         * tests/test-fprintf-posix3.c (main): Likewise.
60997 2011-01-26  Bruno Haible  <bruno@clisp.org>
60999         Tests for module 'get-rusage-data'.
61000         * modules/get-rusage-data-tests: New file.
61001         * tests/test-get-rusage-data.c: New file.
61003         New module 'get-rusage-data'.
61004         * lib/resource-ext.h (get_rusage_data): New declaration.
61005         * lib/get-rusage-data.c: New file.
61006         * modules/get-rusage-data: New file.
61008 2011-01-25  Bruno Haible  <bruno@clisp.org>
61010         get-rusage-as: Allow for easier testing.
61011         * lib/resource-ext.h (get_rusage_as): Add comment.
61012         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
61013         (main): New function for interactive testing.
61015 2011-01-25  Bruno Haible  <bruno@clisp.org>
61017         vma-iter: Treat Haiku like BeOS.
61018         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
61019         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
61021 2011-01-25  Eric Blake  <eblake@redhat.com>
61023         c-stack: fix regression on cygwin when libsigsegv is present
61024         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
61026 2011-01-24  Bruno Haible  <bruno@clisp.org>
61028         vma-iter: Avoid empty intervals.
61029         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
61030         on an empty interval.
61032 2011-01-24  Jim Meyering  <meyering@redhat.com>
61034         u64: remove unnecessary #include
61035         * lib/u64.h: Don't include <stddef.h>.  It was not used.
61037 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61039         Allow the user to avoid the HAVE_RAW_DECL_* macros.
61040         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
61042 2011-01-23  Bruno Haible  <bruno@clisp.org>
61044         New module 'vma-iter'.
61045         * lib/vma-iter.h: New file.
61046         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
61047         * modules/vma-iter: New file.
61048         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
61049         for get_rusage_as_via_iterator.
61050         (vma_iterate_callback): New function.
61051         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
61052         * modules/get-rusage-as (Depends-on): Add vma-iter.
61054 2011-01-23  Bruno Haible  <bruno@clisp.org>
61056         uninorm: Tweak includes.
61057         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
61058         Reported by Jim Meyering.
61060 2011-01-23  Bruno Haible  <bruno@clisp.org>
61062         get-rusage-as: Improve on NetBSD.
61063         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
61064         /proc, like on FreeBSD.
61066 2011-01-23  Jim Meyering  <meyering@redhat.com>
61068         xreadlink.h: remove unnecessary #include
61069         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
61071         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
61072         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
61074 2011-01-23  Bruno Haible  <bruno@clisp.org>
61076         get-rusage-as: Fix bug.
61077         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
61078         original limit when aborting the first loop.
61080 2011-01-23  Bruno Haible  <bruno@clisp.org>
61082         wctype: Ensure valid C syntax.
61083         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
61084         unconditionally, instead of gl_NEXT_HEADERS conditionally.
61086 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
61088         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
61089         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
61090         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
61091         as they are needed only for configure's test case.
61092         This removes two unnecessary symbols from config.h.
61094         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
61095         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
61096         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
61097         AC_CHECK_HEADERS_ONCE on a header that we also invoke
61098         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
61099         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
61100         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
61101         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
61102         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
61103         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
61104         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
61105         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
61106         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
61107         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
61108         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
61109         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
61110         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
61111         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
61113 2011-01-21  Eric Blake  <eblake@redhat.com>
61115         maintainer-makefile: work with older git for submodule check
61116         * top/maint.mk (public-submodule-commit): Rewrite to avoid
61117         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
61118         Reported by Matthias Bolte.
61120         bootstrap: minor portability fixes
61121         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
61122         (usage): Omit leading capital and trailing . on help phrases, per
61123         GNU Coding Standards.
61124         (check_versions, top level): Prefix messages with script name.
61126 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
61128         bootstrap: support --no-git option
61129         * build-aux/bootstrap: Add --no-git option, to be used when
61130         --gnulib-srcdir points to the exact desired checkout.
61132 2011-01-21  Eric Blake  <eblake@redhat.com>
61134         strerror_r-posix: work with glibc 2.13
61135         * lib/strerror_r.c (strerror_r): Fix return type.
61137 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61138             Bruno Haible  <bruno@clisp.org>
61140         uN_strstr: New unit tests.
61141         * modules/unistr/u8-strstr-tests: New file.
61142         * modules/unistr/u16-strstr-tests: New file.
61143         * modules/unistr/u32-strstr-tests: New file.
61144         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
61145         * tests/unistr/test-u8-strstr.c: New file.
61146         * tests/unistr/test-u16-strstr.c: New file.
61147         * tests/unistr/test-u32-strstr.c: New file.
61149 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61150             Bruno Haible  <bruno@clisp.org>
61152         Make uN_strstr functions O(n) worst-case.
61153         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
61154         16-bit and 32-bit unit cases, use the unibyte algorithm from
61155         lib/mbsstr.c.
61156         * lib/unistr/u8-strstr.c: Include <string.h>.
61157         (UNIT_IS_UINT8_T): New macro.
61158         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
61159         (U_STRLEN, U_STRNLEN): New macros.
61160         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
61161         (U_STRLEN, U_STRNLEN): New macros.
61162         * modules/unistr/u8-strstr (Depends-on): Add strstr.
61163         (configure.ac): Update required libunistring version.
61164         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
61165         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
61166         malloca.
61167         (configure.ac): Update required libunistring version.
61168         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
61169         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
61170         malloca.
61171         (configure.ac): Update required libunistring version.
61173 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61174             Bruno Haible  <bruno@clisp.org>
61176         Prepare for faster uN_strstr functions.
61177         * lib/str-kmp.h: Support definable UNITs.
61178         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
61179         needle_len argument.
61180         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
61181         * lib/mbscasestr.c (mbscasestr): Likewise.
61183 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61185         malloca-tests: make faster by unsetting MALLOC_PERTURB_
61186         * tests/test-malloca.c (main): Unset the environment variable
61187         to greatly speed up the test.
61188         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
61189         * modules/malloca-tests: Depend on unsetenv.
61191 2011-01-21  Pádraig Brady  <P@draigBrady.com>
61193         ignore-value: remove stdint dependency
61194         * lib/ignore-value.h: Remove <stdint.h>
61195         * modules/ignore-value: Remove stdint dependency.
61197 2011-01-21  Jim Meyering  <meyering@redhat.com>
61199         maint.mk: adjust variable name to be consistent with other gl_ vars
61200         * top/maint.mk (gl_public_submodule_commit): Rename the variable
61201         to be lower case.
61203 2011-01-20  Jim Meyering  <meyering@redhat.com>
61205         maint.mk: make "check" depend on public-submodule-commit by default
61206         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
61208 2011-01-20  Bruno Haible  <bruno@clisp.org>
61210         mbfile, mbiter: Complete change from 2008-12-21.
61211         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
61212         * m4/mbiter.m4 (gl_MBITER): Likewise.
61214 2011-01-20  Jim Meyering  <meyering@redhat.com>
61216         init.sh: insert space between each function name and "()"
61217         * tests/init.sh: Make it a little easier to see that a function's
61218         name is "warn_", and not "warn" when looking at the first part of
61219         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
61221 2011-01-20  Jim Meyering  <meyering@redhat.com>
61223         mountlist: clean up code formatting
61224         * lib/mountlist.c (read_file_system_list): Split a long line,
61225         correct bracing style, use NULL in place of "(struct statfs *)0",
61226         don't parenthesize return value, add spaces around "=" and after
61227         ";-in-for-stmt".
61229 2011-01-14  Markus Duft  <mduft@gentoo.org>
61231         mountlist: add support for Interix
61232         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
61233         Apply statvfs to all entries of /dev/fs.
61234         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
61235         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
61237 2011-01-20  Jim Meyering  <meyering@redhat.com>
61239         maint.mk: improve the public-submodule-commit rule
61240         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
61241         to suppress printing of its commands... unless V=1.
61242         Add git submodule's --quiet option to suppress printing of e.g.,
61243         "Entering gnulib" output.
61244         "cd" into $(srcdir) before running git submodule.
61246 2011-01-20  Bruno Haible  <bruno@clisp.org>
61248         include_next: Fix bug introduced on 2011-01-18.
61249         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
61250         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
61251         ac_cv_header_... variable if the second argument is not 'check'.
61252         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
61253         gl_NEXT_HEADERS_INTERNAL.
61255 2011-01-20  Bruno Haible  <bruno@clisp.org>
61257         Allow the user to avoid the GNULIB_TEST_* macros.
61258         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
61259         Suggested by Paul Eggert.
61261 2011-01-14  Jim Meyering  <meyering@redhat.com>
61263         bootstrap: avoid failure when there is no .gitmodules file
61264         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
61265         has been assigned to, even when its value is the empty string.
61266         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
61267         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
61268         Reported by John W. Eaton <jwe@gnu.org>.
61270 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
61272         assume <ctype.h>, ..., <time.h> exist
61273         For years gnulib has been assuming the existence of the headers
61274         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
61275         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
61276         them, since they don't appear to be needed.
61277         * README (Portability guidelines): Document this.
61278         * lib/flock.c: Assume <fcntl.h> exists.
61279         * lib/regex_internal.h: Assume <locale.h> exists.
61280         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
61281         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
61282         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
61283         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
61284         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
61285         * m4/regex.m4 (gl_REGEX): Likewise.
61286         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
61287         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
61288         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
61289         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
61290         * tests/test-argp.c: Likewise.
61291         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
61293         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
61294         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
61295         AA_APPLE_UNIVERSAL_BUILD.  See
61296         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
61297         * NEWS: Document this.
61299 2011-01-19  Eric Blake  <eblake@redhat.com>
61301         c-stack: assume stack overflow if SA_SIGINFO unsupported
61302         * lib/c-stack.c (SIGACTION_WORKS): Rename...
61303         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
61304         sigaction will work.
61305         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
61306         behavior match Linux.
61307         * tests/test-c-stack.c (main): Prefer NULL for pointers.
61309         stdbool-tests: accommodate Haiku
61310         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
61312         binary-io: fix O_TEXT on Haiku
61313         * modules/binary-io (Depends-on): Add fcntl-h.
61314         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
61315         than blindly undefining O_TEXT.
61316         Reported by Scott McCreary.
61318 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61320         include_next: do not check for standard headers like stddef.h
61322         I found this problem when modifying Emacs to use gnulib.
61323         I noticed that it added HAVE_STDDEF_H to config.h, even though
61324         gnulib always assumes <stddef.h> exists as per README and this
61325         symbol is unnecessary.
61326         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
61327         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
61328         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
61329         faster for headers like stddef.h that are known to exist.
61330         (gl_CHECK_NEXT_HEADERS): Use it.
61331         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
61332         rather than gl_CHECK_NEXT_HEADERS.
61333         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
61334         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
61336 2011-01-18  Eric Blake  <eblake@redhat.com>
61338         ansi-c++-opt: skip C++ dependency style if C++ is unused
61339         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
61340         tests when we know C++ compilation is not desired.
61341         Reported by Scott McCreary.
61343 2011-01-18  Bruno Haible  <bruno@clisp.org>
61345         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
61346         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
61347         (main): Perform test also when getrlimit and setrlimit don't exist or
61348         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
61349         limiting the address space size using setrlimit, compare the address
61350         space size before and after the test.
61351         * tests/test-dprintf-posix2.c: Likewise.
61352         * tests/test-fprintf-posix3.sh: Update skip messages.
61353         * tests/test-dprintf-posix2.sh: Likewise.
61354         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
61355         * modules/dprintf-posix-tests (Depends-on): Likewise.
61356         Reported by Bruce Korb <bkorb@gnu.org> and
61357         Gary V. Vaughan <gary@gnu.org>.
61359 2011-01-18  Bruno Haible  <bruno@clisp.org>
61361         get-rusage-as: Improvement for Cygwin.
61362         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
61363         areas that are merely reserved.
61365 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61367         strftime: remove dependencies on multibyte modules
61369         strftime depended on mbrlen, mbsinit, and wchar, but these modules
61370         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
61371         only if __osf__ is defined, and I suspect OSF doesn't need these
61372         other modules.  If my guess is wrong, we'll need to come up with a
61373         variant of strftime that doesn't need the multibyte modules.
61375         I discovered this problem when attempting modify Emacs to use the
61376         strftime module.  With the previous gnulib, this caused Emacs to
61377         need 31 new files, ranging from lib/config.charset to
61378         m4/wint_t.m4.  This was overkill and I expect would be offputting
61379         to the Emacs maintainers.  After this change, only 6 new files are
61380         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
61381         stdbool.m4, and tm_gmtoff.m4.
61383         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
61384         Suggested by Bruno Haible in
61385         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
61386         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
61387         and do not check for wchar.h.
61388         * modules/strftime (Files): Remove m4/mbstate_t.m4.
61389         (Depends-on): Remove mbrlen, mbsinit, wchar.
61391 2011-01-18  Bruno Haible  <bruno@clisp.org>
61393         Tests for module 'get-rusage-as'.
61394         * modules/get-rusage-as-tests: New file.
61395         * tests/test-get-rusage-as.c: New file.
61397         New module 'get-rusage-as'.
61398         * modules/get-rusage-as: New file.
61399         * lib/resource-ext.h: New file.
61400         * lib/get-rusage-as.c: New file.
61402 2011-01-17  Eric Blake  <eblake@redhat.com>
61404         sigaction: relax license from LGPLv3+ to LGPLv2+
61405         * modules/sigaction (License): Relax to LGPLv2+.
61407 2011-01-14  Bruno Haible  <bruno@clisp.org>
61409         filemode: Make function declarations usable in C++ mode.
61410         * lib/filemode.h: Enclose function declarations in extern "C" block.
61411         Reported by John W. Eaton <jwe@gnu.org>.
61413 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
61415         save-cwd: no longer include "xgetcwd.h"
61416         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
61417         This avoids a compilation failure in projects that use save-cwd
61418         without also using the xgetcwd module.
61420 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
61422         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
61423         This is so that a program like Emacs, which needs only dtoastr,
61424         does not have to bother with distributing and compiling ftoastr
61425         and ldtoastr.
61426         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
61427         * modules/dtoastr, modules/ldtoastr: New files.
61428         * modules/ftoastr: Now works just for 'float'.
61429         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
61430         (Makefile.am): Remove ftoastr.h (not needed and no effect),
61431         dtoastr.c, ldtoastr.c.
61433 2011-01-11  Jim Meyering  <meyering@redhat.com>
61435         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
61436         There is no need to work around the lack of the fchdir function,
61437         since gnulib can now provide a replacement when required.
61438         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
61439         * modules/save-cwd (Depends-on): Add fchdir.
61441 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
61443         openat, save-cwd: avoid xmalloc
61445         This removes a direct (but undocumented) dependency of openat on
61446         xalloc, along with an indirect dependency via save-cwd.  It also
61447         removes a dependency of save-cwd on xgetcwd, and thereby
61448         indirectly on xalloc.  This change causes the openat substitute
61449         to fall back on save_cwd when memory is tight, and for save_cwd to
61450         fail instead of dying when memory is tight, but that's good enough.
61451         Problem and initial idea for fix reported by Bastien Roucaries in
61452         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
61454         * lib/openat-proc.c: Include stdlib.h (for malloc), not
61455         xalloc.h (for xmalloc).
61456         (openat_proc_name): Use malloc, not xmalloc.
61457         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
61458         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
61460         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
61461         This avoids heap allocation for file names whose lengths are in
61462         the range 512..1023, with the upper bound increasing to at most
61463         4031 depending on the platform's PATH_MAX.  (We do not want
61464         pathmax.h here as it might supply a non-constant PATH_MAX.)
61465         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
61466         Perhaps they should be moved to malloca.h?
61467         (OPENAT_BUFFER_SIZE): Use them.
61469 2011-01-10  Bruno Haible  <bruno@clisp.org>
61471         doc: Update users.txt.
61472         * users.txt: Add recutils.
61474 2011-01-09  Karl Berry  <karl@gnu.org>
61476         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
61478         * doc/configmake.texi: New file.
61479         * doc/gnulib.texi: Include it.
61480         * modules/configmake: Move documentation from here.
61482 2011-01-09  Bruno Haible  <bruno@clisp.org>
61484         Update to Unicode 6.0.0.
61485         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
61486         (get_lbp): Update for Unicode 6.0.0.
61487         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
61488         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
61489         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
61490         U+11001, U+11038..U+11046. Remove U+06DE.
61491         (uc_width): Fix bounds of planes.
61492         * tests/uniwidth/test-uc_width2.sh: Same updates as in
61493         lib/uniwidth/width.c.
61494         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
61495         trailing whitespace removed.
61496         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
61497         without comments, but with the original copyright notice.
61498         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
61499         * lib/unicase/ignorable.h: Likewise.
61500         * lib/unicase/tocasefold.h: Likewise.
61501         * lib/unicase/tolower.h: Likewise.
61502         * lib/unicase/totitle.h: Likewise.
61503         * lib/unicase/toupper.h: Likewise.
61504         * lib/unictype/bidi_of.h: Likewise.
61505         * lib/unictype/blocks.h: Likewise.
61506         * lib/unictype/categ_C.h: Likewise.
61507         * lib/unictype/categ_Cn.h: Likewise.
61508         * lib/unictype/categ_L.h: Likewise.
61509         * lib/unictype/categ_Ll.h: Likewise.
61510         * lib/unictype/categ_Lm.h: Likewise.
61511         * lib/unictype/categ_Lo.h: Likewise.
61512         * lib/unictype/categ_Lu.h: Likewise.
61513         * lib/unictype/categ_M.h: Likewise.
61514         * lib/unictype/categ_Mc.h: Likewise.
61515         * lib/unictype/categ_Me.h: Likewise.
61516         * lib/unictype/categ_Mn.h: Likewise.
61517         * lib/unictype/categ_N.h: Likewise.
61518         * lib/unictype/categ_Nd.h: Likewise.
61519         * lib/unictype/categ_No.h: Likewise.
61520         * lib/unictype/categ_P.h: Likewise.
61521         * lib/unictype/categ_Po.h: Likewise.
61522         * lib/unictype/categ_S.h: Likewise.
61523         * lib/unictype/categ_Sc.h: Likewise.
61524         * lib/unictype/categ_Sk.h: Likewise.
61525         * lib/unictype/categ_Sm.h: Likewise.
61526         * lib/unictype/categ_So.h: Likewise.
61527         * lib/unictype/categ_of.h: Likewise.
61528         * lib/unictype/combining.h: Likewise.
61529         * lib/unictype/ctype_alnum.h: Likewise.
61530         * lib/unictype/ctype_alpha.h: Likewise.
61531         * lib/unictype/ctype_graph.h: Likewise.
61532         * lib/unictype/ctype_lower.h: Likewise.
61533         * lib/unictype/ctype_print.h: Likewise.
61534         * lib/unictype/ctype_punct.h: Likewise.
61535         * lib/unictype/ctype_upper.h: Likewise.
61536         * lib/unictype/decdigit.h: Likewise.
61537         * lib/unictype/digit.h: Likewise.
61538         * lib/unictype/numeric.h: Likewise.
61539         * lib/unictype/pr_alphabetic.h: Likewise.
61540         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61541         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61542         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61543         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61544         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61545         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61546         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61547         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61548         * lib/unictype/pr_case_ignorable.h: Likewise.
61549         * lib/unictype/pr_cased.h: Likewise.
61550         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
61551         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
61552         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
61553         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
61554         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
61555         * lib/unictype/pr_combining.h: Likewise.
61556         * lib/unictype/pr_composite.h: Likewise.
61557         * lib/unictype/pr_currency_symbol.h: Likewise.
61558         * lib/unictype/pr_decimal_digit.h: Likewise.
61559         * lib/unictype/pr_deprecated.h: Likewise.
61560         * lib/unictype/pr_format_control.h: Likewise.
61561         * lib/unictype/pr_grapheme_base.h: Likewise.
61562         * lib/unictype/pr_grapheme_extend.h: Likewise.
61563         * lib/unictype/pr_grapheme_link.h: Likewise.
61564         * lib/unictype/pr_id_continue.h: Likewise.
61565         * lib/unictype/pr_id_start.h: Likewise.
61566         * lib/unictype/pr_ideographic.h: Likewise.
61567         * lib/unictype/pr_lowercase.h: Likewise.
61568         * lib/unictype/pr_math.h: Likewise.
61569         * lib/unictype/pr_numeric.h: Likewise.
61570         * lib/unictype/pr_other_alphabetic.h: Likewise.
61571         * lib/unictype/pr_other_id_continue.h: Likewise.
61572         * lib/unictype/pr_other_math.h: Likewise.
61573         * lib/unictype/pr_punctuation.h: Likewise.
61574         * lib/unictype/pr_sentence_terminal.h: Likewise.
61575         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61576         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61577         * lib/unictype/pr_unified_ideograph.h: Likewise.
61578         * lib/unictype/pr_uppercase.h: Likewise.
61579         * lib/unictype/pr_xid_continue.h: Likewise.
61580         * lib/unictype/pr_xid_start.h: Likewise.
61581         * lib/unictype/scripts.h: Likewise.
61582         * lib/unictype/scripts_byname.gperf: Likewise.
61583         * lib/unictype/sy_java_ident.h: Likewise.
61584         * lib/unigbrk/gbrkprop.h: Likewise.
61585         * lib/unilbrk/lbrkprop1.h: Likewise.
61586         * lib/unilbrk/lbrkprop2.h: Likewise.
61587         * lib/uninorm/decomposition-table2.h: Likewise.
61588         * lib/uniwbrk/wbrkprop.h: Likewise.
61589         * tests/unicase/test-cased.c: Likewise.
61590         * tests/unicase/test-ignorable.c: Likewise.
61591         * tests/unicase/test-uc_tolower.c: Likewise.
61592         * tests/unicase/test-uc_totitle.c: Likewise.
61593         * tests/unicase/test-uc_toupper.c: Likewise.
61594         * tests/unictype/test-categ_C.c: Likewise.
61595         * tests/unictype/test-categ_Cn.c: Likewise.
61596         * tests/unictype/test-categ_L.c: Likewise.
61597         * tests/unictype/test-categ_Ll.c: Likewise.
61598         * tests/unictype/test-categ_Lm.c: Likewise.
61599         * tests/unictype/test-categ_Lo.c: Likewise.
61600         * tests/unictype/test-categ_Lu.c: Likewise.
61601         * tests/unictype/test-categ_M.c: Likewise.
61602         * tests/unictype/test-categ_Mc.c: Likewise.
61603         * tests/unictype/test-categ_Me.c: Likewise.
61604         * tests/unictype/test-categ_Mn.c: Likewise.
61605         * tests/unictype/test-categ_N.c: Likewise.
61606         * tests/unictype/test-categ_Nd.c: Likewise.
61607         * tests/unictype/test-categ_No.c: Likewise.
61608         * tests/unictype/test-categ_P.c: Likewise.
61609         * tests/unictype/test-categ_Po.c: Likewise.
61610         * tests/unictype/test-categ_S.c: Likewise.
61611         * tests/unictype/test-categ_Sc.c: Likewise.
61612         * tests/unictype/test-categ_Sk.c: Likewise.
61613         * tests/unictype/test-categ_Sm.c: Likewise.
61614         * tests/unictype/test-categ_So.c: Likewise.
61615         * tests/unictype/test-ctype_alnum.c: Likewise.
61616         * tests/unictype/test-ctype_alpha.c: Likewise.
61617         * tests/unictype/test-ctype_graph.c: Likewise.
61618         * tests/unictype/test-ctype_lower.c: Likewise.
61619         * tests/unictype/test-ctype_print.c: Likewise.
61620         * tests/unictype/test-ctype_punct.c: Likewise.
61621         * tests/unictype/test-ctype_upper.c: Likewise.
61622         * tests/unictype/test-decdigit.h: Likewise.
61623         * tests/unictype/test-digit.h: Likewise.
61624         * tests/unictype/test-numeric.h: Likewise.
61625         * tests/unictype/test-pr_alphabetic.c: Likewise.
61626         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61627         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
61628         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
61629         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61630         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61631         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61632         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61633         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61634         * tests/unictype/test-pr_case_ignorable.c: Likewise.
61635         * tests/unictype/test-pr_cased.c: Likewise.
61636         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
61637         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
61638         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
61639         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
61640         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
61641         * tests/unictype/test-pr_combining.c: Likewise.
61642         * tests/unictype/test-pr_composite.c: Likewise.
61643         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61644         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61645         * tests/unictype/test-pr_deprecated.c: Likewise.
61646         * tests/unictype/test-pr_format_control.c: Likewise.
61647         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61648         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61649         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61650         * tests/unictype/test-pr_id_continue.c: Likewise.
61651         * tests/unictype/test-pr_id_start.c: Likewise.
61652         * tests/unictype/test-pr_ideographic.c: Likewise.
61653         * tests/unictype/test-pr_lowercase.c: Likewise.
61654         * tests/unictype/test-pr_math.c: Likewise.
61655         * tests/unictype/test-pr_numeric.c: Likewise.
61656         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
61657         * tests/unictype/test-pr_other_id_continue.c: Likewise.
61658         * tests/unictype/test-pr_other_math.c: Likewise.
61659         * tests/unictype/test-pr_punctuation.c: Likewise.
61660         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
61661         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
61662         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
61663         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
61664         * tests/unictype/test-pr_uppercase.c: Likewise.
61665         * tests/unictype/test-pr_xid_continue.c: Likewise.
61666         * tests/unictype/test-pr_xid_start.c: Likewise.
61667         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
61668         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
61669         changes.
61670         * lib/unictype/categ_Cc.h: Likewise.
61671         * lib/unictype/categ_Cf.h: Likewise.
61672         * lib/unictype/categ_Co.h: Likewise.
61673         * lib/unictype/categ_Cs.h: Likewise.
61674         * lib/unictype/categ_Lt.h: Likewise.
61675         * lib/unictype/categ_Nl.h: Likewise.
61676         * lib/unictype/categ_Pc.h: Likewise.
61677         * lib/unictype/categ_Pd.h: Likewise.
61678         * lib/unictype/categ_Pe.h: Likewise.
61679         * lib/unictype/categ_Pf.h: Likewise.
61680         * lib/unictype/categ_Pi.h: Likewise.
61681         * lib/unictype/categ_Ps.h: Likewise.
61682         * lib/unictype/categ_Z.h: Likewise.
61683         * lib/unictype/categ_Zl.h: Likewise.
61684         * lib/unictype/categ_Zp.h: Likewise.
61685         * lib/unictype/categ_Zs.h: Likewise.
61686         * lib/unictype/ctype_blank.h: Likewise.
61687         * lib/unictype/ctype_cntrl.h: Likewise.
61688         * lib/unictype/ctype_digit.h: Likewise.
61689         * lib/unictype/ctype_space.h: Likewise.
61690         * lib/unictype/ctype_xdigit.h: Likewise.
61691         * lib/unictype/mirror.h: Likewise.
61692         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61693         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61694         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61695         * lib/unictype/pr_bidi_control.h: Likewise.
61696         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61697         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61698         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61699         * lib/unictype/pr_bidi_pdf.h: Likewise.
61700         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61701         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61702         * lib/unictype/pr_dash.h: Likewise.
61703         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61704         * lib/unictype/pr_diacritic.h: Likewise.
61705         * lib/unictype/pr_extender.h: Likewise.
61706         * lib/unictype/pr_hex_digit.h: Likewise.
61707         * lib/unictype/pr_hyphen.h: Likewise.
61708         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61709         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61710         * lib/unictype/pr_ignorable_control.h: Likewise.
61711         * lib/unictype/pr_iso_control.h: Likewise.
61712         * lib/unictype/pr_join_control.h: Likewise.
61713         * lib/unictype/pr_left_of_pair.h: Likewise.
61714         * lib/unictype/pr_line_separator.h: Likewise.
61715         * lib/unictype/pr_logical_order_exception.h: Likewise.
61716         * lib/unictype/pr_non_break.h: Likewise.
61717         * lib/unictype/pr_not_a_character.h: Likewise.
61718         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61719         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61720         * lib/unictype/pr_other_id_start.h: Likewise.
61721         * lib/unictype/pr_other_lowercase.h: Likewise.
61722         * lib/unictype/pr_other_uppercase.h: Likewise.
61723         * lib/unictype/pr_paired_punctuation.h: Likewise.
61724         * lib/unictype/pr_paragraph_separator.h: Likewise.
61725         * lib/unictype/pr_pattern_syntax.h: Likewise.
61726         * lib/unictype/pr_pattern_white_space.h: Likewise.
61727         * lib/unictype/pr_private_use.h: Likewise.
61728         * lib/unictype/pr_quotation_mark.h: Likewise.
61729         * lib/unictype/pr_radical.h: Likewise.
61730         * lib/unictype/pr_soft_dotted.h: Likewise.
61731         * lib/unictype/pr_space.h: Likewise.
61732         * lib/unictype/pr_titlecase.h: Likewise.
61733         * lib/unictype/pr_variation_selector.h: Likewise.
61734         * lib/unictype/pr_white_space.h: Likewise.
61735         * lib/unictype/pr_zero_width.h: Likewise.
61736         * lib/unictype/sy_c_ident.h: Likewise.
61737         * lib/unictype/sy_c_whitespace.h: Likewise.
61738         * lib/unictype/sy_java_whitespace.h: Likewise.
61739         * lib/uninorm/composition-table.gperf: Likewise.
61740         * lib/uninorm/decomposition-table1.h: Likewise.
61741         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
61742         LB8.
61743         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
61744         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
61745         * modules/unictype/*: Bump version number of expected libunistring
61746         version.
61748 2011-01-09  Bruno Haible  <bruno@clisp.org>
61750         Update to Unicode 5.2.0.
61751         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
61752         trailing whitespace removed.
61754 2011-01-09  Bruno Haible  <bruno@clisp.org>
61756         New Unicode character properties, from Unicode 5.2.0.
61757         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
61758         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
61759         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
61760         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
61761         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
61762         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
61763         uc_is_property_cased, uc_is_property_case_ignorable,
61764         uc_is_property_changes_when_lowercased,
61765         uc_is_property_changes_when_uppercased,
61766         uc_is_property_changes_when_titlecased,
61767         uc_is_property_changes_when_casefolded,
61768         uc_is_property_changes_when_casemapped): New declarations.
61769         * lib/unictype/pr_byname.gperf: Add the new properties.
61770         * modules/unictype/property-byname (Depends-on): Depend on the new
61771         properties modules.
61772         * modules/unictype/property-all (Depends-on): Likewise.
61773         * MODULES.html.sh (Unicode string functions): Add
61774         unictype/property-case-ignorable, unictype/property-cased,
61775         unictype/property-changes-when-casefolded,
61776         unictype/property-changes-when-casemapped,
61777         unictype/property-changes-when-lowercased,
61778         unictype/property-changes-when-titlecased,
61779         unictype/property-changes-when-uppercased.
61781         New module 'unictype/property-changes-when-casemapped'.
61782         * modules/unictype/property-changes-when-casemapped: New file.
61783         * lib/unictype/pr_changes_when_casemapped.c: New file.
61784         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
61785         generated by gen-uni-tables.
61786         * modules/unictype/property-changes-when-casemapped-tests: New file.
61787         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
61788         automatically generated by gen-uni-tables.
61790         New module 'unictype/property-changes-when-casefolded'.
61791         * modules/unictype/property-changes-when-casefolded: New file.
61792         * lib/unictype/pr_changes_when_casefolded.c: New file.
61793         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
61794         generated by gen-uni-tables.
61795         * modules/unictype/property-changes-when-casefolded-tests: New file.
61796         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
61797         automatically generated by gen-uni-tables.
61799         New module 'unictype/property-changes-when-titlecased'.
61800         * modules/unictype/property-changes-when-titlecased: New file.
61801         * lib/unictype/pr_changes_when_titlecased.c: New file.
61802         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
61803         generated by gen-uni-tables.
61804         * modules/unictype/property-changes-when-titlecased-tests: New file.
61805         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
61806         automatically generated by gen-uni-tables.
61808         New module 'unictype/property-changes-when-uppercased'.
61809         * modules/unictype/property-changes-when-uppercased: New file.
61810         * lib/unictype/pr_changes_when_uppercased.c: New file.
61811         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
61812         generated by gen-uni-tables.
61813         * modules/unictype/property-changes-when-uppercased-tests: New file.
61814         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
61815         automatically generated by gen-uni-tables.
61817         New module 'unictype/property-changes-when-lowercased'.
61818         * modules/unictype/property-changes-when-lowercased: New file.
61819         * lib/unictype/pr_changes_when_lowercased.c: New file.
61820         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
61821         generated by gen-uni-tables.
61822         * modules/unictype/property-changes-when-lowercased-tests: New file.
61823         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
61824         automatically generated by gen-uni-tables.
61826         New module 'unictype/property-case-ignorable'.
61827         * modules/unictype/property-case-ignorable: New file.
61828         * lib/unictype/pr_case_ignorable.c: New file.
61829         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
61830         by gen-uni-tables.
61831         * modules/unictype/property-case-ignorable-tests: New file.
61832         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
61833         generated by gen-uni-tables.
61835         New module 'unictype/property-cased'.
61836         * modules/unictype/property-cased: New file.
61837         * lib/unictype/pr_cased.c: New file.
61838         * lib/unictype/pr_cased.h: New file, automatically generated by
61839         gen-uni-tables.
61840         * modules/unictype/property-cased-tests: New file.
61841         * tests/unictype/test-pr_cased.c: New file, automatically generated by
61842         gen-uni-tables.
61844 2011-01-09  Bruno Haible  <bruno@clisp.org>
61846         Update to Unicode 5.2.0.
61847         * lib/gen-uni-tables.c (output_predicate, output_category,
61848         output_combclass, output_bidi_category, output_decimal_digit_test,
61849         output_decimal_digit, output_digit_test, output_digit,
61850         output_numeric_test, output_numeric, output_mirror, output_scripts,
61851         output_scripts_byname, output_blocks, output_ident_category): Fix
61852         comment header.
61853         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
61854         get_wbp.
61855         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
61856         items.
61857         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
61858         Changes_When_Lowercased, Changes_When_Uppercased,
61859         Changes_When_Titlecased, Changes_When_Casefolded,
61860         Changes_When_Casemapped.
61861         (is_property_alphabetic, is_property_default_ignorable_code_point):
61862         Update for Unicode 5.2.0.
61863         (is_property_cased, is_property_case_ignorable,
61864         is_property_changes_when_lowercased,
61865         is_property_changes_when_uppercased,
61866         is_property_changes_when_titlecased,
61867         is_property_changes_when_casefolded,
61868         is_property_changes_when_casemapped): New functions.
61869         (output_properties): Output also the properties cased, case_ignorable,
61870         changes_when_lowercased, changes_when_uppercased,
61871         changes_when_titlecased, changes_when_casefolded,
61872         changes_when_casemapped.
61873         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
61874         Unicode TR#11 revision 17 -> 19.
61875         (LBP_CP): New enumeration value.
61876         (LBP_*): Adjust values accordingly.
61877         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
61878         TR#14 revision 22 -> 24.
61879         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
61880         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
61881         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
61882         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
61883         is_WBP_MIDLETTER.
61884         (output_composition_tables): Allow for 24 bits instead of 16 bits in
61885         the code1 and code2 of each composition rule.
61886         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
61887         * lib/unicase/ignorable.h: Likewise.
61888         * lib/unicase/tocasefold.h: Likewise.
61889         * lib/unicase/tolower.h: Likewise.
61890         * lib/unicase/totitle.h: Likewise.
61891         * lib/unicase/toupper.h: Likewise.
61892         * lib/unictype/bidi_of.h: Likewise.
61893         * lib/unictype/blocks.h: Likewise.
61894         * lib/unictype/categ_C.h: Likewise.
61895         * lib/unictype/categ_Cf.h: Likewise.
61896         * lib/unictype/categ_Cn.h: Likewise.
61897         * lib/unictype/categ_L.h: Likewise.
61898         * lib/unictype/categ_Ll.h: Likewise.
61899         * lib/unictype/categ_Lm.h: Likewise.
61900         * lib/unictype/categ_Lo.h: Likewise.
61901         * lib/unictype/categ_Lu.h: Likewise.
61902         * lib/unictype/categ_M.h: Likewise.
61903         * lib/unictype/categ_Mc.h: Likewise.
61904         * lib/unictype/categ_Mn.h: Likewise.
61905         * lib/unictype/categ_N.h: Likewise.
61906         * lib/unictype/categ_Nd.h: Likewise.
61907         * lib/unictype/categ_Nl.h: Likewise.
61908         * lib/unictype/categ_No.h: Likewise.
61909         * lib/unictype/categ_P.h: Likewise.
61910         * lib/unictype/categ_Pd.h: Likewise.
61911         * lib/unictype/categ_Po.h: Likewise.
61912         * lib/unictype/categ_S.h: Likewise.
61913         * lib/unictype/categ_Sc.h: Likewise.
61914         * lib/unictype/categ_So.h: Likewise.
61915         * lib/unictype/categ_of.h: Likewise.
61916         * lib/unictype/combining.h: Likewise.
61917         * lib/unictype/ctype_alnum.h: Likewise.
61918         * lib/unictype/ctype_alpha.h: Likewise.
61919         * lib/unictype/ctype_graph.h: Likewise.
61920         * lib/unictype/ctype_lower.h: Likewise.
61921         * lib/unictype/ctype_print.h: Likewise.
61922         * lib/unictype/ctype_punct.h: Likewise.
61923         * lib/unictype/ctype_upper.h: Likewise.
61924         * lib/unictype/decdigit.h: Likewise.
61925         * lib/unictype/digit.h: Likewise.
61926         * lib/unictype/numeric.h: Likewise.
61927         * lib/unictype/pr_alphabetic.h: Likewise.
61928         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61929         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61930         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61931         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61932         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61933         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61934         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61935         * lib/unictype/pr_combining.h: Likewise.
61936         * lib/unictype/pr_composite.h: Likewise.
61937         * lib/unictype/pr_currency_symbol.h: Likewise.
61938         * lib/unictype/pr_dash.h: Likewise.
61939         * lib/unictype/pr_decimal_digit.h: Likewise.
61940         * lib/unictype/pr_deprecated.h: Likewise.
61941         * lib/unictype/pr_diacritic.h: Likewise.
61942         * lib/unictype/pr_extender.h: Likewise.
61943         * lib/unictype/pr_grapheme_base.h: Likewise.
61944         * lib/unictype/pr_grapheme_extend.h: Likewise.
61945         * lib/unictype/pr_grapheme_link.h: Likewise.
61946         * lib/unictype/pr_id_continue.h: Likewise.
61947         * lib/unictype/pr_id_start.h: Likewise.
61948         * lib/unictype/pr_ideographic.h: Likewise.
61949         * lib/unictype/pr_ignorable_control.h: Likewise.
61950         * lib/unictype/pr_logical_order_exception.h: Likewise.
61951         * lib/unictype/pr_lowercase.h: Likewise.
61952         * lib/unictype/pr_numeric.h: Likewise.
61953         * lib/unictype/pr_other_alphabetic.h: Likewise.
61954         * lib/unictype/pr_punctuation.h: Likewise.
61955         * lib/unictype/pr_sentence_terminal.h: Likewise.
61956         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61957         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61958         * lib/unictype/pr_unified_ideograph.h: Likewise.
61959         * lib/unictype/pr_uppercase.h: Likewise.
61960         * lib/unictype/pr_xid_continue.h: Likewise.
61961         * lib/unictype/pr_xid_start.h: Likewise.
61962         * lib/unictype/pr_zero_width.h: Likewise.
61963         * lib/unictype/scripts.h: Likewise.
61964         * lib/unictype/scripts_byname.gperf: Likewise.
61965         * lib/unictype/sy_java_ident.h: Likewise.
61966         * lib/unigbrk/gbrkprop.h: Likewise.
61967         * lib/unilbrk/lbrkprop1.h: Likewise.
61968         * lib/unilbrk/lbrkprop2.h: Likewise.
61969         * lib/unilbrk/lbrktables.h: Likewise.
61970         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
61971         LBP_CP. Implement rule LB30.
61972         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
61973         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
61974         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
61975         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
61976         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
61977         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
61978         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
61979         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
61980         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
61981         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
61982         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
61983         bits instead of 16 bits in the code1 and code2 of each composition
61984         rule.
61985         (uc_composition): Update for Unicode 5.2.0.
61986         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
61987         * lib/uninorm/decomposition-table2.h: Likewise.
61988         * lib/uniwbrk/wbrkprop.h: Likewise.
61989         * tests/unicase/test-cased.c: Likewise.
61990         * tests/unicase/test-ignorable.c: Likewise.
61991         * tests/unicase/test-uc_tolower.c: Likewise.
61992         * tests/unicase/test-uc_totitle.c: Likewise.
61993         * tests/unicase/test-uc_toupper.c: Likewise.
61994         * tests/unictype/test-categ_C.c: Likewise.
61995         * tests/unictype/test-categ_Cf.c: Likewise.
61996         * tests/unictype/test-categ_Cn.c: Likewise.
61997         * tests/unictype/test-categ_L.c: Likewise.
61998         * tests/unictype/test-categ_Ll.c: Likewise.
61999         * tests/unictype/test-categ_Lm.c: Likewise.
62000         * tests/unictype/test-categ_Lo.c: Likewise.
62001         * tests/unictype/test-categ_Lu.c: Likewise.
62002         * tests/unictype/test-categ_M.c: Likewise.
62003         * tests/unictype/test-categ_Mc.c: Likewise.
62004         * tests/unictype/test-categ_Mn.c: Likewise.
62005         * tests/unictype/test-categ_N.c: Likewise.
62006         * tests/unictype/test-categ_Nd.c: Likewise.
62007         * tests/unictype/test-categ_Nl.c: Likewise.
62008         * tests/unictype/test-categ_No.c: Likewise.
62009         * tests/unictype/test-categ_P.c: Likewise.
62010         * tests/unictype/test-categ_Pd.c: Likewise.
62011         * tests/unictype/test-categ_Po.c: Likewise.
62012         * tests/unictype/test-categ_S.c: Likewise.
62013         * tests/unictype/test-categ_Sc.c: Likewise.
62014         * tests/unictype/test-categ_So.c: Likewise.
62015         * tests/unictype/test-ctype_alnum.c: Likewise.
62016         * tests/unictype/test-ctype_alpha.c: Likewise.
62017         * tests/unictype/test-ctype_graph.c: Likewise.
62018         * tests/unictype/test-ctype_lower.c: Likewise.
62019         * tests/unictype/test-ctype_print.c: Likewise.
62020         * tests/unictype/test-ctype_punct.c: Likewise.
62021         * tests/unictype/test-ctype_upper.c: Likewise.
62022         * tests/unictype/test-decdigit.h: Likewise.
62023         * tests/unictype/test-digit.h: Likewise.
62024         * tests/unictype/test-numeric.h: Likewise.
62025         * tests/unictype/test-pr_alphabetic.c: Likewise.
62026         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
62027         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
62028         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
62029         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
62030         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
62031         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
62032         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
62033         * tests/unictype/test-pr_combining.c: Likewise.
62034         * tests/unictype/test-pr_composite.c: Likewise.
62035         * tests/unictype/test-pr_currency_symbol.c: Likewise.
62036         * tests/unictype/test-pr_dash.c: Likewise.
62037         * tests/unictype/test-pr_decimal_digit.c: Likewise.
62038         * tests/unictype/test-pr_deprecated.c: Likewise.
62039         * tests/unictype/test-pr_diacritic.c: Likewise.
62040         * tests/unictype/test-pr_extender.c: Likewise.
62041         * tests/unictype/test-pr_grapheme_base.c: Likewise.
62042         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
62043         * tests/unictype/test-pr_grapheme_link.c: Likewise.
62044         * tests/unictype/test-pr_id_continue.c: Likewise.
62045         * tests/unictype/test-pr_id_start.c: Likewise.
62046         * tests/unictype/test-pr_ideographic.c: Likewise.
62047         * tests/unictype/test-pr_ignorable_control.c: Likewise.
62048         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
62049         * tests/unictype/test-pr_lowercase.c: Likewise.
62050         * tests/unictype/test-pr_numeric.c: Likewise.
62051         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
62052         * tests/unictype/test-pr_punctuation.c: Likewise.
62053         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
62054         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
62055         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
62056         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
62057         * tests/unictype/test-pr_uppercase.c: Likewise.
62058         * tests/unictype/test-pr_xid_continue.c: Likewise.
62059         * tests/unictype/test-pr_xid_start.c: Likewise.
62060         * tests/unictype/test-pr_zero_width.c: Likewise.
62061         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
62062         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
62063         changed behaviour: line breaking is now disallowed between a letter
62064         or '=' and '('.
62065         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
62066         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
62067         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
62068         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
62069         * tests/uniwidth/test-uc_width2.sh: Same updates as in
62070         lib/uniwidth/width.c.
62071         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
62072         without comments, but with the original copyright notice.
62073         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
62074         changes.
62075         * lib/unictype/categ_Cc.h: Likewise.
62076         * lib/unictype/categ_Co.h: Likewise.
62077         * lib/unictype/categ_Cs.h: Likewise.
62078         * lib/unictype/categ_Lt.h: Likewise.
62079         * lib/unictype/categ_Me.h: Likewise.
62080         * lib/unictype/categ_Pc.h: Likewise.
62081         * lib/unictype/categ_Pe.h: Likewise.
62082         * lib/unictype/categ_Pf.h: Likewise.
62083         * lib/unictype/categ_Pi.h: Likewise.
62084         * lib/unictype/categ_Ps.h: Likewise.
62085         * lib/unictype/categ_Sk.h: Likewise.
62086         * lib/unictype/categ_Sm.h: Likewise.
62087         * lib/unictype/categ_Z.h: Likewise.
62088         * lib/unictype/categ_Zl.h: Likewise.
62089         * lib/unictype/categ_Zp.h: Likewise.
62090         * lib/unictype/categ_Zs.h: Likewise.
62091         * lib/unictype/ctype_blank.h: Likewise.
62092         * lib/unictype/ctype_cntrl.h: Likewise.
62093         * lib/unictype/ctype_digit.h: Likewise.
62094         * lib/unictype/ctype_space.h: Likewise.
62095         * lib/unictype/ctype_xdigit.h: Likewise.
62096         * lib/unictype/mirror.h: Likewise.
62097         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
62098         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
62099         * lib/unictype/pr_bidi_block_separator.h: Likewise.
62100         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
62101         * lib/unictype/pr_bidi_common_separator.h: Likewise.
62102         * lib/unictype/pr_bidi_control.h: Likewise.
62103         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
62104         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
62105         * lib/unictype/pr_bidi_pdf.h: Likewise.
62106         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
62107         * lib/unictype/pr_bidi_whitespace.h: Likewise.
62108         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
62109         * lib/unictype/pr_format_control.h: Likewise.
62110         * lib/unictype/pr_hex_digit.h: Likewise.
62111         * lib/unictype/pr_hyphen.h: Likewise.
62112         * lib/unictype/pr_ids_binary_operator.h: Likewise.
62113         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
62114         * lib/unictype/pr_iso_control.h: Likewise.
62115         * lib/unictype/pr_join_control.h: Likewise.
62116         * lib/unictype/pr_left_of_pair.h: Likewise.
62117         * lib/unictype/pr_line_separator.h: Likewise.
62118         * lib/unictype/pr_math.h: Likewise.
62119         * lib/unictype/pr_non_break.h: Likewise.
62120         * lib/unictype/pr_not_a_character.h: Likewise.
62121         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
62122         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
62123         * lib/unictype/pr_other_id_continue.h: Likewise.
62124         * lib/unictype/pr_other_id_start.h: Likewise.
62125         * lib/unictype/pr_other_lowercase.h: Likewise.
62126         * lib/unictype/pr_other_math.h: Likewise.
62127         * lib/unictype/pr_other_uppercase.h: Likewise.
62128         * lib/unictype/pr_paired_punctuation.h: Likewise.
62129         * lib/unictype/pr_paragraph_separator.h: Likewise.
62130         * lib/unictype/pr_pattern_syntax.h: Likewise.
62131         * lib/unictype/pr_pattern_white_space.h: Likewise.
62132         * lib/unictype/pr_private_use.h: Likewise.
62133         * lib/unictype/pr_quotation_mark.h: Likewise.
62134         * lib/unictype/pr_radical.h: Likewise.
62135         * lib/unictype/pr_soft_dotted.h: Likewise.
62136         * lib/unictype/pr_space.h: Likewise.
62137         * lib/unictype/pr_titlecase.h: Likewise.
62138         * lib/unictype/pr_variation_selector.h: Likewise.
62139         * lib/unictype/pr_white_space.h: Likewise.
62140         * lib/unictype/sy_c_ident.h: Likewise.
62141         * lib/unictype/sy_c_whitespace.h: Likewise.
62142         * lib/unictype/sy_java_whitespace.h: Likewise.
62143         * modules/uni*/*: Bump version number of expected libunistring version.
62144         Reported by Simon Josefsson.
62146 2011-01-09  Karl Heuer  <kwzh@gnu.org>
62148         useless-if-before-free: fix typo in --help and make the internal,
62149         automatic version date update process work once again.
62150         --help output contained a NUL character instead of the
62151         backslash-zero that was intended.  Also, the "must lie within
62152         the first 8 lines" line is on line 9, and hence not getting
62153         automatically updated.
62154         * build-aux/useless-if-before-free: Fix the former by adding a
62155         backslash, and the latter by condensing the three lines of what-it-does
62156         to a single line, leaving one line of slack for the future.
62158 2011-01-09  Bruno Haible  <bruno@clisp.org>
62160         uniwidth/width: Fix width of U+1D173..U+1D17A.
62161         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
62162         symbolic_width, output_width_property_test): New functions.
62163         (main): Invoke output_nonspacing_property, output_width_property_test.
62164         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
62165         U+1D173..U+1D17A.
62166         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
62167         1.
62168         * modules/uniwidth/*: Bump version number of expected libunistring
62169         version.
62170         * modules/unilbrk/*: Likewise.
62172 2011-01-08  Bruno Haible  <bruno@clisp.org>
62174         uninorm tests: Preserve copyright of Unicode data file.
62175         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
62176         Mention modifications.
62178 2011-01-08  Bruno Haible  <bruno@clisp.org>
62180         gen-uni-tables: Prepare for Unicode 5.2.0.
62181         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
62182         (debug_output_lbp, output_lbp): Update.
62184 2011-01-08  Bruno Haible  <bruno@clisp.org>
62186         unilbrk: Clarify gen-uni-tables.c code.
62187         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
62188         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
62189         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
62191 2011-01-07  Bruno Haible  <bruno@clisp.org>
62193         strtod: Restore errno when successfully parsing Infinity or NaN.
62194         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
62195         restore the original errno.
62197 2011-01-07  Bruno Haible  <bruno@clisp.org>
62199         remove test: Avoid failure on HP-UX 11.
62200         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
62202 2011-01-07  Bruno Haible  <bruno@clisp.org>
62204         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
62205         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
62206         error code.
62208 2011-01-07  Pádraig Brady  <P@draigBrady.com>
62210         ignore-value: fixup comments, and add Eric Blake
62211         as an author since he rewrote the macros.
62212         * lib/ignore-value.h (ignore_value):  State that
62213         we now support aggregates.  Also specify exactly
62214         when the GCC warn_unused_result feature was added.
62216 2011-01-06  Eric Blake  <eblake@redhat.com>
62218         ignore-value: support aggregate types
62219         * lib/ignore-value.h (ignore_value): Provide separate gcc
62220         definition.
62221         * modules/ignore-value-tests: New test module.
62222         * tests/test-ignore-value.c: New test.
62224         maint.mk: improve sc_prohibit_strcmp regex
62225         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
62226         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
62227         definition of STRNEQ.
62229         signal: work around Haiku issue with SIGBUS
62230         * lib/siglist.h: Add comment.
62231         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
62232         strsignal's favoring of SIGSEGV.
62233         * tests/test-signal.c (main): Avoid test failure.
62234         * doc/posix-headers/signal.texi (signal.h): Document the issue.
62235         Reported by Scott McCreary.
62237         maint.mk: add pre-release check to ensure submodule commits are public
62238         * top/maint.mk (public-submodule-commit): New rule.
62239         (submodule-checks): New variable.
62240         (alpha beta stable): Depend on the variable.
62242 2011-01-05  Pádraig Brady  <P@draigBrady.com>
62243         and Jim Meyering  <meyering@redhat.com>
62245         ignore-value: make ignore_value more generic; deprecate ignore_ptr
62246         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
62247         (ATTRIBUTE_DEPRECATED): Define.
62248         (_ignore_case): New function.
62249         (ignore_value): New macro, to replace the old function.
62250         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
62251         * modules/ignore-value (Depends-on): Add stdint.
62253 2011-01-04  Eric Blake  <eblake@redhat.com>
62255         doc: regenerate INSTALL
62256         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
62257         @firstparagraphindent support, now that autoconf dropped it.
62258         (INSTALL_PRELUDE): Reinstate old macro.
62259         * doc/install.texi: Resync from autoconf.
62260         * doc/INSTALL: Reflect recent autoconf update.
62261         * doc/INSTALL.ISO: Likewise.
62262         * doc/INSTALL.UTF-8: Likewise.
62263         Reported by Karl Berry.
62265 2011-01-04  Bruce Korb  <address@hidden>
62267         git-version-gen: avoid a sub-shell
62268         * build-aux/git-version-gen: Redirect stderr in `...` via
62269         "exec 2>...", rather than via an added sub-shell.
62271 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
62273         git-version-gen: use (...) rather than sh -c '...'
62274         * build-aux/git-version-gen: Rather than hard-coding a shell's name
62275         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
62277 2011-01-03  Jim Meyering  <meyering@redhat.com>
62279         git-version-gen: convert leading TABs to spaces
62280         * build-aux/git-version-gen: Expand leading TABs.
62282         git-version-gen: handle failed "git rev-list"
62283         * build-aux/git-version-gen: Rather than leaking a "fatal" error
62284         from git and proceeding as if it had succeeded but printed no SHA1
62285         checksums, suppress the diagnostic and handle the failure.
62286         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
62288         git-version-gen: include command name in one more diagnostic
62289         * build-aux/git-version-gen: When the required .tarball-version file
62290         was missing or unreadable, you might see the diagnostic from "cat",
62291         but no trace of the name of the invoking script.  Now, you still see
62292         the diagnostic from cat, but also get one from "git-version-gen: ".
62293         Inspired by a patch from Bruce Korb.
62295         update-copyright: adjust test to match changed code
62296         * tests/test-update-copyright.sh: Change test's expected output
62297         to match new actual output.
62299 2011-01-02  Bruno Haible  <bruno@clisp.org>
62301         getlogin_r: Avoid test failure on HP-UX 11.
62302         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
62303         ERANGE when the second argument is zero.
62304         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
62305         portability problem.
62307 2011-01-02  Bruce Korb  <bkorb@gnu.org>
62309         * build-aux/update-copyright: doc Simon's changes
62311 2011-01-02  Simon Josefsson  <simon@josefsson.org>
62313         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
62314         environment variable.
62316 2011-01-02  Bruno Haible  <bruno@clisp.org>
62318         unigbrk: Avoid gcc warnings.
62319         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
62320         unused variable.
62321         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
62322         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
62323         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
62324         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
62325         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
62326         Change type of first argument to 'const char *'.
62327         (main): Remove unused variable.
62328         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
62329         type of first argument to 'const char *'.
62330         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
62331         Likewise.
62332         (main): Change type of variable 's'.
62333         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
62334         to 'int'.
62336 2011-01-02  Bruno Haible  <bruno@clisp.org>
62338         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
62339         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
62340         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
62341         bug.
62342         * lib/pwrite.c: Undo 2010-12-31 patch.
62343         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
62345 2011-01-02  Bruno Haible  <bruno@clisp.org>
62347         pread: Fix test whether it works.
62348         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
62350 2011-01-02  Bruno Haible  <bruno@clisp.org>
62352         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
62353         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
62354         ends in "6". Don't require a specific month name. Try also the locale
62355         names found on HP-UX 11 and Solaris 7.
62357 2011-01-02  Bruno Haible  <bruno@clisp.org>
62359         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
62360         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
62361         C linkage.
62362         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
62364 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
62366         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
62367         for consistency, since the "cluster" term is not used elsewhere.
62368         * lib/unigbrk.in.h: Update name.
62369         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
62370         * lib/unigbrk/u16-grapheme-next.c: Update name.
62371         * lib/unigbrk/u16-grapheme-prev.c: Update name.
62372         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
62373         * lib/unigbrk/u32-grapheme-next.c: Update name.
62374         * lib/unigbrk/u32-grapheme-prev.c: Update name.
62375         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
62376         * lib/unigbrk/u8-grapheme-next.c: Update name.
62377         * lib/unigbrk/u8-grapheme-prev.c: Update name.
62378         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
62379         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
62380         Suggested by Bruno Haible.
62382 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
62384         Remove module 'u8-grapheme-len' as too redundant with
62385         'u8-grapheme-next'.
62386         * modules/unigbrk/u8-grapheme-len: Delete file.
62387         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
62388         * lib/unigbrk.in.h: Remove prototype for deleted function.
62389         * lib/unigbrk/u8-grapheme-len.c: Delete file.
62390         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
62392         Remove module 'u16-grapheme-len' as too redundant with
62393         'u16-grapheme-next'.
62394         * modules/unigbrk/u16-grapheme-len: Delete file.
62395         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
62396         * lib/unigbrk.in.h: Remove prototype for deleted function.
62397         * lib/unigbrk/u16-grapheme-len.c: Delete file.
62398         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
62400         Remove module 'u32-grapheme-len' as too redundant with
62401         'u32-grapheme-next'.
62402         * modules/unigbrk/u32-grapheme-len: Delete file.
62403         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
62404         * lib/unigbrk.in.h: Remove prototype for deleted function.
62405         * lib/unigbrk/u32-grapheme-len.c: Delete file.
62406         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
62408         Suggested by Bruno Haible.
62410 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
62412         * unigbrk.in.h: Fix typo: "ben" => "been".
62413         Reported by Bruno Haible.
62415 2011-01-01  Jim Meyering  <meyering@redhat.com>
62417         maint: update almost all copyright ranges to include 2011
62418         Run the new "make update-copyright" rule.
62420 2011-01-01  Jim Meyering  <meyering@redhat.com>
62422         maint: update-copyright: exempt doc/INSTALL*
62423         * Makefile (update-copyright): Also exclude doc/INSTALL*,
62424         since they are generated.  Suggested by Bruno Haible.
62426 2011-01-01  Jim Meyering  <meyering@redhat.com>
62428         maint: refine the update-copyright rule
62429         * Makefile (update-copyright): Also exclude any file that includes
62430         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
62431         code that merely generates the comment.
62433 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
62435         New module 'u8-grapheme-len'.
62436         * modules/unigbrk/u8-grapheme-len: New file.
62437         * modules/unigbrk/u8-grapheme-len-tests: New file.
62438         * lib/unigbrk.in.h: Add prototype for new function.
62439         * lib/unigbrk/u8-grapheme-len.c: New file.
62440         * tests/unigbrk/test-u8-grapheme-len.c: New file.
62442         New module 'u16-grapheme-len'.
62443         * modules/unigbrk/u16-grapheme-len: New file.
62444         * modules/unigbrk/u16-grapheme-len-tests: New file.
62445         * lib/unigbrk.in.h: Add prototype for new function.
62446         * lib/unigbrk/u16-grapheme-len.c: New file.
62447         * tests/unigbrk/test-u16-grapheme-len.c: New file.
62449         New module 'u32-grapheme-len'.
62450         * modules/unigbrk/u32-grapheme-len: New file.
62451         * modules/unigbrk/u32-grapheme-len-tests: New file.
62452         * lib/unigbrk.in.h: Add prototype for new function.
62453         * lib/unigbrk/u32-grapheme-len.c: New file.
62454         * tests/unigbrk/test-u32-grapheme-len.c: New file.
62456         New module 'u8-grapheme-next'.
62457         * modules/unigbrk/u8-grapheme-next: New file.
62458         * modules/unigbrk/u8-grapheme-next-tests: New file.
62459         * lib/unigbrk.in.h: Add prototype for new function.
62460         * lib/unigbrk/u8-grapheme-next.c: New file.
62461         * tests/unigbrk/test-u8-grapheme-next.c: New file.
62463         New module 'u16-grapheme-next'.
62464         * modules/unigbrk/u16-grapheme-next: New file.
62465         * modules/unigbrk/u16-grapheme-next-tests: New file.
62466         * lib/unigbrk.in.h: Add prototype for new function.
62467         * lib/unigbrk/u16-grapheme-next.c: New file.
62468         * tests/unigbrk/test-u16-grapheme-next.c: New file.
62470         New module 'u32-grapheme-next'.
62471         * modules/unigbrk/u32-grapheme-next: New file.
62472         * modules/unigbrk/u32-grapheme-next-tests: New file.
62473         * lib/unigbrk.in.h: Add prototype for new function.
62474         * lib/unigbrk/u32-grapheme-next.c: New file.
62475         * tests/unigbrk/test-u32-grapheme-next.c: New file.
62477         New module 'u8-grapheme-prev'.
62478         * modules/unigbrk/u8-grapheme-prev: New file.
62479         * modules/unigbrk/u8-grapheme-prev-tests: New file.
62480         * lib/unigbrk.in.h: Add prototype for new function.
62481         * lib/unigbrk/u8-grapheme-prev.c: New file.
62482         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
62484         New module 'u16-grapheme-prev'.
62485         * modules/unigbrk/u16-grapheme-prev: New file.
62486         * modules/unigbrk/u16-grapheme-prev-tests: New file.
62487         * lib/unigbrk.in.h: Add prototype for new function.
62488         * lib/unigbrk/u16-grapheme-prev.c: New file.
62489         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
62491         New module 'u32-grapheme-prev'.
62492         * modules/unigbrk/u32-grapheme-prev: New file.
62493         * modules/unigbrk/u32-grapheme-prev-tests: New file.
62494         * lib/unigbrk.in.h: Add prototype for new function.
62495         * lib/unigbrk/u32-grapheme-prev.c: New file.
62496         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
62498         New module 'u8-grapheme-breaks'.
62499         * modules/unigbrk/u8-grapheme-breaks: New file.
62500         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
62501         * lib/unigbrk.in.h: Add prototype for new function.
62502         * lib/unigbrk/u8-grapheme-breaks.c: New file.
62503         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
62505         New module 'u16-grapheme-breaks'.
62506         * modules/unigbrk/u16-grapheme-breaks: New file.
62507         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
62508         * lib/unigbrk.in.h: Add prototype for new function.
62509         * lib/unigbrk/u16-grapheme-breaks.c: New file.
62510         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
62512         New module 'u32-grapheme-breaks'.
62513         * modules/unigbrk/u32-grapheme-breaks: New file.
62514         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
62515         * lib/unigbrk.in.h: Add prototype for new function.
62516         * lib/unigbrk/u32-grapheme-breaks.c: New file.
62517         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
62519         New module 'ulc-grapheme-breaks'.
62520         * modules/unigbrk/ulc-grapheme-breaks: New file.
62521         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
62522         * m4/locale-ar.m4: New file.
62523         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
62524         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
62525         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
62527 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
62529         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
62530         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
62531         modified how this file was generated before I initially submitted
62532         the module, but failed to regenerate it.  This meant that several
62533         of the level2 entries were wrong.
62534         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
62535         Remove the division-by-2 that is folded into the table now that
62536         gbrkprop.h has been regenerated properly.  Now -1 entries are
62537         handled correctly.
62539         New module 'unigbrk/uc-gbrk-prop-tests'.
62540         * modules/unigbrk/uc-gbrk-prop-tests: New file.
62541         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
62542         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
62543         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
62545 2011-01-01  Bruno Haible  <bruno@clisp.org>
62547         Avoid use of hexadecimal escapes.
62548         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
62549         instead of hexadecimal escapes.
62551 2011-01-01  Jim Meyering  <meyering@redhat.com>
62553         maint: new rule to update copyright year ranges
62554         * Makefile (update-copyright): New rule.
62556         maint: indent with TABs in Makefile
62557         * Makefile: Expand leading sequences of spaces to TABs
62559         version-etc: update the copyright year it reports
62560         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
62562 2010-12-31  Bruno Haible  <bruno@clisp.org>
62564         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
62565         * lib/isfinite.c (zerof, zerod, zerol): New variables.
62566         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
62567         zero.
62569 2010-12-31  Bruno Haible  <bruno@clisp.org>
62571         pwrite: Work around HP-UX 11.11 bug.
62572         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
62573         works and set REPLACE_PWRITE if not.
62574         * lib/pwrite.c (pwrite): Add an implementation that uses the system
62575         function.
62576         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
62578 2010-12-31  Bruno Haible  <bruno@clisp.org>
62580         pread: Work around HP-UX 11 bugs.
62581         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
62582         and set REPLACE_PREAD if not.
62583         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
62585 2010-12-31  Eric Blake  <eblake@redhat.com>
62587         nl_langinfo: fix YESEXPR on Irix 6.5
62588         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
62589         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
62590         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
62591         it.
62593 2010-12-31  Bruno Haible  <bruno@clisp.org>
62595         iconv: Document HP-UX 11 bug.
62596         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
62598 2010-12-31  Bruno Haible  <bruno@clisp.org>
62600         ldexpl: Fix link error on HP-UX 11.
62601         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
62602         LDEXPL_LIBM, using $ISNANL_LIBM.
62604 2010-12-31  Eric Blake  <eblake@redhat.com>
62606         ftello: avoid compilation failure with SunStudio c89
62607         * lib/ftello.c (ftello): Use lseek, not llseek.
62609         tests: avoid failing coreutils tests on cygwin
62610         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
62611         (create_exe_shims_): Return 0 when skipping.
62613 2010-12-31  Bruno Haible  <bruno@clisp.org>
62615         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
62616         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
62618 2010-12-31  Bruno Haible  <bruno@clisp.org>
62620         waitpid: Fix link error in C++ mode.
62621         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
62623 2010-12-31  Bruno Haible  <bruno@clisp.org>
62625         isnan: Use GCC built-ins when possible.
62626         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
62627         __builtin_isnan.
62628         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
62629         (isnan): Define using GCC built-ins for GCC >= 4.0.
62631 2010-12-31  Bruno Haible  <bruno@clisp.org>
62633         isnand: Fix mistake.
62634         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
62635         __builtin_isnand.
62637 2010-12-31  Bruno Haible  <bruno@clisp.org>
62639         open: Avoid C++ error on HP-UX 11.
62640         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
62642 2010-12-31  Bruno Haible  <bruno@clisp.org>
62644         time_r: Add missing declarations on HP-UX 11.
62645         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
62646         instead of HAVE_LOCALTIME_R.
62647         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
62648         HAVE_LOCALTIME_R always.
62649         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
62650         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
62651         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
62652         HAVE_LOCALTIME_R.
62653         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
62654         * doc/posix-functions/localtime_r.texi: Likewise.
62656 2010-12-29  Eric Blake  <eblake@redhat.com>
62658         mountlist: tweak previous commit
62659         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
62660         Reported by Paul Eggert.
62662         mountlist: fix local drive detection on cygwin
62663         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
62664         that works for cygwin.
62666 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62668         ftoastr, snprintf: ftoastr + snprintf module
62669         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
62670         since the snprintf module now should be good enough here.
62671         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
62672         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
62673         and gl_MODULE_INDICATOR([snprintf]), but the former enables
62674         GNULIB_SNPRINTF only for the test directory, and the latter
62675         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
62676         seems to suffice by itself.
62678 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
62680         alloca: one step towards thread-safety
62681         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
62682         need for a static variable.  All callers changed.  This does not
62683         make the alloca replacement thread-safe, but it's one step.
62685         tests: minor indenting change
62686         * tests/init.sh: Sync from coreutils housekeeping patch
62687         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
62688         to keep lines within 80 columns.
62690 2010-12-28  Jim Meyering  <meyering@redhat.com>
62692         regex: don't infloop on persistent failing calloc
62693         * lib/regexec.c (build_trtable): Return failure indication upon
62694         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
62695         In glibc, this was fixed for version 2.13:
62696         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
62698 2010-12-28  Bruno Haible  <bruno@clisp.org>
62699             Paul Eggert <eggert@cs.ucla.edu>
62701         linkat: Make implementation robust against system behaviour variations.
62702         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
62703         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
62704         way, and to -2 if it needs a generic runtime test.
62705         * lib/linkat.c (solaris_optimized_link_immediate,
62706         solaris_optimized_link_follow): New functions.
62707         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
62708         (check_same_link): Use it.
62710 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
62712         New module 'unigbrk/base'.
62713         * modules/unigbrk/base: New file.
62714         * lib/unigbrk.in.h: New file.
62716         New module 'unigbrk/uc-gbrk-prop'.
62717         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
62718         * modules/unigbrk/uc-gbrk-prop: New file.
62719         * lib/unigbrk/gbrkprop.h: New file.
62720         * lib/unigbrk/uc-gbrk-prop.c: New file.
62722         New module 'unigbrk/uc-is-grapheme-break'.
62723         * modules/unigbrk/uc-is-grapheme-break: New file.
62724         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
62725         * lib/unigbrk/uc-is-grapheme-break.c: New file.
62726         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
62727         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
62728         * tests/unigbrk/GraphemeBreakTest.txt: New file.
62730         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
62732 2010-12-27  Bruno Haible  <bruno@clisp.org>
62734         linkat test: Avoid failure on Solaris 11 2010-11.
62735         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
62737 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
62739         utimens: work around glibc rounding bug on more platforms
62740         * lib/utimens.c (fdutimens): Work around rounding bug even if
62741         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
62742         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
62744 2010-12-27  Bruno Haible  <bruno@clisp.org>
62746         select tests: Improve comments.
62747         * tests/test-select.c (do_select): Add comments.
62749 2010-12-27  Bruno Haible  <bruno@clisp.org>
62751         select tests: Safer way of handling timeout.
62752         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
62753         at every invocation.
62755 2010-12-27  Bruno Haible  <bruno@clisp.org>
62757         select tests: Use 'bool' where appropriate.
62758         * tests/test-select.c (connect_to_socket): Change argument type to
62759         'bool'.
62761 2010-12-27  Bruno Haible  <bruno@clisp.org>
62763         select tests: Use existing modules.
62764         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
62765         (configure.ac): Don't test for unistd.h.
62766         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
62767         declared in <unistd.h>.
62769 2010-12-27  Bruno Haible  <bruno@clisp.org>
62771         mbrtowc: Work around a Solaris 7 bug.
62772         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
62773         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
62774         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
62775         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
62776         MBRTOWC_NULL_ARG1_BUG.
62777         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
62778         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
62779         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
62780         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
62782 2010-12-27  Jim Meyering  <meyering@redhat.com>
62784         read-file.c: tweak syntax
62785         * lib/read-file.c (fread_file): Remove space after "*" in function
62786         definitions.
62788 2010-12-27  Bruno Haible  <bruno@clisp.org>
62790         times test: Avoid gcc warnings on OSF/1.
62791         * tests/test-times.c (main): Cast printf arguments from clock_t to
62792         'long int'.
62794 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
62796         utimens: work around glibc rounding bug on older Linux kernels
62797         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
62798         on Linux with a glibc whose utimes might not work, then work
62799         around a longstanding glibc bug involving rounding rather than
62800         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
62801         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
62803 2010-12-26  Bruno Haible  <bruno@clisp.org>
62805         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
62806         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
62807         _GL_CXXALIAS_SYS.
62808         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62810 2010-12-26  Bruno Haible  <bruno@clisp.org>
62812         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
62813         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
62814         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
62815         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
62816         looking for the declaration.
62817         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
62818         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
62819         problem.
62820         * doc/posix-functions/inet_pton.texi: Likewise.
62822 2010-12-26  Bruno Haible  <bruno@clisp.org>
62824         arpa_inet: Use the common idioms with C++ support.
62825         * lib/arpa_inet.in.h: Include c++defs.h.
62826         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
62827         support.
62828         * modules/arpa_inet (Depends-on): Add c++defs.
62829         (Makefile.am): Substitute the contents of c++defs.h.
62830         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
62831         * modules/arpa_inet-c++-tests: New file.
62832         * tests/test-arpa_inet-c++.cc: New file.
62834 2010-12-25  Bruno Haible  <bruno@clisp.org>
62836         Fix more C++ link errors on Solaris 8.
62837         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
62838         $(LIB_EACCESS).
62839         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
62840         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
62841         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
62842         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
62843         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
62845 2010-12-25  Bruno Haible  <bruno@clisp.org>
62847         printf-posix: Fix link error when a non-GCC compiler is used.
62848         * lib/stdio.in.h (printf): When not using GCC, override printf
62849         correctly.
62850         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62852 2010-12-25  Bruno Haible  <bruno@clisp.org>
62854         strerror_r-posix: Update doc.
62855         * doc/posix-functions/strerror_r.texi: Update doc about the return
62856         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
62858 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62860         utimens: simplify the logic of the previous change
62861         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
62862         This should not affect whether the test succeeds or fails.
62864         utimens: configure better on hosts with NFS clock skew
62865         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
62866         uses the clock of the local host.  It might use the clock of the
62867         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
62868         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
62870 2010-12-25  Bruno Haible  <bruno@clisp.org>
62872         ptsname test: Avoid failure on Solaris.
62873         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
62874         open a pseudo-terminal; don't use BSD-style ptys.
62875         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
62877 2010-12-25  Bruno Haible  <bruno@clisp.org>
62879         ptsname: Avoid ERANGE failure on some systems.
62880         * lib/ptsname.c (buffer): Increase size.
62882 2010-12-25  Bruno Haible  <bruno@clisp.org>
62884         rename, renameat: Avoid test failures at NFS mounted locations.
62885         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
62886         so that subsequent mkdir calls succeed.
62888 2010-12-25  Bruno Haible  <bruno@clisp.org>
62890         iswblank: Fix C++ link error on Solaris 8.
62891         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
62892         _GL_FUNCDECL_SYS.
62894 2010-12-25  Bruno Haible  <bruno@clisp.org>
62896         unistd: Fix C++ link error on Solaris 8.
62897         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
62899 2010-12-25  Bruno Haible  <bruno@clisp.org>
62901         readlink doc: Mention an old glibc bug.
62902         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
62904 2010-12-25  Bruno Haible  <bruno@clisp.org>
62906         fcntl-h: Fix for use of C++ on glibc systems.
62907         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
62908         also on glibc systems in C++ mode.
62909         Reported by Gary V. Vaughan <gary@gnu.org>.
62911 2010-12-25  Bruno Haible  <bruno@clisp.org>
62913         roundl-ieee: Make it work on OSF/1 5.1 with cc.
62914         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
62916 2010-12-25  Bruno Haible  <bruno@clisp.org>
62918         truncl-ieee: Make it work on OSF/1 5.1 with cc.
62919         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
62920         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
62921         test whether truncl works according to ISO C 99 with IEC 60559.
62922         * m4/truncl-ieee.m4: New file.
62923         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
62924         m4/signbit.m4.
62925         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
62927 2010-12-25  Bruno Haible  <bruno@clisp.org>
62929         ceill-ieee: Make it work on OSF/1 5.1 with cc.
62930         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
62931         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
62932         test whether ceill works according to ISO C 99 with IEC 60559.
62933         * m4/ceill-ieee.m4: New file.
62934         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
62935         m4/signbit.m4.
62936         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
62938 2010-12-25  Bruno Haible  <bruno@clisp.org>
62940         Ensure all prerequisites of <wchar.h> are included.
62941         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
62942         before <wchar.h>.
62943         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
62944         gl_MBRLEN_NUL_RETVAL): Likewise.
62945         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
62946         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
62947         AC_FUNC_MBRTOWC): Likewise.
62948         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
62949         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
62950         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
62951         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
62952         Likewise.
62953         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
62954         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
62955         (gl_WCHAR_H): Improve comments.
62956         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
62958 2010-12-25  Bruno Haible  <bruno@clisp.org>
62960         strtok_r: Fix C syntax error in autoconf macro.
62961         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
62962         characters in test program.
62964 2010-12-24  Bruno Haible  <bruno@clisp.org>
62966         ceil, trunc, round: Fix gcc warnings.
62967         * lib/ceil.c (MIN): Undefine before redefining.
62968         * lib/trunc.c (MIN): Likewise.
62969         * lib/round.c (MIN): Likewise.
62970         Include <math.h> first.
62972 2010-12-24  Bruno Haible  <bruno@clisp.org>
62974         select tests: Avoid failures on OSF/1 5.1.
62975         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
62976         failure of closing the last socket; it may fail with ECONNRESET.
62978 2010-12-24  Eric Blake  <eblake@redhat.com>
62980         stdint: avoid HP-UX 10.20 preprocessor bug
62981         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
62982         than #if.
62983         * tests/test-floor2.c (main): Likewise.
62984         Reported by Peter O'Gorman.
62986         pipe: make obsoletion transition easier
62987         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
62988         * modules/pipe (Files): Include revived file.
62989         (Include): Drop reference, to mirror getdate's behavior.
62991 2010-12-24  Bruno Haible  <bruno@clisp.org>
62993         sys_socket: Hide mismatch of declarations on NonStop Kernel.
62994         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
62995         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
62996         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62998 2010-12-24  Bruno Haible  <bruno@clisp.org>
63000         gethostname: Ensure declaration on NonStop Kernel.
63001         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
63002         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63004 2010-12-24  Bruno Haible  <bruno@clisp.org>
63006         sys_select: Ensure all necessary types on NonStop Kernel.
63007         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
63008         include <sys/time.h>.
63009         * doc/posix-headers/sys_select.texi: Mention that it's missing on
63010         NonStop Kernel.
63011         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63013 2010-12-24  Bruno Haible  <bruno@clisp.org>
63015         sys_select: Remove unneeded include.
63016         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
63017         have <sys/select.h>.
63019 2010-12-24  Bruno Haible  <bruno@clisp.org>
63021         gethostname: Provide a fallback for HOST_NAME_MAX.
63022         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
63023         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
63024         instead.
63025         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63027 2010-12-24  Bruno Haible  <bruno@clisp.org>
63029         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
63030         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
63031         (SA_RESTART): Likewise.
63032         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63034 2010-12-24  Bruno Haible  <bruno@clisp.org>
63036         signal: Define NSIG.
63037         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
63038         * tests/test-signal.c (nsig): New variable.
63039         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63041 2010-12-24  Bruno Haible  <bruno@clisp.org>
63043         rename, renameat: Avoid test failures on OSF/1 5.1.
63044         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
63045         alternative error codes.
63046         * tests/test-renameat.c (main): Likewise.
63048 2010-12-24  Bruno Haible  <bruno@clisp.org>
63050         *printf: Detect large precisions bug on Solaris 10/SPARC.
63051         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
63052         by Paul Eggert.
63053         * tests/test-snprintf-posix.h (test_function): Add this test code here
63054         too.
63055         * tests/test-sprintf-posix.h (test_function): Likewise.
63056         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63057         * tests/test-vasprintf-posix.c (test_function): Likewise.
63058         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
63059         around by gnulib.
63060         * doc/posix-functions/printf.texi: Likewise.
63061         * doc/posix-functions/snprintf.texi: Likewise.
63062         * doc/posix-functions/sprintf.texi: Likewise.
63063         * doc/posix-functions/vfprintf.texi: Likewise.
63064         * doc/posix-functions/vprintf.texi: Likewise.
63065         * doc/posix-functions/vsnprintf.texi: Likewise.
63066         * doc/posix-functions/vsprintf.texi: Likewise.
63067         * doc/posix-functions/dprintf.texi: Undo last commit.
63068         * doc/posix-functions/vdprintf.texi: Likewise.
63070 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
63072         tests: port test-fdutimensat.c to Solaris 8
63073         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
63074         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
63075         On Solaris 8, it fails with errno == ENOSYS, because there is no
63076         futimens (so it can't use the fd), and there is no lutimens (so it
63077         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
63079         vsnprintf: make more consistent with snprintf; doc fixes
63081         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
63082         the byte count return problem was promoted from the snprintf-posix
63083         to the snprintf module.
63084         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
63085         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
63086         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
63087         * tests/test-snprintf.c (main): Check the byte count returned.
63088         * tests/test-vsnprintf.c (main): Likewise.
63090 2010-12-23  Eric Blake  <eblake@redhat.com>
63092         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
63093         * modules/sigpipe (License): Relax license.
63095 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
63097         doc: document Solaris printf bug with large float precisions
63098         * doc/posix-functions/dprintf.texi (dprintf):
63099         * doc/posix-functions/fprintf.texi (fprintf):
63100         * doc/posix-functions/printf.texi (printf):
63101         * doc/posix-functions/snprintf.texi (snprintf):
63102         * doc/posix-functions/sprintf.texi (sprintf):
63103         * doc/posix-functions/vdprintf.texi (vdprintf):
63104         * doc/posix-functions/vfprintf.texi (vfprintf):
63105         * doc/posix-functions/vprintf.texi (vprintf):
63106         * doc/posix-functions/vsnprintf.texi (vsnprintf):
63107         * doc/posix-functions/vsprintf.texi (vsprintf):
63108         Mention that these functions mishandle large floating point
63109         precisions on Solaris 10.  The same bug is also present in Solaris
63110         8, and I assume earlier.  This causes "cd gnulib-tests; make
63111         check" to fail on Solaris 8 (and I assume, later) when building
63112         the latest coreutils, in test-vasprintf-posix's call to
63113         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
63114         the wide flavors (e.g., wprintf) so this patch just updates the
63115         documentation for the narrow ones.
63117         test-posixtm.c: add two tests
63118         * tests/test-posixtm.c: Add two tests, to highlight the
63119         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
63120         around this bug; this is merely to document it.
63122 2010-12-22  Bruno Haible  <bruno@clisp.org>
63124         getlogin_r: Work around portability problem on OSF/1.
63125         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
63126         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
63127         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
63128         test for a truncated result.
63129         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
63130         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
63131         * modules/getlogin_r (Depends-on): Add memchr.
63132         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
63134 2010-12-22  Bruno Haible  <bruno@clisp.org>
63136         ptsname: Avoid test failure on OSF/1 5.1.
63137         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
63138         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
63139         (same_slave): New function.
63140         (main): Use it to compare ptsname's result with the expected file name.
63142 2010-12-22  Bruno Haible  <bruno@clisp.org>
63144         Port extended stdio modules to HP NonStop Kernel.
63145         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
63146         macros.
63147         * lib/fbufmode.c: Update comments.
63148         * lib/fflush.c: Likewise.
63149         * lib/fpurge.c: Likewise.
63150         * lib/freadable.c: Likewise.
63151         * lib/freadahead.c: Likewise.
63152         * lib/freading.c: Likewise.
63153         * lib/freadptr.c: Likewise.
63154         * lib/freadseek.c: Likewise.
63155         * lib/fseeko.c: Likewise.
63156         * lib/fseterr.c: Likewise.
63157         * lib/fwritable.c: Likewise.
63158         * lib/fwriting.c: Likewise.
63159         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
63161 2010-12-22  Bruno Haible  <bruno@clisp.org>
63163         ttyname_r: Work around bug on OSF/1 5.1.
63164         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
63165         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
63166         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
63167         present.
63168         * lib/ttyname_r.c (ttyname_r): Update comments.
63170 2010-12-22  Bruno Haible  <bruno@clisp.org>
63172         round: Implement result sign according to IEEE 754.
63173         * lib/round.c (MIN, MINUS_ZERO): New macros.
63174         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
63175         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
63176         * tests/test-round-ieee.c (main): Likewise.
63177         * tests/test-roundl-ieee.c (main): Likewise.
63179         trunc: Implement result sign according to IEEE 754.
63180         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
63181         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
63182         * tests/test-trunc2.c: Include minus-zero.h.
63183         (MINUS_ZERO): New macro.
63184         (trunc_reference): Keep in sync with lib/trunc.c.
63185         * tests/test-truncf2.c: Include minus-zero.h.
63186         (MINUS_ZERO): New macro.
63187         (truncf_reference): Keep in sync with lib/trunc.c.
63188         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
63189         * tests/test-trunc-ieee.c (main): Likewise.
63190         * tests/test-truncl-ieee.c (main): Likewise.
63192         ceil: Implement result sign according to IEEE 754.
63193         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
63194         (FUNC): Return -0.0 for -1 < x < 0.
63195         * tests/test-ceil2.c: Include minus-zero.h.
63196         (MINUS_ZERO): New macro.
63197         (ceil_reference): Keep in sync with lib/ceil.c.
63198         * tests/test-ceilf2.c: Include minus-zero.h.
63199         (MINUS_ZERO): New macro.
63200         (ceilf_reference): Keep in sync with lib/ceil.c.
63201         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
63202         * tests/test-ceil-ieee.c (main): Likewise.
63203         * tests/test-ceill-ieee.c (main): Likewise.
63205         floor: Implement result sign according to IEEE 754.
63206         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
63207         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
63208         * tests/test-floorf2.c (floorf_reference): Likewise.
63209         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
63210         * tests/test-floor-ieee.c (main): Likewise.
63211         * tests/test-floorl-ieee.c (main): Likewise.
63213 2010-12-22  Bruno Haible  <bruno@clisp.org>
63215         getaddrinfo: Update doc.
63216         * doc/posix-functions/gai_strerror.texi: Return type is also different
63217         on AIX and HP-UX.
63219 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
63221         getaddrinfo, inet_ntop: Update doc for Solaris.
63222         * doc/posix-functions/gai_strerror.texi: Return type is also an
63223         issue on Solaris 9 and earlier.
63224         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
63225         on Solaris 10 and earlier.
63227 2010-12-21  Bruno Haible  <bruno@clisp.org>
63229         New module 'roundl-ieee'.
63230         * modules/roundl-ieee: New file.
63231         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
63232         test whether roundl works according to ISO C 99 with IEC 60559.
63233         * m4/roundl-ieee.m4: New file.
63234         * modules/roundl-ieee-tests: New file.
63235         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
63236         * tests/test-roundl.c (main): Remove signbit tests.
63237         * modules/roundl-tests (Depends-on): Remove signbit.
63238         * doc/posix-functions/roundl.texi: Mention the new module.
63240 2010-12-21  Bruno Haible  <bruno@clisp.org>
63242         New module 'truncl-ieee'.
63243         * modules/truncl-ieee: New file.
63244         * modules/truncl-ieee-tests: New file.
63245         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
63246         * tests/test-truncl.c (main): Remove signbit tests.
63247         * modules/truncl-tests (Depends-on): Remove signbit.
63248         * doc/posix-functions/truncl.texi: Mention the new module.
63250 2010-12-21  Bruno Haible  <bruno@clisp.org>
63252         New module 'ceill-ieee'.
63253         * modules/ceill-ieee: New file.
63254         * modules/ceill-ieee-tests: New file.
63255         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
63256         * tests/test-ceill.c (main): Remove signbit tests.
63257         * modules/ceill-tests (Depends-on): Remove signbit.
63258         * doc/posix-functions/ceill.texi: Mention the new module.
63260 2010-12-21  Bruno Haible  <bruno@clisp.org>
63262         New module 'floorl-ieee'.
63263         * modules/floorl-ieee: New file.
63264         * modules/floorl-ieee-tests: New file.
63265         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
63266         * tests/test-floorl.c (main): Remove signbit tests.
63267         * modules/floorl-tests (Depends-on): Remove signbit.
63268         * doc/posix-functions/floorl.texi: Mention the new module.
63270 2010-12-21  Bruno Haible  <bruno@clisp.org>
63272         New module 'round-ieee'.
63273         * modules/round-ieee: New file.
63274         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
63275         whether round works according to ISO C 99 with IEC 60559.
63276         * m4/round-ieee.m4: New file.
63277         * modules/round-ieee-tests: New file.
63278         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
63279         * tests/test-round1.c (main): Remove signbit tests.
63280         * modules/round-tests (Depends-on): Remove 'signbit'.
63281         * doc/posix-functions/round.texi: Mention the new module.
63283 2010-12-21  Bruno Haible  <bruno@clisp.org>
63285         New module 'trunc-ieee'.
63286         * modules/trunc-ieee: New file.
63287         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
63288         whether trunc works according to ISO C 99 with IEC 60559.
63289         * m4/trunc-ieee.m4: New file.
63290         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
63291         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
63292         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
63293         * modules/trunc-ieee-tests: New file.
63294         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
63295         * tests/test-trunc1.c (main): Remove signbit tests.
63296         * modules/trunc-tests (Depends-on): Remove 'signbit'.
63297         * doc/posix-functions/trunc.texi: Mention the new module.
63299 2010-12-21  Bruno Haible  <bruno@clisp.org>
63301         New module 'ceil-ieee'.
63302         * modules/ceil-ieee: New file.
63303         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
63304         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
63305         ISO C 99 with IEC 60559.
63306         * m4/ceil-ieee.m4: New file.
63307         * modules/ceil (Files): Add lib/ceil.c.
63308         (Depends-on): Add 'float'.
63309         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
63310         * lib/math.in.h (ceil): New declaration.
63311         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
63312         REPLACE_CEIL.
63313         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
63314         * modules/ceil-ieee-tests: New file.
63315         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
63316         * tests/test-math-c++.cc: Check the signature of 'ceil'.
63317         * doc/posix-functions/ceil.texi: Mention the new module.
63319 2010-12-21  Bruno Haible  <bruno@clisp.org>
63321         New module 'floor-ieee'.
63322         * modules/floor-ieee: New file.
63323         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
63324         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
63325         ISO C 99 with IEC 60559.
63326         * m4/floor-ieee.m4: New file.
63327         * modules/floor (Files): Add lib/floor.c.
63328         (Depends-on): Add 'float'.
63329         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
63330         * lib/math.in.h (floor): New declaration.
63331         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
63332         REPLACE_FLOOR.
63333         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
63334         * modules/floor-ieee-tests: New file.
63335         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
63336         * tests/test-math-c++.cc: Check the signature of 'floor'.
63337         * doc/posix-functions/floor.texi: Mention the new module.
63339 2010-12-21  Bruno Haible  <bruno@clisp.org>
63341         New module 'roundf-ieee'.
63342         * modules/roundf-ieee: New file.
63343         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
63344         test whether roundf works according to ISO C 99 with IEC 60559.
63345         * m4/roundf-ieee.m4: New file.
63346         * modules/roundf-ieee-tests: New file.
63347         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
63348         * tests/test-roundf1.c (main): Remove signbit tests.
63349         * modules/roundf-tests (Depends-on): Remove 'signbit'.
63350         * doc/posix-functions/roundf.texi: Mention the new module.
63352 2010-12-21  Bruno Haible  <bruno@clisp.org>
63354         New module 'truncf-ieee'.
63355         * modules/truncf-ieee: New file.
63356         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
63357         test whether truncf works according to ISO C 99 with IEC 60559.
63358         * m4/truncf-ieee.m4: New file.
63359         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
63360         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
63361         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
63362         * modules/truncf-ieee-tests: New file.
63363         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
63364         * tests/test-truncf1.c (main): Remove signbit tests.
63365         * modules/truncf-tests (Depends-on): Remove 'signbit'.
63366         * doc/posix-functions/truncf.texi: Mention the new module.
63368 2010-12-21  Bruno Haible  <bruno@clisp.org>
63370         New module 'ceilf-ieee'.
63371         * modules/ceilf-ieee: New file.
63372         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
63373         test whether ceilf works according to ISO C 99 with IEC 60559.
63374         * m4/ceilf-ieee.m4: New file.
63375         * modules/ceilf-ieee-tests: New file.
63376         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
63377         * tests/test-ceilf1.c (main): Remove signbit tests.
63378         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
63379         * doc/posix-functions/ceilf.texi: Mention the new module.
63381 2010-12-21  Bruno Haible  <bruno@clisp.org>
63383         New module 'floorf-ieee'.
63384         * modules/floorf-ieee: New file.
63385         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
63386         test whether floorf works according to ISO C 99 with IEC 60559.
63387         * m4/floorf-ieee.m4: New file.
63388         * modules/floorf-ieee-tests: New file.
63389         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
63390         * tests/test-floorf1.c (main): Remove signbit tests.
63391         * modules/floorf-tests (Depends-on): Remove 'signbit'.
63392         * doc/posix-functions/floorf.texi: Mention the new module.
63394 2010-12-21  Bruno Haible  <bruno@clisp.org>
63396         Support for minus zero in autoconf macros.
63397         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
63398         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
63399         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
63400         * tests/minus-zero.h: Update comments.
63402 2010-12-21  Bruno Haible  <bruno@clisp.org>
63404         Tests for module 'ceil'.
63405         * modules/ceil-tests: New file.
63406         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
63407         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
63409 2010-12-21  Bruno Haible  <bruno@clisp.org>
63411         Tests for module 'floor'.
63412         * modules/floor-tests: New file.
63413         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
63414         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
63416 2010-12-21  Bruno Haible  <bruno@clisp.org>
63418         math: Fix indentation.
63419         * lib/math.in.h (floorf): Fix indentation.
63421 2010-12-21  Bruno Haible  <bruno@clisp.org>
63423         Fix cross-compilation guesses on Solaris.
63424         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
63425         not match "solaris2.10".
63426         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
63427         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
63428         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
63430 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
63432         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
63433         This fixes a problem observed with the latest coreutils snapshot
63434         that caused a test to fail on Solaris 8.  src/csplit.c's call
63435         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
63436         earlier, instead of returning the number of bytes that would have
63437         been generated; this causes csplit to incorrectly report memory
63438         exhaustion.
63439         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
63440         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
63441         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
63442         comments to match.
63443         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
63444         Fix typo in matching older versions of Solaris: "solaris2.10"
63445         is matched by the shell pattern "solaris2.[0-9]*".  This matters
63446         only for guessing while cross-compiling.
63447         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
63449 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
63451         ftoastr: fix comment again
63452         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
63453         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
63454         Also, simplify example a bit by using flags = 0.
63456 2010-12-20  Bruno Haible  <bruno@clisp.org>
63458         round*, trunc*: Update documentation regarding glibc.
63459         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
63460         * doc/posix-functions/round.texi: Likewise.
63461         * doc/posix-functions/roundl.texi: Likewise.
63462         * doc/posix-functions/truncf.texi: Likewise.
63463         * doc/posix-functions/trunc.texi: Likewise.
63464         * doc/posix-functions/truncl.texi: Likewise.
63466 2010-12-20  Bruno Haible  <bruno@clisp.org>
63468         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
63469         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
63470         * doc/posix-functions/round.texi: Likewise.
63471         * doc/posix-functions/roundl.texi: Likewise.
63473 2010-12-20  Bruno Haible  <bruno@clisp.org>
63475         ttyname_r: Add missing declaration on HP-UX 11.
63476         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
63477         HAVE_TTYNAME_R.
63478         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
63479         declared. Set HAVE_TTYNAME_R always.
63480         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63481         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
63482         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
63483         HAVE_TTYNAME_R.
63484         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
63486 2010-12-20  Bruno Haible  <bruno@clisp.org>
63488         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
63489         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
63490         * doc/posix-functions/getlogin_r.texi: Likewise.
63491         * tests/test-getlogin.c: Include <errno.h>.
63492         (main): Avoid test failure on HP-UX 11.11.
63493         * tests/test-getlogin_r.c (main): Likewise.
63495 2010-12-20  Bruno Haible  <bruno@clisp.org>
63497         getlogin_r: Add missing declaration on HP-UX 11.
63498         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
63499         declared also when it exists as a function.
63500         * doc/posix-functions/getlogin_r.texi: Document this workaround.
63502 2010-12-20  Bruno Haible  <bruno@clisp.org>
63504         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
63505         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
63506         through wcrtomb.
63508 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
63510         ftoastr: fix comment
63511         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
63512         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
63514 2010-12-19  Bruno Haible  <bruno@clisp.org>
63516         isnan: Ensure it is a macro.
63517         * lib/math.in.h (isnan): Define as a macro if not already a macro.
63518         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
63519         Solaris.
63521 2010-12-19  Bruno Haible  <bruno@clisp.org>
63523         ldexpl test: Fix link error on OSF/1 5.1.
63524         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
63526 2010-12-19  Bruno Haible  <bruno@clisp.org>
63528         wctype: Make it work in C++ mode on OSF/1 5.1.
63529         * lib/wctype.in.h (iswblank): Declare but not define here.
63530         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
63531         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
63532         * modules/wctype (Files): Add lib/iswblank.c.
63534 2010-12-19  Bruno Haible  <bruno@clisp.org>
63536         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
63537         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
63538         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
63540 2010-12-19  Bruno Haible  <bruno@clisp.org>
63542         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
63543         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
63544         _POSIX_PII_SOCKET.
63545         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
63546         * doc/posix-functions/recvfrom.texi: Likewise.
63547         * doc/posix-functions/send.texi: Likewise.
63548         * doc/posix-functions/sendto.texi: Likewise.
63550 2010-12-19  Bruno Haible  <bruno@clisp.org>
63552         tcgetsid: Add missing declaration on OSF/1 5.1.
63553         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
63554         HAVE_TCGETSID.
63555         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
63556         Don't set HAVE_TCGETSID.
63557         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
63558         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
63559         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
63560         HAVE_TCGETSID.
63561         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
63563 2010-12-19  Bruno Haible  <bruno@clisp.org>
63565         stdio: Fix problem with popen() declaration on OSF/1 5.1.
63566         * lib/stdio.in.h: During the include_next statement, let recursive
63567         includes of this file include only the system header file.
63569 2010-12-19  Bruno Haible  <bruno@clisp.org>
63571         iconv_open: Fix regression from 2010-12-04.
63572         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
63573         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
63575 2010-12-19  Bruno Haible  <bruno@clisp.org>
63577         stdbool test: Avoid a gcc warning.
63578         * tests/test-stdbool.c (main): Fail if e1 is false.
63579         Reported by Jim Meyering.
63581 2010-12-19  Jim Meyering  <meyering@redhat.com>
63583         setenv: restore to working order
63584         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
63585         mistakenly removed.
63586         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
63587         HAVE_SETENV.
63588         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
63589         HAVE_SETENV.
63591 2010-12-19  Bruno Haible  <bruno@clisp.org>
63593         Document some different function declarations on OSF/1 5.1.
63594         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
63595         * doc/posix-functions/inet_ntop.texi: Likewise.
63596         * doc/posix-functions/gethostname.texi: Likewise.
63597         * lib/unistd.in.h (gethostname): Update comment.
63599 2010-12-19  Bruno Haible  <bruno@clisp.org>
63601         doc: Mention vasprintf-posix module.
63602         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
63603         the 'vasprintf-posix' module.
63604         * doc/glibc-functions/vasprintf.texi: Likewise.
63606 2010-12-19  Bruno Haible  <bruno@clisp.org>
63608         unsetenv: Add missing declaration on OSF/1 5.1.
63609         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
63610         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
63611         Don't set HAVE_UNSETENV. In the test program, set _BSD.
63612         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
63613         not HAVE_UNSETENV.
63614         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
63615         HAVE_UNSETENV.
63616         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
63618 2010-12-19  Bruno Haible  <bruno@clisp.org>
63620         setenv: Add missing declaration on OSF/1 5.1.
63621         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
63622         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
63623         declared. Don't set HAVE_SETENV.
63624         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
63625         not HAVE_SETENV.
63626         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
63627         HAVE_SETENV.
63628         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
63630 2010-12-19  Bruno Haible  <bruno@clisp.org>
63632         nl_langinfo tests: Avoid gcc warning.
63633         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
63635 2010-12-19  Bruno Haible  <bruno@clisp.org>
63637         mknod: Avoid error in C++ mode on OSF/1 with GCC.
63638         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
63639         _GL_CXXALIAS_SYS.
63641 2010-12-19  Bruno Haible  <bruno@clisp.org>
63643         stdbool: Relax test.
63644         * tests/test-stdbool.c (e): Don't require that casts from a variable's
63645         address to 'bool' work in static initializer, for compilers other than
63646         GCC.
63648 2010-12-19  Bruno Haible  <bruno@clisp.org>
63650         ftello: Add missing declaration on OSF/1 5.1.
63651         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
63652         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
63653         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
63654         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
63655         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
63657 2010-12-19  Bruno Haible  <bruno@clisp.org>
63659         fseeko: Add missing declaration on OSF/1 5.1.
63660         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
63661         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
63662         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
63663         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
63664         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
63666 2010-12-19  Bruno Haible  <bruno@clisp.org>
63668         fchdir: Add missing declaration on OSF/1 5.1.
63669         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
63670         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
63671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
63672         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
63673         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
63675 2010-12-19  Bruno Haible  <bruno@clisp.org>
63677         relocatable-prog-wrapper: Separate from relocatable-prog.
63678         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
63679         uninstall-relocwrapper rule here.
63680         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
63681         Reported by Ian Beckwith <ianb@erislabs.net>.
63683 2010-12-19  Bruno Haible  <bruno@clisp.org>
63685         unistr/u8-mbsnlen: Add missing dependency.
63686         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
63687         Reported by Ian Beckwith <ianb@erislabs.net>.
63689 2010-12-19  Bruno Haible  <bruno@clisp.org>
63691         iconv: Make it possible again to use this module without 'iconv-h'.
63692         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
63693         if it is not defined.
63694         Reported by Ian Beckwith <ianb@erislabs.net>.
63696 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63698         acl: port to Solaris 8 when copying from tmpfs to ufs
63699         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
63700         error number.  Problem observed on Solaris 8 with latest
63701         coreutils, with "mv A B", where A is on a tmpfs file system and B
63702         is on a ufs file system.  This caused coreutils' mv/part-symlink
63703         test to fail.
63705         tests: set fail=0 at start
63706         * tests/init.sh (setup_): Move fail=0 initialization here ...
63707         (mktempd_): ... from here, so that tests can rely on fail being
63708         set to 0 initially.  This fixes a problem in coreutils; see:
63709         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
63711 2010-12-18  Bruno Haible  <bruno@clisp.org>
63713         memmem-simple: Stylistic changes.
63714         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
63715         Fix preprocessor directive indentation.
63717 2010-12-15  Pádraig Brady  <P@draigBrady.com>
63719         memmem, memmem-simple: reorganize and expand empty needle check
63720         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
63721         functional checks to memmem-simple so that one has a fully functional
63722         memmem by using just this module.
63723         Restrict the performance only check to the memmem module.
63724         Also expand the empty needle check to ensure the correct
63725         pointer is returned, not just a non NULL pointer.
63726         * doc/glibc-functions/memmem.texi: Rearrange the portability
63727         documentation to correlate with the rearranged checks.
63728         Clarify exactly how the memmem and memmem-simple modules
63729         relate to each other.
63731 2010-12-15  Pádraig Brady  <P@draigBrady.com>
63732             Bruno Haible  <bruno@clisp.org>
63734         Improve cross-compilation guesses for uClibc.
63735         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
63736         that uClibc does not have the glibc bug.
63737         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
63738         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
63740 2010-12-14  Eric Blake  <eblake@redhat.com>
63742         configmake: provide fallbacks for oldest supported autotools
63743         * m4/configmake.m4: New file.
63744         * modules/configmake (Files): Ship it.
63745         (configure.ac): Use it to guarantee fallbacks.
63747 2010-12-13  Pádraig Brady  <P@draigBrady.com>
63749         read-file: Improve handling of large files
63750         * lib/read-file.c (fread_file): Minimize realloc()s
63751         for regular files, and better manage sizes around SIZE_MAX.
63753 2010-12-13  Eric Blake  <eblake@redhat.com>
63755         cloexec, fcntl: relax license
63756         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
63757         consent from all contributors.
63758         * modules/fcntl (License): Likewise.
63760 2010-12-10  Bruno Haible  <bruno@clisp.org>
63762         Tests for module 'pipe-posix'.
63763         * modules/pipe-posix-tests: New file.
63764         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
63766 2010-12-10  Bruno Haible  <bruno@clisp.org>
63768         pipe-posix: Make it work in C++ mode.
63769         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
63770         (pipe): Use common idiom, not a macro definition.
63771         * lib/pipe.c: New file.
63772         * m4/pipe.m4: New file.
63773         * modules/pipe-posix (Description): Enhance.
63774         (Files): Add lib/pipe.c, m4/pipe.m4.
63775         (configure.ac): Invoke gl_FUNC_PIPE.
63776         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
63777         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
63778         * tests/test-unistd-c++.cc: Check the signature of pipe.
63780 2010-12-10  Bruno Haible  <bruno@clisp.org>
63782         Rename module 'pipe' to 'spawn-pipe'.
63783         * modules/spawn-pipe: New file, renamed from modules/pipe.
63784         (Files, configure.ac, Makefile.am): Update.
63785         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
63786         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
63787         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
63788         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
63789         "spawn-pipe.h" instead of "pipe.h".
63790         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
63791         to gl_SPAWN_PIPE.
63792         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
63793         (Files, Makefile.am): Update.
63794         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
63795         Update.
63796         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
63797         Include "spawn-pipe.h" instead of "pipe.h".
63798         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
63799         * lib/javacomp.c: Likewise.
63800         * lib/javaversion.c: Likewise.
63801         * lib/pipe-filter-gi.c: Likewise.
63802         * lib/pipe-filter-ii.c: Likewise.
63803         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
63804         * modules/javacomp (Depends-on): Likewise.
63805         * modules/javaversion (Depends-on): Likewise.
63806         * modules/pipe-filter-gi (Depends-on): Likewise.
63807         * modules/pipe-filter-ii (Depends-on): Likewise.
63808         * MODULES.html.sh (Executing programs): Update.
63809         * NEWS: Mention the change.
63811 2010-12-10  Eric Blake  <eblake@redhat.com>
63813         pipe-posix: new module
63814         * modules/pipe-posix: New file.
63815         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
63816         (gl_UNISTD_H): Check for declaration.
63817         * modules/unistd (Makefile.am): Substitute it.
63818         * lib/unistd.in.h (pipe): Provide it for mingw.
63819         * doc/posix-functions/pipe.texi (pipe): Update documentation.
63820         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
63822 2010-12-07  Bruno Haible  <bruno@clisp.org>
63824         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
63825         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
63826         u8_strcmp_gnu.
63827         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
63829 2010-12-06  Bruno Haible  <bruno@clisp.org>
63831         Update internal documentation.
63832         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
63834 2010-12-04  Bruno Haible  <bruno@clisp.org>
63836         Put more information about failed tests into the test return codes.
63837         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
63838         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
63839         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
63840         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
63841         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
63842         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63843         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63844         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
63845         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
63846         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63847         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
63848         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
63849         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
63850         * m4/stdint.m4 (gl_STDINT_H): Likewise.
63851         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
63852         returns a bit mask.
63853         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
63854         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
63855         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
63856         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
63857         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
63858         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
63859         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63860         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
63861         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
63862         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
63863         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
63864         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
63865         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
63866         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
63867         * m4/link.m4 (gl_FUNC_LINK): Likewise.
63868         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
63869         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
63870         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
63871         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
63872         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
63873         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
63874         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
63875         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
63876         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
63877         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
63878         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
63879         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
63880         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
63881         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
63882         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
63883         gl_PRINTF_PRECISION): Likewise.
63884         * m4/regex.m4 (gl_REGEX): Likewise.
63885         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
63886         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
63887         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
63888         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
63889         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63890         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63891         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
63892         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
63893         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63894         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63895         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
63896         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
63897         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
63898         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
63899         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
63900         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
63901         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
63902         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
63903         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
63904         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
63905         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
63906         enumerated value.
63907         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
63909 2010-12-04  Bruno Haible  <bruno@clisp.org>
63911         Update for Solaris 11 2010-11.
63912         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
63913         Express, released in November 2010.
63915 2010-12-04  Bruno Haible  <bruno@clisp.org>
63917         nproc: Relax license.
63918         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
63919         and Paul Eggert.
63920         Requested by Ludovic Courtès <ludo@gnu.org>.
63922 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
63924         utimecmp: fine-grained src to nearby coarse-grained dest
63926         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
63927         and the source is on a file system with higher-resolution time
63928         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
63929         not work, and the time stamps are close together, the algorithm to
63930         determine the exact resolution from the read-back mtime was buggy:
63931         it had a "!=" where it should have had an "==".  This bug has been
63932         in the code ever since it was introduced to gnulib.
63933         Problem reported by Dan Jacobson in
63934         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
63936 2010-11-30  Bruno Haible  <bruno@clisp.org>
63938         strerror_r-posix: Fix autoconf test.
63939         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
63941 2010-11-28  Bruno Haible  <bruno@clisp.org>
63942             Paul Eggert  <eggert@cs.ucla.edu>
63944         Tests for module 'getdomainname'.
63945         * modules/getdomainname-tests: New file.
63946         * tests/test-getdomainname.c: New file, based on
63947         tests/test-gethostname.c.
63949 2010-11-28  Bruno Haible  <bruno@clisp.org>
63950             Paul Eggert  <eggert@cs.ucla.edu>
63952         getdomainname: Use the system function when possible.
63953         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
63954         (getdomainname): Replace if needed. Provide the declaration if it is
63955         missing. Don't use _GL_CXXALIAS_SYS_CAST.
63956         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
63957         (getdomainname): When the system has getdomainname, call the system
63958         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
63959         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
63960         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
63961         found in libnsl. Look for the declaration also in <netdb.h>. Replace
63962         the function if its second argument is of type 'int' or if it is found
63963         in libnsl.
63964         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
63965         <sys/systeminfo.h> and sysinfo().
63966         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
63967         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63968         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
63969         HAVE_GETDOMAINNAME.
63970         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
63971         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
63972         * doc/glibc-functions/getdomainname.texi: Document the problems with
63973         the getdomainname declaration.
63975 2010-11-28  Bruno Haible  <bruno@clisp.org>
63977         sys_socket: Ensure ss_family field on AIX.
63978         * lib/sys_socket.in.h (ss_family): New macro definition.
63979         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
63980         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
63981         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
63982         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
63983         * modules/sys_socket (Makefile.am): Substitute
63984         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
63985         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
63987 2010-11-27  Bruno Haible  <bruno@clisp.org>
63989         readline: Improve configure output.
63990         * m4/readline.m4 (gl_FUNC_READLINE): Make the
63991         "checking for readline..." result understandable.
63993 2010-11-27  Bruno Haible  <bruno@clisp.org>
63995         *printf-posix: Detect a bug on Solaris 10/x86.
63996         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
63997         for floating-point output.
63998         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
63999         directive.
64000         * tests/test-snprintf-posix.h (test_function): Likewise.
64001         * tests/test-sprintf-posix.h (test_function): Likewise.
64002         * tests/test-vasprintf-posix.c (test_function): Likewise.
64003         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
64004         * doc/posix-functions/printf.texi: Likewise.
64005         * doc/posix-functions/snprintf.texi: Likewise.
64006         * doc/posix-functions/sprintf.texi: Likewise.
64007         * doc/posix-functions/vfprintf.texi: Likewise.
64008         * doc/posix-functions/vprintf.texi: Likewise.
64009         * doc/posix-functions/vsnprintf.texi: Likewise.
64010         * doc/posix-functions/vsprintf.texi: Likewise.
64011         * doc/glibc-functions/obstack_printf.texi: Likewise.
64012         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
64014 2010-11-27  Bruno Haible  <bruno@clisp.org>
64016         Fix link error when module libunistring-optional is in use.
64017         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
64018         * modules/striconveha-tests (Makefile.am): Likewise.
64020 2010-11-27  Bruno Haible  <bruno@clisp.org>
64022         regex: Mention link dependencies.
64023         * modules/regex (Link): New section.
64024         * modules/rpmatch (Link): Likewise.
64025         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
64027 2010-11-27  Bruno Haible  <bruno@clisp.org>
64029         ftoastr: Fix compilation error on Solaris.
64030         * lib/ftoastr.c: Include <config.h>.
64032 2010-11-27  Bruno Haible  <bruno@clisp.org>
64034         getloadavg: Update documentation.
64035         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
64037 2010-11-27  Bruno Haible  <bruno@clisp.org>
64039         sys_socket: Fix test whether the functions are declared.
64040         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
64041         not <sys/select.h>.
64043 2010-11-27  Bruno Haible  <bruno@clisp.org>
64045         getpass: Make sure to get system declaration on some platforms.
64046         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
64047         gl_USE_SYSTEM_EXTENSIONS.
64048         * modules/getpass (Depends-on): Add extensions.
64050 2010-11-26  Bruno Haible  <bruno@clisp.org>
64052         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
64053         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
64054         'iconv' module is present.
64055         (ICONV_CONST): New macro.
64056         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
64057         ICONV_CONST.
64058         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
64059         set ICONV_CONST.
64060         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
64061         here.
64062         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
64063         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
64064         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
64065         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
64066         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
64067         present.
64069 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
64071         ftoastr: comment fix
64072         * lib/ftoastr.c: "little" -> "little or no" in comment
64074 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
64076         stdint: port to GCC 4.3 + OSX + Octave
64077         On this platform, stdint.h is buggy and defines int64_t to long
64078         long int.  The replacement defined it to long int, causing
64079         problems with C++ style name mangling.  Instead, trust the system
64080         definition if INT64_MAX is defined, and likewise for the unsigned
64081         variant.   Problem reported by Jarno Rajahalme in
64082         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
64083         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
64084         and don't mess with int64_t and INT64_MAX in this case.
64085         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
64087 2010-11-24  Bruno Haible  <bruno@clisp.org>
64089         doc: Corrections regarding MacOS X 10.4 and 10.5.
64090         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
64091         MacOS X.
64092         Reported by Simon Josefsson.
64094 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
64096         Uninstall ".bin" files installed by relocwrapper.
64097         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
64098         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
64099         unless it is already there.
64101 2010-11-21  Bruno Haible  <bruno@clisp.org>
64103         Update for NetBSD 5.0.
64104         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
64105         NetBSD; the test fails on NetBSD 5.0.
64106         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
64107         about NetBSD.
64109 2010-11-21  Bruno Haible  <bruno@clisp.org>
64111         Update for HP-UX 11.23 and HP-UX 11.31.
64112         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
64113         HP-UX.
64115 2010-11-21  Bruno Haible  <bruno@clisp.org>
64117         Update for MacOS X 10.5.
64118         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
64119         MacOS X; the test fails on MacOS X 10.5.8.
64120         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
64121         about MacOS X.
64123 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
64125         bootstrap: add bootstrap_sync option.
64126         See discussion at
64127         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
64128         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
64129         * build-aux/bootstrap: Accept --bootstrap-sync to update
64130         bootstrap if it is not identical to the local gnulib's
64131         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
64132         enable this by default.  Accept --no-bootstrap-sync to disable
64133         it.
64135 2010-11-20  Bruno Haible  <bruno@clisp.org>
64137         Ensure that <features.h> is included before __GLIBC__ is tested.
64138         * lib/printf-parse.h: Include <features.h>.
64139         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
64140         Reported by Mike Frysinger <vapier@gentoo.org>.
64142         Ensure that <features.h> is included before __GLIBC__ is tested.
64143         * lib/wchar.in.h: Include <features.h>.
64144         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
64145         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
64146         Reported by Mike Frysinger <vapier@gentoo.org>.
64148         Ensure that <features.h> is included before __GLIBC__ is tested.
64149         * lib/arpa_inet.in.h: Include <features.h>.
64150         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
64151         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
64152         Reported by Mike Frysinger <vapier@gentoo.org>.
64154         Ensure that <features.h> is included before __GLIBC__ is tested.
64155         * build-aux/link-warning.h: Include <features.h>.
64156         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
64157         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
64158         Reported by Mike Frysinger <vapier@gentoo.org>.
64160         Ensure that <features.h> is included before __GLIBC__ is tested.
64161         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
64162         Reported by Mike Frysinger <vapier@gentoo.org>.
64164 2010-11-20  Bruno Haible  <bruno@clisp.org>
64166         memmem: Fix autoconf test.
64167         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
64169 2010-11-20  Bruno Haible  <bruno@clisp.org>
64171         Port to uClibc.
64172         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
64173         * lib/fcntl.in.h: Likewise.
64174         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
64175         * lib/mbrtowc.c (mbrtowc): Likewise.
64176         * lib/relocatable.c (find_shared_library_fullname): Likewise.
64177         * lib/strerror_r.c: Likewise.
64178         * lib/unistr/u8-strnlen.c: Likewise.
64179         * lib/vasnprintf.c (decimal_point_char): Likewise.
64180         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
64181         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
64182         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
64183         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
64184         * tests/test-sigaction.c (handler, main): Likewise.
64185         * lib/freading.h: Treat uClibc like a non-glibc platform.
64186         * lib/freading.c: Likewise.
64187         * lib/gettext.h: Likewise.
64188         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
64189         Likewise.
64190         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
64191         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
64192         * lib/propername.c (proper_name_utf8): Likewise.
64193         * lib/spawn.in.h: Likewise.
64194         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
64195         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
64196         mem_cd_iconveh_internal): Likewise.
64197         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
64198         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
64199         strstr, strcasestr): Likewise.
64200         * lib/unicodeio.c (unicode_to_mb): Likewise.
64201         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
64202         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
64203         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
64204         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
64205         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
64206         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
64207         * lib/unistr/u8-stpncpy.c: Likewise.
64208         * lib/vasnprintf.c (VASNPRINTF): Likewise.
64209         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
64210         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
64211         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64212         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
64213         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
64214         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
64215         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
64216         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
64217         Likewise.
64218         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
64219         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
64220         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
64221         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
64222         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
64223         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
64224         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
64225         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
64226         * tests/test-getopt.h (OPTIND_MIN): Likewise.
64227         * tests/test-striconveha.c (main): Likewise.
64228         * tests/test-vasnprintf-posix.c (test_function): Likewise.
64229         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
64230         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
64231         * doc/posix-functions/getline.texi: Likewise.
64232         Reported by Mike Frysinger <vapier@gentoo.org>.
64234 2010-11-20  Bruno Haible  <bruno@clisp.org>
64236         nproc: Fix condition.
64237         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
64238         HAVE_PTHREAD_AFFINITY_NP.
64240 2010-11-20  Bruno Haible  <bruno@clisp.org>
64242         Fix a comment.
64243         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
64245 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
64247         ftoastr: don't assume snprintf
64248         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
64249         Implement a subset of snprintf here, by using sprintf safely.
64250         * modules/ftoastr (Depends-on): Remove snprintf.
64252 2010-11-19  Jim Meyering  <meyering@redhat.com>
64254         test-rename.h: fix compilation failure
64255         * tests/test-rename.h (test_rename): Add omitted "}".
64257 2010-11-17  Jim Meyering  <meyering@redhat.com>
64259         maint.mk: add a URL discussing the no-@acronym policy
64260         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
64262 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
64264         ftoastr: depend on snprintf, improve comments
64265         * lib/ftoastr.c: Also mention Loitsch's draft.
64266         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
64267         needed in the current implementation, but it might simplify
64268         speeding up the code later.
64269         * modules/ftoastr: Depend on snprintf; this improves portability.
64270         Suggested by Bruno Haible in the same email.
64272         ftoastr: port to hosts lacking strtof and strtold
64273         Problem reported by Bruno Haible in
64274         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
64275         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
64276         environment and strtold (and presumably strtof) are not available.
64277         * modules/ftoastr (Files): Add m4/c-strtod.m4.
64278         (configure.ac): Require gl_C99_STRTOLD.
64280 2010-11-18  Bruno Haible  <bruno@clisp.org>
64282         c-strtold: Avoid link error on AIX 7.
64283         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
64284         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
64285         (gl_C_STRTOLD): Test whether strtold_l exists.
64286         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
64288 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
64290         intprops: new macro INT_BITS_STRLEN_BOUND
64291         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
64292         ftoastr.h.  This exposes an internal of intprops.h that was formerly
64293         not exposed.  Also, it uses a slightly tighter bound than before;
64294         though this makes no practical difference, we might as well be as
64295         tight as we easily can.
64297         ftoastr: new module, for lossless conversion of floats to short strings
64298         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
64299         * modules/ftoastr: New files.
64301 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
64303         bootstrap: port to Solaris sed
64304         * build-aux/bootstrap (get_version): Port to Solaris sed.
64305         See Ralf Wildenhues's note in
64306         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
64308 2010-11-14  Jim Meyering  <meyering@redhat.com>
64310         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
64311         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
64312         and move definition closer to sole use.
64314 2010-11-13  Jim Meyering  <meyering@redhat.com>
64316         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
64317         Now we require at least autoconf-2.59, which means the work-around
64318         is no longer needed.
64319         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
64320         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
64321         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
64322         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
64323         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
64325 2010-11-13  Bruno Haible  <bruno@clisp.org>
64327         rename, renameat: Avoid test failures at NFS mounted locations.
64328         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
64329         functions.
64330         (test_rename): Use assert_nonexistent.
64331         * tests/test-rename.c: Include <dirent.h>.
64332         * tests/test-renameat.c: Likewise.
64333         Reported by Gary V. Vaughan <gary@gnu.org>.
64335         rename, renameat: Document Linux bug with NFS
64336         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
64337         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
64338         * doc/posix-functions/renameat.texi: Likewise.
64339         Suggested by Eric Blake.
64341 2010-11-13  Bruno Haible  <bruno@clisp.org>
64343         rename test: Add comments.
64344         * tests/test-rename.h (test_rename): Add structure and comments.
64346 2010-11-13  Eric Blake  <eblake@redhat.com>
64348         maintainer-makefile: cover a few more files
64349         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
64350         scripts generated within C files, for libvirt.
64352 2010-11-13  Bruno Haible  <bruno@clisp.org>
64354         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
64355         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
64356         character, return the number of bytes that belong together, not always
64357         1.
64358         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
64359         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
64360         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
64361         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
64362         number of bytes of an invalid character.
64363         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
64364         (main): Invoke it.
64365         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
64366         results.
64367         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
64368         malformed byte sequences.
64369         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
64370         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
64371         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
64372         Reported by Ben Pfaff and Paolo Bonzini.
64374 2010-11-13  Bruno Haible  <bruno@clisp.org>
64376         openat: Work around glibc bug with fchownat() and empty file names.
64377         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
64378         (gl_FUNC_FCHOWNAT): Invoke it.
64379         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
64380         * doc/posix-functions/fchownat.texi: Document the glibc bug.
64381         Reported by Gary V. Vaughan <gary@gnu.org>.
64383 2010-11-13  Bruno Haible  <bruno@clisp.org>
64385         openat: Ensure autoconf macro ordering.
64386         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
64387         gl_USE_SYSTEM_EXTENSIONS.
64388         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
64390 2010-11-13  Bruno Haible  <bruno@clisp.org>
64392         Update comments.
64393         * lib/unistr/u8-check.c: Update file name in comments.
64394         * lib/unistr/u8-mblen.c: Likewise.
64395         * lib/unistr/u8-prev.c: Likewise.
64396         * lib/unistr/u8-strmblen.c: Likewise.
64397         * lib/unistr/u8-strmbtouc.c: Likewise.
64399 2010-11-13  Jim Meyering  <meyering@redhat.com>
64401         tests: avoid test failure on Solaris 10 due to lack of PATH export
64402         * tests/test-update-copyright.sh: Don't forget to export PATH.
64404         init.sh: ensure that IFS is defined, just in case...
64405         * tests/init.sh (setup_): Ensure that IFS is defined,
64406         so that saving and restoring it works as expected.  This
64407         appears to be useful at least for an old version of dash
64408         from a long time ago (RH 6).  See here for details:
64409         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
64411         maint.mk: tighten "test a == b" check
64412         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
64413         test to files that contain something like #!/bin/sh.
64414         Without this, coreutils would get two false positives in
64415         the comments of C source files.
64417 2010-11-12  Eric Blake  <eblake@redhat.com>
64419         bootstrap: fix typo in previous attempt
64420         * build-aux/bootstrap (buildreq): Correct the grouping.
64421         Reported by Paul Eggert.
64423         maintainer-makefile: prohibit test x == x
64424         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
64425         Based on a report by Matthias Bolte.
64427         bootstrap: allow FreeBSD gzip
64428         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
64429         which has no '.' and goes to stderr.
64430         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
64431         Reported by Matthias Bolte.
64433         maintainer-makefile: check for i18n setup
64434         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
64435         will likely work.
64437 2010-11-12  Bruno Haible  <bruno@clisp.org>
64439         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
64440         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
64441         * lib/nanosleep.c (nanosleep): Likewise.
64443 2010-11-11  Bruno Haible  <bruno@clisp.org>
64445         fcntl-h: Fix for use of C++ on glibc systems.
64446         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
64447         also on glibc systems in C++ mode.
64448         Reported by Gary V. Vaughan <gary@gnu.org>.
64450 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
64452         mknod: avoid false failure with dash
64453         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
64455 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
64457         unlink: Fix "is it should" typo in diagnostic.
64458         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
64459         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
64461 2010-11-11  Bruno Haible  <bruno@clisp.org>
64463         Tests for module 'strerror_r-posix'.
64464         * modules/strerror_r-posix-tests: New file.
64465         * tests/test-strerror_r.c: New file.
64466         * tests/test-string-c++.cc: Check the signature of strerror_r.
64468         New module 'strerror_r-posix'.
64469         * lib/string.in.h (strerror_r): New declaration.
64470         * lib/strerror_r.c: New file.
64471         * m4/strerror_r.m4: New file.
64472         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
64473         of strerror_r.
64474         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
64475         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
64476         * modules/strerror_r-posix: New file.
64477         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
64478         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
64479         * doc/posix-functions/strerror_r.texi: Mention the new module and the
64480         portability problems.
64482 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
64484         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
64485         line is also considered for output. Quoted function name in shell
64486         command, so temporary files for functions like MyClass::operator()
64487         are removed correctly without errors.
64489 2010-11-09  Bruno Haible  <bruno@clisp.org>
64491         * doc/posix-functions/strerror.texi: List more failing platforms.
64493         * doc/posix-functions/strerror.texi: Add a comment.
64495 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
64497         fdopendir: fix bug on MacOS X when low on file descriptors
64499         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
64500         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
64501         All callers changed.
64502         (fdopendir): Invoke save_cwd at the top level, not after using
64503         multiple dup() calls to use up file descriptors.  Then retry
64504         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
64505         less than the maximum number of open file descriptors, because
64506         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
64507         on Mac OS X 10.6.4 for tar 1.24
64508         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
64509         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
64510         and for tar 1.25
64511         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
64513 2010-11-07  Bruno Haible  <bruno@clisp.org>
64515         vasnprintf: Support I flag on glibc systems.
64516         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
64517         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
64518         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
64519         snprintf function.
64520         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
64521         glibc systems.
64522         * tests/test-vasnprintf-posix3.c: New file.
64523         * modules/vasnprintf-posix-tests (Files): Add it.
64524         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
64526 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
64528         [html] Fix copy/paste bug: Use unique name for compiler warnings.
64529         * MODULES.html.sh: For compiler warnings, use name
64530         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
64532 2010-11-05  Eric Blake  <eblake@redhat.com>
64534         ceil, floor: avoid spurious failure with icc
64535         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
64536         [denormals-as-zero] when optimizing without -mieee-fp option.
64537         * tests/test-floorf2.c (floorf_reference): Likewise.
64538         * tests/test-ceilf1.c (dummy): New function.
64539         (main): Use it to outsmart icc's optimization.
64540         * tests/test-floorf1.c (dummy, main): Likewise.
64542         tests: require working signbit
64543         * modules/ceilf-tests (Depends-on): Add signbit.
64544         * modules/ceill-tests (Depends-on): Likewise.
64545         * modules/floorf-tests (Depends-on): Likewise.
64546         * modules/floorl-tests (Depends-on): Likewise.
64547         * modules/round-tests (Depends-on): Likewise.
64548         * modules/roundf-tests (Depends-on): Likewise.
64549         * modules/roundl-tests (Depends-on): Likewise.
64550         * modules/trunc-tests (Depends-on): Likewise.
64551         * modules/truncf-tests (Depends-on): Likewise.
64552         * modules/truncl-tests (Depends-on): Likewise.
64554         strtod: work around icc bug
64555         * lib/strtod.c (minus_zero): Define to working value.
64556         (strtod): Use it to avoid icc bug.
64558         copysign: enhance tests
64559         * modules/copysign-tests (Files): Add minus-zero.h.
64560         * tests/test-copysign.c (main): Also test zeros.
64562 2010-11-04  Eric Blake  <eblake@redhat.com>
64564         ceil, floor, round, trunc: enhance tests of -0
64565         * tests/test-ceilf1.c (main): Ensure correct sign of result.
64566         * tests/test-ceill.c (main): Likewise.
64567         * tests/test-floorf1.c (main): Likewise.
64568         * tests/test-floorl.c (main): Likewise.
64569         * tests/test-round1.c (main): Likewise.
64570         * tests/test-roundf1.c (main): Likewise.
64571         * tests/test-roundl.c (main): Likewise.
64572         * tests/test-trunc1.c (main): Likewise.
64573         * tests/test-truncf1.c (main): Likewise.
64574         * tests/test-truncl.c (main): Likewise.
64576 2010-11-04  Eric Blake  <eblake@redhat.com>
64578         frexp, tests: work around ICC bug with -zero
64579         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
64580         works with more compilers.
64581         * tests/minus-zero.h: New file.
64582         * modules/ceilf-tests (Files): Include it.
64583         * modules/ceill-tests (Files): Likewise.
64584         * modules/floorf-tests (Files): Likewise.
64585         * modules/floorl-tests (Files): Likewise.
64586         * modules/frexp-nolibm-tests (Files): Likewise.
64587         * modules/frexp-tests (Files): Likewise.
64588         * modules/frexpl-nolibm-tests (Files): Likewise.
64589         * modules/frexpl-tests (Files): Likewise.
64590         * modules/isnan-tests (Files): Likewise.
64591         * modules/isnand-nolibm-tests (Files): Likewise.
64592         * modules/isnand-tests (Files): Likewise.
64593         * modules/isnanf-nolibm-tests (Files): Likewise.
64594         * modules/isnanf-tests (Files): Likewise.
64595         * modules/isnanl-nolibm-tests (Files): Likewise.
64596         * modules/isnanl-tests (Files): Likewise.
64597         * modules/round-tests (Files): Likewise.
64598         * modules/roundf-tests (Files): Likewise.
64599         * modules/roundl-tests (Files): Likewise.
64600         * modules/ldexpl-tests (Files): Likewise.
64601         * modules/signbit-tests (Files): Likewise.
64602         * modules/snprintf-posix-tests (Files): Likewise.
64603         * modules/sprintf-posix-tests (Files): Likewise.
64604         * modules/strtod-tests (Files): Likewise.
64605         * modules/trunc-tests (Files): Likewise.
64606         * modules/truncf-tests (Files): Likewise.
64607         * modules/truncl-tests (Files): Likewise.
64608         * modules/vsnprintf-posix-tests (Files): Likewise.
64609         * modules/vsprintf-posix-tests (Files): Likewise.
64610         * modules/vasnprintf-posix-tests (Files): Likewise.
64611         * modules/vasprintf-posix-tests (Files): Likewise.
64612         * tests/test-ceilf1.c (main): Use it.
64613         * tests/test-ceill.c (main): Likewise.
64614         * tests/test-floorf1.c (main): Likewise.
64615         * tests/test-floorl.c (main): Likewise.
64616         * tests/test-frexp.c (main): Likewise.
64617         * tests/test-frexpl.c (main): Likewise.
64618         * tests/test-isnan.c (main): Likewise.
64619         * tests/test-isnand.h (main): Likewise.
64620         * tests/test-isnanf.h (main): Likewise.
64621         * tests/test-isnanl.h (main): Likewise.
64622         * tests/test-ldexpl.c (main): Likewise.
64623         * tests/test-round.c (main): Likewise.
64624         * tests/test-roundf.c (main): Likewise.
64625         * tests/test-roundl.c (main): Likewise.
64626         * tests/test-signbit.c (test_signbitf, test_signbitd)
64627         (test_signbitl): Likewise.
64628         * tests/test-snprintf-posix.h (test_function): Likewise.
64629         * tests/test-sprintf-posix.h (test_function): Likewise.
64630         * tests/test-strtod.c (main): Likewise.
64631         * tests/test-trunc1.c (main): Likewise.
64632         * tests/test-truncf1.c (main): Likewise.
64633         * tests/test-truncl.c (main): Likewise.
64635         isnanl: work around icc bug
64636         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
64638 2010-11-03  Eric Blake  <eblake@redhat.com>
64640         tests: fix compiler warnings
64641         * tests/test-getopt.h (test_getopt): Fix condition.
64642         * tests/test-getopt_long.h (test_getopt_long): Likewise.
64643         * tests/test-pipe2.c (main): Likewise.
64644         * tests/test-quotearg-simple.c (main): Avoid icc warning.
64646         utimens: fix broken m4 test
64647         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
64649 2010-10-28  Bruno Haible  <bruno@clisp.org>
64651         posix_spawn*, getdtablesize: Relax license.
64652         * modules/posix_spawn (License): Change to LGPLv2+.
64653         * modules/posix_spawnp (License): Likewise.
64654         * modules/posix_spawn-internal (License): Likewise.
64655         * modules/posix_spawnattr_init (License): Likewise.
64656         * modules/posix_spawnattr_getflags (License): Likewise.
64657         * modules/posix_spawnattr_setflags (License): Likewise.
64658         * modules/posix_spawnattr_getpgroup (License): Likewise.
64659         * modules/posix_spawnattr_setpgroup (License): Likewise.
64660         * modules/posix_spawnattr_getschedparam (License): Likewise.
64661         * modules/posix_spawnattr_setschedparam (License): Likewise.
64662         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
64663         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
64664         * modules/posix_spawnattr_getsigdefault (License): Likewise.
64665         * modules/posix_spawnattr_setsigdefault (License): Likewise.
64666         * modules/posix_spawnattr_getsigmask (License): Likewise.
64667         * modules/posix_spawnattr_setsigmask (License): Likewise.
64668         * modules/posix_spawnattr_destroy (License): Likewise.
64669         * modules/posix_spawn_file_actions_init (License): Likewise.
64670         * modules/posix_spawn_file_actions_addclose (License): Likewise.
64671         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
64672         * modules/posix_spawn_file_actions_addopen (License): Likewise.
64673         * modules/posix_spawn_file_actions_destroy (License): Likewise.
64674         * modules/getdtablesize (License): Likewise.
64675         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
64677 2010-10-26  Bruno Haible  <bruno@clisp.org>
64679         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
64680         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
64681         Cygwin and mingw.
64682         Suggested by Eric Blake.
64684 2010-10-26  Bruno Haible  <bruno@clisp.org>
64686         stdio: Work around compilation error due to renameat() on Solaris 10.
64687         * lib/stdio.in.h: Include <unistd.h> on Solaris.
64688         * lib/renameat.c: Don't include <unistd.h> here.
64689         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
64690         Reported by Paul Eggert and Eric Blake.
64692 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
64694         renameat: port to Solaris 10, which declares renameat in unistd.h
64696         * lib/renameat.c: Include unistd.h before stdio.h, because
64697         Solaris 10 declares renameat in unistd.h.  Problem encountered
64698         when building GNU tar 1.24 on Solaris 10.
64700 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
64702         fdopendir: fix C89 compilation
64703         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
64704         compilers.
64706 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
64708         inttostr: simplify by removing unnecessary redundancy
64709         * lib/anytostr.c: Don't include verify.h.
64710         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
64711         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
64712         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
64713         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
64714         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
64715         Likewise.
64716         * modules/inttostr (Depends-on): Remove 'verify'.
64718 2010-10-23  Bruno Haible  <bruno@clisp.org>
64720         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
64721         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
64722         Reported by Eric Blake.
64724 2010-10-23  Bruno Haible  <bruno@clisp.org>
64726         Tests: Fix LOCALE_JA on MirBSD 10.
64727         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
64728         to an UTF-8 locale.
64729         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
64730         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64731         Reported by Eric Blake.
64733 2010-10-21  Bruno Haible  <bruno@clisp.org>
64735         nl_langinfo test: Avoid test failure on NetBSD 5.
64736         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
64737         Reported by Eric Blake.
64739 2010-10-21  Eric Blake  <eblake@redhat.com>
64741         c-stack: work around libsigsegv 2.8 bug
64742         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
64743         overflow on at least PowerPC64.
64745 2010-10-17  Bruno Haible  <bruno@clisp.org>
64747         userspec: Drop redundant file.
64748         * modules/userspec (Files): Remove lib/inttostr.h.
64750 2010-10-17  Bruno Haible  <bruno@clisp.org>
64752         nl_langinfo tests: Silence some warnings.
64753         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
64754         Reported by Jim Meyering.
64756 2010-10-17  Bruno Haible  <bruno@clisp.org>
64758         Make use of GCC's attribute __alloc_size__.
64759         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
64760         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
64761         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
64762         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
64763         __alloc_size__.
64764         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
64765         Suggested by Jim Meyering.
64767 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
64769         bootstrap: anchor .gitignore entries.
64770         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
64771         with...
64772         (insert_vc_ignore): ... this new function, which prepends `/' to
64773         all .gitignore entries before passing them to
64774         insert_sorted_if_absent.
64776 2010-10-16  Bruno Haible  <bruno@clisp.org>
64778         nextafter: Fix configure check.
64779         * modules/nextafter (configure.ac): Correct expected prototype.
64781 2010-10-16  Bruno Haible  <bruno@clisp.org>
64783         termios: Update documentation.
64784         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
64786 2010-10-16  Bruno Haible  <bruno@clisp.org>
64788         tests: Make them compile with TinyCC.
64789         * tests/test-strstr.c (main): Remove parentheses around array
64790         initializer.
64792 2010-10-15  Eric Blake  <eblake@redhat.com>
64794         ignore-value: make header idempotent
64795         * lib/ignore-value.h: Add double-inclusion guards.
64796         Reported by Stefan Berger.
64798 2010-10-15  Jim Meyering  <meyering@redhat.com>
64800         GNUmakefile: handle "stable" target, not "major"
64801         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
64802         lists in maint.mk and announce-gen.  Without this, "make stable"
64803         would fail to ensure that $(VERSION) is up to date.
64805 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
64807         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
64808         & co.
64810 2010-10-14  Bruno Haible  <bruno@clisp.org>
64812         vasnprintf: Don't set errno to 0.
64813         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
64814         block that sets it to 0.
64815         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
64817 2010-10-14  Bruno Haible  <bruno@clisp.org>
64819         socketlib: Fix.
64820         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
64821         gl_PREREQ_SYS_H_WINSOCK2.
64822         Reported by Ian Beckwith <ianb@erislabs.net>.
64824 2010-10-13  Jim Meyering  <meyering@redhat.com>
64826         test-select-stdin.c: avoid warn_unused_result warnings
64827         * tests/test-select-stdin.c: Include "macros.h".
64828         ASSERT that read and fflush succeed.
64830 2010-10-13  Jim Meyering  <meyering@redhat.com>
64832         git-version-gen: do require git-VC'd files in cwd
64833         * build-aux/git-version-gen: Reject a git version string
64834         if there are no commits associated with the current directory.
64835         This avoids an unlikely false-positive (unrelated dir whose parent
64836         repository also contains a tag matching v*), as pointed out
64837         by Giuseppe Scrivano in
64838         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
64840 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
64842         argv-iter: omit nonconforming declaration
64843         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
64844         enum arg_iter_err declaration, which doesn't conform to C99.
64845         Solaris 10 cc warns about this.
64847 2010-10-13  Eric Blake  <eblake@redhat.com>
64849         termios: fix compilation on mingw
64850         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
64851         (gl_TERMIOS_H): Adjust it on mingw.
64852         * modules/termios (Makefile.am): Substitute new key.
64853         * lib/termios.in.h (includes): Make include_next conditional.
64854         * doc/posix-headers/termios.texi (termios.h): Update
64855         documentation.
64856         Reported by Daniel P. Berrange.
64858 2010-10-13  Jim Meyering  <meyering@redhat.com>
64860         git-version-gen: don't require that .git/ be in the current dir
64861         * build-aux/git-version-gen: Adjust this script so that it works
64862         when run from any working directory beneath the top-level .git/-
64863         containing directory.  Inspired by a patch from Giuseppe Scrivano,
64864         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
64866         test-select: avoid warn_unused_result warnings
64867         * tests/test-select.c: Include "macros.h".
64868         ASSERT that each call to read, write, and pipe succeeds.
64869         While not technically required, also check each "close".
64870         * modules/select-tests (Files): Add tests/macros.h.
64872         test-symlinkat: remove declaration of unused local
64873         * tests/test-symlinkat.c (main): Remove unused local, "buf".
64875         test-inttostr: avoid shadowing warnings
64876         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
64877         and use malloc rather than the stack for the same reason as
64878         mentioned in the comment justifying the other allocation.
64880 2010-10-11  Bruno Haible  <bruno@clisp.org>
64882         stdlib: Allow multiple gnulib generated replacements to coexist.
64883         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
64884         Reported by Sam Steingold <sds@gnu.org>.
64886 2010-10-11  Jim Meyering  <meyering@redhat.com>
64888         fix a documentation typo
64889         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
64891 2010-10-11  Eric Blake  <eblake@redhat.com>
64893         futimens: work around Solaris 11 bug
64894         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
64895         * tests/test-futimens.h (test_futimens): Enhance, rather than
64896         weaken test.
64897         * doc/posix-functions/futimens.texi (futimens): Document the bug.
64899 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
64901         Indentation.
64902         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
64903         higher-level operators more to the left.
64905 2010-10-11  Jim Meyering  <meyering@redhat.com>
64907         test-futimens: avoid unwarranted test failure on Solaris 5.11
64908         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
64909         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
64910         because it tries to dereference the NULL name argument.
64912 2010-10-11  Bruno Haible  <bruno@clisp.org>
64914         Indentation.
64915         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
64916         indentation.
64918 2010-10-11  Jim Meyering  <meyering@redhat.com>
64920         spawn.in.h: make indentation consistent with parentheses
64921         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
64922         Make indentation consistent with parentheses.
64924 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
64926         Fix mismatched parens in previous commit
64927         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
64928         parens.
64930 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
64932         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
64934         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
64935         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
64936         * lib/malloca.c: Include "verify.h".
64937         (verify1): Remove, replacing with a verify call.
64938         * lib/relocwrapper.c (verify1): Likewise.
64939         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
64940         Likewise.
64941         * modules/malloca (Depends-on): Add 'verify'.
64942         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
64943         * modules/vasnprintf (Depends-on): Add 'verify'.
64944         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64945         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64946         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64947         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64948         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64949         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64950         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64952         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
64954         Formerly the style was sometimes 2*X - 1, because the C standard
64955         was wrongly thought to disallow ?: in integral constant expressions.
64956         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
64957         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
64958         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
64959         * lib/stdint.in.h (_verify_intmax_size): Likewise.
64960         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
64961         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
64962         verify that time_t cannot be floating.
64964 2010-10-08  Eric Blake  <eblake@redhat.com>
64966         time: enforce recent POSIX ruling that time_t is integral
64967         * lib/time.in.h (__time_t_must_be_integral): Detect any
64968         problematic systems, allowing the rest of gnulib to assume POSIX.
64970 2010-10-08  Jim Meyering  <meyering@redhat.com>
64972         fdopendir: fix a bug on systems lacking openat and /proc support
64973         OpenBSD 4.7 is one such system.  The most noticeable effect was
64974         failure of any application making nontrivial use of fts: rm, du,
64975         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
64976           ./rm: traversal failed: `a': Bad file descriptor
64977         Debugging that, you see that even though FD 6 was closed just
64978         prior to the opendir call in fd_clone_opendir, its resulting
64979         dir->dd_fd was 8, rather than the expected value of 6:
64981         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
64982         93                close (fd);
64983         (gdb) n
64984         94                dir = fd_clone_opendir (dupfd);
64985         (gdb) n
64986         95                saved_errno = errno;
64987         (gdb) p dir->dd_fd
64988         $11 = 8
64990         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
64991         The problem is that on OpenBSD, fd_clone_opendir has to resort
64992         to using the old-style save/restore CWD mechanism, due to its
64993         lack of openat/proc support, and *that* would steal the FD (6)
64994         that opendir was supposed to use.
64996         The fix is to squirrel away the desired FD so that save_cwd uses a
64997         different one, and then free the dest FD right before calling opendir.
64998         That guarantees opendir will use the required file descriptor.
65000         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
65002 2010-10-08  Bruno Haible  <bruno@clisp.org>
65004         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
65005         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
65007 2010-10-08  Bruno Haible  <bruno@clisp.org>
65009         nanosleep: Make replacement POSIX compliant.
65010         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
65011         is out of range.
65012         Reported by Jim Meyering.
65014 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65016         bootstrap: add hook for altering gnulib.mk, for Bison
65017         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
65018         the Bison bootstrapping process can rewrite file names and variables
65019         in this file before later parts of 'bootstrap' use the file.
65020         Bison wants to include lib/gnulib.mk from the top-level makefile,
65021         so it needs the file names in this file to be relative to the top
65022         level, not relative to lib; plus it needs variable names to be
65023         rewritten.
65024         (slurp): Use the new function.
65026         bootstrap: reformat for readability
65027         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
65029 2010-10-08  Eric Blake  <eblake@redhat.com>
65031         docs: update cygwin progress
65032         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
65033         1.7.7.
65034         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
65035         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
65036         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
65037         * doc/posix-functions/carg.texi (carg): Likewise.
65038         * doc/posix-functions/cargf.texi (cargf): Likewise.
65039         * doc/posix-functions/casin.texi (casin): Likewise.
65040         * doc/posix-functions/casinf.texi (casinf): Likewise.
65041         * doc/posix-functions/casinh.texi (casinh): Likewise.
65042         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
65043         * doc/posix-functions/catan.texi (catan): Likewise.
65044         * doc/posix-functions/catanf.texi (catanf): Likewise.
65045         * doc/posix-functions/catanh.texi (catanh): Likewise.
65046         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
65047         * doc/posix-functions/ccos.texi (ccos): Likewise.
65048         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
65049         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
65050         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
65051         * doc/posix-functions/cexp.texi (cexp): Likewise.
65052         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
65053         * doc/posix-functions/cimag.texi (cimag): Likewise.
65054         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
65055         * doc/posix-functions/clog.texi (clog): Likewise.
65056         * doc/posix-functions/clogf.texi (clogf): Likewise.
65057         * doc/posix-functions/conj.texi (conj): Likewise.
65058         * doc/posix-functions/conjf.texi (conjf): Likewise.
65059         * doc/posix-functions/cpow.texi (cpow): Likewise.
65060         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
65061         * doc/posix-functions/cproj.texi (cproj): Likewise.
65062         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
65063         * doc/posix-functions/creal.texi (creal): Likewise.
65064         * doc/posix-functions/crealf.texi (crealf): Likewise.
65065         * doc/posix-functions/csin.texi (csin): Likewise.
65066         * doc/posix-functions/csinf.texi (csinf): Likewise.
65067         * doc/posix-functions/csinh.texi (csinh): Likewise.
65068         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
65069         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
65070         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
65071         * doc/posix-functions/ctan.texi (ctan): Likewise.
65072         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
65073         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
65074         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
65075         * doc/posix-headers/complex.texi (complex.h): Likewise.
65077 2010-10-07  Jim Meyering  <meyering@redhat.com>
65079         parse-datetime: avoid compilation failure on OpenBSD 4.7
65080         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
65081         This works around a compilation failure on OpenBSD 4.7:
65082         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
65084 2010-10-07  Eric Blake  <eblake@redhat.com>
65086         docs: update cygwin progress
65087         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
65088         1.7.6.
65089         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
65090         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
65091         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
65092         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
65093         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
65094         Likewise.
65095         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
65096         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
65097         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
65098         Likewise.
65099         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
65100         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
65101         Likewise.
65102         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
65103         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
65104         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
65105         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
65106         Likewise.
65107         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
65108         Likewise.
65109         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
65111         docs: update parse-datetime history
65112         * doc/parse-datetime.texi (Authors of parse_datetime): Better
65113         documentation of this function's history and alternatives.
65115         cygwin: use more robust version check
65116         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
65117         exclude an eventual cygwin 1.9.1.
65118         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
65119         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
65120         (gl_FUNC_STRCASESTR): Likewise.
65121         Reported by Bruno Haible.
65123 2010-10-06  Bruno Haible  <bruno@clisp.org>
65125         string, sys_select: Avoid #including large headers unless necessary.
65126         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
65127         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
65128         OSF/1, BeOS, Haiku.
65129         Reported by Jim Meyering.
65131 2010-10-05  Eric Blake  <eblake@redhat.com>
65133         memmem, strstr, strcasestr: fix bug with long periodic needle
65134         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
65135         periodic needle having false positive.
65136         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
65137         and cygwin 1.7.7.
65138         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
65139         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
65140         (gl_FUNC_STRCASESTR): Likewise.
65141         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
65142         * tests/test-memmem.c (main): Expose the bug.
65143         * tests/test-strcasestr.c (main): Likewise.
65144         * tests/test-strstr.c (main): Likewise.
65145         * tests/test-c-strcasestr.c (main): Likewise.
65146         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
65147         * doc/posix-functions/strstr.texi (strstr): Likewise.
65148         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
65149         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
65151 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
65153         parse-datetime: do some more renaming
65154         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
65155         parse_datetime, not get_date.  Mention the renaming.
65156         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
65157         in comments.
65158         * m4/bison.m4: Likewise.
65160 2010-10-05  Eric Blake  <eblake@redhat.com>
65162         parse-datetime: better name than get_date
65163         * NEWS: Reword the deprecation notice.
65164         * modules/get_date: Rename to modules/parse-datetime.
65165         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
65166         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
65167         * lib/get_date.y: Rename to lib/parse-datetime.y.
65168         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
65169         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
65170         * doc/getdate.texi: Provide fallback wrapper.
65171         * lib/getdate.h: Move guts, and wrap...
65172         * lib/parse-datetime.h: ...new file.
65173         * lib/parse-datetime.y (get_date): Rename...
65174         (parse_datetime): ...to this.
65175         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
65176         (gl_PARSE_DATETIME): ...to this.
65177         * doc/posix-functions/getdate.texi (get_date): Provide fallback
65178         documentation.
65179         * modules/getdate (Files): Provide fallback docs and header.
65180         (Notice, Depends-on): Update references.
65181         * tests/test-parse-datetime.c: Likewise.
65182         * DEPENDENCIES: Likewise.
65183         * MODULES.html.sh (Date and time <time.h>): Likewise.
65184         * doc/parse-datetime.texi (Date input formats)
65185         (Authors of parse_datetime): Likewise.
65186         * modules/parse-datetime (Files, configure.ac, Makefile.am)
65187         (Include): Likewise.
65188         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
65189         * gnulib-tool: Likewise.
65190         * m4/bison.m4 (gl_BISON): Likewise.
65191         Suggested by Bruno Haible.
65193 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
65195         more ports to Solaris tr, which needs [] around ranges
65196         * gnulib-tool: Solaris tr needs [] around ranges.
65197         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
65198         * tests/test-pipe-filter-gi1.c (main): Likewise.
65199         * tests/test-pipe-filter-ii1.c (main): Likewise.
65201 2010-10-05  Eric Blake  <eblake@redhat.com>
65203         bootstrap: fix Solaris regression
65204         * build-aux/bootstrap (check_versions): Solaris tr still needs []
65205         around ranges.
65206         Reported by Pádraig Brady.
65208         bootstrap: work with pkg-config
65209         * build-aux/bootstrap (check_versions): Also transliterate - in
65210         prerequisite name.
65211         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
65212         prerequisites that were already found, to avoid confusion.
65213         Reported by Justin Clift.
65215         faccessat: remove unused wrappers
65216         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
65217         presence of these wrappers dragged in -lgen on Solaris.
65218         Reported by Clemens Brogi; fix suggested by Paul Eggert.
65220 2010-10-05  Jim Meyering  <meyering@redhat.com>
65222         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
65223         * Makefile (sc_pragma_columns): New syntax-check rule.
65225 2010-10-04  Bruno Haible  <bruno@clisp.org>
65227         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
65228         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
65229         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
65230         Reported by Bruce Korb and Eric Blake.
65232 2010-10-04  Bruno Haible  <bruno@clisp.org>
65234         threadlib: Make option --with-libpth-prefix work.
65235         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
65236         use $LIBPTH, not just -lpth.
65238 2010-10-04  Bruno Haible  <bruno@clisp.org>
65240         Avoid line length limitation from HP NonStop system header files.
65241         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
65242         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
65243         * lib/ctype.in.h: Likewise.
65244         * lib/dirent.in.h: Likewise.
65245         * lib/errno.in.h: Likewise.
65246         * lib/fcntl.in.h: Likewise.
65247         * lib/float.in.h: Likewise.
65248         * lib/getopt.in.h: Likewise.
65249         * lib/iconv.in.h: Likewise.
65250         * lib/inttypes.in.h: Likewise.
65251         * lib/langinfo.in.h: Likewise.
65252         * lib/locale.in.h: Likewise.
65253         * lib/math.in.h: Likewise.
65254         * lib/netdb.in.h: Likewise.
65255         * lib/netinet_in.in.h: Likewise.
65256         * lib/poll.in.h: Likewise.
65257         * lib/pthread.in.h: Likewise.
65258         * lib/pty.in.h: Likewise.
65259         * lib/sched.in.h: Likewise.
65260         * lib/se-selinux.in.h: Likewise.
65261         * lib/search.in.h: Likewise.
65262         * lib/signal.in.h: Likewise.
65263         * lib/spawn.in.h: Likewise.
65264         * lib/stdarg.in.h: Likewise.
65265         * lib/stddef.in.h: Likewise.
65266         * lib/stdint.in.h: Likewise.
65267         * lib/stdio.in.h: Likewise.
65268         * lib/stdlib.in.h: Likewise.
65269         * lib/string.in.h: Likewise.
65270         * lib/strings.in.h: Likewise.
65271         * lib/sys_file.in.h: Likewise.
65272         * lib/sys_ioctl.in.h: Likewise.
65273         * lib/sys_select.in.h: Likewise.
65274         * lib/sys_socket.in.h: Likewise.
65275         * lib/sys_stat.in.h: Likewise.
65276         * lib/sys_time.in.h: Likewise.
65277         * lib/sys_times.in.h: Likewise.
65278         * lib/sys_utsname.in.h: Likewise.
65279         * lib/sys_wait.in.h: Likewise.
65280         * lib/sysexits.in.h: Likewise.
65281         * lib/termios.in.h: Likewise.
65282         * lib/time.in.h: Likewise.
65283         * lib/unistd.in.h: Likewise.
65284         * lib/wchar.in.h: Likewise.
65285         * lib/wctype.in.h: Likewise.
65286         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
65287         * modules/ctype (Makefile.am): Likewise.
65288         * modules/dirent (Makefile.am): Likewise.
65289         * modules/errno (Makefile.am): Likewise.
65290         * modules/fcntl-h (Makefile.am): Likewise.
65291         * modules/float (Makefile.am): Likewise.
65292         * modules/getopt-posix (Makefile.am): Likewise.
65293         * modules/iconv-h (Makefile.am): Likewise.
65294         * modules/inttypes (Makefile.am): Likewise.
65295         * modules/langinfo (Makefile.am): Likewise.
65296         * modules/locale (Makefile.am): Likewise.
65297         * modules/math (Makefile.am): Likewise.
65298         * modules/netdb (Makefile.am): Likewise.
65299         * modules/netinet_in (Makefile.am): Likewise.
65300         * modules/poll-h (Makefile.am): Likewise.
65301         * modules/pthread (Makefile.am): Likewise.
65302         * modules/pty (Makefile.am): Likewise.
65303         * modules/sched (Makefile.am): Likewise.
65304         * modules/search (Makefile.am): Likewise.
65305         * modules/selinux-h (Makefile.am): Likewise.
65306         * modules/signal (Makefile.am): Likewise.
65307         * modules/spawn (Makefile.am): Likewise.
65308         * modules/stdarg (Makefile.am): Likewise.
65309         * modules/stddef (Makefile.am): Likewise.
65310         * modules/stdint (Makefile.am): Likewise.
65311         * modules/stdio (Makefile.am): Likewise.
65312         * modules/stdlib (Makefile.am): Likewise.
65313         * modules/string (Makefile.am): Likewise.
65314         * modules/strings (Makefile.am): Likewise.
65315         * modules/sys_file (Makefile.am): Likewise.
65316         * modules/sys_ioctl (Makefile.am): Likewise.
65317         * modules/sys_select (Makefile.am): Likewise.
65318         * modules/sys_socket (Makefile.am): Likewise.
65319         * modules/sys_stat (Makefile.am): Likewise.
65320         * modules/sys_time (Makefile.am): Likewise.
65321         * modules/sys_times (Makefile.am): Likewise.
65322         * modules/sys_utsname (Makefile.am): Likewise.
65323         * modules/sys_wait (Makefile.am): Likewise.
65324         * modules/sysexits (Makefile.am): Likewise.
65325         * modules/termios (Makefile.am): Likewise.
65326         * modules/time (Makefile.am): Likewise.
65327         * modules/unistd (Makefile.am): Likewise.
65328         * modules/wchar (Makefile.am): Likewise.
65329         * modules/wctype (Makefile.am): Likewise.
65331 2010-10-04  Bruno Haible  <bruno@clisp.org>
65333         read-file tests: Avoid a test failure on NonStop Kernel.
65334         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
65335         a regular file.
65336         Reported by Joachim Schmitz <schmitz@hp.com>.
65338 2010-10-03  Bruno Haible  <bruno@clisp.org>
65340         gnulib-tool: Fixes for --create-testdir with --libtool.
65341         * gnulib-tool (func_get_automake_snippet): Don't augment
65342         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
65343         an executable.
65344         (func_create_testdir): Handle module 'alloca' like func_import.
65345         Reported by Bruce Korb <bruce.korb@gmail.com>.
65347 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
65349         Avoid some lines longer than 80 characters.
65350         * lib/stdint.in.h: Break long comment lines.
65351         * lib/math.in.h: Likewise.
65352         (_GL_NUM_UINT_WORDS): New macro, for readability.
65353         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
65354         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
65355         * lib/stdlib.in.h: Likewise.
65356         * lib/spawn.in.h: Likewise.
65357         * lib/sys_socket.in.h: Update an URL.
65358         * lib/sys_stat.in.h: Break long line.
65360 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
65362         Improve pmccabe2html.
65363         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
65364         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
65365         when the sources change. Remove the line in the HTML about "Used
65366         ranges" (which implied that there might be other unused ranges),
65367         rename "Resume" to "Summary" (easier to understand for more users).
65368         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
65369         styles, and some unnecessary blank lines.
65371 2010-10-03  Bruno Haible  <bruno@clisp.org>
65372             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
65374         acl: Add support for ACLs on NonStop Kernel.
65375         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
65376         Check whether the function aclsort() exists.
65377         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
65378         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
65379         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
65380         (acl_nontrivial [HAVE_ACLSORT]: New function.
65381         (file_has_acl): Implement for NonStop Kernel.
65382         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
65383         (qset_acl): Implement for NonStop Kernel.
65384         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
65385         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
65386         (main): Implement for NonStop Kernel.
65387         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
65388         Kernel. Handle this flavor.
65389         * tests/test-set-mode-acl.sh: Likewise.
65390         * tests/test-copy-acl.sh: Likewise.
65391         * tests/test-copy-file.sh: Likewise.
65393 2010-10-03  Bruno Haible  <bruno@clisp.org>
65395         Info about ACLs on NonStop Kernel.
65396         * doc/acl-resources.txt: Add info about NonStop Kernel.
65397         References by Joachim Schmitz <schmitz@hp.com>.
65399 2010-10-02  Bruno Haible  <bruno@clisp.org>
65401         Define missing EDQUOT on NonStop Kernel.
65402         * lib/errno.in.h (EDQUOT): Assign a value if missing.
65403         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
65404         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
65405         missing.
65406         * doc/posix-headers/errno.texi: Mention the NSK bug.
65407         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
65408         Reported by Joachim Schmitz <schmitz@hp.com>.
65410 2010-10-02  Bruno Haible  <bruno@clisp.org>
65412         Update doc for POSIX:2008.
65413         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
65414         Update URL of POSIX specification.
65416 2010-10-02  Bruno Haible  <bruno@clisp.org>
65418         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
65419         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
65420         from gnulib, not from Automake.
65422 2010-10-02  Bruno Haible  <bruno@clisp.org>
65424         New module 'system-posix'.
65425         * modules/system-posix: New file.
65426         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
65427         module is present.
65428         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
65429         GNULIB_SYSTEM_POSIX.
65430         * modules/stdlib (Depends-on): Remove sys_wait.
65431         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
65432         * doc/posix-functions/system.texi: Mention the new module.
65433         * doc/posix-headers/stdlib.texi: Likewise.
65434         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
65435         define test_sys_wait_macros to a no-op.
65436         Reported by Sam Steingold <sds@gnu.org>.
65438 2010-09-30  Bruno Haible  <bruno@clisp.org>
65440         More renaming from 'getdate' to 'get_date'.
65441         * doc/get_date.texi: Renamed from doc/getdate.texi.
65442         * modules/get_date (Files): Update.
65443         * MODULES.html.sh (Date and time <time.h>): Update.
65444         * DEPENDENCIES: Update.
65445         * gnulib-tool: Update comment.
65446         * m4/bison.m4 (gl_BISON): Likewise.
65447         * m4/get_date.m4 (gl_GET_DATE): Likewise.
65449 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
65451         bootstrap: support ACLOCAL_FLAGS during aclocal
65452         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
65453         can add additional -I dir for third-party .m4 files.
65455 2010-09-30  Eric Blake  <eblake@redhat.com>
65457         bootstrap: use glibtoolize on MacOS
65458         * build-aux/bootstrap (check_versions): Convert libtool into
65459         libtoolize.
65460         (tool search): Move libtool check earlier, and look for
65461         glibtoolize for MacOS.
65462         (gnulib_tool_options): Auto-add --libtool when appropriate.
65463         Reported by Justin Clift.
65465         poll: fix typo that broke test on MacOS
65466         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
65467         Reported by Justin Clift.
65469         getdate: rename to get_date
65470         Note: getdate.h is not renamed, to minimize client impact.
65471         * modules/getdate: Mark obsolete.  Move old contents...
65472         * modules/get_date: ...to new module name.
65473         * modules/getdate-tests: Move...
65474         * modules/get_date-tests: ...here.
65475         * m4/getdate.m4: Move...
65476         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
65477         * lib/getdate.y: Move...
65478         * lib/get_date.y: ...here.
65479         * tests/test-getdate.c: Move...
65480         * tests/test-get_date.c: ...here.
65481         * doc/posix-functions/getdate.texi (getdate): Update name.
65482         * NEWS: Mention the change.
65484 2010-09-29  Bruno Haible  <bruno@clisp.org>
65486         Separate the module 'waitpid' from the module 'sys_wait'.
65487         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
65488         present.
65489         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
65490         gl_MODULE_INDICATOR_FOR_TESTS.
65491         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
65492         * modules/sys_wait (Depends-on): Remove waitpid.
65493         (Makefile.am): Substitute GNULIB_WAITPID.
65494         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
65495         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
65496         signature only if the 'waitpid' module is present.
65497         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
65498         * NEWS: Mention the change.
65499         * modules/grantpt (Depends-on): Add waitpid.
65500         * modules/wait-process (Depends-on): Likewise.
65502 2010-09-29  Bruno Haible  <bruno@clisp.org>
65504         More tests for module 'sys_wait'.
65505         * modules/sys_wait-c++-tests: New file.
65506         * tests/test-sys_wait-c++.cc: New file.
65507         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
65508         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
65510 2010-09-29  Bruno Haible  <bruno@clisp.org>
65512         New module 'waitpid'.
65513         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
65514         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
65515         Don't include <process.h>.
65516         (waitpid): Declare only, using modern idiom.
65517         * m4/waitpid.m4: New file.
65518         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
65519         * modules/waitpid: New file.
65520         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
65521         (Makefile.am): Update.
65522         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
65524 2010-09-28  Bruno Haible  <bruno@clisp.org>
65526         poll: Assume ANSI C.
65527         * lib/poll.c (poll): Use an ANSI C declaration.
65529 2010-09-28  Bruno Haible  <bruno@clisp.org>
65531         poll-h: Create poll.h on all platforms.
65532         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
65533         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
65534         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
65535         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
65536         (gl_REPLACE_POLL_H): Don't set POLL_H.
65537         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
65538         * modules/poll-h (Depends-on): Add include_next.
65539         (Makefile.am): Create poll.h unconditionally. Substitute also
65540         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
65542 2010-09-28  Bruno Haible  <bruno@clisp.org>
65544         Tests for module 'poll-h'.
65545         * modules/poll-h-c++-tests: New file.
65546         * tests/test-poll-h-c++.cc: New file.
65548         Tests for module 'poll-h'.
65549         * modules/poll-h-tests: New file.
65550         * tests/test-poll-h.c: New file.
65552 2010-09-28  Bruno Haible  <bruno@clisp.org>
65554         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
65555         * modules/poll-h (Depends-on): Add 'extensions'.
65557 2010-09-28  Bruno Haible  <bruno@clisp.org>
65559         New module 'poll-h'.
65560         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
65561         (poll): Use modern idiom.
65562         * modules/poll-h: New file.
65563         * modules/poll (Files): Remove lib/poll.in.h.
65564         (Depends-on): Add poll-h.
65565         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
65566         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
65567         * m4/poll_h.m4: New file.
65568         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
65569         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
65570         and invoke gl_REPLACE_POLL_H.
65571         * lib/poll.c: Use common idiom.
65572         * tests/test-poll.c: Likewise.
65573         * doc/posix-headers/poll.texi: Mention the poll-h module.
65574         Suggested by Eric Blake.
65576 2010-09-26  Bruno Haible  <bruno@clisp.org>
65578         sys_wait: Implement WSTOPSIG.
65579         * lib/sys_wait.in.h (WSTOPSIG): New macro.
65580         Reported by Simon Josefsson.
65582 2010-09-26  Simon Josefsson  <simon@josefsson.org>
65584         stdlib, sys_wait: Avoid compilation error on mingw.
65585         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
65587 2010-09-26  Bruno Haible  <bruno@clisp.org>
65589         stdlib tests: Avoid code duplication.
65590         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
65591         * modules/sys_wait-tests (Files): Likewise.
65592         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
65593         * tests/test-stdlib.c: Include test-sys_wait.h.
65594         (main): Invoke test_sys_wait_macros.
65595         * tests/test-sys_wait.c: Include test-sys_wait.h.
65596         (main): Invoke test_sys_wait_macros.
65598 2010-09-25  Simon Josefsson  <simon@josefsson.org>
65600         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
65601         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
65602         sure Windows sockets are working before calling getaddrinfo.
65603         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
65604         * doc/gnulib.texi (Windows sockets): Fix typo.
65606 2010-09-25  Bruno Haible  <bruno@clisp.org>
65608         Tests for module 'regex-quote'.
65609         * modules/regex-quote-tests: New file.
65610         * tests/test-regex-quote.c: New file.
65612         New module 'regex-quote'.
65613         * lib/regex-quote.h: New file.
65614         * lib/regex-quote.c: New file.
65615         * modules/regex-quote: New file.
65616         Suggested by Reuben Thomas <rrt@sc3d.org>.
65618 2010-09-24  Bruno Haible  <bruno@clisp.org>
65620         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
65621         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
65623 2010-09-23  Bruno Haible  <bruno@clisp.org>
65625         setenv: Relax license.
65626         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
65627         Blake.
65628         Requested by Eric Blake.
65630 2010-09-22  Bruno Haible  <bruno@clisp.org>
65632         termios: Relax license.
65633         * modules/termios (License): Change to LGPLv2+.
65634         Requested by Eric Blake.
65636 2010-09-22  Bruno Haible  <bruno@clisp.org>
65638         threadlib: Allow the package to change the default to 'no'.
65639         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
65640         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
65641         Reported by Paul Eggert.
65643 2010-09-22  Pádraig Brady  <P@draigbrady.com>
65644             Bruno Haible  <bruno@clisp.org>
65646         Fix endless loop in mbmemcasecoll.
65647         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
65648         byte.
65649         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
65651 2010-09-22  Bruno Haible  <bruno@clisp.org>
65653         Tests for module 'memcoll'.
65654         * modules/memcoll-tests: New file.
65655         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
65657         memcoll, xmemcoll: Clarify size vs. length.
65658         * modules/memcoll.c (memcoll0): Clarify specification.
65659         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
65660         passed to collate_error.
65662 2010-09-22  Bruno Haible  <bruno@clisp.org>
65664         Tests for module 'memcasecmp'.
65665         * modules/memcasecmp-tests: New file.
65666         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
65668 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65670         * lib/pthread.in.h: Add split double-inclusion guard, and include
65671         system <pthread.h> if there is one.  Use @@-style as in other
65672         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
65673         pthread.h doesn't.
65674         (pthread_mutexattr_destroy, pthread_mutexattr_init):
65675         (pthread_mutexattr_settype, pthread_mutex_trylock):
65676         New static inline functions, if there's no system <pthread.h>.
65677         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
65678         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
65679         Approximate with mutexes if the system lacks spinlocks, as in
65680         MacOS.
65681         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
65682         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
65683         @@-style.  Check for spinlocks separately.
65684         (gl_PTHREAD_DEFAULTS): New macro.
65685         * modules/pthread: Redo to use a more typical style for in.h files.
65687 2010-09-21  Eric Blake  <eblake@redhat.com>
65689         net_if: enhance tests
65690         * tests/test-net_if.c (main): Move signature checks earlier.
65691         Print failures to stderr.
65692         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
65693         Document the bug that we do not yet fix.
65695 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
65697         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
65698         about gnulib, not GSS.
65700 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
65702         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
65703         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
65704         for Emacs.
65705         * build-aux/pmccabe2html: Make Makefile.am example code more
65706         cut-and-paste friendly.
65708 2010-09-21  Simon Josefsson  <simon@josefsson.org>
65710         * tests/test-net_if.c: New file.
65711         * modules/net_if-tests: New file.
65713 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
65715         pthread: add pthread_spin_destroy
65716         * lib/pthread.in.h (pthread_spin_destroy): New function.
65718 2010-09-19  Bruno Haible  <bruno@clisp.org>
65720         gnulib-tool: Fix --help output.
65721         * gnulib-tool (func_usage): Fix help message.
65722         Reported by Reuben Thomas <rrt@sc3d.org>.
65724 2010-09-18  Jim Meyering  <meyering@redhat.com>
65726         maint.mk: avoid unexpanded \n in two diagnostics
65727         * top/maint.mk (sc_prohibit_always_true_header_tests):
65728         Don't use a literal \n in a halt=... assignment.  It would not be
65729         expanded, and the two \n bytes would appear in the diagnostic output
65730         rather than the desired newline.  Use halt=$$(printf ... instead.
65731         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
65733 2010-09-18  Bruno Haible  <bruno@clisp.org>
65735         netinet_in: Doc tweak.
65736         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
65737         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65739 2010-09-18  Jim Meyering  <meyering@redhat.com>
65741         init.sh: correct an outdated comment
65742         * tests/init.sh (create_exe_shims_):  s/function/alias/
65744         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
65745         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
65746         a file named "*.exe" is removed between the glob expansion and the
65747         processing of that oddly named file.
65749 2010-09-17  Eric Blake  <eblake@redhat.com>
65751         mirbsd: add some more support
65752         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
65753         in BSD family.
65754         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
65755         devices as OpenBSD.
65756         * m4/host-os.m4 (mirbsd): Add MirBSD.
65758         tests: fix unportable assumption on sys/wait.h
65759         * tests/test-sys_wait.c (main): Relax test.
65760         * tests/test-stdlib.c (main): Likewise.
65762         init.sh: accommodate directory with no .exes
65763         * tests/init.sh: Accomodate directory containing only scripts.
65765         tests: avoid compiler warning
65766         * tests/test-stdlib.c (main): Use the variable.
65768         fdutimens, fdutimensat: update signature, again
65769         * lib/utimens.h (gl_futimens): Delete, and move signature...
65770         (fdutimens): ...here.
65771         (fdutimensat): Rearrange signature.
65772         (lutimensat): Rename variable for clarity.
65773         * lib/fdutimensat.c (fdutimensat): Update signature.
65774         * lib/utimens.c (fdutimens): Likewise.
65775         (gl_futimens): Delete.
65776         (utimens, lutimens): Update callers.
65777         * lib/futimens.c (futimens): Likewise.
65778         * tests/test-fdutimensat.c: Likewise.
65779         * tests/test-utimens.c: Likewise.
65780         * tests/test-futimens.h: Update comment.
65781         * NEWS: Mention this.
65782         Suggested by Paul Eggert.
65784 2010-09-17  Bruno Haible  <bruno@clisp.org>
65786         Take over the maintenance of some older macros from Autoconf.
65787         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
65788         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
65789         GNU Autoconf.
65790         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
65791         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
65793 2010-09-17  Eric Blake  <eblake@redhat.com>
65795         fdutimensat: drop atflag validation
65796         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
65797         with valid fd, to close a race scenario where futimens is
65798         unsupported and FILE was replaced by a symlink.
65799         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
65800         accordingly.
65801         Suggested by Paul Eggert.
65803 2010-09-16  Bruno Haible  <bruno@clisp.org>
65805         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
65806         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
65808 2010-09-16  Bruno Haible  <bruno@clisp.org>
65810         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
65811         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
65812         login_tty exists.
65813         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65815 2010-09-16  Bruno Haible  <bruno@clisp.org>
65817         login_tty: Make the replacement code work on BSD systems.
65818         * lib/login_tty.c: Include <sys/ioctl.h>.
65819         (login_tty): Use ioctl TIOCSCTTY when available.
65820         * modules/login_tty (Depends-on): Add sys_ioctl.
65821         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65823 2010-09-16  Bruno Haible  <bruno@clisp.org>
65825         login_tty: Stricter unit test.
65826         * modules/login_tty-tests (Depends-on): Add tcgetsid.
65827         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
65828         and tcgetsid() after login_tty.
65829         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65831 2010-09-16  Bruno Haible  <bruno@clisp.org>
65833         New module 'tcgetsid'.
65834         * lib/tcgetsid.c: New file.
65835         * m4/tcgetsid.m4: New file.
65836         * modules/tcgetsid: New file.
65837         * modules/termios (Depends-on): Add c++defs, warn-on-use.
65838         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
65839         GNULIB_TCGETSID, HAVE_TCGETSID.
65840         * lib/termios.in.h: Include <sys/types.h>.
65841         (tcgetsid): New declaration.
65842         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
65843         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
65844         * doc/posix-functions/tcgetsid.texi: Mention the new module.
65845         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
65847 2010-09-16  Bruno Haible  <bruno@clisp.org>
65849         Tests for module 'termios'.
65850         * modules/termios-c++-tests: New file.
65851         * modules/termios-tests: New file.
65852         * tests/test-termios-c++.cc: New file.
65853         * tests/test-termios.c: New file.
65855         New module 'termios'.
65856         * modules/termios: New file.
65857         * lib/termios.in.h: New file.
65858         * m4/termios_h.m4: New file.
65859         * doc/posix-headers/termios.texi: Mention the new module.
65861 2010-09-16  Eric Blake  <eblake@redhat.com>
65863         fdutimensat: add an atflag parameter
65864         * lib/fdutimensat.c (fdutimensat): Add new parameter.
65865         * lib/utimens.h (fdutimensat): Update prototype.
65866         * tests/test-fdutimensat.c: Adjust test to match.
65867         * NEWS: Document the change.
65868         Suggested by Paul Eggert.
65870 2010-09-16  Bruno Haible  <bruno@clisp.org>
65872         Fix typos in comments.
65873         * lib/striconveh.h: Fix typo in comment.
65874         * lib/login_tty.c (login_tty): Likewise.
65876 2010-09-15  Bruno Haible  <bruno@clisp.org>
65878         stdlib: clarify MirBSD WEXITSTATUS bug
65879         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
65880         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65882 2010-09-15  Eric Blake  <eblake@redhat.com>
65884         stdlib: work around MirBSD WEXITSTATUS bug
65885         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
65886         * modules/stdlib (Depends-on): Add sys_wait.
65887         * tests/test-sys_wait.c (main): Enhance test.
65888         * tests/test-stdlib.c (main): Likewise.
65889         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
65891         docs: mention MacOS issue with WEXITSTATUS(constant)
65892         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
65893         issue.
65894         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65896         strnlen: add tests
65897         * modules/strnlen-tests: New file.
65898         * tests/test-strnlen.c: Likewise.
65900 2010-09-14  Bruno Haible  <bruno@clisp.org>
65902         unistr/base: Avoid link errors when module 'libunistring' is also used.
65903         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
65904         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
65905         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
65906         Declare also when HAVE_LIBUNISTRING is set.
65907         Reported by Pádraig Brady <P@draigbrady.com>.
65909 2010-09-14  Eric Blake  <eblake@redhat.com>
65911         test-rawmemchr: make more robust
65912         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
65913         (Depends-on, configure.ac): Add needed prerequisites to use it.
65914         * modules/memchr-tests (Files, Depends-on, configure.ac):
65915         Likewise, to avoid implicit reliance on memchr module prereqs.
65916         * tests/test-memchr.c (main): Ensure proper masking.
65917         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
65918         reads.
65920         memchr: detect glibc Alpha bug
65921         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
65922         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
65923         Alpha.
65924         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
65925         * tests/test-memchr.c (main): Enhance test.
65926         Reported by Nelson H. F. Beebe.
65928 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65930         fts, getcwd, glob: audit for dirfd returning -1
65931         * lib/fts.c (opendir): Remove #define; no longer used.
65932         (opendirat): New arg PDIR_FD.  All callers changed.
65933         (fts_build, _opendir2): Use new opendirat to avoid the need for
65934         dirfd, or for checking whether dirfd returns a negative value.
65935         Don't use opendir; always use openat followed by fdopendir.
65936         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
65937         it.
65938         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
65939         returns -1 here.
65940         * modules/fts (Depends-on): Remove dirfd.
65941         * modules/getcwd (Depends-on): Likewise.
65943 2010-09-13  Eric Blake  <eblake@redhat.com>
65945         float: fix broken MirBSD header
65946         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
65947         * doc/posix-headers/float.texi (float.h): Document it.
65949 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65951         fts: use O_NOFOLLOW to avoid race condition when opening a directory
65952         * lib/fts.c (opendirat): New arg extra_flags.
65953         (__opendir2): Use it to avoid following symlinks when opening
65954         a directory, if symlinks are not supposed to be followed.  See
65955         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
65957         fdopendir: preserve argument fd before returning
65958         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
65959         (fdopendir_with_dup, fd_clone_opendir): New static functions.
65960         (fdopendir): Use them, arranging for FD to be open to the same
65961         directory that it was when it started.  (It might be temporarily
65962         closed while fdopendir is running, so this not thread- or
65963         signal-safe.)  Be careful to do the right thing even when file
65964         descriptors are scarce and dup fails with errno == EMFILE.  See
65965         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
65967 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
65969         regex: Pass the system regex if its only problem is 32-bit regoff_t.
65970         * NEWS: Document change.
65971         * m4/regex.m4: Disable test for regoff_t size.
65973 2010-09-13  Jim Meyering  <meyering@redhat.com>
65975         fts: don't operate on an invalid file descriptor after failed dup
65976         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
65977         negative file descriptor.
65979 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
65981         savedir: add streamsavedir, deprecate fdsavedir
65982         * NEWS: Mention deprecation of fdsavedir.
65983         * lib/savedir.c (streamsavedir): New extern function, whose name
65984         ends in "savedir" to be consistent with the others.  This differs
65985         from savedirstream in that it doesn't close its argument.  The
65986         next version of GNU tar will use this instead of fdsavedir, to
65987         avoid some race conditions and conserve file descriptors.
65988         (savedirstream): Reimplement as a wrapper around streamsavedir.
65989         (fdsavedir): Add a comment deprecating this function.  As far as
65990         I know, only GNU tar used it, and GNU tar doesn't need it any more.
65991         * lib/savedir.h (streamsavedir): New decl.
65992         (fdsavedir): Add a comment deprecating this.
65994 2010-09-10  Bruno Haible  <bruno@clisp.org>
65996         langinfo: Fix last commit.
65997         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
65998         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
65999         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
66001 2010-09-10  Bruno Haible  <bruno@clisp.org>
66003         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
66004         * lib/progreloc.c (O_EXEC): Define fallback.
66006 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
66008         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
66009         * NEWS: Document recent changes to fcntl-h.
66010         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
66011         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
66012         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
66013         Similarly for O_SEARCH; this last was already true, but not documented.
66014         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
66015         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
66016         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
66017         Likewise.
66018         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
66019         is zero, not whether it is defined.
66020         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
66021         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
66022         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
66024 2010-09-10  Bruno Haible  <bruno@clisp.org>
66026         langinfo, nl_langinfo: Fix for IRIX 5.3.
66027         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
66028         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
66029         HAVE_LANGINFO_YESEXPR.
66030         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
66031         HAVE_LANGINFO_YESEXPR.
66032         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
66033         HAVE_LANGINFO_T_FMT_AMPM is 0.
66034         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
66035         HAVE_LANGINFO_YESEXPR is 0.
66036         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
66037         NOEXPR.
66038         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
66039         * doc/posix-functions/nl_langinfo.texi: Likewise.
66040         Reported by Eric Blake.
66042 2010-09-10  Bruno Haible  <bruno@clisp.org>
66044         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
66045         * doc/glibc-functions/login_tty.texi: Mention the include file problem
66046         on FreeBSD 8.0 and OpenBSD 4.6.
66047         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
66048         * m4/pty_h.m4 (gl_PTY_H): Likewise.
66049         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
66050         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
66051         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
66052         ac_includes_default.
66053         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
66055 2010-09-09  Eric Blake  <eblake@redhat.com>
66057         strsignal: work around NetBSD bug
66058         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
66059         * lib/string.in.h (includes): Likewise.
66060         * doc/posix-functions/strsignal.texi (strsignal): Document the
66061         bug.
66062         Reported by Nelson H. F. Beebe.
66064         gnulib-tool: work with NetBSD /bin/sh
66065         * gnulib-tool (func_cache_var, func_cache_lookup_module)
66066         (func_get_description, func_get_comment, func_get_status)
66067         (func_get_notice, func_get_applicability, func_get_filelist)
66068         (func_get_dependencies, func_get_autoconf_early_snippet)
66069         (func_get_autoconf_snippet, func_get_automake_snippet)
66070         (func_get_include_directive, func_get_link_directive)
66071         (func_get_license, func_get_maintainer, func_import): Avoid
66072         shell syntax errors from parsing syntax extensions.
66074 2010-09-09  Bruno Haible  <bruno@clisp.org>
66076         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
66077         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
66078         a reliable way to determine whether the 'alias' command works.
66080 2010-09-08  Jim Meyering  <meyering@redhat.com>
66082         init.sh: penalize a set-x-impaired shell; don't disqualify it
66083         * tests/init.sh: Too many shells corrupt application stderr when
66084         you set -x, so we can't afford to disqualify them, since at least
66085         on Irix-6.5, that would disqualify all bourne shells.
66086         Instead, use a two-pass approach.
66087         On the first pass, try to find a shell that meets the stricter
66088         condition that set -x does not corrupt stderr.
66089         If no shell meets the stricter condition, retest each candidate
66090         shell, but without that extra condition.  Finally, when
66091         VERBOSE=yes is requested and set -x might cause trouble, simply
66092         issue a warning and refrain from enabling debug output.
66094 2010-09-08  Eric Blake  <eblake@redhat.com>
66096         unsetenv: fix OpenBSD bug
66097         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
66098         * doc/posix-functions/unsetenv.texi (unsetenv): Update
66099         documentation.
66100         Reported by Jim Meyering.
66102         strtod: work around IRIX 6.5 bug
66103         * lib/strtod.c (strtod): Reparse number on shorter string if
66104         exponent parse was invalid.
66105         * tests/test-strtod.c (main): Add check for "0x1p 2".
66106         Reported by Tom G. Christensen.
66108         getopt: optimize previous patch
66109         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
66110         empty variable.  Speed up awk script.
66111         Reported by Paolo Bonzini.
66113 2010-09-08  Jim Meyering  <meyering@redhat.com>
66115         test.sh: disqualify shells for which set -x corrupts stderr
66116         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
66117         and OpenBSD 4.7.  They make it so with "set -x", environment settings
66118         appear in stderr output.  For example, this command:
66119             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
66120         prints "P=1" on those two systems:
66122 2010-09-08  Bruno Haible  <bruno@clisp.org>
66124         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
66125         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
66126         commands, because some shells ignore redirections when there is an
66127         error in the command lookup.
66128         Reported by Eric Blake.
66130 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
66132         * lib/regex.h: Fix a mention of `regex_compile' (should be
66133         `re_compile_pattern').
66134         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
66135         (re_set_registers): Correct name of parameter in comment.
66137         * doc/regex.texi: Add documentation for missing syntax flags.
66138         Remove commented-out documentation of defunct syntax option
66139         RE_NO_EMPTY_ALTS.
66140         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
66141         Add documentation of re_set_registers.
66142         Document trick to re-use a pattern buffer by setting fastmap manually.
66143         Update documentation of struct re_pattern_buffer per public members.
66144         Uncomment documentation of equivalence class operators and
66145         collating symbol operators, since they are now implemented,
66146         Explain leftmost-longest matching in relation to alternatives.
66147         Tidy documentation of substring matching.
66148         Remove POSIX documentation, which is done better in
66149         glibc, and refer the reader there. Keep BSD API documentation, as
66150         that is not readily available elsewhere.
66152 2010-09-07  Eric Blake  <eblake@redhat.com>
66154         getopt: handle POSIXLY_CORRECT set but not exported
66155         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
66156         export state of POSIXLY_CORRECT, due to bash set -o posix.
66157         Reported by Dustin J. Mitchell.
66159 2010-09-05  Bruno Haible  <bruno@clisp.org>
66161         gnulib-tool: Highlight the changed options.
66162         * gnulib-tool (func_usage): Display the --import, --add-import,
66163         --remove-import explanations in bold font.
66165 2010-09-06  Karl Berry  <karl@gnu.org>
66167         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
66169 2010-09-05  Bruno Haible  <bruno@clisp.org>
66171         uniwidth/width: Update comment.
66172         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
66173         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
66175 2010-09-05  Bruno Haible  <bruno@clisp.org>
66177         isinf, isnan: Relax license.
66178         * modules/isinf (License): Change from GPL to LGPL, with consent from
66179         Ben Pfaff.
66180         * modules/isnan (License): Likewise.
66181         Requested by Ludovic Courtès.
66183 2010-09-04  Bruno Haible  <bruno@clisp.org>
66185         gnulib-tool: Help migration from --import to --add-import or --update.
66186         * gnulib-tool: Emit a verbose error message when --import is used
66187         without any module name.
66189 2010-09-04  Bruno Haible  <bruno@clisp.org>
66191         Update doc about gnulib-tool.
66192         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
66193         'gnulib-tool --update' in more detail.
66194         Reported by Eric Blake.
66196 2010-09-04  Bruno Haible  <bruno@clisp.org>
66198         gnulib-tool: Change --import. New options --add/remove-import.
66199         * gnulib-tool: New options --add-import, --remove-import.
66200         (func_usage): Document them.
66201         (have_associative): Define always.
66202         (func_import): In import mode, don't merge the specified settings with
66203         the cached settings. Implement remove-import mode.
66204         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
66205         Explain when to use them versus --import.
66206         (Simple update): Use --add-import instead of --import.
66207         * NEWS: Mention the change.
66209 2010-09-04  Bruno Haible  <bruno@clisp.org>
66211         * doc/gnulib-tool.texi (Initial import): Update paragraph about
66212         separate gnulib.mk.
66214 2010-09-04  Bruno Haible  <bruno@clisp.org>
66216         gnulib-tool: Don't talk about CVS any more.
66217         * gnulib-tool (func_usage, func_import): Write "version control"
66218         instead of CVS.
66220 2010-09-04  Jim Meyering  <meyering@redhat.com>
66222         maint.mk: avoid obscure sc_copyright_check failure in coreutils
66223         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
66224         false positives (whose names may be ill-chosen) when searching
66225         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
66226         would cause a false-positive.
66228         avoid coreutils "make distcheck" failure
66229         Coreutils tests with an absolute build directory name that contains
66230         a space.  Not quoting this directory name caused a failure.
66231         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
66232         * tests/test-vc-list-files-cvs.sh: Likewise.
66234 2010-09-04  Bruno Haible  <bruno@clisp.org>
66236         gnulib-tool: Avoid error when run in a package without Makefile.am.
66237         * gnulib-tool: When collecting the m4dirs in a package that does not
66238         have a Makefile.am, eliminate those directories that contain no
66239         gnulib-cache.m4. Fix expression that counts these directories.
66241 2010-09-04  Bruno Haible  <bruno@clisp.org>
66243         update-copyright test: Improve output when perl is missing or too old.
66244         * tests/test-update-copyright.sh: Move test of Perl version down after
66245         the test whether Perl exists. Provide an explanation relating Perl's
66246         error message to Automake's SKIP: message.
66248 2010-09-04  Bruno Haible  <bruno@clisp.org>
66250         Don't augment PATH in TESTS_ENVIRONMENT.
66251         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
66252         set abs_aux_dir instead of augmenting PATH.
66253         * modules/vc-list-files-tests (Makefile.am): Likewise.
66254         * tests/test-update-copyright.sh: Augment PATH here.
66255         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
66256         path_prepend_.
66257         * tests/test-vc-list-files-git.sh: Likewise.
66259 2010-09-04  Jim Meyering  <meyering@redhat.com>
66261         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
66262         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
66264 2010-09-04  Bruno Haible  <bruno@clisp.org>
66266         strdup: Fix compilation error in C++ mode.
66267         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
66268         the macro.
66270 2010-09-04  Bruno Haible  <bruno@clisp.org>
66272         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
66273         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
66274         macro into a function.
66275         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
66277 2010-09-04  Bruno Haible  <bruno@clisp.org>
66279         Set PATH_SEPARATOR the same way autoconf does.
66280         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
66281         the value of PATH_SEPARATOR the same way autoconf-generated configure
66282         scripts do.
66283         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
66284         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
66286 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
66288         Set PATH_SEPARATOR the same way autoconf does.
66289         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
66290         the same way autoconf-generated configure scripts do.
66291         * posix-modules: Likewise.
66293 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
66295         hash: fix safe_hasher const typo
66296         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
66297         const; otherwise, there is a type error later.
66299 2010-09-02  Jim Meyering  <meyering@redhat.com>
66301         test-update-copyright.sh: require perl 5.8.0
66302         * tests/test-update-copyright.sh: Require 5.8.0,
66303         which Tom G. Christensen has confirmed is adequate,
66304         while 5.6.1 is not.
66306 2010-09-02  Eric Blake  <eblake@redhat.com>
66308         tests: init.sh improvements for re-exec'ing with zsh
66309         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
66310         -vx through shell re-exec.
66311         Reported by Tom G. Christensen.
66313         wctype: fix typo in previous commit
66314         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
66315         Reported by Ludovic Courtès.
66317 2010-09-02  Jim Meyering  <meyering@redhat.com>
66319         test-update-copyright.sh: skip test if Perl is too old
66320         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
66321         Reported by Tom G. Christensen.
66323 2010-09-02  Bruno Haible  <bruno@clisp.org>
66325         wctype: Avoid compilation error on IRIX 6.5.30.
66326         * lib/wctype.in.h (iswblank): Declare with a replacement if
66327         REPLACE_ISWBLANK is set.
66328         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
66329         declared. Set REPLACE_ISWBLANK.
66330         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
66331         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
66332         * doc/posix-headers/wctype.texi: Likewise.
66333         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
66335 2010-09-01  Bruno Haible  <bruno@clisp.org>
66337         New module 'socketlib'.
66338         * modules/socketlib: New file.
66339         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
66340         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
66341         * modules/sockets (Depends-on): Add socketlib.
66342         Suggested by Sam Steingold <sds@gnu.org>.
66344 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
66346         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
66348         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
66349         when one needs search access to a directory but not read access.
66350         On systems where it is available, it works in some cases where
66351         O_RDONLY does not, namely on directories that are searchable but
66352         not readable, and which need only to be searchable.  If O_SEARCH
66353         is not available, fall back to the traditional method of using
66354         O_RDONLY.
66356         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
66357         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
66358         when opening a directory that needs only to be searchable.
66359         * lib/chdir-safer.c (chdir_no_follow): Likewise.
66360         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
66361         * lib/openat-proc.c (openat_proc_name): Likewise.
66362         * lib/openat.c (openat_needs_fchdir): Likewise.
66363         * lib/save-cwd.c (save_cwd): Likewise.
66364         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
66366 2010-08-28  Bruno Haible  <bruno@clisp.org>
66368         New module 'host-cpu-c-abi'.
66369         * modules/host-cpu-c-abi: New file.
66370         * m4/host-cpu-c-abi.m4: New file, based on part of
66371         clisp/src/m4/general.m4.
66372         Requested by Sam Steingold <sds@gnu.org>.
66374 2010-08-31  Eric Blake  <eblake@redhat.com>
66375         and Jim Meyering  <meyering@redhat.com>
66377         hash: factor, and guard against misbehaving hasher function
66378         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
66379         of table->hasher's return value.  Also protect against a hash value
66380         so large that adding it to table->bucket results in a NULL pointer.
66381         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
66382         Use it in place of open-coded check-and-abort.
66384 2010-08-30  Bruno Haible  <bruno@clisp.org>
66386         hash: silence spurious clang warning
66387         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
66388         Reported by Eric Blake.
66390 2010-08-30  Eric Blake  <eblake@redhat.com>
66392         strstr, memmem, strcasestr: avoid leaked shell message
66393         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
66394         FreeBSD.
66395         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
66396         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66398         tests: silence clang warning
66399         * tests/test-malloca.c (do_allocation): Avoid dead store.
66401 2010-08-29  Bruno Haible  <bruno@clisp.org>
66403         gettext: Fix recent mistake.
66404         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
66406 2010-08-29  Bruno Haible  <bruno@clisp.org>
66408         selinux-h: Offer a --without-selinux option.
66409         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
66410         --without-selinux was specified, skip all tests and define
66411         HAVE_SELINUX_SELINUX_H to 0.
66412         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
66413         set LIB_SELINUX to empty.
66414         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
66415         gl_LIBSELINUX. If --without-selinux was specified, replace
66416         selinux/context.h.
66417         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
66419 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66420             Bruno Haible  <bruno@clisp.org>
66422         Make the module 'realloc-gnu' work again on AIX and OSF/1.
66423         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
66424         of HAVE_REALLOC.
66425         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
66426         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
66427         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
66428         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
66430 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66431             Bruno Haible  <bruno@clisp.org>
66433         Make the module 'calloc-gnu' work again on AIX and OSF/1.
66434         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
66435         HAVE_CALLOC.
66436         * lib/xmalloc.c: Update accordingly.
66437         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
66438         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
66439         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
66441 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66442             Bruno Haible  <bruno@clisp.org>
66444         Make the module 'malloc-gnu' work again on AIX and OSF/1.
66445         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
66446         HAVE_MALLOC.
66447         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
66448         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
66449         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
66451 2010-08-29  Bruno Haible  <bruno@clisp.org>
66453         Update modules list.
66454         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
66455         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
66456         (String handling <string.h>): Add astrxfrm.
66457         (File system functions): Add readlinkat.
66459 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66461         Tests for module 'realloc-gnu'.
66462         * modules/realloc-gnu-tests: New file.
66463         * tests/test-realloc-gnu.c: New file.
66465         Tests for module 'calloc-gnu'.
66466         * modules/calloc-gnu-tests: New file.
66467         * tests/test-calloc-gnu.c: New file.
66469         Tests for module 'malloc-gnu'.
66470         * modules/malloc-gnu-tests: New file.
66471         * tests/test-malloc-gnu.c: New file.
66473 2010-08-28  Bruno Haible  <bruno@clisp.org>
66475         Rename module 'realloc' -> 'realloc-gnu'.
66476         * modules/realloc-gnu: New file, copied from modules/realloc.
66477         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
66478         obsolete.
66479         * modules/mgetgroups (Depends-on): Update.
66480         * doc/posix-functions/realloc.texi: Update.
66481         * NEWS: Mention the change.
66483         Rename module 'calloc' -> 'calloc-gnu'.
66484         * modules/calloc-gnu: New file, copied from modules/calloc.
66485         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
66486         obsolete.
66487         * doc/posix-functions/calloc.texi: Update.
66488         * NEWS: Mention the change.
66490         Rename module 'malloc' -> 'malloc-gnu'.
66491         * modules/malloc-gnu: New file, copied from modules/malloc.
66492         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
66493         obsolete.
66494         * modules/argp (Depends-on): Update.
66495         * modules/regex (Depends-on): Update.
66496         * doc/posix-functions/malloc.texi: Update.
66497         * NEWS: Mention the change.
66499 2010-08-28  Eric Blake  <eblake@redhat.com>
66501         pread, pwrite: add missing dependency
66502         * modules/pread (Depends-on): Add extensions.
66503         * modules/pwrite (Depends-on): Likewise.
66505 2010-08-28  Bruno Haible  <bruno@clisp.org>
66507         unistr/u*-strchr: Fix tests dependencies.
66508         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
66509         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
66510         Reported by Ian Beckwith <ianb@erislabs.net>.
66512 2010-08-28  Bruno Haible  <bruno@clisp.org>
66514         read-file: Don't occupy too much unused memory.
66515         * lib/read-file.c (fread_file): Shrink the buffer at the end.
66517 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
66518             Eric Blake  <eblake@redhat.com>
66519             Bruno Haible  <bruno@clisp.org>
66521         read-file: Avoid memory reallocations with regular files.
66522         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
66523         (fread_file): With regular files, use the remaining length as the
66524         initial buffer size.  Check against overflow.
66525         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
66526         sys_stat.
66528 2010-08-28  Bruno Haible  <bruno@clisp.org>
66530         ftello: Relax license.
66531         * modules/ftello (License): Relax to LGPLv2+.
66532         Reported by Eric Blake.
66534 2010-08-28  Bruno Haible  <bruno@clisp.org>
66536         Avoid relocwrapper link errors due to gnulib replacement functions.
66537         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
66538         function.
66539         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66541 2010-08-28  Bruno Haible  <bruno@clisp.org>
66543         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
66544         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
66545         defined.
66546         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
66547         Suggested by Eric Blake.
66549 2010-08-28  Bruno Haible  <bruno@clisp.org>
66551         sys_socket, netdb: Ensure socklen_t gets defined.
66552         * modules/sys_socket (Depends-on): Add socklen.
66553         * modules/netdb (Depends-on): Likewise.
66554         * modules/getaddrinfo (Depends-on): Remove socklen.
66555         * modules/getsockopt (Depends-on): Likewise.
66556         * modules/setsockopt (Depends-on): Likewise.
66557         * tests/test-sys_socket.c: Check that socklen_t is defined.
66558         * tests/test-netdb.c: Likewise.
66559         * m4/socklen.m4: Update comments.
66560         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66562 2010-08-27  Eric Blake  <eblake@redhat.com>
66564         login_tty: add missing dependency
66565         * modules/login_tty (Depends-on): Add pty.
66567 2010-08-26  Eric Blake  <eblake@redhat.com>
66569         lib-symbol-versions: fix m4 quoting
66570         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
66571         format for AC_LINK_IFELSE.
66573         glob: fix compile test
66574         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
66576         btowc: fix missing file
66577         * modules/btowc (Files): Also ship locale-fr.m4.
66579         lseek: fix link test
66580         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
66581         AC_LINK_IFELSE.
66583         include_next: silence autoconf 2.68 warning
66584         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
66585         AC_COMPILE_IFELSE as special.
66586         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
66587         autoconf < 2.68.
66589         acl: fix compilation test
66590         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
66591         AC_COMPILE_IFELSE.
66593 2010-08-26  Bruno Haible  <bruno@clisp.org>
66595         Modernize AC_TRY_RUN invocations.
66596         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
66597         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
66598         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
66599         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
66600         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
66601         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
66602         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
66603         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
66604         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
66605         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
66606         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
66607         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
66608         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
66609         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
66610         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
66611         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
66612         gl_MBRLEN_NUL_RETVAL): Likewise.
66613         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
66614         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
66615         Likewise.
66616         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
66617         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
66618         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
66619         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
66620         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
66621         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
66622         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
66623         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
66624         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
66625         Likewise.
66626         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
66627         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
66628         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66629         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
66630         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
66631         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
66632         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
66633         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
66634         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
66635         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66637 2010-08-26  Bruno Haible  <bruno@clisp.org>
66639         Modernize AC_TRY_LINK invocations.
66640         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
66641         AC_TRY_LINK.
66642         * m4/argp.m4 (gl_ARGP): Likewise.
66643         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
66644         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
66645         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
66646         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
66647         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
66648         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
66649         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
66650         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
66651         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
66652         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
66653         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
66654         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
66655         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
66656         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
66657         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
66658         * m4/hostent.m4 (gl_HOSTENT): Likewise.
66659         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
66660         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
66661         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
66662         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
66663         Likewise.
66664         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
66665         Likewise.
66666         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
66667         Likewise.
66668         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
66669         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
66670         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
66671         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
66672         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
66673         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
66674         * m4/servent.m4 (gl_SERVENT): Likewise.
66675         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
66676         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
66677         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
66678         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
66679         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
66680         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
66681         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
66682         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
66683         * modules/tsearch-tests (configure.ac): Likewise.
66685 2010-08-26  Bruno Haible  <bruno@clisp.org>
66687         Modernize AC_TRY_COMPILE invocations.
66688         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
66689         AC_TRY_COMPILE.
66690         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
66691         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
66692         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
66693         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
66694         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
66695         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
66696         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
66697         * m4/lock.m4 (gl_LOCK): Likewise.
66698         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
66699         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
66700         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
66701         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
66702         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
66703         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
66704         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
66705         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
66706         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
66707         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
66708         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
66709         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
66710         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
66711         extraneous semicolon.
66713 2010-08-26  Jim Meyering  <meyering@redhat.com>
66715         stat-time: relax license LGPL
66716         * modules/stat-time (License): Change from GPL to LGPL,
66717         with consent from all contributors, for use in libguile.
66718         Requested by Ludovic Courtès.
66720 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
66722         poll: return immediately on POLLHUP.
66723         * lib/poll.c (poll): Always set timeout before wait_timeout is
66724         computed.
66726 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66728         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
66729         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
66730         rmdir ("dir/.//"), unlinkat.
66732 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66734         stdbool: avoid spurious failure with modern xlc
66735         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
66737 2010-08-24  Bruno Haible  <bruno@clisp.org>
66739         getloadavg: simplify code
66740         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
66741         gl_have_func. Update comments.
66743 2010-08-24  Eric Blake  <eblake@redhat.com>
66745         getloadavg: don't define SVR4 on cygwin
66746         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
66747         only define SVR4 when -lkvm is required.
66748         Reported by Yaakov Selkowitz.
66750 2010-08-24  Bruno Haible  <bruno@clisp.org>
66752         priv-set: fix comment
66753         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
66755 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66757         priv-set: fix comments
66758         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
66759         to match code, as suggested by David Bartley in:
66760         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
66762 2010-08-23  Eric Blake  <eblake@redhat.com>
66764         stdbool: avoid rejecting clang
66765         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
66766         * tests/test-stdbool.c: Enable more tests if using the system
66767         <stdbool.h> instead of the gnulib replacement.
66768         (main): Move xlc bug test to a runtime test for all compilers.
66769         Reported by Anders Kaseorg.
66771         argz: fix shell quoting issue
66772         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
66773         Reported by Charles Wilson.
66775 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
66776             Erik Faye-Lund <kusmabite@gmail.com>
66778         poll, select: handle ERROR_BROKEN_PIPE.
66779         * lib/poll.c (win32_compute_revents): Return POLLHUP when
66780         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
66781         * lib/select.c (win32_compute_revents): Do not mark a pipe
66782         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
66784 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
66786         fts: allow compilation with C++
66787         * lib/fts_.h: Specify extern "C" linkage with C++.
66789 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66791         Fix gnulib-tool sed script de-commentation for AIX sed.
66792         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
66793         sed.
66795 2010-08-17  Eric Blake  <eblake@redhat.com>
66797         test-stddef: test for (some) offsetof bugs
66798         * tests/test-stddef.c: Enhance test to ensure correct type of
66799         offsetof.
66800         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
66801         that we are not fixing at this time.
66803 2010-08-15  Bruno Haible  <bruno@clisp.org>
66805         stpncpy: Allow stpncpy to be defined as a macro.
66806         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
66807         if it's already correctly declared.
66808         * lib/string.in.h (stpncpy): Undefine before redefining.
66809         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
66811 2010-08-14  Bruno Haible  <bruno@clisp.org>
66813         Rename module 'memxfrm' to 'amemxfrm'.
66814         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
66815         (amemxfrm): Renamed from memxfrm.
66816         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
66817         (amemxfrm): Renamed from memxfrm.
66818         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
66819         * NEWS: Mention the change.
66820         * MODULES.html.sh (String handling <string.h>): Update.
66821         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
66822         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
66823         * lib/unicase/u16-casexfrm.c: Likewise.
66824         * lib/unicase/u32-casexfrm.c: Likewise.
66825         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
66826         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
66827         * lib/uninorm/u16-normxfrm.c: Likewise.
66828         * lib/uninorm/u32-normxfrm.c: Likewise.
66829         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
66830         memxfrm.
66831         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
66832         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
66833         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
66834         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
66835         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
66836         Suggested by Paul Eggert.
66838 2010-08-14  Bruno Haible  <bruno@clisp.org>
66840         Tests for module 'astrxfrm'.
66841         * modules/astrxfrm-tests: New file.
66842         * tests/test-astrxfrm.c: New file.
66844         New module 'astrxfrm'.
66845         * lib/astrxfrm.h: New file.
66846         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
66847         * modules/astrxfrm: New file.
66849 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
66851         regex: Tweak doc.
66852         * doc/regex.texi (Overview): Don't mention regex.c.
66853         (GNU Regular Expression Compiling): Likewise.
66854         (Match-end-of-line Operator): Mention 'not_eol'.
66856 2010-08-14  Brian Gough  <bjg@gnu.org>
66857             Bruno Haible  <bruno@clisp.org>
66859         git-merge-changelog: add doc relating to use with bzr and hg.
66860         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
66862 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
66864         pthread: fix pthread.h creation for srcdir != builddir
66865         * modules/pthread (Makefile.am): Fix the rule to work also in a
66866         non-srcdir build.
66868 2010-08-13  Karl Berry  <karl@gnu.org>
66870         * doc/regex.texi (Predefined Syntaxes): @smallexample.
66871         * doc/posix-*/*: force line break before @url of POSIX
66872         specifications.
66873         Suggested by Werner Lemberg.
66875 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
66877         strtod: fix const diagnostic
66878         * lib/strtod.c (strtod): Don't assign const char * to char *,
66879         as this elicits a warning from GCC when warnings are enabled.
66881 2010-08-10  Pádraig Brady  <P@draigbrady.com>
66882         and Eric Blake  <eblake@redhat.com>
66884         copy-acl: ignore ENOTSUP on HP-UX
66885         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
66886         so that it is available for HP-UX.
66887         * lib/copy-acl.c (qcopy_acl): Use it.
66888         Reported by Patrick M. Callahan.
66890 2010-08-10  Eric Blake  <eblake@redhat.com>
66892         open, chown: relax license
66893         * modules/open (License): Change to LGPLv2+, with consent by all
66894         authors, for use in augeas.
66895         * modules/chown (License): Likewise.
66896         * modules/lchown (Likewise): Likewise.
66897         Requested by Adam Stokes.
66899 2010-08-09  Karl Berry  <karl@gnu.org>
66901         * build-aux/ar-lib: new file, import from Automake.
66902         * config/srclist.txt: autocheck for updates.
66904 2010-08-09  Eric Blake  <eblake@redhat.com>
66906         readlinkat: adjust client modules
66907         * modules/areadlinkat (Depends-on): Use readlinkat, not
66908         symlinkat.
66909         * modules/areadlinkat-with-size (Depends-on): Likewise.
66911         mknod: be more vocal about danger of running tests as root
66912         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
66913         root, since that is just asking for problems.
66914         Suggested by Bruno Haible, based on a report by Rainer Tammer.
66916         readlinkat: split into its own module
66917         * modules/symlinkat: Split readlinkat...
66918         * modules/readlinkat: ...into separate module.
66919         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
66920         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
66921         * lib/symlinkat.c (readlinkat): Move...
66922         * lib/readlinkat.c: ...into new file.
66923         * modules/symlinkat-tests: Split readlinkat test...
66924         * modules/readlinkat-tests: ...into separate module.
66925         * tests/test-symlinkat.c: Split...
66926         * tests/test-readlinkat.c: ...into new file.
66927         * NEWS: Document the split.
66928         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
66929         * lib/unistd.in.h (readlinkat): Likewise.
66930         Suggested by Bruno Haible.
66932 2010-08-08  Bruno Haible  <bruno@clisp.org>
66934         memxfrm: Speed up.
66935         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
66936         that usually only one call to strxfrm is necessary for each string
66937         part.
66938         Reported by Paul Eggert <eggert@cs.ucla.edu>.
66940 2010-08-07  Karl Berry  <karl@gnu.org>
66942         * doc/posix-headers/limits.texi,
66943         * doc/posix-functions/malloc.texi,
66944         * doc/posix-functions/strsignal.texi: missing @item.
66945         * doc/ld-version-script.texi: spurious leading i.
66946         * doc/regex.texi (Interval Operators): no commas inside @var.
66948 2010-08-01  Bruno Haible  <bruno@clisp.org>
66950         Integrate the regex documentation.
66951         * doc/gnulib.texi: Define 'cn' index.
66952         (Regular expressions): New a chapter that includes regex.texi and
66953         regexprops-generic.texi.
66954         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
66955         syntax.
66957         Whitespace cleanup.
66958         * doc/regex.texi: Remove trailing spaces.
66960         Add regex documentation.
66961         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
66962         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
66963         Written by Kathy A. Hargreaves and Karl Berry.
66965 2010-08-01  Bruno Haible  <bruno@clisp.org>
66967         link: Update documentation.
66968         * doc/posix-functions/link.texi: Update regarding Solaris.
66970 2010-07-31  Bruno Haible  <bruno@clisp.org>
66972         Update modules list.
66973         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
66974         (String handling <string.h>): Add memcmp2, memxfrm.
66975         (Container data structures): Add xlist, xsublist, xoset.
66976         (Core language properties): Add alignof, unused-parameter.
66977         (Process control, Numeric conversion functions <stdlib.h>): Renamed
66978         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
66979         (Unibyte characters <ctype.h>): New section.
66980         (String handling <string.h>): New section.
66981         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
66982         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
66983         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
66984         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
66985         tan, tanh, tanl, y0, y1, yn.
66986         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
66987         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
66988         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
66989         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
66990         unlockpt, vdprintf, vdprintf-posix.
66991         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
66992         (File system functions): Add concat-filename, sys_file, sys_ioctl,
66993         xconcat-filename.
66994         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
66995         getdtablesize, pipe2, pipe2-safer.
66996         (Security): New section.
66997         (Networking functions): Add accept4.
66998         (Signal handling): Add sigpipe.
66999         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
67000         mbmemcasecoll.
67001         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
67002         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
67003         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
67004         pipe-filter-ii.
67005         (Misc): Add argp-version-etc, login_tty, parse-duration.
67007 2010-07-31  Bruno Haible  <bruno@clisp.org>
67009         Improve doc in MODULES.html.
67010         * modules/linkat (Description): Add the word "function".
67011         * modules/mkfifo (Description): Likewise.
67012         * modules/mknod (Description): Likewise.
67013         * modules/remove (Description): Likewise.
67014         * modules/renameat (Description): Likewise.
67015         * modules/stat (Description): Likewise.
67016         * modules/symlink (Description): Likewise.
67017         * modules/unlink (Description): Likewise.
67019 2010-07-31  Bruno Haible  <bruno@clisp.org>
67021         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
67022         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
67023         option --enable/disable-c++ instead of --enable/disable-cxx.
67024         * NEWS: Mention the change.
67026 2010-07-31  Bruno Haible  <bruno@clisp.org>
67028         readlink, areadlink: Relax test a bit.
67029         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
67030         alternative to ENOTDIR.
67031         * tests/test-areadlink.h (test_areadlink): Likewise.
67032         Reported by Rainer Tammer.
67034 2010-07-31  Bruno Haible  <bruno@clisp.org>
67036         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
67037         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
67038         character, perform the search using U_STRCHR.
67039         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
67040         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
67041         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
67042         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
67043         Suggested by Paolo Bonzini.
67045 2010-07-31  Bruno Haible  <bruno@clisp.org>
67047         unistr/u*-strstr: Fix dependencies.
67048         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
67049         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
67050         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
67052 2010-07-31  Bruno Haible  <bruno@clisp.org>
67054         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
67055         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
67056         the beginning of the loop.
67057         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
67058         cases in 'switch' statement.
67060         unistr/u8-strchr: Fix several bugs.
67061         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
67062         the string. When not found, return NULL, not a pointer near the end.
67064         More tests for unistr/u8-strchr.
67065         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
67066         that the function does not read past the first occurrence of the byte
67067         being searched.
67068         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
67069         * tests/unistr/test-u16-strchr.c (main): New function.
67070         * tests/unistr/test-u32-strchr.c (main): New function.
67072 2010-07-31  Bruno Haible  <bruno@clisp.org>
67074         posix-modules: Ignore backup files of documentation files.
67075         * posix-modules: grep only through files named *.texi.
67077 2010-07-31  Bruno Haible  <bruno@clisp.org>
67079         symlinkat: Fix documentation.
67080         * doc/posix-functions/readlinkat.texi: Fix module name.
67082 2010-07-31  Bruno Haible  <bruno@clisp.org>
67084         fchownat: Replace also when chown has the trailing slash bug.
67085         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
67086         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
67087         introduced on 2010-04-10.
67088         Reported by Rainer Tammer.
67090 2010-07-31  Bruno Haible  <bruno@clisp.org>
67092         linkat: Work around AIX 7.1 bug.
67093         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
67094         whether linkat handles trailing slash correctly. If not, replace linkat
67095         and define LINKAT_TRAILING_SLASH_BUG.
67096         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
67097         check whether (fd1,file1) points to a directory if file1 or file2 ends
67098         in a slash. Code taken from lib/link.c.
67099         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
67100         Reported by Rainer Tammer.
67102 2010-07-31  Bruno Haible  <bruno@clisp.org>
67104         Correctly determine whether pow is available in libc on AIX 7 with xlc.
67105         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
67106         This disables an xlc optimization that was causing wrong test results.
67107         Reported by Rainer Tammer.
67109 2010-07-31  Bruno Haible  <bruno@clisp.org>
67111         iconv: Work around AIX 6.1..7.1 bug.
67112         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
67113         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
67114         cross-compiling, guess no on all versions of AIX.
67115         Reported by Rainer Tammer.
67117 2010-07-31  Bruno Haible  <bruno@clisp.org>
67119         readlink: Relax test a bit.
67120         * tests/test-readlink.h (test_readlink): Allow different errno value
67121         when readlink is called with a file name that ends in / and refers to
67122         a file.
67123         Suggested by Eric Blake.
67124         Reported by Rainer Tammer.
67126 2010-07-31  Bruno Haible  <bruno@clisp.org>
67128         copysign: Does not require -lm on glibc systems.
67129         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
67130         gl_COMMON_DOUBLE_MATHFUNC.
67131         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
67133 2010-07-31  Bruno Haible  <bruno@clisp.org>
67135         duplocale: Work around AIX 7.1 bug.
67136         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
67137         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
67138         * lib/duplocale.c (rpl_duplocale): Update comment.
67139         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
67140         Reported by Rainer Tammer.
67142 2010-07-30  Bruno Haible  <bruno@clisp.org>
67144         dirfd: Avoid link error on AIX 7.1.
67145         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
67146         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
67147         exist, set REPLACE_DIRFD.
67148         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
67149         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
67150         * doc/posix-functions/dirfd.texi: Update.
67151         Reported by Rainer Tammer.
67153 2010-07-30  Eric Blake  <eblake@redhat.com>
67155         strtod: next round of AIX fixes
67156         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
67157         exponent.
67158         * tests/test-strtod.c (main): Enhance tests.
67159         * doc/posix-functions/strtod.texi (strtod): Document next bug.
67160         Reported by Rainer Tammer.
67162         futimens: fix configure check
67163         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
67164         Reported by Bruno Haible.
67166 2010-07-30  Bruno Haible  <bruno@clisp.org>
67168         getline: Update regarding AIX.
67169         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
67170         Reported by Rainer Tammer.
67172 2010-07-30  Bruno Haible  <bruno@clisp.org>
67174         wcwidth: Drop replacement on AIX 7.
67175         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
67176         AIX 7.
67177         Reported by Rainer Tammer.
67179 2010-07-30  Bruno Haible  <bruno@clisp.org>
67181         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
67182         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
67183         a 'char *'.
67184         Reported by Rainer Tammer.
67186 2010-07-30  Bruno Haible  <bruno@clisp.org>
67188         unlink: Update regarding AIX.
67189         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
67190         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
67191         Reported by Rainer Tammer.
67193 2010-07-30  Bruno Haible  <bruno@clisp.org>
67195         symlink: Update regarding AIX.
67196         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
67197         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
67198         Reported by Rainer Tammer.
67200 2010-07-30  Bruno Haible  <bruno@clisp.org>
67202         strndup: Update regarding AIX.
67203         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
67204         AIX 7.
67205         Reported by Rainer Tammer.
67207 2010-07-30  Bruno Haible  <bruno@clisp.org>
67209         stat: Update regarding AIX.
67210         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
67211         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
67212         Reported by Rainer Tammer.
67214 2010-07-30  Bruno Haible  <bruno@clisp.org>
67216         truncl: Fix autoconf test.
67217         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
67218         whether truncl works.
67219         Reported by Rainer Tammer.
67221 2010-07-30  Bruno Haible  <bruno@clisp.org>
67223         round: Update regarding AIX.
67224         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
67225         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
67226         Reported by Rainer Tammer.
67228 2010-07-30  Bruno Haible  <bruno@clisp.org>
67230         rename: Update regarding AIX.
67231         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
67232         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
67233         Reported by Rainer Tammer.
67235 2010-07-30  Bruno Haible  <bruno@clisp.org>
67237         printf.m4: Update regarding AIX.
67238         * m4/printf.m4: Update comments regarding AIX.
67239         Reported by Rainer Tammer.
67241 2010-07-30  Bruno Haible  <bruno@clisp.org>
67243         iconv: Update regarding AIX.
67244         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
67245         AIX 7.
67246         Reported by Rainer Tammer.
67248 2010-07-30  Bruno Haible  <bruno@clisp.org>
67250         getopt: Update regarding AIX.
67251         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
67252         no on AIX.
67253         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
67254         Reported by Rainer Tammer.
67256 2010-07-30  Bruno Haible  <bruno@clisp.org>
67258         ldexpl; Update regarding AIX.
67259         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
67260         on AIX 7.
67261         Reported by Rainer Tammer.
67263 2010-07-30  Bruno Haible  <bruno@clisp.org>
67265         frexpl: Update regarding AIX.
67266         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
67267         on AIX 7.
67268         Reported by Rainer Tammer.
67270 2010-07-30  Bruno Haible  <bruno@clisp.org>
67272         open, fopen: Update regarding AIX.
67273         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
67274         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
67275         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
67276         * doc/posix-functions/fopen.texi: Likewise.
67277         Reported by Rainer Tammer.
67279 2010-07-30  Bruno Haible  <bruno@clisp.org>
67281         chown: Update doc regarding AIX.
67282         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
67283         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
67284         Reported by Rainer Tammer.
67286 2010-07-30  Eric Blake  <eblake@redhat.com>
67288         strtod: fix bug in replacement function on AIX
67289         * lib/strtod.c (strtod): Special case broken "0x" parse in
67290         underlying strtod.
67291         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
67292         * doc/posix-functions/strtod.texi (strtod): Likewise.
67293         Reported by Rainer Tammer.
67295 2010-07-30  Bruno Haible  <bruno@clisp.org>
67297         mbrlen: Fix cross-compilation guess for AIX.
67298         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
67299         guess. Leftover from 2008-12-22.
67301 2010-07-30  Bruno Haible  <bruno@clisp.org>
67303         mbrtowc: Fix cross-compilation guess for AIX.
67304         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
67305         guess. Leftover from 2008-12-21.
67307 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
67309         init.sh: work around trap limitation of some shells
67310         * tests/init.sh (setup_): Move exit trap outside of shell function.
67312 2010-07-29  Eric Blake  <eblake@redhat.com>
67314         strtod: aid debugging
67315         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
67316         understanding why strtod is rejected.
67318 2010-07-28  Bruno Haible  <bruno@clisp.org>
67320         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
67321         * lib/unistr/u8-chr.c: Include <string.h>.
67322         * tests/unistr/test-u8-chr.c: Likewise.
67323         * tests/unistr/test-u16-chr.c: Likewise.
67324         * tests/unistr/test-u32-chr.c: Likewise.
67325         * tests/unistr/test-u8-strchr.c: Likewise.
67326         * tests/unistr/test-u16-strchr.c: Likewise.
67327         * tests/unistr/test-u32-strchr.c: Likewise.
67328         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
67329         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
67330         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
67331         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
67333 2010-07-28  Bruno Haible  <bruno@clisp.org>
67335         Use spaces for indentation, not tabs.
67336         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
67338 2010-07-27  Bruno Haible  <bruno@clisp.org>
67340         mbspcasecmp: Fix function specification.
67341         * lib/string.in.h (mbspcasecmp): Fix specification comment.
67342         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
67343         Reported by Eric Blake <eblake@redhat.com>.
67345 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
67347         timespec: use cast and not conditional, as truncation isn't possible
67348         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
67349         instead of a conditional.  Comment about the situation in more detail.
67350         This undoes most of the 2009-10-29 patch.
67352 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
67354         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
67355         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
67356         * lib/unistr/u8-strchr.c: Likewise.
67357         * modules/unistr/u8-chr: Depend on memchr.
67359         unistr/u*-strchr: add tests
67360         * modules/unistr/u8-strchr-tests: New file.
67361         * modules/unistr/u16-strchr-tests: New file.
67362         * modules/unistr/u32-strchr-tests: New file.
67363         * tests/unistr/test-strchr.h: New file.
67364         * tests/unistr/test-u8-strchr.c: New file.
67365         * tests/unistr/test-u16-strchr.c: New file.
67366         * tests/unistr/test-u32-strchr.c: New file.
67368         unistr/u*-chr: test multibyte sequences more
67369         * tests/unistr/test-chr.h: Do complete testing of the characters in the
67370         test vector.
67371         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
67372         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
67373         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
67375         unistr/u*-chr: test multibyte sequences
67376         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
67378         unistr/u*-chr: prepare for multibyte tests
67379         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
67380         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
67381         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
67382         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
67383         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
67384         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
67386 2010-07-18  Bruno Haible  <bruno@clisp.org>
67388         unistr/u8-strchr: Optimize non-ASCII argument case.
67389         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
67390         because the first byte often matches anyway.
67391         Reported by Pádraig Brady <P@draigbrady.com>.
67393 2010-07-15  Karl Berry  <karl@gnu.org>
67395         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
67397 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
67399         getcwd: on Solaris, work better if ancestors are inaccessible
67400         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
67401         buffer and size, try again with a large buffer.  This works better
67402         on Solaris, since its getcwd succeeds even if the path to the root
67403         is inaccessible, and this is helpful in common cases such as .zfs
67404         hidden directories.  Problem reported by J Chapman Flack in
67405         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
67406         Use system getcwd if it's declared, not merely if it's partly
67407         working; use the partly-working test only to avoid needless effort
67408         if the system getcwd fails.
67409         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
67410         comment that was already obsolete and is now even more obsolete.
67411         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
67412         now might call strdup.
67414 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
67416         pthread: Add enough so that coreutils/src/sort.c compiles.
67417         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
67418         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
67419         gnulib. Include <sched.h> and <time.h>, as per POSIX.
67420         Include <sys/types.h>, in case it defines pthread_t.
67421         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
67422         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
67423         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
67424         (pthread_rwlockattr_t, pthread_spinlock_t):
67425         New typedefs, if HAVE_PTHREAD_T is not defined.
67426         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
67427         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
67428         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
67429         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
67430         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
67431         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
67432         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
67433         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
67434         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
67435         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
67436         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
67437         New macros.
67438         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
67439         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
67440         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
67441         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
67442         (pthread_spin_unlock): New dummy functions.
67443         (pthread_create): Return EAGAIN; don't set errno.
67444         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
67445         require AC_C_INLINE.
67446         * modules/pthread (Depends-on): Add sched, time.
67447         (pthread.h): Use AM_V_GEN.
67449 2010-07-13  Bruno Haible  <bruno@clisp.org>
67451         striconveh: Don't malloc memory if the result buffer is sufficient.
67452         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
67453         buffer if its size is sufficient.
67454         Reported by Ludovic Courtès <ludo@gnu.org>.
67456 2010-07-13  Bruno Haible  <bruno@clisp.org>
67458         strtod: Add safety check.
67459         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
67461 2010-07-12  Bruno Haible  <bruno@clisp.org>
67463         Unify tests that set gl_cv_func_ldexpl_no_libm.
67464         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
67465         gl_FUNC_LDEXPL.
67466         (gl_FUNC_LDEXPL): Invoke it.
67467         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
67469 2010-07-12  Bruno Haible  <bruno@clisp.org>
67471         Unify tests that set gl_cv_func_ldexp_no_libm.
67472         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
67473         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
67474         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
67475         (configure.ac): Simply invoke gl_FUNC_LDEXP.
67476         * modules/strtod (Files): Add m4/ldexp.m4.
67478 2010-07-12  Bruno Haible  <bruno@clisp.org>
67480         Unify tests that set gl_cv_func_frexpl_no_libm.
67481         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
67482         gl_FUNC_FREXPL_NO_LIBM.
67483         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
67484         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
67486 2010-07-12  Bruno Haible  <bruno@clisp.org>
67488         Unify tests that set gl_cv_func_frexp_no_libm.
67489         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
67490         gl_FUNC_FREXP_NO_LIBM.
67491         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
67492         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
67494 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
67496         memcoll: clarify sizes versus lengths, document better, and tweak perf
67497         * lib/memcoll.c (strcoll_loop, memcoll0):
67498         Improve quality of descriptive comments.  Name variables
67499         consistently as to whether they are lengths (which do not include
67500         terminating null) versus sizes (which do).
67501         * lib/xmemcoll.c (xmemcoll0): Likewise.
67502         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
67503         returned when s1size == 0; this is easier to compile and saves
67504         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
67506 2010-07-12  Bruno Haible  <bruno@clisp.org>
67508         Tests for module '_Exit'.
67509         * modules/_Exit-tests: New file.
67510         * tests/test-_Exit.sh: New file.
67511         * tests/test-_Exit.c: New file.
67513         New module '_Exit'.
67514         * lib/stdlib.in.h (__attribute__): New macro.
67515         (_Exit): New declaration.
67516         * lib/_Exit.c: New file.
67517         * m4/_Exit.m4: New file.
67518         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
67519         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
67520         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
67521         * modules/_Exit: New file.
67522         * tests/test-stdlib-c++.cc (_Exit): Check signature.
67523         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
67525 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
67527         strtod: make it more-accurate typically, and don't require libm
67528         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
67529         Include limits.h.  Don't include string.h.
67530         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
67531         (locale_isspace): New function, so that no casts are needed to
67532         check whether *s is a space.
67533         (ldexp): Provide an unused dummy if not available.
67534         (scale_radix_exp, parse_number, underlying_strtod): New functions.
67535         (strtod): Use them.  This implementation prefers to use the
67536         underlying strtod if available, falling back on our own code
67537         only to fix known bugs.  This is more likely to produce an
67538         accurate result.  Also, it avoids the use of libm functions.
67539         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
67540         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
67541         was absent, but it caused a test failure with coreutils.
67542         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
67543         with libm.
67544         * modules/strtod (Makefile.am, Link): libm is no longer needed.
67545         * modules/strtod-tests (Makefile.am): Likewise.
67547 2010-07-11  Pádraig Brady  <P@draigBrady.com>
67548             Bruno Haible  <bruno@clisp.org>
67550         unistr/u8-strchr: Optimize ASCII argument case.
67551         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
67553 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
67555         (x)memcoll: minor tweaks
67556         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
67557         is after the type that it qualifies.
67558         (memcoll0): Likewise.
67559         * lib/memcoll.h (memcoll0): Likewise.
67560         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
67561         * lib/xmemcoll.h (xmemcoll0): Likewise.
67562         * lib/memcoll.c (memcoll0): Correct the comment.  This function
67563         differs from memcoll in that the NUL byte is part of the argument.
67564         Omit the abort-checks, as performance is a real issue here.  Plus,
67565         the checks were wrong anyway (an off-by-one error).  Omit local
67566         variable 'diff', as it's a bit clearer that way.
67567         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
67568         no longer needed.
67570 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
67572         (x)memcoll: speedup when input is known to be NUL delimited
67573         * lib/memcoll.c: Include stdlib.
67574         (memcoll0): New function.
67575         (strcoll_loop): New function, refactored for use in both memcoll
67576         and memcoll0.
67577         * lib/memcoll.h (memcoll0): Add prototype.
67578         * lib/xmemcoll.c (xmemcoll0): New function.
67579         (collate_error): New function, refactored for use in both xmemcoll
67580         and xmemcoll0.
67581         * lib/xmemcoll.h (xmemcoll0): Add prototype.
67582         * m4/memcoll.m4: add inline invocation.
67584 2010-07-06  Pádraig Brady  <P@draigBrady.com>
67586         * build-aux/bootstrap: Remove any local translations
67587         from the translation project synchronization directory,
67588         so that local only translations are not distributed.
67590 2010-07-04  Bruno Haible  <bruno@clisp.org>
67592         fsusage: Clarify which code applies to which platforms.
67593         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
67594         platform.
67595         * lib/fsusage.c (get_fs_usage): Likewise.
67597 2010-07-04  Bruno Haible  <bruno@clisp.org>
67599         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
67600         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
67601         Reported by Martin Lambers <marlam@marlam.de>.
67603 2010-07-04  Jim Meyering  <meyering@redhat.com>
67605         hash: once again explicitly disallow insertion of NULL
67606         * lib/hash.c (hash_insert0): Reinstate just-removed test:
67607         inserting a NULL pointer cannot work with these functions.
67608         Add a comment with details.
67609         This reverts part of the 2010-07-01 commit, 5bef1a35
67610         "hash: extend module to deal with non-pointer keys".
67612 2010-07-01  Bruno Haible  <bruno@clisp.org>
67614         stdbool: Update doc.
67615         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
67616         Info from Christian Weisgerber <naddy@mips.inka.de>.
67618 2010-07-01  Jim Meyering  <meyering@redhat.com>
67620         hash: extend module to deal with non-pointer keys
67621         * lib/hash.c (hash_insert0): New interface, much like hash_insert
67622         but that allows insertion of non-pointer entries.
67623         Do not disallow an ENTRY value of NULL.
67624         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
67625         * lib/hash.h (hash_insert0): Declare.
67627 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
67629         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
67630         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
67631         not present (i.e. with autoconf 2.59 and when using gettextize, not
67632         gnulib), require AC_GNU_SOURCE instead.
67634 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
67636         idpriv-drop: Fix tests.
67637         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
67638         not to the test-idpriv-droptemp program.
67640 2010-06-29  Bruno Haible  <bruno@clisp.org>
67642         string: Fix syntax error with g++ 2.96.
67643         * lib/string.in.h (__pure__): Remove definition.
67644         (_GL_ATTRIBUTE_PURE): New macro.
67645         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
67646         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
67647         Reported by Christian Weisgerber <naddy@mips.inka.de>.
67649 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
67651         unitypes: Fix bug introduced on 2010-05-18.
67652         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
67654 2010-06-22  Eric Blake  <eblake@redhat.com>
67656         memmem: slight optimization
67657         * lib/str-two-way.h (critical_factorization): Update comments.
67658         Reduce work during factorization phase.
67659         Reported by Carlos Bueno <carlos@bueno.org>.
67661 2010-06-21  Bruno Haible  <bruno@clisp.org>
67663         Fix HAVE_CALLOC_POSIX misnomer.
67664         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
67665         !HAVE_CALLOC_POSIX.
67666         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
67667         HAVE_CALLOC_POSIX.
67668         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
67669         instead of HAVE_CALLOC_POSIX.
67670         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
67671         HAVE_CALLOC_POSIX.
67673         Use modern idiom for calloc() replacement.
67674         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
67675         AC_FUNC_CALLOC.
67676         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
67677         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
67678         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67679         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
67680         (gl_REPLACE_CALLOC): New macro.
67682 2010-06-21  Bruno Haible  <bruno@clisp.org>
67684         Fix HAVE_REALLOC_POSIX misnomer.
67685         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
67686         !HAVE_REALLOC_POSIX.
67687         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
67688         HAVE_REALLOC_POSIX.
67689         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
67690         instead of HAVE_REALLOC_POSIX.
67691         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
67692         HAVE_REALLOC_POSIX.
67694         Use modern idiom for realloc() replacement.
67695         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
67696         AC_FUNC_REALLOC.
67697         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
67698         Autoconf's AC_FUNC_REALLOC.
67699         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67700         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
67701         (gl_REPLACE_REALLOC): New macro.
67702         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
67704 2010-06-21  Bruno Haible  <bruno@clisp.org>
67706         Fix HAVE_MALLOC_POSIX misnomer.
67707         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
67708         !HAVE_MALLOC_POSIX.
67709         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
67710         HAVE_MALLOC_POSIX.
67711         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
67712         instead of HAVE_MALLOC_POSIX.
67713         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
67714         HAVE_MALLOC_POSIX.
67716         Use modern idiom for malloc() replacement.
67717         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
67718         AC_FUNC_MALLOC.
67719         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
67720         Autoconf's AC_FUNC_MALLOC.
67721         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67722         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
67723         (gl_REPLACE_MALLOC): New macro.
67724         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
67726 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
67728         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
67729         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
67730         This macro takes 3 arguments, not 4.
67732 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
67734         ipv6: fix detection under mingw
67735         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
67736         in6_addr.
67738 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
67740         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
67741         that strtod() works when cross-compiling to a glibc version known
67742         to work.
67744 2010-06-15  Bruno Haible  <bruno@clisp.org>
67746         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
67748 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
67750         select: Correct timeout.
67751         * lib/select.c (rpl_select): Compute wait_timeout correctly.
67753 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
67755         git-version-gen: init shell var to avoid env var influence
67756         * build-aux/git-version-gen (v): Init shell var to empty.
67758 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
67760         priv-set: Don't assume that priv.h exists merely because getppriv does.
67761         See Jan Andersen's bug report about AIX 5L in
67762         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
67763         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
67764         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
67765         * lib/priv-set.h: Likewise.
67766         * tests/test-priv-set.c: Likewise.
67768 2010-06-13  Bruno Haible  <bruno@clisp.org>
67770         relocatable: Make it easier to test whether to install wrappers.
67771         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
67772         RELOCATABLE_VIA_WRAPPER.
67774 2010-06-13  Bruno Haible  <bruno@clisp.org>
67776         gnulib-tool: Display specified modules and dependencies differently.
67777         * gnulib-tool (func_show_module_list): New function.
67778         (func_import, func_create_testdir): Invoke it.
67779         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
67781 2010-06-13  Bruno Haible  <bruno@clisp.org>
67783         gnulib-tool: Align code of func_import and func_create_testdir.
67784         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
67785         specified_modules.
67787 2010-06-12  Jim Meyering  <meyering@redhat.com>
67789         test-inttostr: avoid spurious failure on Solaris 9
67790         * tests/test-inttostr.c (main): Skip the test when snprintf fails
67791         to accept "%ju".  Reported by Bruno Haible.
67793 2010-06-11  Jim Meyering  <meyering@redhat.com>
67795         test-sys_socket: mark variables as used more readably
67796         * tests/test-sys_socket.c (main): Mark otherwise unused variables
67797         as "used" explicitly via (void) statement casts.  This is more
67798         readable than using them in an artificial return expression.
67799         Suggestion from Bruno Haible.
67801 2010-06-11  Bruno Haible  <bruno@clisp.org>
67803         Avoid some more warnings from "gcc -Wwrite-strings".
67804         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
67805         to 'const char *'.
67806         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
67807         * tests/test-c-strcasestr.c (main): Likewise.
67808         * tests/test-mbscasestr1.c (main): Likewise.
67809         * tests/test-mbscasestr2.c (main): Likewise.
67810         * tests/test-memmem.c (main): Likewise.
67811         * tests/test-strstr.c (main): Likewise.
67812         * tests/test-strcasestr.c (main): Likewise.
67814 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67816         init.sh: change framework_failure_ to fail with status 99, not 1
67817         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
67818         automake's parallel-tests rule that this is an unexpected failure,
67819         even if the test is listed in XFAIL_TESTS.
67821 2010-06-11  Jim Meyering  <meyering@redhat.com>
67823         test-inttostr: avoid warnings about 4-6KB literal strings
67824         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
67825         Include "macros.h", for its definition of ASSERT.
67826         (CK): s/assert/ASSERT/
67827         * modules/inttostr-tests (Files): Add macros.h.
67829         init.sh: don't use $ME_ or skip_ before they are defined
67830         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
67831         their first uses.  Also hoist their companions: warn_, fail_,
67832         framework_failure_, $stderr_fileno.  Prompted by a patch from
67833         Stefano Lattarini.
67835         test-sys_socket: avoid set-but-not-used warnings from gcc
67836         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
67837         avoid warning about set-but-not-used variables.
67839         test-xvasprintf: avoid 'const' discard warnings
67840         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
67841         "const" when assigning from literal strings.
67842         (test_xasprintf): Add "void" in function argument list to placate
67843         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
67845         tests: avoid compilation warnings in argmatch and exclude tests...
67846         in packages that define ARGMATCH_DIE_DECL, like coreutils.
67847         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
67848         Since it always exits, declare with the "noreturn" attribute.
67849         * tests/test-argmatch.c: Likewise.
67851         tests: avoid 'const' discard warnings in mbsstr tests
67852         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
67853         * tests/test-mbsstr2.c (main): Likewise.
67855         test-verify: avoid warning from gcc's -Wmissing-declarations
67856         * tests/test-verify.c (function): Declare to be static.
67858         test-inttostr.c: include <string.h> for use of strcmp
67859         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
67861         test-linkat: avoid failed assertion on "other" architectures
67862         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
67863         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
67864         sparc: https://bugs.launchpad.net/bugs/591968
67866 2010-06-11  Jim Meyering  <meyering@redhat.com>
67868         printf.m4: avoid autoconf's "Expanded Before Required" warning
67869         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
67870         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
67871         autoconf warning.
67873 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
67875         Replacement header templates are now named with ".in", not "_".
67876         * doc/gnulib-intro.texi: Correct.
67878 2010-06-10  Jim Meyering  <meyering@redhat.com>
67880         inttostr-tests: depend on snprintf, not snprintf-posix
67881         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
67882         snprintf-posix, to avoid this aclocal failure:
67883           missing file gnulib-tests/vasnprintf.c
67884           configure.ac:45: error: expected source file, required through \
67885           AC_LIBSOURCES, not found
67887 2010-06-10  Jim Meyering  <meyering@redhat.com>
67889         inttostr: add a new function, inttostr, and tests
67890         The namesake function was not available.  The existence of the
67891         template file, inttostr.c makes its addition nontrivial.
67892         * lib/anytostr.c: Rename from inttostr.c.
67893         (anytostr): Rename from inttostr.
67894         * lib/inttostr.c: New file.
67895         * modules/inttostr (Files): Add anytostr.c.
67896         (Makefile.am): Set lib_SOURCES instead of ...
67897         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
67898         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
67899         * lib/offtostr.c: Likewise.
67900         * lib/uinttostr.c: Likewise.
67901         * lib/umaxtostr.c: Likewise.
67902         * modules/inttostr-tests: New file.
67903         * tests/test-inttostr.c: New file.  Test these functions.
67905 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
67906             Bruno Haible  <bruno@clisp.org>
67908         Add "Extending Gnulib" chapter to manual.
67909         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
67910         chapter.
67911         (Extending Gnulib): New chapter.
67912         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
67913         chapter.
67915 2010-06-09  Bruno Haible  <bruno@clisp.org>
67917         Avoid relocwrapper link errors due to gnulib replacement functions.
67918         * lib/areadlink.c: Use the system's malloc, realloc functions.
67919         (areadlink): Set errno to ENOMEM explicitly.
67920         * modules/areadlink (Depends-on): Remove malloc-posix.
67921         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67923 2010-06-09  Bruno Haible  <bruno@clisp.org>
67925         Avoid relocwrapper link errors due to gnulib replacement functions.
67926         * lib/canonicalize-lgpl.c: Use the system's malloc function.
67927         * lib/malloca.c: Likewise.
67928         * lib/relocatable.c: Likewise.
67929         * lib/progreloc.c: Use the system's malloc, sprintf functions.
67930         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
67931         * lib/setenv.c: Use the system's malloc, realloc functions.
67932         * lib/strerror.c: Use the system's sprintf function.
67933         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67935 2010-06-04  Bruno Haible  <bruno@clisp.org>
67937         Prefer documented low-level autoconf macro names.
67938         * m4/lib-link.m4: Use m4_translit instead of translit.
67939         * m4/environ.m4: Likewise.
67940         * m4/mathfunc.m4: Likewise.
67941         * m4/onceonly.m4: Likewise.
67942         * m4/stdint.m4: Likewise.
67943         Suggested by Eric Blake.
67945 2010-06-04  Martin Lambers  <marlam@marlam.de>
67946             Bruno Haible  <bruno@clisp.org>
67948         havelib: Allow library names with '+' characters.
67949         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
67950         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
67952 2010-06-09  Bruno Haible  <bruno@clisp.org>
67954         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
67955         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
67956         realloc failed.
67958 2010-06-08  Peter Simons  <simons@cryp.to>
67960         maint.mk: make the news-check rule more configurable
67961         * top/maint.mk (news-check-lines-spec): New variable.
67962         (news-check): Use "sed -n 1,10p" in place of "head".
67964 2010-06-07  Jim Meyering  <meyering@redhat.com>
67966         do-release-commit-and-tag: fix typo in --help
67967         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
67969         regex: avoid new dead-code warning with gcc-4.6.0
67970         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
67971         if-block containing a while-loop.  It's been unused for at least
67972         5 years.
67974 2010-06-05  Bruno Haible  <bruno@clisp.org>
67976         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
67977         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
67979 2010-06-04  Bruno Haible  <bruno@clisp.org>
67981         Update to GNU gettext 0.18.1.
67982         * modules/gettext (configure.ac): Require gettext infrastructure from
67983         version 0.18.1.
67985 2010-06-03  Bruno Haible  <bruno@clisp.org>
67987         Don't use AC_LIBOBJ with file names in subdirectories.
67988         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
67989         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
67990         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
67991         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
67992         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
67993         gl_LIBUNISTRING_LIBSOURCE.
67994         (Makefile.am): Augment lib_SOURCES here, conditionally.
67995         * NEWS: Drop requirement for Automake option 'subdir-objects'.
67997 2010-06-03  Bruno Haible  <bruno@clisp.org>
67999         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
68000         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
68001         expansion does not end with a newline.
68002         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
68003         unnecessary newline.
68005 2010-06-03  Bruno Haible  <bruno@clisp.org>
68007         Reduce dependencies.
68008         * tests/test-quotearg.h: New file, extracted from
68009         tests/test-quotearg.c.
68010         * tests/test-quotearg-simple.c: New file, extracted from
68011         tests/test-quotearg.c.
68012         * tests/test-quotearg.c: Don't include <ctype.h>.
68013         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
68014         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
68015         use_quote_double_quotes, use_quotearg_colon): Moved to
68016         tests/test-quotearg.h.
68017         (results_g, flag_results, custom_quotes, custom_results): Moved
68018         to tests/test-quotearg-simple.c.
68019         (main): Moved the part that does not depend on gettext to
68020         tests/test-quotearg-simple.c. Return 77 if the test cannot be
68021         performed.
68022         * modules/quotearg-simple: New file.
68023         * modules/quotearg-simple-tests: New file.
68024         * modules/quotearg (Depends-on): Add quotearg-simple.
68025         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
68026         (Files): Add tests/test-quotearg.h.
68027         Reported by Paolo Bonzini.
68029 2010-06-03  Bruno Haible  <bruno@clisp.org>
68031         Reduce dependencies.
68032         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
68034 2010-06-03  Bruno Haible  <bruno@clisp.org>
68036         time: Undefine more broken macros.
68037         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
68038         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
68039         Reported by Eric Blake.
68041 2010-06-03  Bruno Haible  <bruno@clisp.org>
68043         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
68044         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
68045         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
68046         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
68047         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
68048         Reported by Ludovic Courtès <ludo@gnu.org>.
68050 2010-06-02  Eric Blake  <eblake@redhat.com>
68052         time: work with mingw + pthreads-win32 library
68053         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
68054         if timespec is defined only in pthread.h.
68055         * modules/time (Makefile.am): Substitute it.
68056         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
68057         <pthread.h>, when needed.
68058         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
68059         from the library.
68061 2010-05-31  Bruno Haible  <bruno@clisp.org>
68063         Avoid expanding two macros in the wrong order.
68064         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
68065         gl_LIBUNISTRING if it is defined.
68066         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
68067         autoconf >= 2.64.
68068         Reported by Ludovic Courtès <ludo@gnu.org>.
68070 2010-05-27  Jim Meyering  <meyering@redhat.com>
68072         maint.mk: also prohibit "#undef" of always-defined symbols
68073         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
68074         Allow more than one space before the symbol name.
68075         (sc_prohibit_always-defined_macros): Use grep's -E, now that
68076         the regexp uses alternation.
68078 2010-05-26  Eric Blake  <eblake@redhat.com>
68080         maint.mk: avoid echo -e
68081         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
68082         Convert all uses of echo -* to printf.
68083         Reported by Matthias Bolte.
68085 2010-05-25  Bruno Haible  <bruno@clisp.org>
68087         Update to GNU gettext 0.18, part 2.
68088         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
68089         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
68091 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68093         Add missing include in test-pwrite.c.
68094         * tests/test-pwrite.c: Include string.h, for strcmp.
68096 2010-05-24  Bruno Haible  <bruno@clisp.org>
68098         * NEWS: Mention requirement for Automake option 'subdir-objects'.
68100 2010-05-24  Bruno Haible  <bruno@clisp.org>
68102         Don't use conversion with transliteration in u{8,16,32}_strcoll.
68103         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
68104         iconveh_error argument.
68105         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
68106         U_STRCONV_TO_LOCALE.
68107         * lib/unistr/u16-strcoll.c: Likewise.
68108         * lib/unistr/u32-strcoll.c: Likewise.
68109         * modules/unistr/u8-strcoll (Depends-on): Add
68110         uniconv/u8-strconv-to-enc, localcharset. Remove
68111         uniconv/u8-strconv-to-locale.
68112         (configure.ac): Bump version number.
68113         * modules/unistr/u16-strcoll (Depends-on): Add
68114         uniconv/u16-strconv-to-enc, localcharset. Remove
68115         uniconv/u16-strconv-to-locale.
68116         (configure.ac): Bump version number.
68117         * modules/unistr/u32-strcoll (Depends-on): Add
68118         uniconv/u32-strconv-to-enc, localcharset. Remove
68119         uniconv/u32-strconv-to-locale.
68120         (configure.ac): Bump version number.
68122 2010-05-24  Bruno Haible  <bruno@clisp.org>
68124         Avoid a test failure on NetBSD 5.0.
68125         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
68126         an iconv() bug.
68128 2010-05-24  Bruno Haible  <bruno@clisp.org>
68130         Adjust #include directive style.
68131         * modules/regex (Includes): Recommend to write <regex.h>.
68133 2010-05-24  Bruno Haible  <bruno@clisp.org>
68135         regex: Don't require alloca.
68136         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
68137         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
68138         only inside if (0).
68140 2010-05-23  Jim Meyering  <meyering@redhat.com>
68142         test-renameat.c: include <sys/stat.h>
68143         * tests/test-renameat.c: Include <sys/stat.h>; required for
68144         definition of S_IS* macros.
68146 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
68148         Update maintainer documentation for 'relocatable-prog' module.
68149         * doc/relocatable-maint.texi: Update.
68150         Comments by Bruno Haible.
68152 2010-05-23  Bruno Haible  <bruno@clisp.org>
68154         git-merge-changelog: Enable --split-merged-entry by default.
68155         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
68156         (usage): Don't mention this option any more.
68157         Reported by Ralf Wildenhues.
68159 2010-05-23  Jim Meyering  <meyering@redhat.com>
68161         test-pwrite: do not leave behind a test file named "out"
68162         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
68163         The trivial-looking use of init.sh is really necessary.
68164         It ensures that the temporary file, "out", is created in
68165         a temporary directory, and removed upon termination.
68166         * tests/test-pwrite.sh: Re-add file.
68167         * modules/pwrite-tests: Reference it.
68169 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68171         Fix output redirection buglet in init.sh.
68172         * tests/init.sh: Fix redirection of stderr.
68174 2010-05-20  Simon Josefsson  <simon@josefsson.org>
68176         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
68178 2010-05-17  Simon Josefsson  <simon@josefsson.org>
68180         * modules/valgrind-tests: New file.
68181         * m4/valgrind-tests.m4: New file.
68182         * doc/valgrind-tests.texi: New file.
68183         * doc/gnulib.texi (Running self-tests under valgrind): New
68184         section.
68186 2010-05-19  Bruno Haible  <bruno@clisp.org>
68188         Clean up dead code in recent commit.
68189         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
68190         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
68191         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
68192         Suggested by Paolo Bonzini.
68194 2010-05-19  Bruno Haible  <bruno@clisp.org>
68196         Avoid valgrind error reports from libunistring.
68197         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
68198         * modules/libunistring (Files): Add it.
68199         * modules/libunistring-optional (Files): Likewise.
68201 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
68202             Bruno Haible  <bruno@clisp.org>
68204         New module 'libunistring-optional'.
68205         * modules/libunistring-optional: New file.
68206         * m4/libunistring-base.m4: New file.
68207         * m4/libunistring-optional.m4: New file.
68208         * lib/unicase.in.h: Renamed from lib/unicase.h.
68209         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
68210         * lib/unictype.in.h: Renamed from lib/unictype.h.
68211         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
68212         * lib/uniname.in.h: Renamed from lib/uniname.h.
68213         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
68214         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
68215         * lib/unistr.in.h: Renamed from lib/unistr.h.
68216         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
68217         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
68218         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
68219         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
68220         gl_LIBUNISTRING. If the library was found, determine the installed
68221         version and set LIBUNISTRING_VERSION.
68222         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
68223         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
68224         handle a configuration option --with-included-libunistring.
68225         * modules/libunistring (Files): Add m4/absolute-header.m4.
68226         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
68227         Add m4/libunistring-base.m4.
68228         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68229         (Makefile.am): Build unicase.h from unicase.in.h.
68230         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
68231         Add m4/libunistring-base.m4.
68232         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68233         (Makefile.am): Build uniconv.h from uniconv.in.h.
68234         * modules/unictype/base (Files): Use unictype.in.h instead of
68235         unictype.h. Add m4/libunistring-base.m4.
68236         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68237         (Makefile.am): Build unictype.h from unictype.in.h.
68238         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
68239         Add m4/libunistring-base.m4.
68240         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68241         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
68242         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
68243         Add m4/libunistring-base.m4.
68244         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68245         (Makefile.am): Build uniname.h from uniname.in.h.
68246         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
68247         Add m4/libunistring-base.m4.
68248         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68249         (Makefile.am): Build uninorm.h from uninorm.in.h.
68250         * modules/unistdio/base (Files): Use unistdio.in.h instead of
68251         unistdio.h. Add m4/libunistring-base.m4.
68252         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68253         (Makefile.am): Build unistdio.h from unistdio.in.h.
68254         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
68255         Add m4/libunistring-base.m4.
68256         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68257         (Makefile.am): Build unistr.h from unistr.in.h.
68258         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
68259         Add m4/libunistring-base.m4.
68260         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68261         (Makefile.am): Build unitypes.h from unitypes.in.h.
68262         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
68263         Add m4/libunistring-base.m4.
68264         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68265         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
68266         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
68267         uniwidth.h. Add m4/libunistring-base.m4.
68268         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
68269         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
68270         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
68271         instead of augmenting lib_SOURCES.
68272         * modules/unicase/empty-suffix-context: Likewise.
68273         * modules/unicase/locale-language: Likewise.
68274         * modules/unicase/tolower: Likewise.
68275         * modules/unicase/totitle: Likewise.
68276         * modules/unicase/toupper: Likewise.
68277         * modules/unicase/u8-casecmp: Likewise.
68278         * modules/unicase/u8-casecoll: Likewise.
68279         * modules/unicase/u8-casefold: Likewise.
68280         * modules/unicase/u8-casexfrm: Likewise.
68281         * modules/unicase/u8-ct-casefold: Likewise.
68282         * modules/unicase/u8-ct-tolower: Likewise.
68283         * modules/unicase/u8-ct-totitle: Likewise.
68284         * modules/unicase/u8-ct-toupper: Likewise.
68285         * modules/unicase/u8-is-cased: Likewise.
68286         * modules/unicase/u8-is-casefolded: Likewise.
68287         * modules/unicase/u8-is-lowercase: Likewise.
68288         * modules/unicase/u8-is-titlecase: Likewise.
68289         * modules/unicase/u8-is-uppercase: Likewise.
68290         * modules/unicase/u8-prefix-context: Likewise.
68291         * modules/unicase/u8-suffix-context: Likewise.
68292         * modules/unicase/u8-tolower: Likewise.
68293         * modules/unicase/u8-totitle: Likewise.
68294         * modules/unicase/u8-toupper: Likewise.
68295         * modules/unicase/u16-casecmp: Likewise.
68296         * modules/unicase/u16-casecoll: Likewise.
68297         * modules/unicase/u16-casefold: Likewise.
68298         * modules/unicase/u16-casexfrm: Likewise.
68299         * modules/unicase/u16-ct-casefold: Likewise.
68300         * modules/unicase/u16-ct-tolower: Likewise.
68301         * modules/unicase/u16-ct-totitle: Likewise.
68302         * modules/unicase/u16-ct-toupper: Likewise.
68303         * modules/unicase/u16-is-cased: Likewise.
68304         * modules/unicase/u16-is-casefolded: Likewise.
68305         * modules/unicase/u16-is-lowercase: Likewise.
68306         * modules/unicase/u16-is-titlecase: Likewise.
68307         * modules/unicase/u16-is-uppercase: Likewise.
68308         * modules/unicase/u16-prefix-context: Likewise.
68309         * modules/unicase/u16-suffix-context: Likewise.
68310         * modules/unicase/u16-tolower: Likewise.
68311         * modules/unicase/u16-totitle: Likewise.
68312         * modules/unicase/u16-toupper: Likewise.
68313         * modules/unicase/u32-casecmp: Likewise.
68314         * modules/unicase/u32-casecoll: Likewise.
68315         * modules/unicase/u32-casefold: Likewise.
68316         * modules/unicase/u32-casexfrm: Likewise.
68317         * modules/unicase/u32-ct-casefold: Likewise.
68318         * modules/unicase/u32-ct-tolower: Likewise.
68319         * modules/unicase/u32-ct-totitle: Likewise.
68320         * modules/unicase/u32-ct-toupper: Likewise.
68321         * modules/unicase/u32-is-cased: Likewise.
68322         * modules/unicase/u32-is-casefolded: Likewise.
68323         * modules/unicase/u32-is-lowercase: Likewise.
68324         * modules/unicase/u32-is-titlecase: Likewise.
68325         * modules/unicase/u32-is-uppercase: Likewise.
68326         * modules/unicase/u32-prefix-context: Likewise.
68327         * modules/unicase/u32-suffix-context: Likewise.
68328         * modules/unicase/u32-tolower: Likewise.
68329         * modules/unicase/u32-totitle: Likewise.
68330         * modules/unicase/u32-toupper: Likewise.
68331         * modules/unicase/ulc-casecmp: Likewise.
68332         * modules/unicase/ulc-casecoll: Likewise.
68333         * modules/unicase/ulc-casexfrm: Likewise.
68334         * modules/uniconv/u8-conv-from-enc: Likewise.
68335         * modules/uniconv/u8-conv-to-enc: Likewise.
68336         * modules/uniconv/u8-strconv-from-enc: Likewise.
68337         * modules/uniconv/u8-strconv-from-locale: Likewise.
68338         * modules/uniconv/u8-strconv-to-enc: Likewise.
68339         * modules/uniconv/u8-strconv-to-locale: Likewise.
68340         * modules/uniconv/u16-conv-from-enc: Likewise.
68341         * modules/uniconv/u16-conv-to-enc: Likewise.
68342         * modules/uniconv/u16-strconv-from-enc: Likewise.
68343         * modules/uniconv/u16-strconv-from-locale: Likewise.
68344         * modules/uniconv/u16-strconv-to-enc: Likewise.
68345         * modules/uniconv/u16-strconv-to-locale: Likewise.
68346         * modules/uniconv/u32-conv-from-enc: Likewise.
68347         * modules/uniconv/u32-conv-to-enc: Likewise.
68348         * modules/uniconv/u32-strconv-from-enc: Likewise.
68349         * modules/uniconv/u32-strconv-from-locale: Likewise.
68350         * modules/uniconv/u32-strconv-to-enc: Likewise.
68351         * modules/uniconv/u32-strconv-to-locale: Likewise.
68352         * modules/unictype/bidicategory-byname: Likewise.
68353         * modules/unictype/bidicategory-name: Likewise.
68354         * modules/unictype/bidicategory-of: Likewise.
68355         * modules/unictype/bidicategory-test: Likewise.
68356         * modules/unictype/block-list: Likewise.
68357         * modules/unictype/block-test: Likewise.
68358         * modules/unictype/category-C: Likewise.
68359         * modules/unictype/category-Cc: Likewise.
68360         * modules/unictype/category-Cf: Likewise.
68361         * modules/unictype/category-Cn: Likewise.
68362         * modules/unictype/category-Co: Likewise.
68363         * modules/unictype/category-Cs: Likewise.
68364         * modules/unictype/category-L: Likewise.
68365         * modules/unictype/category-Ll: Likewise.
68366         * modules/unictype/category-Lm: Likewise.
68367         * modules/unictype/category-Lo: Likewise.
68368         * modules/unictype/category-Lt: Likewise.
68369         * modules/unictype/category-Lu: Likewise.
68370         * modules/unictype/category-M: Likewise.
68371         * modules/unictype/category-Mc: Likewise.
68372         * modules/unictype/category-Me: Likewise.
68373         * modules/unictype/category-Mn: Likewise.
68374         * modules/unictype/category-N: Likewise.
68375         * modules/unictype/category-Nd: Likewise.
68376         * modules/unictype/category-Nl: Likewise.
68377         * modules/unictype/category-No: Likewise.
68378         * modules/unictype/category-P: Likewise.
68379         * modules/unictype/category-Pc: Likewise.
68380         * modules/unictype/category-Pd: Likewise.
68381         * modules/unictype/category-Pe: Likewise.
68382         * modules/unictype/category-Pf: Likewise.
68383         * modules/unictype/category-Pi: Likewise.
68384         * modules/unictype/category-Po: Likewise.
68385         * modules/unictype/category-Ps: Likewise.
68386         * modules/unictype/category-S: Likewise.
68387         * modules/unictype/category-Sc: Likewise.
68388         * modules/unictype/category-Sk: Likewise.
68389         * modules/unictype/category-Sm: Likewise.
68390         * modules/unictype/category-So: Likewise.
68391         * modules/unictype/category-Z: Likewise.
68392         * modules/unictype/category-Zl: Likewise.
68393         * modules/unictype/category-Zp: Likewise.
68394         * modules/unictype/category-Zs: Likewise.
68395         * modules/unictype/category-and: Likewise.
68396         * modules/unictype/category-and-not: Likewise.
68397         * modules/unictype/category-byname: Likewise.
68398         * modules/unictype/category-name: Likewise.
68399         * modules/unictype/category-none: Likewise.
68400         * modules/unictype/category-of: Likewise.
68401         * modules/unictype/category-or: Likewise.
68402         * modules/unictype/category-test: Likewise.
68403         * modules/unictype/combining-class: Likewise.
68404         * modules/unictype/ctype-alnum: Likewise.
68405         * modules/unictype/ctype-alpha: Likewise.
68406         * modules/unictype/ctype-blank: Likewise.
68407         * modules/unictype/ctype-cntrl: Likewise.
68408         * modules/unictype/ctype-digit: Likewise.
68409         * modules/unictype/ctype-graph: Likewise.
68410         * modules/unictype/ctype-lower: Likewise.
68411         * modules/unictype/ctype-print: Likewise.
68412         * modules/unictype/ctype-punct: Likewise.
68413         * modules/unictype/ctype-space: Likewise.
68414         * modules/unictype/ctype-upper: Likewise.
68415         * modules/unictype/ctype-xdigit: Likewise.
68416         * modules/unictype/decimal-digit: Likewise.
68417         * modules/unictype/digit: Likewise.
68418         * modules/unictype/mirror: Likewise.
68419         * modules/unictype/numeric: Likewise.
68420         * modules/unictype/property-alphabetic: Likewise.
68421         * modules/unictype/property-ascii-hex-digit: Likewise.
68422         * modules/unictype/property-bidi-arabic-digit: Likewise.
68423         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
68424         * modules/unictype/property-bidi-block-separator: Likewise.
68425         * modules/unictype/property-bidi-boundary-neutral: Likewise.
68426         * modules/unictype/property-bidi-common-separator: Likewise.
68427         * modules/unictype/property-bidi-control: Likewise.
68428         * modules/unictype/property-bidi-embedding-or-override: Likewise.
68429         * modules/unictype/property-bidi-eur-num-separator: Likewise.
68430         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
68431         * modules/unictype/property-bidi-european-digit: Likewise.
68432         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
68433         * modules/unictype/property-bidi-left-to-right: Likewise.
68434         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
68435         * modules/unictype/property-bidi-other-neutral: Likewise.
68436         * modules/unictype/property-bidi-pdf: Likewise.
68437         * modules/unictype/property-bidi-segment-separator: Likewise.
68438         * modules/unictype/property-bidi-whitespace: Likewise.
68439         * modules/unictype/property-byname: Likewise.
68440         * modules/unictype/property-combining: Likewise.
68441         * modules/unictype/property-composite: Likewise.
68442         * modules/unictype/property-currency-symbol: Likewise.
68443         * modules/unictype/property-dash: Likewise.
68444         * modules/unictype/property-decimal-digit: Likewise.
68445         * modules/unictype/property-default-ignorable-code-point: Likewise.
68446         * modules/unictype/property-deprecated: Likewise.
68447         * modules/unictype/property-diacritic: Likewise.
68448         * modules/unictype/property-extender: Likewise.
68449         * modules/unictype/property-format-control: Likewise.
68450         * modules/unictype/property-grapheme-base: Likewise.
68451         * modules/unictype/property-grapheme-extend: Likewise.
68452         * modules/unictype/property-grapheme-link: Likewise.
68453         * modules/unictype/property-hex-digit: Likewise.
68454         * modules/unictype/property-hyphen: Likewise.
68455         * modules/unictype/property-id-continue: Likewise.
68456         * modules/unictype/property-id-start: Likewise.
68457         * modules/unictype/property-ideographic: Likewise.
68458         * modules/unictype/property-ids-binary-operator: Likewise.
68459         * modules/unictype/property-ids-trinary-operator: Likewise.
68460         * modules/unictype/property-ignorable-control: Likewise.
68461         * modules/unictype/property-iso-control: Likewise.
68462         * modules/unictype/property-join-control: Likewise.
68463         * modules/unictype/property-left-of-pair: Likewise.
68464         * modules/unictype/property-line-separator: Likewise.
68465         * modules/unictype/property-logical-order-exception: Likewise.
68466         * modules/unictype/property-lowercase: Likewise.
68467         * modules/unictype/property-math: Likewise.
68468         * modules/unictype/property-non-break: Likewise.
68469         * modules/unictype/property-not-a-character: Likewise.
68470         * modules/unictype/property-numeric: Likewise.
68471         * modules/unictype/property-other-alphabetic: Likewise.
68472         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
68473         * modules/unictype/property-other-grapheme-extend: Likewise.
68474         * modules/unictype/property-other-id-continue: Likewise.
68475         * modules/unictype/property-other-id-start: Likewise.
68476         * modules/unictype/property-other-lowercase: Likewise.
68477         * modules/unictype/property-other-math: Likewise.
68478         * modules/unictype/property-other-uppercase: Likewise.
68479         * modules/unictype/property-paired-punctuation: Likewise.
68480         * modules/unictype/property-paragraph-separator: Likewise.
68481         * modules/unictype/property-pattern-syntax: Likewise.
68482         * modules/unictype/property-pattern-white-space: Likewise.
68483         * modules/unictype/property-private-use: Likewise.
68484         * modules/unictype/property-punctuation: Likewise.
68485         * modules/unictype/property-quotation-mark: Likewise.
68486         * modules/unictype/property-radical: Likewise.
68487         * modules/unictype/property-sentence-terminal: Likewise.
68488         * modules/unictype/property-soft-dotted: Likewise.
68489         * modules/unictype/property-space: Likewise.
68490         * modules/unictype/property-terminal-punctuation: Likewise.
68491         * modules/unictype/property-test: Likewise.
68492         * modules/unictype/property-titlecase: Likewise.
68493         * modules/unictype/property-unassigned-code-value: Likewise.
68494         * modules/unictype/property-unified-ideograph: Likewise.
68495         * modules/unictype/property-uppercase: Likewise.
68496         * modules/unictype/property-variation-selector: Likewise.
68497         * modules/unictype/property-white-space: Likewise.
68498         * modules/unictype/property-xid-continue: Likewise.
68499         * modules/unictype/property-xid-start: Likewise.
68500         * modules/unictype/property-zero-width: Likewise.
68501         * modules/unictype/scripts: Likewise.
68502         * modules/unictype/syntax-c-ident: Likewise.
68503         * modules/unictype/syntax-c-whitespace: Likewise.
68504         * modules/unictype/syntax-java-ident: Likewise.
68505         * modules/unictype/syntax-java-whitespace: Likewise.
68506         * modules/unilbrk/u8-possible-linebreaks: Likewise.
68507         * modules/unilbrk/u8-width-linebreaks: Likewise.
68508         * modules/unilbrk/u16-possible-linebreaks: Likewise.
68509         * modules/unilbrk/u16-width-linebreaks: Likewise.
68510         * modules/unilbrk/u32-possible-linebreaks: Likewise.
68511         * modules/unilbrk/u32-width-linebreaks: Likewise.
68512         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
68513         * modules/unilbrk/ulc-width-linebreaks: Likewise.
68514         * modules/uniname/uniname: Likewise.
68515         * modules/uninorm/canonical-decomposition: Likewise.
68516         * modules/uninorm/composition: Likewise.
68517         * modules/uninorm/decomposing-form: Likewise.
68518         * modules/uninorm/decomposition: Likewise.
68519         * modules/uninorm/filter: Likewise.
68520         * modules/uninorm/nfc: Likewise.
68521         * modules/uninorm/nfd: Likewise.
68522         * modules/uninorm/nfkc: Likewise.
68523         * modules/uninorm/nfkd: Likewise.
68524         * modules/uninorm/u8-normalize: Likewise.
68525         * modules/uninorm/u8-normcmp: Likewise.
68526         * modules/uninorm/u8-normcoll: Likewise.
68527         * modules/uninorm/u8-normxfrm: Likewise.
68528         * modules/uninorm/u16-normalize: Likewise.
68529         * modules/uninorm/u16-normcmp: Likewise.
68530         * modules/uninorm/u16-normcoll: Likewise.
68531         * modules/uninorm/u16-normxfrm: Likewise.
68532         * modules/uninorm/u32-normalize: Likewise.
68533         * modules/uninorm/u32-normcmp: Likewise.
68534         * modules/uninorm/u32-normcoll: Likewise.
68535         * modules/uninorm/u32-normxfrm: Likewise.
68536         * modules/unistdio/u8-asnprintf: Likewise.
68537         * modules/unistdio/u8-asprintf: Likewise.
68538         * modules/unistdio/u8-snprintf: Likewise.
68539         * modules/unistdio/u8-sprintf: Likewise.
68540         * modules/unistdio/u8-u8-asnprintf: Likewise.
68541         * modules/unistdio/u8-u8-asprintf: Likewise.
68542         * modules/unistdio/u8-u8-snprintf: Likewise.
68543         * modules/unistdio/u8-u8-sprintf: Likewise.
68544         * modules/unistdio/u8-u8-vasnprintf: Likewise.
68545         * modules/unistdio/u8-u8-vasprintf: Likewise.
68546         * modules/unistdio/u8-u8-vsnprintf: Likewise.
68547         * modules/unistdio/u8-u8-vsprintf: Likewise.
68548         * modules/unistdio/u8-vasnprintf: Likewise.
68549         * modules/unistdio/u8-vasprintf: Likewise.
68550         * modules/unistdio/u8-vsnprintf: Likewise.
68551         * modules/unistdio/u8-vsprintf: Likewise.
68552         * modules/unistdio/u16-asnprintf: Likewise.
68553         * modules/unistdio/u16-asprintf: Likewise.
68554         * modules/unistdio/u16-snprintf: Likewise.
68555         * modules/unistdio/u16-sprintf: Likewise.
68556         * modules/unistdio/u16-u16-asnprintf: Likewise.
68557         * modules/unistdio/u16-u16-asprintf: Likewise.
68558         * modules/unistdio/u16-u16-snprintf: Likewise.
68559         * modules/unistdio/u16-u16-sprintf: Likewise.
68560         * modules/unistdio/u16-u16-vasnprintf: Likewise.
68561         * modules/unistdio/u16-u16-vasprintf: Likewise.
68562         * modules/unistdio/u16-u16-vsnprintf: Likewise.
68563         * modules/unistdio/u16-u16-vsprintf: Likewise.
68564         * modules/unistdio/u16-vasnprintf: Likewise.
68565         * modules/unistdio/u16-vasprintf: Likewise.
68566         * modules/unistdio/u16-vsnprintf: Likewise.
68567         * modules/unistdio/u16-vsprintf: Likewise.
68568         * modules/unistdio/u32-asnprintf: Likewise.
68569         * modules/unistdio/u32-asprintf: Likewise.
68570         * modules/unistdio/u32-snprintf: Likewise.
68571         * modules/unistdio/u32-sprintf: Likewise.
68572         * modules/unistdio/u32-u32-asnprintf: Likewise.
68573         * modules/unistdio/u32-u32-asprintf: Likewise.
68574         * modules/unistdio/u32-u32-snprintf: Likewise.
68575         * modules/unistdio/u32-u32-sprintf: Likewise.
68576         * modules/unistdio/u32-u32-vasnprintf: Likewise.
68577         * modules/unistdio/u32-u32-vasprintf: Likewise.
68578         * modules/unistdio/u32-u32-vsnprintf: Likewise.
68579         * modules/unistdio/u32-u32-vsprintf: Likewise.
68580         * modules/unistdio/u32-vasnprintf: Likewise.
68581         * modules/unistdio/u32-vasprintf: Likewise.
68582         * modules/unistdio/u32-vsnprintf: Likewise.
68583         * modules/unistdio/u32-vsprintf: Likewise.
68584         * modules/unistdio/ulc-asnprintf: Likewise.
68585         * modules/unistdio/ulc-asprintf: Likewise.
68586         * modules/unistdio/ulc-fprintf: Likewise.
68587         * modules/unistdio/ulc-snprintf: Likewise.
68588         * modules/unistdio/ulc-sprintf: Likewise.
68589         * modules/unistdio/ulc-vasnprintf: Likewise.
68590         * modules/unistdio/ulc-vasprintf: Likewise.
68591         * modules/unistdio/ulc-vfprintf: Likewise.
68592         * modules/unistdio/ulc-vsnprintf: Likewise.
68593         * modules/unistdio/ulc-vsprintf: Likewise.
68594         * modules/unistr/u8-check: Likewise.
68595         * modules/unistr/u8-chr: Likewise.
68596         * modules/unistr/u8-cmp: Likewise.
68597         * modules/unistr/u8-cmp2: Likewise.
68598         * modules/unistr/u8-cpy: Likewise.
68599         * modules/unistr/u8-cpy-alloc: Likewise.
68600         * modules/unistr/u8-endswith: Likewise.
68601         * modules/unistr/u8-mblen: Likewise.
68602         * modules/unistr/u8-mbsnlen: Likewise.
68603         * modules/unistr/u8-mbtouc: Likewise.
68604         * modules/unistr/u8-mbtouc-unsafe: Likewise.
68605         * modules/unistr/u8-mbtoucr: Likewise.
68606         * modules/unistr/u8-move: Likewise.
68607         * modules/unistr/u8-next: Likewise.
68608         * modules/unistr/u8-prev: Likewise.
68609         * modules/unistr/u8-set: Likewise.
68610         * modules/unistr/u8-startswith: Likewise.
68611         * modules/unistr/u8-stpcpy: Likewise.
68612         * modules/unistr/u8-stpncpy: Likewise.
68613         * modules/unistr/u8-strcat: Likewise.
68614         * modules/unistr/u8-strchr: Likewise.
68615         * modules/unistr/u8-strcmp: Likewise.
68616         * modules/unistr/u8-strcoll: Likewise.
68617         * modules/unistr/u8-strcpy: Likewise.
68618         * modules/unistr/u8-strcspn: Likewise.
68619         * modules/unistr/u8-strdup: Likewise.
68620         * modules/unistr/u8-strlen: Likewise.
68621         * modules/unistr/u8-strmblen: Likewise.
68622         * modules/unistr/u8-strmbtouc: Likewise.
68623         * modules/unistr/u8-strncat: Likewise.
68624         * modules/unistr/u8-strncmp: Likewise.
68625         * modules/unistr/u8-strncpy: Likewise.
68626         * modules/unistr/u8-strnlen: Likewise.
68627         * modules/unistr/u8-strpbrk: Likewise.
68628         * modules/unistr/u8-strrchr: Likewise.
68629         * modules/unistr/u8-strspn: Likewise.
68630         * modules/unistr/u8-strstr: Likewise.
68631         * modules/unistr/u8-strtok: Likewise.
68632         * modules/unistr/u8-to-u16: Likewise.
68633         * modules/unistr/u8-to-u32: Likewise.
68634         * modules/unistr/u8-uctomb: Likewise.
68635         * modules/unistr/u16-check: Likewise.
68636         * modules/unistr/u16-chr: Likewise.
68637         * modules/unistr/u16-cmp: Likewise.
68638         * modules/unistr/u16-cmp2: Likewise.
68639         * modules/unistr/u16-cpy: Likewise.
68640         * modules/unistr/u16-cpy-alloc: Likewise.
68641         * modules/unistr/u16-endswith: Likewise.
68642         * modules/unistr/u16-mblen: Likewise.
68643         * modules/unistr/u16-mbsnlen: Likewise.
68644         * modules/unistr/u16-mbtouc: Likewise.
68645         * modules/unistr/u16-mbtouc-unsafe: Likewise.
68646         * modules/unistr/u16-mbtoucr: Likewise.
68647         * modules/unistr/u16-move: Likewise.
68648         * modules/unistr/u16-next: Likewise.
68649         * modules/unistr/u16-prev: Likewise.
68650         * modules/unistr/u16-set: Likewise.
68651         * modules/unistr/u16-startswith: Likewise.
68652         * modules/unistr/u16-stpcpy: Likewise.
68653         * modules/unistr/u16-stpncpy: Likewise.
68654         * modules/unistr/u16-strcat: Likewise.
68655         * modules/unistr/u16-strchr: Likewise.
68656         * modules/unistr/u16-strcmp: Likewise.
68657         * modules/unistr/u16-strcoll: Likewise.
68658         * modules/unistr/u16-strcpy: Likewise.
68659         * modules/unistr/u16-strcspn: Likewise.
68660         * modules/unistr/u16-strdup: Likewise.
68661         * modules/unistr/u16-strlen: Likewise.
68662         * modules/unistr/u16-strmblen: Likewise.
68663         * modules/unistr/u16-strmbtouc: Likewise.
68664         * modules/unistr/u16-strncat: Likewise.
68665         * modules/unistr/u16-strncmp: Likewise.
68666         * modules/unistr/u16-strncpy: Likewise.
68667         * modules/unistr/u16-strnlen: Likewise.
68668         * modules/unistr/u16-strpbrk: Likewise.
68669         * modules/unistr/u16-strrchr: Likewise.
68670         * modules/unistr/u16-strspn: Likewise.
68671         * modules/unistr/u16-strstr: Likewise.
68672         * modules/unistr/u16-strtok: Likewise.
68673         * modules/unistr/u16-to-u32: Likewise.
68674         * modules/unistr/u16-to-u8: Likewise.
68675         * modules/unistr/u16-uctomb: Likewise.
68676         * modules/unistr/u32-check: Likewise.
68677         * modules/unistr/u32-chr: Likewise.
68678         * modules/unistr/u32-cmp: Likewise.
68679         * modules/unistr/u32-cmp2: Likewise.
68680         * modules/unistr/u32-cpy: Likewise.
68681         * modules/unistr/u32-cpy-alloc: Likewise.
68682         * modules/unistr/u32-endswith: Likewise.
68683         * modules/unistr/u32-mblen: Likewise.
68684         * modules/unistr/u32-mbsnlen: Likewise.
68685         * modules/unistr/u32-mbtouc: Likewise.
68686         * modules/unistr/u32-mbtouc-unsafe: Likewise.
68687         * modules/unistr/u32-mbtoucr: Likewise.
68688         * modules/unistr/u32-move: Likewise.
68689         * modules/unistr/u32-next: Likewise.
68690         * modules/unistr/u32-prev: Likewise.
68691         * modules/unistr/u32-set: Likewise.
68692         * modules/unistr/u32-startswith: Likewise.
68693         * modules/unistr/u32-stpcpy: Likewise.
68694         * modules/unistr/u32-stpncpy: Likewise.
68695         * modules/unistr/u32-strcat: Likewise.
68696         * modules/unistr/u32-strchr: Likewise.
68697         * modules/unistr/u32-strcmp: Likewise.
68698         * modules/unistr/u32-strcoll: Likewise.
68699         * modules/unistr/u32-strcpy: Likewise.
68700         * modules/unistr/u32-strcspn: Likewise.
68701         * modules/unistr/u32-strdup: Likewise.
68702         * modules/unistr/u32-strlen: Likewise.
68703         * modules/unistr/u32-strmblen: Likewise.
68704         * modules/unistr/u32-strmbtouc: Likewise.
68705         * modules/unistr/u32-strncat: Likewise.
68706         * modules/unistr/u32-strncmp: Likewise.
68707         * modules/unistr/u32-strncpy: Likewise.
68708         * modules/unistr/u32-strnlen: Likewise.
68709         * modules/unistr/u32-strpbrk: Likewise.
68710         * modules/unistr/u32-strrchr: Likewise.
68711         * modules/unistr/u32-strspn: Likewise.
68712         * modules/unistr/u32-strstr: Likewise.
68713         * modules/unistr/u32-strtok: Likewise.
68714         * modules/unistr/u32-to-u16: Likewise.
68715         * modules/unistr/u32-to-u8: Likewise.
68716         * modules/unistr/u32-uctomb: Likewise.
68717         * modules/uniwbrk/u8-wordbreaks: Likewise.
68718         * modules/uniwbrk/u16-wordbreaks: Likewise.
68719         * modules/uniwbrk/u32-wordbreaks: Likewise.
68720         * modules/uniwbrk/ulc-wordbreaks: Likewise.
68721         * modules/uniwbrk/wordbreak-property: Likewise.
68722         * modules/uniwidth/u8-strwidth: Likewise.
68723         * modules/uniwidth/u8-width: Likewise.
68724         * modules/uniwidth/u16-strwidth: Likewise.
68725         * modules/uniwidth/u16-width: Likewise.
68726         * modules/uniwidth/u32-strwidth: Likewise.
68727         * modules/uniwidth/u32-width: Likewise.
68728         * modules/uniwidth/width: Likewise.
68729         * modules/unicase/cased-tests (Makefile.am): Link all test programs
68730         with $(LIBUNISTRING).
68731         * modules/unicase/ignorable-tests: Likewise.
68732         * modules/unicase/locale-language-tests: Likewise.
68733         * modules/unicase/tolower-tests: Likewise.
68734         * modules/unicase/totitle-tests: Likewise.
68735         * modules/unicase/toupper-tests: Likewise.
68736         * modules/unicase/u8-casecmp-tests: Likewise.
68737         * modules/unicase/u8-casecoll-tests: Likewise.
68738         * modules/unicase/u8-casefold-tests: Likewise.
68739         * modules/unicase/u8-is-cased-tests: Likewise.
68740         * modules/unicase/u8-is-casefolded-tests: Likewise.
68741         * modules/unicase/u8-is-lowercase-tests: Likewise.
68742         * modules/unicase/u8-is-titlecase-tests: Likewise.
68743         * modules/unicase/u8-is-uppercase-tests: Likewise.
68744         * modules/unicase/u8-tolower-tests: Likewise.
68745         * modules/unicase/u8-totitle-tests: Likewise.
68746         * modules/unicase/u8-toupper-tests: Likewise.
68747         * modules/unicase/u16-casecmp-tests: Likewise.
68748         * modules/unicase/u16-casecoll-tests: Likewise.
68749         * modules/unicase/u16-casefold-tests: Likewise.
68750         * modules/unicase/u16-is-cased-tests: Likewise.
68751         * modules/unicase/u16-is-casefolded-tests: Likewise.
68752         * modules/unicase/u16-is-lowercase-tests: Likewise.
68753         * modules/unicase/u16-is-titlecase-tests: Likewise.
68754         * modules/unicase/u16-is-uppercase-tests: Likewise.
68755         * modules/unicase/u16-tolower-tests: Likewise.
68756         * modules/unicase/u16-totitle-tests: Likewise.
68757         * modules/unicase/u16-toupper-tests: Likewise.
68758         * modules/unicase/u32-casecmp-tests: Likewise.
68759         * modules/unicase/u32-casecoll-tests: Likewise.
68760         * modules/unicase/u32-casefold-tests: Likewise.
68761         * modules/unicase/u32-is-cased-tests: Likewise.
68762         * modules/unicase/u32-is-casefolded-tests: Likewise.
68763         * modules/unicase/u32-is-lowercase-tests: Likewise.
68764         * modules/unicase/u32-is-titlecase-tests: Likewise.
68765         * modules/unicase/u32-is-uppercase-tests: Likewise.
68766         * modules/unicase/u32-tolower-tests: Likewise.
68767         * modules/unicase/u32-totitle-tests: Likewise.
68768         * modules/unicase/u32-toupper-tests: Likewise.
68769         * modules/unicase/ulc-casecmp-tests: Likewise.
68770         * modules/unicase/ulc-casecoll-tests: Likewise.
68771         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
68772         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
68773         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
68774         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
68775         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
68776         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
68777         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
68778         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
68779         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
68780         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
68781         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
68782         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
68783         * modules/unictype/bidicategory-byname-tests: Likewise.
68784         * modules/unictype/bidicategory-name-tests: Likewise.
68785         * modules/unictype/bidicategory-of-tests: Likewise.
68786         * modules/unictype/bidicategory-test-tests: Likewise.
68787         * modules/unictype/block-list-tests: Likewise.
68788         * modules/unictype/block-of-tests: Likewise.
68789         * modules/unictype/block-test-tests: Likewise.
68790         * modules/unictype/category-C-tests: Likewise.
68791         * modules/unictype/category-Cc-tests: Likewise.
68792         * modules/unictype/category-Cf-tests: Likewise.
68793         * modules/unictype/category-Cn-tests: Likewise.
68794         * modules/unictype/category-Co-tests: Likewise.
68795         * modules/unictype/category-Cs-tests: Likewise.
68796         * modules/unictype/category-L-tests: Likewise.
68797         * modules/unictype/category-Ll-tests: Likewise.
68798         * modules/unictype/category-Lm-tests: Likewise.
68799         * modules/unictype/category-Lo-tests: Likewise.
68800         * modules/unictype/category-Lt-tests: Likewise.
68801         * modules/unictype/category-Lu-tests: Likewise.
68802         * modules/unictype/category-M-tests: Likewise.
68803         * modules/unictype/category-Mc-tests: Likewise.
68804         * modules/unictype/category-Me-tests: Likewise.
68805         * modules/unictype/category-Mn-tests: Likewise.
68806         * modules/unictype/category-N-tests: Likewise.
68807         * modules/unictype/category-Nd-tests: Likewise.
68808         * modules/unictype/category-Nl-tests: Likewise.
68809         * modules/unictype/category-No-tests: Likewise.
68810         * modules/unictype/category-P-tests: Likewise.
68811         * modules/unictype/category-Pc-tests: Likewise.
68812         * modules/unictype/category-Pd-tests: Likewise.
68813         * modules/unictype/category-Pe-tests: Likewise.
68814         * modules/unictype/category-Pf-tests: Likewise.
68815         * modules/unictype/category-Pi-tests: Likewise.
68816         * modules/unictype/category-Po-tests: Likewise.
68817         * modules/unictype/category-Ps-tests: Likewise.
68818         * modules/unictype/category-S-tests: Likewise.
68819         * modules/unictype/category-Sc-tests: Likewise.
68820         * modules/unictype/category-Sk-tests: Likewise.
68821         * modules/unictype/category-Sm-tests: Likewise.
68822         * modules/unictype/category-So-tests: Likewise.
68823         * modules/unictype/category-Z-tests: Likewise.
68824         * modules/unictype/category-Zl-tests: Likewise.
68825         * modules/unictype/category-Zp-tests: Likewise.
68826         * modules/unictype/category-Zs-tests: Likewise.
68827         * modules/unictype/category-and-not-tests: Likewise.
68828         * modules/unictype/category-and-tests: Likewise.
68829         * modules/unictype/category-byname-tests: Likewise.
68830         * modules/unictype/category-name-tests: Likewise.
68831         * modules/unictype/category-none-tests: Likewise.
68832         * modules/unictype/category-of-tests: Likewise.
68833         * modules/unictype/category-or-tests: Likewise.
68834         * modules/unictype/category-test-withtable-tests: Likewise.
68835         * modules/unictype/combining-class-tests: Likewise.
68836         * modules/unictype/ctype-alnum-tests: Likewise.
68837         * modules/unictype/ctype-alpha-tests: Likewise.
68838         * modules/unictype/ctype-blank-tests: Likewise.
68839         * modules/unictype/ctype-cntrl-tests: Likewise.
68840         * modules/unictype/ctype-digit-tests: Likewise.
68841         * modules/unictype/ctype-graph-tests: Likewise.
68842         * modules/unictype/ctype-lower-tests: Likewise.
68843         * modules/unictype/ctype-print-tests: Likewise.
68844         * modules/unictype/ctype-punct-tests: Likewise.
68845         * modules/unictype/ctype-space-tests: Likewise.
68846         * modules/unictype/ctype-upper-tests: Likewise.
68847         * modules/unictype/ctype-xdigit-tests: Likewise.
68848         * modules/unictype/decimal-digit-tests: Likewise.
68849         * modules/unictype/digit-tests: Likewise.
68850         * modules/unictype/mirror-tests: Likewise.
68851         * modules/unictype/numeric-tests: Likewise.
68852         * modules/unictype/property-alphabetic-tests: Likewise.
68853         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
68854         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
68855         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
68856         * modules/unictype/property-bidi-block-separator-tests: Likewise.
68857         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
68858         * modules/unictype/property-bidi-common-separator-tests: Likewise.
68859         * modules/unictype/property-bidi-control-tests: Likewise.
68860         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
68861         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
68862         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
68863         * modules/unictype/property-bidi-european-digit-tests: Likewise.
68864         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
68865         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
68866         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
68867         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
68868         * modules/unictype/property-bidi-pdf-tests: Likewise.
68869         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
68870         * modules/unictype/property-bidi-whitespace-tests: Likewise.
68871         * modules/unictype/property-byname-tests: Likewise.
68872         * modules/unictype/property-combining-tests: Likewise.
68873         * modules/unictype/property-composite-tests: Likewise.
68874         * modules/unictype/property-currency-symbol-tests: Likewise.
68875         * modules/unictype/property-dash-tests: Likewise.
68876         * modules/unictype/property-decimal-digit-tests: Likewise.
68877         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
68878         * modules/unictype/property-deprecated-tests: Likewise.
68879         * modules/unictype/property-diacritic-tests: Likewise.
68880         * modules/unictype/property-extender-tests: Likewise.
68881         * modules/unictype/property-format-control-tests: Likewise.
68882         * modules/unictype/property-grapheme-base-tests: Likewise.
68883         * modules/unictype/property-grapheme-extend-tests: Likewise.
68884         * modules/unictype/property-grapheme-link-tests: Likewise.
68885         * modules/unictype/property-hex-digit-tests: Likewise.
68886         * modules/unictype/property-hyphen-tests: Likewise.
68887         * modules/unictype/property-id-continue-tests: Likewise.
68888         * modules/unictype/property-id-start-tests: Likewise.
68889         * modules/unictype/property-ideographic-tests: Likewise.
68890         * modules/unictype/property-ids-binary-operator-tests: Likewise.
68891         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
68892         * modules/unictype/property-ignorable-control-tests: Likewise.
68893         * modules/unictype/property-iso-control-tests: Likewise.
68894         * modules/unictype/property-join-control-tests: Likewise.
68895         * modules/unictype/property-left-of-pair-tests: Likewise.
68896         * modules/unictype/property-line-separator-tests: Likewise.
68897         * modules/unictype/property-logical-order-exception-tests: Likewise.
68898         * modules/unictype/property-lowercase-tests: Likewise.
68899         * modules/unictype/property-math-tests: Likewise.
68900         * modules/unictype/property-non-break-tests: Likewise.
68901         * modules/unictype/property-not-a-character-tests: Likewise.
68902         * modules/unictype/property-numeric-tests: Likewise.
68903         * modules/unictype/property-other-alphabetic-tests: Likewise.
68904         * modules/unictype/property-other-default-ignorable-code-point-tests:
68905         Likewise.
68906         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
68907         * modules/unictype/property-other-id-continue-tests: Likewise.
68908         * modules/unictype/property-other-id-start-tests: Likewise.
68909         * modules/unictype/property-other-lowercase-tests: Likewise.
68910         * modules/unictype/property-other-math-tests: Likewise.
68911         * modules/unictype/property-other-uppercase-tests: Likewise.
68912         * modules/unictype/property-paired-punctuation-tests: Likewise.
68913         * modules/unictype/property-paragraph-separator-tests: Likewise.
68914         * modules/unictype/property-pattern-syntax-tests: Likewise.
68915         * modules/unictype/property-pattern-white-space-tests: Likewise.
68916         * modules/unictype/property-private-use-tests: Likewise.
68917         * modules/unictype/property-punctuation-tests: Likewise.
68918         * modules/unictype/property-quotation-mark-tests: Likewise.
68919         * modules/unictype/property-radical-tests: Likewise.
68920         * modules/unictype/property-sentence-terminal-tests: Likewise.
68921         * modules/unictype/property-soft-dotted-tests: Likewise.
68922         * modules/unictype/property-space-tests: Likewise.
68923         * modules/unictype/property-terminal-punctuation-tests: Likewise.
68924         * modules/unictype/property-test-tests: Likewise.
68925         * modules/unictype/property-titlecase-tests: Likewise.
68926         * modules/unictype/property-unassigned-code-value-tests: Likewise.
68927         * modules/unictype/property-unified-ideograph-tests: Likewise.
68928         * modules/unictype/property-uppercase-tests: Likewise.
68929         * modules/unictype/property-variation-selector-tests: Likewise.
68930         * modules/unictype/property-white-space-tests: Likewise.
68931         * modules/unictype/property-xid-continue-tests: Likewise.
68932         * modules/unictype/property-xid-start-tests: Likewise.
68933         * modules/unictype/property-zero-width-tests: Likewise.
68934         * modules/unictype/scripts-tests: Likewise.
68935         * modules/unictype/syntax-c-ident-tests: Likewise.
68936         * modules/unictype/syntax-c-whitespace-tests: Likewise.
68937         * modules/unictype/syntax-java-ident-tests: Likewise.
68938         * modules/unictype/syntax-java-whitespace-tests: Likewise.
68939         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
68940         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
68941         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
68942         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
68943         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
68944         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
68945         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
68946         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
68947         * modules/uniname/uniname-tests: Likewise.
68948         * modules/uninorm/canonical-decomposition-tests: Likewise.
68949         * modules/uninorm/compat-decomposition-tests: Likewise.
68950         * modules/uninorm/composition-tests: Likewise.
68951         * modules/uninorm/decomposing-form-tests: Likewise.
68952         * modules/uninorm/decomposition-tests: Likewise.
68953         * modules/uninorm/filter-tests: Likewise.
68954         * modules/uninorm/nfc-tests: Likewise.
68955         * modules/uninorm/nfd-tests: Likewise.
68956         * modules/uninorm/nfkc-tests: Likewise.
68957         * modules/uninorm/nfkd-tests: Likewise.
68958         * modules/uninorm/u8-normcmp-tests: Likewise.
68959         * modules/uninorm/u8-normcoll-tests: Likewise.
68960         * modules/uninorm/u16-normcmp-tests: Likewise.
68961         * modules/uninorm/u16-normcoll-tests: Likewise.
68962         * modules/uninorm/u32-normcmp-tests: Likewise.
68963         * modules/uninorm/u32-normcoll-tests: Likewise.
68964         * modules/unistdio/u8-asnprintf-tests: Likewise.
68965         * modules/unistdio/u8-vasnprintf-tests: Likewise.
68966         * modules/unistdio/u8-vasprintf-tests: Likewise.
68967         * modules/unistdio/u8-vsnprintf-tests: Likewise.
68968         * modules/unistdio/u8-vsprintf-tests: Likewise.
68969         * modules/unistdio/u16-asnprintf-tests: Likewise.
68970         * modules/unistdio/u16-vasnprintf-tests: Likewise.
68971         * modules/unistdio/u16-vasprintf-tests: Likewise.
68972         * modules/unistdio/u16-vsnprintf-tests: Likewise.
68973         * modules/unistdio/u16-vsprintf-tests: Likewise.
68974         * modules/unistdio/u32-asnprintf-tests: Likewise.
68975         * modules/unistdio/u32-vasnprintf-tests: Likewise.
68976         * modules/unistdio/u32-vasprintf-tests: Likewise.
68977         * modules/unistdio/u32-vsnprintf-tests: Likewise.
68978         * modules/unistdio/u32-vsprintf-tests: Likewise.
68979         * modules/unistdio/ulc-asnprintf-tests: Likewise.
68980         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
68981         * modules/unistdio/ulc-vasprintf-tests: Likewise.
68982         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
68983         * modules/unistdio/ulc-vsprintf-tests: Likewise.
68984         * modules/unistr/u8-check-tests: Likewise.
68985         * modules/unistr/u8-chr-tests: Likewise.
68986         * modules/unistr/u8-cmp-tests: Likewise.
68987         * modules/unistr/u8-cmp2-tests: Likewise.
68988         * modules/unistr/u8-cpy-alloc-tests: Likewise.
68989         * modules/unistr/u8-cpy-tests: Likewise.
68990         * modules/unistr/u8-mblen-tests: Likewise.
68991         * modules/unistr/u8-mbsnlen-tests: Likewise.
68992         * modules/unistr/u8-mbtouc-tests: Likewise.
68993         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
68994         * modules/unistr/u8-mbtoucr-tests: Likewise.
68995         * modules/unistr/u8-move-tests: Likewise.
68996         * modules/unistr/u8-next-tests: Likewise.
68997         * modules/unistr/u8-prev-tests: Likewise.
68998         * modules/unistr/u8-set-tests: Likewise.
68999         * modules/unistr/u8-stpcpy-tests: Likewise.
69000         * modules/unistr/u8-stpncpy-tests: Likewise.
69001         * modules/unistr/u8-strcat-tests: Likewise.
69002         * modules/unistr/u8-strcmp-tests: Likewise.
69003         * modules/unistr/u8-strcoll-tests: Likewise.
69004         * modules/unistr/u8-strcpy-tests: Likewise.
69005         * modules/unistr/u8-strdup-tests: Likewise.
69006         * modules/unistr/u8-strlen-tests: Likewise.
69007         * modules/unistr/u8-strmblen-tests: Likewise.
69008         * modules/unistr/u8-strmbtouc-tests: Likewise.
69009         * modules/unistr/u8-strncat-tests: Likewise.
69010         * modules/unistr/u8-strncmp-tests: Likewise.
69011         * modules/unistr/u8-strncpy-tests: Likewise.
69012         * modules/unistr/u8-strnlen-tests: Likewise.
69013         * modules/unistr/u8-to-u16-tests: Likewise.
69014         * modules/unistr/u8-to-u32-tests: Likewise.
69015         * modules/unistr/u8-uctomb-tests: Likewise.
69016         * modules/unistr/u16-check-tests: Likewise.
69017         * modules/unistr/u16-chr-tests: Likewise.
69018         * modules/unistr/u16-cmp-tests: Likewise.
69019         * modules/unistr/u16-cmp2-tests: Likewise.
69020         * modules/unistr/u16-cpy-alloc-tests: Likewise.
69021         * modules/unistr/u16-cpy-tests: Likewise.
69022         * modules/unistr/u16-mblen-tests: Likewise.
69023         * modules/unistr/u16-mbsnlen-tests: Likewise.
69024         * modules/unistr/u16-mbtouc-tests: Likewise.
69025         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
69026         * modules/unistr/u16-mbtoucr-tests: Likewise.
69027         * modules/unistr/u16-move-tests: Likewise.
69028         * modules/unistr/u16-next-tests: Likewise.
69029         * modules/unistr/u16-prev-tests: Likewise.
69030         * modules/unistr/u16-set-tests: Likewise.
69031         * modules/unistr/u16-stpcpy-tests: Likewise.
69032         * modules/unistr/u16-stpncpy-tests: Likewise.
69033         * modules/unistr/u16-strcat-tests: Likewise.
69034         * modules/unistr/u16-strcmp-tests: Likewise.
69035         * modules/unistr/u16-strcoll-tests: Likewise.
69036         * modules/unistr/u16-strcpy-tests: Likewise.
69037         * modules/unistr/u16-strdup-tests: Likewise.
69038         * modules/unistr/u16-strlen-tests: Likewise.
69039         * modules/unistr/u16-strmblen-tests: Likewise.
69040         * modules/unistr/u16-strmbtouc-tests: Likewise.
69041         * modules/unistr/u16-strncat-tests: Likewise.
69042         * modules/unistr/u16-strncmp-tests: Likewise.
69043         * modules/unistr/u16-strncpy-tests: Likewise.
69044         * modules/unistr/u16-strnlen-tests: Likewise.
69045         * modules/unistr/u16-to-u32-tests: Likewise.
69046         * modules/unistr/u16-to-u8-tests: Likewise.
69047         * modules/unistr/u16-uctomb-tests: Likewise.
69048         * modules/unistr/u32-check-tests: Likewise.
69049         * modules/unistr/u32-chr-tests: Likewise.
69050         * modules/unistr/u32-cmp-tests: Likewise.
69051         * modules/unistr/u32-cmp2-tests: Likewise.
69052         * modules/unistr/u32-cpy-alloc-tests: Likewise.
69053         * modules/unistr/u32-cpy-tests: Likewise.
69054         * modules/unistr/u32-mblen-tests: Likewise.
69055         * modules/unistr/u32-mbsnlen-tests: Likewise.
69056         * modules/unistr/u32-mbtouc-tests: Likewise.
69057         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
69058         * modules/unistr/u32-mbtoucr-tests: Likewise.
69059         * modules/unistr/u32-move-tests: Likewise.
69060         * modules/unistr/u32-next-tests: Likewise.
69061         * modules/unistr/u32-prev-tests: Likewise.
69062         * modules/unistr/u32-set-tests: Likewise.
69063         * modules/unistr/u32-stpcpy-tests: Likewise.
69064         * modules/unistr/u32-stpncpy-tests: Likewise.
69065         * modules/unistr/u32-strcat-tests: Likewise.
69066         * modules/unistr/u32-strcmp-tests: Likewise.
69067         * modules/unistr/u32-strcoll-tests: Likewise.
69068         * modules/unistr/u32-strcpy-tests: Likewise.
69069         * modules/unistr/u32-strdup-tests: Likewise.
69070         * modules/unistr/u32-strlen-tests: Likewise.
69071         * modules/unistr/u32-strmblen-tests: Likewise.
69072         * modules/unistr/u32-strmbtouc-tests: Likewise.
69073         * modules/unistr/u32-strncat-tests: Likewise.
69074         * modules/unistr/u32-strncmp-tests: Likewise.
69075         * modules/unistr/u32-strncpy-tests: Likewise.
69076         * modules/unistr/u32-strnlen-tests: Likewise.
69077         * modules/unistr/u32-to-u16-tests: Likewise.
69078         * modules/unistr/u32-to-u8-tests: Likewise.
69079         * modules/unistr/u32-uctomb-tests: Likewise.
69080         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
69081         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
69082         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
69083         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
69084         * modules/uniwidth/u8-strwidth-tests: Likewise.
69085         * modules/uniwidth/u8-width-tests: Likewise.
69086         * modules/uniwidth/u16-strwidth-tests: Likewise.
69087         * modules/uniwidth/u16-width-tests: Likewise.
69088         * modules/uniwidth/u32-strwidth-tests: Likewise.
69089         * modules/uniwidth/u32-width-tests: Likewise.
69090         * modules/uniwidth/width-tests: Likewise.
69092 2010-05-18  Richard Jones  <rjones@redhat.com>
69094         doc: users.txt: list hivex
69095         * users.txt: Add hivex.
69097 2010-05-18  Richard Jones  <rjones@redhat.com>
69099         doc: users.txt: list febootstrap
69100         * users.txt: Add febootstrap.
69102 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
69104         bootstrap: fix an error when gnulib is not used as a git submodule
69105         * build-aux/bootstrap (gnulib_path): If its length is zero then
69106         assign "gnulib" to it.
69107         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
69109 2010-05-16  Bruno Haible  <bruno@clisp.org>
69111         Avoid autoconf warnings about AM_ICONV.
69112         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
69113         2.64.
69115 2010-05-16  Bruno Haible  <bruno@clisp.org>
69117         absolute-header: Make the macro usable in more situations.
69118         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
69119         from gl_ABSOLUTE_HEADER.
69120         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
69122 2010-05-16  James Youngman  <jay@gnu.org>
69124         doc: update users.txt
69125         * users.txt: Add CSSC.
69127 2010-05-16  Jim Meyering  <meyering@redhat.com>
69129         init.sh: fix an error in the previous change; add more comments
69130         * tests/init.sh: Compare exit code in loop against 9, not 2.
69131         Patch by Bruno Haible.
69132         Make the two tests more similar by adding an empty "then" clause.
69133         Add comments.
69135         init.sh: avoid unnecessary shell re-exec
69136         * tests/init.sh: Improve the re-exec-required check to first test the
69137         current shell.  If it passes the test, do not search for a shell that
69138         does pass, and do not re-exec.  This test is particularly contorted to
69139         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
69140         of $(...) evokes a syntax error and causes immediate shell exit with
69141         status 2.  Bruno Haible reported that the re-exec made it impossible
69142         to single-step through any init.sh-using script.
69144 2010-05-16  Bruno Haible  <bruno@clisp.org>
69146         Fix collision between gnulib's and libintl's printf replacements.
69147         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
69148         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
69149         (printf): When using GNU C, map the __printf__ function to rpl_printf
69150         via __asm__. When not using GNU C, define rpl_printf instead of
69151         __printf__.
69152         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
69153         commit.
69154         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
69155         commit.
69156         * m4/asm-underscore.m4: New file.
69157         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
69158         * modules/stdio (Files): Add m4/asm-underscore.m4.
69159         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
69160         Reported by Ben Pfaff.
69162 2010-05-16  Bruno Haible  <bruno@clisp.org>
69164         verify: Avoid skipping the test on openSUSE 11.0.
69165         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
69167 2010-05-13  Bruno Haible  <bruno@clisp.org>
69169         Avoid useless warnings from G++.
69170         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
69171         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
69172         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69174 2010-05-11  Jim Meyering  <meyering@redhat.com>
69176         maint.mk: tweak preceding change
69177         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
69178         regexps tighter by anchoring at EOL, and make the new group "shy"
69179         for slightly decreased overhead.
69181 2010-05-11  Eric Blake  <eblake@redhat.com>
69183         maint.mk: gnulib doesn't guarantee NSIG
69184         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
69186 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
69188         test-pwrite.c: Remove unused variable declaration.
69189         * tests/test-pwrite.c (main): Remove read_buf declaration.
69191         Remove useless test-pwrite.sh file.
69192         * tests/test-pwrite.sh: Delete file.
69193         * modules/pwrite-tests: Remove references.
69194         Reported by Bruno Haible.
69196 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
69198         init.sh: fix a typo
69199         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
69201 2010-05-10  Jim Meyering  <meyering@redhat.com>
69203         maint.mk: avoid using a temporary file in the always-defined-macros check
69204         * top/maint.mk (.re-defmac): Remove rule.
69205         (gl_trap_): Remove definition.
69206         (sc_prohibit_always-defined_macros): Rewrite not to create and
69207         depend on a temporary file.  Instead, depend on GNU grep's ability
69208         to read a list of regular expressions from stdin when given "-f -".
69210 2010-05-09  Bruno Haible  <bruno@clisp.org>
69212         Update to GNU gettext 0.18, part 1.
69213         * m4/gettext.m4: Update to GNU gettext 0.18.
69214         * m4/intl.m4: Likewise.
69215         * m4/po.m4: Likewise.
69216         * modules/gettext (Files): Add m4/fcntl-o.m4.
69217         (configure.ac): Require gettext infrastructure from version 0.18.
69219 2010-05-09  Jim Meyering  <meyering@redhat.com>
69221         init.sh: enable MALLOC_PERTURB_
69222         * tests/init.sh: Enable glibc's malloc-perturbing option.
69224         maint.mk: improve sc_cross_check_PATH_usage_in_tests
69225         With my recent change in init.sh from the two-line form:
69226             -#   : ${srcdir=.}
69227             -#   . "$srcdir/init.sh"; path_prepend_ .
69228             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
69229         I noticed that using the one-line form would cause this test
69230         to fail with a false-positive, or to stop working altogether,
69231         depending on whether help-version changed or all the tests did.
69232         * top/maint.mk (_hv_regex): Remove this definition.
69233         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
69234         (_hv_regex_strong): Use a stronger regex to check for conformance.
69235         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
69236         Give a separate diagnostic for lack of conforming use.
69238         maint.mk: prohibit definition of symbols defined by gnulib
69239         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
69240         definition of symbols defined by gnulib.
69242 2010-05-09  Bruno Haible  <bruno@clisp.org>
69244         acl: Avoid test failure on Cygwin-hosted mingw.
69245         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
69247 2010-05-09  Bruno Haible  <bruno@clisp.org>
69249         error: Use system's fcntl function.
69250         * lib/error.c (fcntl): Undefine.
69252 2010-05-09  Jim Meyering  <meyering@redhat.com>
69254         verify: adjust formatting to be more consistent
69255         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
69256         argument-list '('s, and after one comma.
69258 2010-05-09  Bruno Haible  <bruno@clisp.org>
69260         error: More reliable output on mingw.
69261         * lib/error.c: Include <windows.h>.
69262         (is_open): New function.
69263         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
69264         defined.
69266 2010-05-09  Bruno Haible  <bruno@clisp.org>
69268         vasnprintf: Fix syntax errors in libintl build on mingw.
69269         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
69270         pad_ourselves and prec_ourselves after use.
69272 2010-05-08  Bruno Haible  <bruno@clisp.org>
69274         * lib/config.charset: Update comments for Cygwin 1.7.
69275         * lib/localcharset.c: Likewise.
69277 2010-05-07  Jim Meyering  <meyering@redhat.com>
69279         init.sh: improve comments
69280         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
69281         . "${srcdir=.}/init.sh"; path_prepend_ .
69282         Add a note about path_prepend_ and the alternative of using
69283         TESTS_ENVIRONMENT.
69285 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
69287         exclude: Unescape hashed patterns in wildcard mode.
69288         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
69289         to the hash list.
69290         * tests/test-exclude8.sh: New test case.
69291         * modules/exclude-tests: Add new test.
69293 2010-05-05  Eric Blake  <eblake@redhat.com>
69295         verify: automate tests
69296         * modules/verify-tests: New module.
69297         * tests/test-verify.sh: New file.
69298         * tests/test-verify.c: Guard each negative test with a unique id.
69299         Also avoid warning about unused left hand of comma expressions.
69301 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
69303         Further improvements to verify.h, suggested by Eric Blake.
69304         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
69305         the GL_* versions, to avoid collision with OpenGL.
69306         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
69307         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
69308         than testing merely whether it's defined.
69310         Modify verify.h to pacify gcc -Wredundant_decls.
69311         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
69312         These use the prefix "GL_" since they're likely to be useful elsewhere.
69313         We may need to break them out into a different .h file.
69314         (__COUNTER__): Define to 0 if the compiler doesn't support it.
69315         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
69316         of verify_function__.
69318 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
69320         Tests for module pwrite.
69321         * modules/pwrite-tests: New file.
69322         * tests/test-pwrite.sh: New file.
69323         * tests/test-pwrite.c: New file.
69325         New module pwrite.
69326         * lib/unistd.in.h (pwrite): New declaration.
69327         * lib/pwrite.c: New file, from glibc with modifications.
69328         * m4/pwrite.m4: New file.
69329         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
69330         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
69331         REPLACE_PWRITE.
69332         * modules/pwrite: New file.
69333         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
69334         REPLACE_PWRITE.
69335         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
69336         * doc/posix-functions/pwrite.texi: Mention the new module.
69338 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
69340         pread: Update documentation.
69341         * doc/posix-functions/pread.texi: Mention the 'pread' module.
69343 2010-05-04  Eric Blake  <eblake@redhat.com>
69345         docs: update cygwin progress
69346         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
69347         this bug.
69348         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
69349         Added in cygwin 1.7.2.
69350         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
69351         Likewise.
69352         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
69353         Likewise.
69354         * doc/glibc-functions/dup3.texi (dup3): Likewise.
69355         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
69356         * doc/glibc-functions/accept4.texi (accept4): Likewise.
69357         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
69358         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
69359         Mention nproc module.
69360         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
69361         bug in cygwin 1.7.5 addition.
69362         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
69363         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
69364         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
69365         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
69366         1.7.5.
69367         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
69368         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
69369         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
69370         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
69371         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
69372         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
69373         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
69374         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
69375         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
69376         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
69377         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
69378         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
69379         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
69380         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
69381         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
69382         Likewise.
69383         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
69384         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
69385         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
69386         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
69387         Likewise.
69388         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
69389         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
69390         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
69391         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
69392         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
69393         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
69394         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
69395         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
69396         Likewise.
69397         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
69398         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
69399         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
69400         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
69401         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
69402         Likewise.
69403         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
69404         Likewise.
69405         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
69406         Likewise.
69407         * doc/glibc-functions/xdrrec_endofrecord.texi
69408         (xdrrec_endofrecord): Likewise.
69409         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
69410         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
69411         Likewise.
69412         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
69413         Likewise.
69415 2010-05-04  Jim Meyering  <meyering@redhat.com>
69417         gendocs.sh: make its "-s FILE" option more useful
69418         * build-aux/gendocs.sh: When honoring the -s FILE option, update
69419         $PACKAGE to reflect the probably-different basename of "FILE".
69421 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
69423         bootstrap: don't ignore download_po_files failure
69424         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
69425         failure.
69427 2010-05-03  Jim Meyering  <meyering@redhat.com>
69429         maint.mk: allow to pass options to gendocs.sh
69430         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
69431         (gendocs_options_): New overridable variable.
69433         gnu-web-doc-update: don't ignore configure or build failure
69434         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
69436         announce-gen: backslash-escape '@'s in --help output
69437         * build-aux/announce-gen: Fix syntax errors.
69439         maint.mk, announce-gen: allow project-specific announcement mail headers
69440         * top/maint.mk (translation_project_): Define default.
69441         (announcement_Cc_, announcement_mail_headers_): Likewise.
69442         (announcement): Invoke announce-gen with new --mail-headers option.
69443         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
69445         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
69446         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
69447         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
69448         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
69449         line in the "err2" output file when running "make check" in verbose
69450         mode (i.e., with set -x enabled).
69452 2010-05-03  Bruno Haible  <bruno@clisp.org>
69454         wctob: Fix for weird platforms.
69455         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
69456         argument value.
69458 2010-05-03  Jim Meyering  <meyering@redhat.com>
69460         maint.mk: prohibit unwarranted use of <strings.h>
69461         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
69462         strings.h in a file that does not also use strcasecmp, strncasecmp,
69463         ffs or ffsll.
69465         maint.mk: remove obsolete comments
69466         * top/maint.mk: Remove stale, commented-out rules.
69468 2010-05-02  Bruno Haible  <bruno@clisp.org>
69470         wcwidth: Declare also when it's aliased.
69471         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
69472         macro.
69474 2010-05-02  Bruno Haible  <bruno@clisp.org>
69476         Fix regression from 2010-04-25.
69477         * gnulib-tool (func_modules_transitive_closure): Check the status of
69478         all modules, not only of the tests that are of the form foo-tests where
69479         foo is a module.
69481 2010-05-02  Bruno Haible  <bruno@clisp.org>
69483         wctob: Work around nasty Cygwin 1.7.2 bug.
69484         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
69485         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
69487 2010-05-01  Bruno Haible  <bruno@clisp.org>
69489         fpurge: Sharper test.
69490         * tests/test-fpurge.c (main): Add one more ftell check.
69491         * modules/fpurge-tests (Depends-on): Add ftell.
69492         Suggested by Eric Blake.
69494 2010-05-01  Bruno Haible  <bruno@clisp.org>
69496         ftello: Another test.
69497         * tests/test-ftello3.c: New file.
69498         * modules/ftello-tests (Files): Add it.
69499         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
69500         MOSTLYCLEANFILES.
69502         ftell: Another test.
69503         * tests/test-ftell3.c: New file.
69504         * modules/ftell-tests (Files): Add it.
69505         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
69506         MOSTLYCLEANFILES.
69508 2010-05-01  Bruno Haible  <bruno@clisp.org>
69510         ftell, ftello: Work around Solaris bug.
69511         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
69512         * lib/ftello.c: Include stdio-impl.h.
69513         (ftello): On Solaris, when _IOWRT is set, compute the result without
69514         looking at _IOREAD.
69515         * modules/ftello (Files): Add lib/stdio-impl.h.
69516         * doc/posix-functions/ftell.texi: Mention Solaris bug.
69517         * doc/posix-functions/ftello.texi: Likewise.
69518         Reported by Eric Blake.
69520 2010-05-01  Bruno Haible  <bruno@clisp.org>
69522         freading: Adapt to special meaning of _IOREAD flag on Solaris.
69523         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
69524         the _IOWRT flag is also set.
69526 2010-05-01  Bruno Haible  <bruno@clisp.org>
69528         Fix doc about a HP-UX stdio bug.
69529         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
69530         * doc/posix-functions/ftello.texi: Likewise.
69532 2010-05-01  Bruno Haible  <bruno@clisp.org>
69534         lseek test: Fix failure on Solaris.
69535         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
69536         output.
69538 2010-04-30  Jim Meyering  <meyering@redhat.com>
69540         bootstrap: don't ignore failure to generate po*/Makevars
69541         * build-aux/bootstrap (with_gettext): Don't ignore failure
69542         to create po/Makevars or runtime-po/Makevars.
69544 2010-04-29  Eric Blake  <eblake@redhat.com>
69546         headers: relax license to LGPLv2+
69547         * modules/fcntl-h (License): Relax license.
69548         * modules/getopt-posix (License): Likewise.
69549         * modules/locale (License): Likewise.
69550         * modules/math (License): Likewise.
69551         * modules/pty (License): Likewise.
69552         * modules/sched (License): Likewise.
69553         * modules/search (License): Likewise.
69554         * modules/spawn (License): Likewise.
69555         * modules/stdarg (License): Likewise.
69556         * modules/sysexits (License): Likewise.
69558 2010-04-29  Jim Meyering  <meyering@redhat.com>
69560         inttypes: relax license to LGPLv2+
69561         * modules/inttypes (License): Relax license.
69563 2010-04-29  Simon Josefsson  <simon@josefsson.org>
69565         * top/maint.mk (indent): Run twice to produce idempotent results.
69567 2010-04-28  Bruno Haible  <bruno@clisp.org>
69569         getdate: Generate getdate.c in the source directory.
69570         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
69571         MOSTLYCLEANFILES.
69572         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
69574 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
69576         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
69577         is not declared as a const *; avoid warnings in that case.
69579 2010-04-28  Eric Blake  <eblake@redhat.com>
69581         canonicalize-lgpl: avoid compiler warning
69582         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
69583         declaration' / 'extraneous semicolon' warning with some compilers.
69584         Reported by Andreas Gruenbacher.
69586 2010-04-28  Jim Meyering  <meyering@redhat.com>
69588         init.sh: ensure a more reliable exit status when exiting via trap
69589         * tests/init.sh (setup_): Don't rely on $? in signal handler.
69590         Inspired by patches from Dmitry V. Levin.
69591         Also trap on signal 3 (SIGQUIT).
69593 2010-04-27  Bruno Haible  <bruno@clisp.org>
69595         Update doc about utimes().
69596         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
69597         'utimens' module.
69598         Reported by Andreas Gruenbacher <agruen@suse.de>.
69600 2010-04-27  Eric Blake  <eblake@redhat.com>
69602         full-read, full-write: relax license
69603         * modules/full-read (License): Drop to LGPLv2+.
69604         * modules/full-write (License): Likewise.
69605         * modules/safe-read (License): Likewise.
69606         * modules/safe-write (License): Likewise.
69608         pthread: mention library for linking
69609         * modules/pthread (Link): Mention $(LIB_PTHREAD).
69611 2010-04-27  Jim Meyering  <meyering@redhat.com>
69613         maint.mk: fix a bug introduced in last change
69614         * top/maint.mk (gl_assured_headers_): Now that all names are on
69615         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
69616         is not anchored to end of word, it should be adequate.
69618         maint.mk: avoid side-effect in latest syntax-check
69619         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
69620         to run commands via $(shell...), and hence to incur cost only when
69621         the new rule is actually run.
69623         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
69624         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
69625         and use that to create a regexp used to detect all #if HAVE_..._H uses.
69626         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
69627         (gl_assured_headers_, az_, AZ_): Define.
69628         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
69630 2010-04-26  Jim Meyering  <jim@meyering.net>
69631             Bruno Haible  <bruno@clisp.org>
69633         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
69634         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
69635         Prompted by an exchange with Gilles Espinasse.
69637 2010-04-26  Jim Meyering  <meyering@redhat.com>
69639         git-version-gen: aesthetic tweak
69640         * build-aux/git-version-gen: Use "$nl" rather than a literal,
69641         so that the command remains on a single line.
69643 2010-04-26  Eric Blake  <eblake@redhat.com>
69645         git-version-gen: allow use on EBCDIC hosts
69646         * build-aux/git-version-gen (dirty): Use literal rather than tying
69647         ourselves to ascii.
69648         Reported by Steve Goetze.
69650 2010-04-25  Bruno Haible  <bruno@clisp.org>
69652         netdb: Add support for GNULIB_POSIXCHECK.
69653         * lib/netdb.in.h: Include warn-on-use.h.
69654         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
69655         functions are used when GNULIB_POSIXCHECK is defined and the
69656         getaddrinfo module is not in use.
69657         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
69658         freeaddrinfo, gai_strerror, getnameinfo are declared.
69659         * modules/netdb (Depends-on): Add warn-on-use.
69660         (Makefile.am): Include warn-on-use.h in netdb.h.
69662 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
69664         build: avoid "make check" failure without .git/ directory
69665         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
69666         there is no .git/ directory.
69668 2010-04-25  Bruno Haible  <bruno@clisp.org>
69670         ptsname: Fix misuse of ttyname_r.
69671         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
69672         of errno.
69674 2010-04-25  Bruno Haible  <bruno@clisp.org>
69676         ttyname_r: Make it work on Solaris 10.
69677         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
69678         if the system function has the POSIX declaration. Test whether the
69679         function fails if the buffer is less than 128 bytes large.
69680         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
69681         system's ttyname_r function. Provide a reasonably large buffer.
69682         * modules/ttyname_r (Depends-on): Add extensions.
69683         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
69685 2010-04-25  Bruno Haible  <bruno@clisp.org>
69687         Use the 'extensions' module for some more functions on Solaris.
69688         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
69689         module.
69690         * doc/posix-functions/ctime_r.texi: Likewise.
69691         * doc/posix-functions/getgrgid_r.texi: Likewise.
69692         * doc/posix-functions/getgrnam_r.texi: Likewise.
69693         * doc/posix-functions/getpwnam_r.texi: Likewise.
69694         * doc/posix-functions/getpwuid_r.texi: Likewise.
69695         * doc/posix-functions/readdir_r.texi: Likewise.
69696         * doc/posix-functions/sigwait.texi: Likewise.
69697         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
69698         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
69700 2010-04-25  Bruno Haible  <bruno@clisp.org>
69702         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
69703         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
69704         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
69705         * lib/ttyname_r.c: Include <limits.h>.
69706         (ttyname_r): Define using the system's ttyname_r function, if it exists
69707         and not on Solaris.
69708         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
69709         set.
69710         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
69711         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
69712         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
69713         Reported by Simon Josefsson.
69715 2010-04-25  Bruno Haible  <bruno@clisp.org>
69717         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
69718         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
69719         * doc/posix-functions/ctime_r.texi: Likewise.
69720         * doc/posix-functions/getgrgid_r.texi: Likewise.
69721         * doc/posix-functions/getgrnam_r.texi: Likewise.
69722         * doc/posix-functions/getlogin_r.texi: Likewise.
69723         * doc/posix-functions/getpwnam_r.texi: Likewise.
69724         * doc/posix-functions/getpwuid_r.texi: Likewise.
69725         * doc/posix-functions/readdir_r.texi: Likewise.
69726         * doc/posix-functions/sigwait.texi: Likewise.
69727         * doc/posix-functions/ttyname_r.texi: Likewise.
69728         Reported by Simon Josefsson.
69730 2010-04-25  Bruno Haible  <bruno@clisp.org>
69732         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
69733         * gnulib-tool (func_usage): Document that --with-*-tests options apply
69734         also to --create-testdir.
69735         (func_acceptable): Don't consider the status of *-tests modules here.
69736         (func_modules_transitive_closure): Consider it here, before including a
69737         test module.
69738         (func_import, func_create_testdir): Set inc_all_direct_tests,
69739         inc_all_indirect_tests.
69740         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
69741         --create-testdir and --create-megatestdir.
69743 2010-04-25  Bruno Haible  <bruno@clisp.org>
69745         gnulib-tool: Add --without-*-tests options.
69746         * gnulib-tool (func_usage): Document the --without-*-tests options.
69747         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
69748         excl_unportable_tests): New variables.
69749         Fail if they are specified with --import or --update.
69750         (func_acceptable): Respect the excl_*_tests variables.
69751         (func_import): Set the excl_*_tests variables to empty.
69753 2010-04-25  Simon Josefsson  <simon@josefsson.org>
69754             Bruno Haible  <bruno@clisp.org>
69756         Work around a MacOS X 10.4 bug with openpty.
69757         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
69758         * tests/test-openpty.c (main): Close the master side explicitly.
69760 2010-04-25  Bruno Haible  <bruno@clisp.org>
69762         strnlen: Fix a C++ test error on MacOS X and Solaris.
69763         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
69764         the function is not declared.
69765         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
69766         Simon Josefsson.
69768 2010-04-24  Bruno Haible  <bruno@clisp.org>
69770         Avoid a gcc warning.
69771         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
69772         of correct type for %08lx directive.
69773         Reported by Eric Blake.
69775 2010-04-24  Bruno Haible  <bruno@clisp.org>
69777         vasnprintf: Correct errno value in case of out-of-memory.
69778         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
69779         or sprintf. Use the errno value from SNPRINTF or sprintf.
69780         Reported by Ian Beckwith <ianb@erislabs.net>.
69782 2010-04-24  Bruno Haible  <bruno@clisp.org>
69784         ansi-c++-opt: Find correct compiler when cross-compiling.
69785         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
69786         AC_CHECK_PROGS.
69787         Reported by Simon Josefsson.
69789 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
69791         vc-list-files: Add support for subversion
69792         * build-aux/vc-list-files: Use "svn list" to generate the list of
69793         files controlled by subversion.
69795 2010-04-23  Jim Meyering  <meyering@redhat.com>
69797         vc-list-files tests: convert to use init.sh
69798         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
69799         path_prepend_.
69800         Use Exit, not exit.
69801         Use skip_ rather than open coding it.
69802         Remove trap set-up and compare definitions.
69803         * tests/test-vc-list-files-git.sh: Likewise.
69804         * modules/vc-list-files-tests (Files): Add tests/init.sh.
69806 2010-04-22  Simon Josefsson  <simon@josefsson.org>
69808         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
69809         backup files.
69811 2010-04-21  Simon Josefsson  <simon@josefsson.org>
69813         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
69815 2010-04-20  Eric Blake  <eblake@redhat.com>
69817         tests: be robust to ignored SIGPIPE
69818         * tests/test-select-in.sh: Consume all output.
69819         * tests/test-lseek.sh: Check correct exit status, while avoiding
69820         EPIPE.
69822 2010-04-20  Simon Josefsson  <simon@josefsson.org>
69823             Bruno Haible  <bruno@clisp.org>
69825         visibility: Don't use -fvisibility if it leads to a warning.
69826         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
69827         yes, don't pretend that visibility works if it leads to a warning.
69828         Reported by Mike Gran <spk121@yahoo.com>.
69830 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
69832         * build-aux/bootstrap: Use "git -h" for testing for supported options
69833         instead of "git --help".  The short-form option only shows a summary,
69834         and doesn't layout the full man page.  Grep for the full option name
69835         in the summary, too.
69837 2010-04-19  Bruno Haible  <bruno@clisp.org>
69839         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
69840         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
69841         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
69842         mention of RELOCATABLE_STRIP.
69843         Reported by Sylvain Beucler <beuc@beuc.net>.
69845 2010-04-19  Bruno Haible  <bruno@clisp.org>
69847         * lib/diffseq.h: Fix typo in comment.
69848         Reported by Eric Blake.
69850 2010-04-19  Bruno Haible  <bruno@clisp.org>
69852         ioctl: Move autoconf macro to a .m4 file.
69853         * m4/ioctl.m4: New file, extracted from modules/ioctl.
69854         * modules/ioctl (Files): Add it.
69855         (configure.ac): Simply invoke gl_FUNC_IOCTL.
69856         Reported by Ian Beckwith <ianb@erislabs.net>.
69858 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
69859             Bruno Haible  <bruno@clisp.org>
69861         diffseq: Accommodate use-case with abstract arrays.
69862         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
69863         is not defined.
69864         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
69865         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
69867 2010-04-18  Bruno Haible  <bruno@clisp.org>
69869         * doc/posix-headers/stdbool.texi: More precise wording.
69871 2010-04-17  Jim Meyering  <meyering@redhat.com>
69873         maint.mk: use gnu-style indentation in an embedded perl script
69874         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
69875         Rename variable: s/two/last_two_bytes/
69877 2010-04-16  Eric Blake  <eblake@redhat.com>
69879         test-stdbool: skip test that fails with Solaris CC
69880         * tests/test-stdbool.c (f): Skip test that causes compilation
69881         error under buggy C++ compiler.
69882         * lib/stdbool.in.h: Document the limitation.
69883         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
69885         setenv: allow compilation with C++
69886         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
69887         register keyword.
69889         stdint: allow test to pass with C++
69890         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
69892         getopt: allow compilation with C++
69893         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
69894         struct.
69895         * lib/getopt.c (_getopt_internal_r): Use correct type.
69896         Reported by Dagobert Michelson, via Joel E. Denny.
69898 2010-04-16  Bruno Haible  <bruno@clisp.org>
69900         Override netdb.h always.
69901         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
69902         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
69903         Reported by Ludovic Courtès <ludo@gnu.org>.
69905 2010-04-15  Bruno Haible  <bruno@clisp.org>
69907         openpty: Fix mistake from 2010-03-21.
69908         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
69909         Reported by Simon Josefsson.
69911 2010-04-15  Eric Blake  <eblake@redhat.com>
69913         test-forkpty: fix expected signature
69914         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
69915         Reported by Simon Josefsson.
69917 2010-04-15  Jim Meyering  <meyering@redhat.com>
69919         maint.mk: texinfo_suffix_re_: correct the default regexp
69920         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
69922         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
69923         make it configurable via texinfo_suffix_re_.
69925 2010-04-14  Eric Blake  <eblake@redhat.com>
69927         strtok_r: relax license to LGPLv2+
69928         * modules/strtok_r (License): Relax license.
69929         Reported by Matthias Bolte.
69931 2010-04-14  Simon Josefsson  <simon@josefsson.org>
69933         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
69934         version 1.4.4 by default instead of requiring the libgcrypt
69935         version used during build.  This makes it possible to use the
69936         application with older but still binary compatible libgcrypt
69937         versions.
69939 2010-04-13  Eric Blake  <eblake@redhat.com>
69941         getopt-gnu: match recent glibc fixes and posix ruling
69942         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
69943         '+' handling, when requesting extensions.
69944         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
69945         'W;' handling.
69946         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
69947         * doc/posix-functions/getopt.texi (getopt): Document this.
69948         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
69949         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
69950         Likewise.
69952         getopt: merge bug fixes from glibc
69953         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
69954         diagnostics.  Honor '+:' correctly.  Reject ';'.
69956         getopt-posix: detect MacOS bug
69957         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
69958         optind when missing a required argument.
69959         * doc/posix-functions/getopt.texi (getopt): Document the bug.
69960         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
69961         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
69962         Likewise.
69964         getopt-posix: avoid spurious failure on Solaris
69965         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
69966         an indicator that setting optind=1 is sufficient for reset.
69968         getopt-posix: avoid spurious failure on FreeBSD
69969         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
69970         in POSIX mode, since the m4 test uses it.
69972         gnulib-tool: silence warning on BSD sh
69973         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
69975 2010-04-13  Jim Meyering  <meyering@redhat.com>
69977         doc: users.txt: GNU patch now uses gnulib
69978         * users.txt: Add patch.
69980 2010-04-12  Jim Meyering  <meyering@redhat.com>
69982         maint.mk: generate more concise timing data for syntax-check rules
69983         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
69984         " done" from each line that reports a syntax-check test duration.
69986 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
69988         git-version-gen: use "git update-index..." rather than "git status"
69989         * build-aux/git-version-gen: Use git update-index --refresh, not
69990         "git status".  With some versions of git, "git status" would fail
69991         to update the index and result in an unwarranted "-dirty" suffix.
69993 2010-04-11  Jim Meyering  <meyering@redhat.com>
69995         openat: correct formatting (no semantic change)
69996         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
69997         Suggested by Bruno Haible.
69999 2010-04-11  Bruno Haible  <bruno@clisp.org>
70001         Stricter declaration checking in testdirs.
70002         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70003         If for_tests is true, augment AM_CPPFLAGS to define
70004         GNULIB_STRICT_CHECKING.
70005         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
70006         GNULIB_STRICT_CHECKING is defined, verify that the function is
70007         declared.
70009 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
70010             Bruno Haible  <bruno@clisp.org>
70012         libunistring: Improve configure output.
70013         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
70014         Don't say "consider installing GNU libunistring" when checking again
70015         with libiconv.
70017 2010-04-11  Bruno Haible  <bruno@clisp.org>
70019         libunistring: Correct value of $LTLIBUNISTRING.
70020         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
70021         correct the value of $LTLIBUNISTRING.
70023 2010-04-11  Bruno Haible  <bruno@clisp.org>
70025         havelib: Add static libraries to LIBS in the right order.
70026         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
70027         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
70029 2010-04-11  Bruno Haible  <bruno@clisp.org>
70031         libunistring: Detect libunistring also when it depends on libiconv.
70032         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
70033         the second AC_LIB_HAVE_LINKFLAGS invocation.
70035 2010-04-11  James Youngman  <jay@gnu.org>
70037         close-stream: declare local scalars to be "const"
70038         * lib/close-stream.c (close_stream): Make boolean variables const
70039         to document the fact that we set but do not change them.
70041 2010-04-11  Bruno Haible  <bruno@clisp.org>
70043         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
70045 2010-04-11  Jim Meyering  <meyering@redhat.com>
70047         maint.mk: don't include dist-check.mk
70048         * top/maint.mk: Remove bogus include directive.
70050         maint.mk: improve empty-line-at-EOF check
70051         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
70052         solution, rather than tail+Perl-based one.  The latter would read
70053         a few kilobytes from the end of each file, and did not handle empty
70054         files properly.
70056         maint.mk: print the elapsed time for each syntax-check rule
70057         * top/maint.mk (sc_m_rules_): Save start time in a file.
70058         (sc_z_rules_): New rules: remove temp file and print elapsed time.
70059         (local-check): Interpose the .z rules
70061 2010-04-11  Jim Meyering  <meyering@redhat.com>
70063         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
70064         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
70065         empty file with one that ends in an empty line.
70067 2010-04-10  Bruno Haible  <bruno@clisp.org>
70069         mkdir: Make it work on mingw64.
70070         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
70071         * lib/mkdir.c: Update comment.
70072         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
70074 2010-04-10  Bruno Haible  <bruno@clisp.org>
70076         Don't override improved macro from newer autoconf.
70077         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
70078         autoconf >= 2.62.
70079         Reported by Joel E. Denny <jdenny@clemson.edu>.
70081 2010-04-10  Jim Meyering  <meyering@redhat.com>
70083         maint.mk: new syntax-check rule: prohibit empty lines at end of file
70084         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
70086         maint.mk: correct a diagnostic
70087         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
70088         in diagnostic; now use $prohibit.
70090 2010-04-10  Bruno Haible  <address@hidden>
70092         fchownat: Fix a C++ test error on Solaris 8.
70093         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
70094         the function does not exist.
70096 2010-04-10  Bruno Haible  <bruno@clisp.org>
70098         vasnprintf: Add more tests.
70099         * tests/test-vasnprintf-posix.c: Include <errno.h>.
70100         (test_function): Test converting an invalid wide string.
70102         vasnprintf: Correct handling of unconvertible wide string arguments.
70103         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
70104         VASNPRINTF.
70105         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
70106         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
70107         smaller than the expected maximum need for the directive. Set errno to
70108         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
70109         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
70110         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
70111         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
70112         * modules/vasnprintf (Files): Add m4/printf.m4.
70113         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70115 2010-04-10  Bruno Haible  <bruno@clisp.org>
70117         vasnprintf: Fix crash in %ls directive.
70118         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
70119         string is passed as argument to %ls, with no precision and no width.
70120         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70122 2010-04-10  Bruno Haible  <bruno@clisp.org>
70124         vasnprintf: Fix multiple test failures on mingw.
70125         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
70126         _snprintf, or snwprintf, not _snwprintf.
70128 2010-04-10  Bruno Haible  <bruno@clisp.org>
70130         write: Fix a C++ test error on mingw.
70131         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
70133 2010-04-10  Bruno Haible  <bruno@clisp.org>
70135         vasnprintf test: Reduce code duplication.
70136         * tests/test-vasnprintf.c (test_function): New function, extracted from
70137         test_vasnprintf.
70138         (test_vasnprintf, test_asnprintf): Invoke it.
70140 2010-04-10  Bruno Haible  <bruno@clisp.org>
70142         strnlen: Fix warning in C++ mode on MacOS X.
70143         * lib/string.in.h (strnlen): Use the modern idiom.
70144         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
70145         defining strnlen as a macro already in <config.h>.
70146         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70147         REPLACE_STRNLEN.
70148         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
70149         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70151 2010-04-08  James Youngman  <jay@gnu.org>
70153         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
70154         the example.
70156 2010-04-09  Jim Meyering  <meyering@redhat.com>
70158         maint.mk: print better diagnostic when there is no $(_hv_file)
70159         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
70160         announce that when $(_hv_file) (aka help-version) does not exist.
70162         init.sh: run tr in the "C" locale to avoid multibyte interpretation
70163         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
70164         not try to interpret its random input bytes.  Jarno Rajahalme reported
70165         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
70166         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
70167         (mktempd_): Likewise, just in case.
70169         ftruncate: add two years to projected module removal date: 2012
70170         * m4/ftruncate.m4: Adjust comments.
70172         ftruncate: mark module as obsolete; even MinGW provides it, now
70173         * modules/ftruncate (Status): Obsolete.
70174         (Notice): Say that.
70175         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
70176         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
70178 2010-04-08  Bruno Haible  <bruno@clisp.org>
70180         Fix side effects from tests-related modules.
70181         * modules/dprintf-posix (Comment): New section.
70182         * modules/fprintf-posix (Comment): Likewise.
70183         * modules/obstack-printf-posix (Comment): Likewise.
70184         * modules/printf-posix (Comment): Likewise.
70185         * modules/snprintf-posix (Comment): Likewise.
70186         * modules/sprintf-posix (Comment): Likewise.
70187         * modules/vasnprintf-posix (Comment): Likewise.
70188         * modules/vasprintf-posix (Comment): Likewise.
70189         * modules/vdprintf-posix (Comment): Likewise.
70190         * modules/vfprintf-posix (Comment): Likewise.
70191         * modules/vprintf-posix (Comment): Likewise.
70192         * modules/vsnprintf-posix (Comment): Likewise.
70193         * modules/vsprintf-posix (Comment): Likewise.
70194         * modules/xprintf-posix (Comment): Likewise.
70195         * modules/xvasprintf-posix (Comment): Likewise.
70196         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
70197         * modules/floorf-tests (Depends-on): Likewise.
70198         * modules/round-tests (Depends-on): Likewise.
70199         * modules/roundf-tests (Depends-on): Likewise.
70200         * modules/trunc-tests (Depends-on): Likewise.
70201         * modules/truncf-tests (Depends-on): Likewise.
70202         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
70203         'fprintf-posix' module is not present.
70204         * tests/test-floorf2.c (check): Likewise.
70205         * tests/test-trunc2.c (check): Likewise.
70206         * tests/test-truncf2.c (check): Likewise.
70207         * tests/test-round2.c (equal): Likewise.
70208         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
70210 2010-04-07  Karl Berry  <karl@gnu.org>
70212         * config/srclist.txt,
70213         * config/srclistvars.sh,
70214         * config/srclist-update: doc fixes.
70216 2010-04-07  Jim Meyering  <meyering@redhat.com>
70218         maint.mk: add a PATH crosschecking syntax-check rule
70219         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
70220         Useful if you use a test like the one in help-version (coreutils,
70221         diffutils, grep, gzip) that ensures $(VERSION) matches what is
70222         printed by prog --version.
70224 2010-04-06  Bruno Haible  <bruno@clisp.org>
70226         Fix link error on mingw.
70227         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
70228         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
70230 2010-04-06  Bruno Haible  <bruno@clisp.org>
70232         Assume rmdir exists.
70233         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
70235 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
70237         doc: update users.txt
70238         * users.txt: Add gcal.
70240 2010-04-06  Jim Meyering  <meyering@redhat.com>
70242         init.sh: simply unset TMPDIR rather than risking env -i
70243         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
70244         although it probably works fine on all Unix-based systems, some
70245         systems (Cygwin?) cannot tolerate a totally cleared environment.
70246         Suggestion from Eric Blake.
70248 2010-04-06  Jim Meyering  <meyering@redhat.com>
70250         init.sh: portability fix: use env's POSIX-specified -i option not -u
70251         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
70252         than unportable env -u.  Solaris 5.11's env lacks support for -u.
70254 2010-04-05  Bruno Haible  <bruno@clisp.org>
70256         btowc: Work around Cygwin 1.7.2 bug.
70257         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
70258         does not map NUL to 0.
70259         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
70261 2010-04-05  Bruno Haible  <bruno@clisp.org>
70263         Make the multithread modules work on Cygwin 1.7.2.
70264         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
70265         imported symbols can be declared weak, so that it returns "no" on
70266         Cygwin 1.7.2.
70268 2010-04-05  Bruno Haible  <bruno@clisp.org>
70270         Use the module 'strncat'.
70271         * modules/unistr/u8-strncat (Depends-on): Add strncat.
70273         Tests for module 'strncat'.
70274         * modules/strncat-tests: New file.
70275         * tests/test-strncat.c: New file.
70277         New module 'strncat'.
70278         * lib/string.in.h (strncat): New declaration.
70279         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
70280         * m4/strncat.m4: New file, based on m4/memchr.m4.
70281         * modules/strncat: New file.
70282         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
70283         is declared.
70284         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
70285         REPLACE_STRNCAT.
70286         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
70287         REPLACE_STRNCAT.
70288         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
70289         module.
70290         * tests/test-string-c++.cc: Check signature of strncat.
70292 2010-04-05  Jim Meyering  <meyering@redhat.com>
70294         xstrtoumax-tests: convert to use init.sh
70295         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
70296         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70297         Use Exit, not exit.
70298         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70300         xstrtoimax-tests: convert to use init.sh
70301         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
70302         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70303         Use Exit, not exit.
70304         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70306 2010-04-05  Bruno Haible  <bruno@clisp.org>
70308         sys_socket: Avoid #define replacements in C++ mode.
70309         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
70310         warning to the function if possible, rather than #defining the symbol
70311         to a dysfunctional alias.
70313 2010-04-05  Bruno Haible  <bruno@clisp.org>
70315         fseeko: Fix C++ test error on mingw.
70316         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
70317         gl_FUNC_FSEEKO.
70318         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
70319         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
70320         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
70321         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
70323 2010-04-05  Bruno Haible  <bruno@clisp.org>
70325         duplocale: Improve test output.
70326         * tests/test-duplocale.c (main): Print reason for skipped test.
70328 2010-04-05  Bruno Haible  <bruno@clisp.org>
70330         Assume rmdir exists.
70331         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
70332         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
70334 2010-04-05  Bruno Haible  <bruno@clisp.org>
70336         Fix link error on Solaris 8 with cc.
70337         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
70339 2010-04-05  Bruno Haible  <bruno@clisp.org>
70341         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
70342         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
70344 2010-04-05  Bruno Haible  <bruno@clisp.org>
70346         vasprintf: Update documentation.
70347         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
70349 2010-04-05  Bruno Haible  <bruno@clisp.org>
70351         ptsname: Improve test.
70352         * tests/test-ptsname.c (main): Also try the various master names of BSD
70353         systems.
70355 2010-04-05  Bruno Haible  <bruno@clisp.org>
70357         memchr: Avoid a possible C++ test error.
70358         * lib/string.in.h (memchr): Provide declaration if function is missing.
70359         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
70360         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
70361         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
70362         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
70364 2010-04-05  Bruno Haible  <bruno@clisp.org>
70366         strtok_r: Improve idiom.
70367         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
70368         AC_LIBOBJ is used.
70370 2010-04-05  Bruno Haible  <bruno@clisp.org>
70372         strdup: Improve idiom.
70373         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
70374         AC_LIBOBJ is used.
70375         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
70376         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
70377         when AC_LIBOBJ is used.
70379 2010-04-05  Bruno Haible  <bruno@clisp.org>
70381         mbsinit, mbrtowc, wcrtomb: Improve idioms.
70382         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
70383         don't set REPLACE_MBSINIT to 1.
70384         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
70385         don't set REPLACE_MBRTOWC to 1.
70386         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
70387         exist, don't set REPLACE_MBSRTOWCS to 1.
70388         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
70389         exist, don't set REPLACE_MBSNRTOWCS to 1.
70390         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
70391         don't set REPLACE_WCRTOMB to 1.
70392         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
70393         exist, don't set REPLACE_WCSRTOMBS to 1.
70394         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
70395         exist, don't set REPLACE_WCSNRTOMBS to 1.
70397 2010-04-05  Bruno Haible  <bruno@clisp.org>
70399         ldexpl: Improve idiom.
70400         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
70401         make sure to set HAVE_DECL_LDEXPL to 0.
70403 2010-04-05  Jim Meyering  <meyering@redhat.com>
70405         xstrtol-tests: convert to use init.sh
70406         * modules/xstrtol-tests (Files): Add tests/init.sh.
70407         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70408         Use Exit, not exit.
70409         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70411         atexit-tests: convert to use init.sh
70412         * modules/atexit-tests (Files): Add tests/init.sh.
70413         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70414         Use Exit, not exit.
70415         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70417         init.sh: fix typo
70418         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
70420         init.sh: make it easier for a test script to write to the tty, ...
70421         when using automake's parallel-tests mode.
70422         * tests/init.sh (stderr_fileno_): Define overridable variable.
70423         (warn_): New function, to use it.
70424         (fail_, skip_, framework_failure_): Use warn_.
70426 2010-04-04  Bruno Haible  <bruno@clisp.org>
70428         btowc: Avoid warning.
70429         * lib/btowc.c: Include <stdlib.h>.
70430         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
70432 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
70433             Bruno Haible  <bruno@clisp.org>
70435         wchar: Port to NetBSD 1.5.
70436         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
70437         * lib/wctype.in.h (WEOF): Likewise.
70439 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
70440             Bruno Haible  <bruno@clisp.org>
70442         Port extended stdio to NetBSD 1.5.
70443         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
70444         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
70445         older.
70447 2010-04-04  Bruno Haible  <bruno@clisp.org>
70449         string: Remove unused substitution.
70450         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
70451         HAVE_DECL_STRERROR.
70452         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
70454 2010-04-04  Bruno Haible  <bruno@clisp.org>
70456         strtod: Avoid a possible C++ test error.
70457         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
70458         set REPLACE_STRTOD.
70460 2010-04-04  Bruno Haible  <bruno@clisp.org>
70462         strerror: Update documentation.
70463         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
70465 2010-04-04  Bruno Haible  <bruno@clisp.org>
70467         stdio: Fix some C++ test errors on Solaris 8 with GCC.
70468         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
70469         _GL_CXXALIAS_SYS_CAST.
70471 2010-04-04  Bruno Haible  <bruno@clisp.org>
70473         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
70474         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
70475         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
70476         REPLACE_FREXPL to 1.
70477         * doc/posix-functions/frexpl.texi: Update documentation.
70479 2010-04-04  Bruno Haible  <bruno@clisp.org>
70481         math: Fix some C++ test errors on Solaris 8 and Cygwin.
70482         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
70484 2010-04-04  Bruno Haible  <bruno@clisp.org>
70486         Implement nanosleep for native Windows.
70487         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
70489 2010-04-04  Bruno Haible  <bruno@clisp.org>
70491         math: Fix some C++ test errors on Solaris 8.
70492         * lib/math.in.h (truncf, trunc): Use simpler idiom.
70494 2010-04-04  Bruno Haible  <bruno@clisp.org>
70496         math: Fix some C++ test errors on Cygwin.
70497         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
70498         truncl): Provide declaration if the system does not have it.
70499         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
70500         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
70501         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
70502         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
70503         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
70504         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
70505         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
70506         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
70507         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
70508         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
70509         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
70510         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
70511         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
70512         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
70513         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
70514         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
70515         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
70516         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
70517         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
70518         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
70519         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
70520         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
70522 2010-04-04  Bruno Haible  <bruno@clisp.org>
70524         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
70525         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
70526         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
70527         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
70528         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
70529         * m4/isinf.m4 (gl_ISINF): Likewise.
70530         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
70532 2010-04-04  Bruno Haible  <bruno@clisp.org>
70534         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
70535         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
70537 2010-04-04  Bruno Haible  <bruno@clisp.org>
70539         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
70540         * modules/tmpfile (configure.ac): Update.
70542         tmpfile: Fix C++ test error on mingw.
70543         * lib/stdio.in.h (tmpfile): New declaration.
70544         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
70545         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
70546         * modules/tmpfile (Depends-on): Add stdio.
70547         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70548         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
70549         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
70550         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
70551         REPLACE_TMPFILE.
70552         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
70554 2010-04-04  Bruno Haible  <bruno@clisp.org>
70556         ioctl: Fix C++ test error on mingw.
70557         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
70558         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
70559         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
70561 2010-04-03  Bruno Haible  <bruno@clisp.org>
70563         wcwidth: Fix C++ test error on mingw.
70564         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
70565         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
70566         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
70568 2010-04-03  Bruno Haible  <bruno@clisp.org>
70570         nanosleep: Fix C++ test error on mingw.
70571         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
70572         * lib/time.in.h (nanosleep): Use modern idiom.
70573         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
70574         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
70575         REPLACE_NANOSLEEP to 1.
70576         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
70577         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
70579 2010-04-03  Bruno Haible  <bruno@clisp.org>
70581         strptime: Fix C++ test error on mingw.
70582         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
70583         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
70584         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
70585         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
70586         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
70587         not REPLACE_STRPTIME.
70588         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
70589         REPLACE_STRPTIME.
70591 2010-04-03  Bruno Haible  <bruno@clisp.org>
70593         timegm: Fix C++ test error on mingw.
70594         * lib/time.in.h (timegm): Use modern idiom.
70595         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
70596         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
70597         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
70598         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
70600 2010-04-03  Bruno Haible  <bruno@clisp.org>
70602         timegm: Assume declaration if function exists.
70603         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
70604         if it exists. Don't clobber ac_cv_func_timegm.
70606 2010-04-03  Bruno Haible  <bruno@clisp.org>
70608         time_r: Fix C++ test error on mingw.
70609         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
70610         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
70611         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
70612         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
70613         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
70615 2010-04-03  Bruno Haible  <bruno@clisp.org>
70617         time_r: Minor updates.
70618         * modules/time_r (Description): Mention the provided functions.
70619         * lib/time_r.c: Don't include <string.h>.
70620         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
70621         * doc/posix-functions/localtime_r.texi: Likewise.
70623 2010-04-03  Bruno Haible  <bruno@clisp.org>
70625         time: Fix regression introduced on 2010-03-08.
70626         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
70627         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
70629 2010-04-03  Jim Meyering  <meyering@redhat.com>
70631         maint.mk: don't silently disable project-specific syntax-check rules
70632         * top/maint.mk (_prohibit_regexp): Define, to help people realize
70633         that they need to convert their project-specific syntax-check rules
70634         to use the new _sc_search_regexp.
70636 2010-04-03  Bruno Haible  <bruno@clisp.org>
70638         fchdir: Fix regression introduced on 2010-03-08.
70639         * lib/unistd.in.h (fchdir): Fix declaration.
70640         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
70641         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
70642         REPLACE_FCHDIR.
70643         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
70644         REPLACE_FCHDIR.
70646 2010-04-03  Bruno Haible  <bruno@clisp.org>
70648         getpagesize: Fix C++ test error on mingw.
70649         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
70650         system does not declare the function.
70651         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
70652         declared.
70653         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
70654         HAVE_DECL_GETPAGESIZE.
70655         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
70657 2010-04-03  Bruno Haible  <bruno@clisp.org>
70659         stdio: Make C++ tests work on mingw.
70660         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
70661         does not declare the function.
70663 2010-04-03  Bruno Haible  <bruno@clisp.org>
70665         ftello: Fix C++ test error on mingw.
70666         * lib/stdio.in.h (ftello): Use modern idiom.
70667         * lib/ftello.c (ftello): Renamed from rpl_ftello.
70668         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
70669         is missing and that it needs to be replaced.
70670         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
70671         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
70672         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
70674 2010-04-03  Bruno Haible  <bruno@clisp.org>
70676         fseeko: Fix C++ test error on mingw.
70677         * lib/stdio.in.h (fseeko): Use modern idiom.
70678         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
70679         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
70680         is missing and that it needs to be replaced.
70681         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
70682         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
70683         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
70685 2010-04-03  Bruno Haible  <bruno@clisp.org>
70687         mkstemp: Fix C++ test error on mingw.
70688         * lib/stdlib.in.h (mkstemp): Use modern idiom.
70689         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
70690         function is missing and that it needs to be replaced.
70691         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
70692         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
70694 2010-04-03  Bruno Haible  <bruno@clisp.org>
70696         stpncpy: Fix C++ test error on mingw.
70697         * lib/string.in.h (stpncpy): Use modern idiom.
70698         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
70699         function is missing and that it needs to be replaced.
70700         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70701         REPLACE_STPNCPY.
70702         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
70704 2010-04-03  Bruno Haible  <bruno@clisp.org>
70706         sys_stat: Fix C++ test error on mingw.
70707         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
70708         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
70710 2010-04-03  Bruno Haible  <bruno@clisp.org>
70712         pty: Update doc.
70713         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
70715 2010-04-03  Bruno Haible  <bruno@clisp.org>
70717         unistd: Fix C++ test error on mingw.
70718         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
70720 2010-04-03  Bruno Haible  <bruno@clisp.org>
70722         Update doc regarding mingw.
70723         * doc/glibc-functions/openpty.texi: Update regarding mingw.
70724         * doc/glibc-functions/login_tty.texi: Likewise.
70725         * doc/glibc-functions/forkpty.texi: Likewise.
70727 2010-04-03  Bruno Haible  <bruno@clisp.org>
70729         stdlib: Avoid compilation failure of c-strtold on mingw.
70730         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
70732 2010-04-03  Bruno Haible  <bruno@clisp.org>
70734         locale: Make C++ tests work on Cygwin and mingw.
70735         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
70736         cannot provide the function.
70737         Reported by Simon Josefsson.
70739 2010-04-03  Bruno Haible  <bruno@clisp.org>
70741         localename: Port to MacOS X 10.6.
70742         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
70743         memory layout of the locales in MacOS X 10.6 as well.
70744         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
70746 2010-04-02  Bruno Haible  <bruno@clisp.org>
70748         gnulib-tool: Ensure that long-running tests are executed last.
70749         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
70750         running tests after the one for the other tests.
70752 2010-04-02  Bruno Haible  <bruno@clisp.org>
70754         gnulib-tool: Ensure the tests in the main directory are executed first.
70755         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
70756         start with the current directory.
70758 2010-04-02  Bruno Haible  <bruno@clisp.org>
70760         Tests for module 'havelib', moved here from GNU gettext.
70761         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
70762         modifications.
70763         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
70764         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
70765         with modifications.
70766         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
70767         modifications.
70768         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
70769         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
70770         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
70771         with modifications.
70772         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
70773         with modifications.
70774         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
70775         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
70776         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
70777         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
70778         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
70779         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
70780         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
70781         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
70782         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
70783         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
70784         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
70785         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
70786         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
70787         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
70788         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
70789         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
70790         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
70791         with modifications.
70792         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
70793         with modifications.
70794         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
70795         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
70796         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
70797         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
70798         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
70799         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
70800         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
70801         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
70802         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
70803         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
70804         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
70805         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
70806         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
70807         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
70808         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
70809         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
70810         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
70811         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
70812         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
70813         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
70814         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
70815         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
70816         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
70817         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
70818         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
70819         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
70820         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
70821         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
70822         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
70823         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
70824         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
70825         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
70826         * tests/havelib/rpathx/rpathx.c: New file, from
70827         gettext/autoconf-lib-link.
70828         * tests/havelib/rpathx/Makefile.am: New file, from
70829         gettext/autoconf-lib-link.
70830         * tests/havelib/rpathx/configure.ac: New file, from
70831         gettext/autoconf-lib-link with modifications.
70832         * tests/havelib/rpathy/rpathy.c: New file, from
70833         gettext/autoconf-lib-link.
70834         * tests/havelib/rpathy/Makefile.am: New file, from
70835         gettext/autoconf-lib-link.
70836         * tests/havelib/rpathy/configure.ac: New file, from
70837         gettext/autoconf-lib-link with modifications.
70838         * tests/havelib/rpathz/rpathz.c: New file, from
70839         gettext/autoconf-lib-link.
70840         * tests/havelib/rpathz/Makefile.am: New file, from
70841         gettext/autoconf-lib-link.
70842         * tests/havelib/rpathz/configure.ac: New file, from
70843         gettext/autoconf-lib-link with modifications.
70844         * tests/havelib/rpathlx/usex.c: New file, from
70845         gettext/autoconf-lib-link.
70846         * tests/havelib/rpathlx/Makefile.am: New file, from
70847         gettext/autoconf-lib-link.
70848         * tests/havelib/rpathlx/configure.ac: New file, from
70849         gettext/autoconf-lib-link with modifications.
70850         * tests/havelib/rpathly/usey.c: New file, from
70851         gettext/autoconf-lib-link.
70852         * tests/havelib/rpathly/Makefile.am: New file, from
70853         gettext/autoconf-lib-link.
70854         * tests/havelib/rpathly/configure.ac: New file, from
70855         gettext/autoconf-lib-link with modifications.
70856         * tests/havelib/rpathlz/usez.c: New file, from
70857         gettext/autoconf-lib-link.
70858         * tests/havelib/rpathlz/Makefile.am: New file, from
70859         gettext/autoconf-lib-link.
70860         * tests/havelib/rpathlz/configure.ac: New file, from
70861         gettext/autoconf-lib-link with modifications.
70862         * tests/havelib/rpathlyx/usey.c: New file, from
70863         gettext/autoconf-lib-link.
70864         * tests/havelib/rpathlyx/Makefile.am: New file, from
70865         gettext/autoconf-lib-link.
70866         * tests/havelib/rpathlyx/configure.ac: New file, from
70867         gettext/autoconf-lib-link with modifications.
70868         * tests/havelib/rpathlzyx/usez.c: New file, from
70869         gettext/autoconf-lib-link.
70870         * tests/havelib/rpathlzyx/Makefile.am: New file, from
70871         gettext/autoconf-lib-link.
70872         * tests/havelib/rpathlzyx/configure.ac: New file, from
70873         gettext/autoconf-lib-link with modifications.
70874         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
70875         with modifications.
70877 2010-04-02  Bruno Haible  <bruno@clisp.org>
70879         gnulib-tool: Create distributed built sources also for the tests.
70880         * gnulib-tool (func_create_testdir): Also generate distributed built
70881         sources in the tests directory.
70883 2010-04-02  Bruno Haible  <bruno@clisp.org>
70885         gnulib-tool: Obey user's environment variables.
70886         * gnulib-tool (func_create_testdir): When creating built sources,
70887         respect the environment variables for autoconf, automake, etc. given by
70888         the user.
70890 2010-04-02  Bruno Haible  <bruno@clisp.org>
70892         gnulib-tool: Provide the value of --m4-base to modules.
70893         * gnulib-tool (func_import, func_create_testdir): Emit a definition
70894         of gl_m4_base.
70896 2010-04-02  Eric Blake  <eblake@redhat.com>
70898         maint.mk: fix some fallout
70899         * NEWS: Document the incompatible change, and its effect on cfg.mk.
70900         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
70902 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
70904         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
70905         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
70906         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
70907         (sc_cast_of_x_alloc_return_value): Likewise.
70908         (sc_cast_of_alloca_return_value): Likewise.
70909         (sc_space_tab): Likewise.
70910         (sc_prohibit_atoi_atof): Likewise.
70911         (sc_prohibit_magic_number_exit): Likewise.
70912         (sc_error_exit_success): Likewise.
70913         (sc_file_system): Likewise.
70914         (sc_prohibit_have_config_h): Likewise.
70915         (sc_require_config_h): Likewise.
70916         (sc_prohibit_HAVE_MBRTOWC): Likewise.
70917         (sc_obsolete_symbols): Likewise.
70918         (sc_changelog): Likewise.
70919         (sc_program_name): Likewise.
70920         (sc_the_the): Likewise.
70921         (sc_trailing_blank): Likewise.
70922         (sc_two_space_separator_in_usage): Likewise.
70923         (sc_useless_cpp_parens): Likewise.
70924         (sc_GPL_version): Likewise.
70925         (sc_GFDL_version): Likewise.
70926         (sc_texinfo_acronym): Likewise.
70927         (sc_prohibit_cvs_keyword): Likewise.
70928         (sc_prohibit_stat_st_blocks): Likewise.
70929         (sc_prohibit_S_IS_definition): Likewise.
70930         (sc_redundant_const): Likewise.
70931         (sc_makefile_TAB_only_indentation): Likewise.
70932         (sc_m4_quote_check): Likewise.
70933         (sc_makefile_path_separator_check): Likewise.
70934         (sc_copyright_check): Likewise.
70935         (sc_Wundef_boolean): Likewise.
70936         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
70938         maint.mk: match 0 or more whitespace-before-function-call '('
70939         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
70940         that have zero or two-and-more spaces between the function name
70941         and the open parenthesis.
70942         (sc_error_message_warn_fatal): Likewise.
70943         (sc_error_message_uppercase): Likewise.
70944         (sc_error_message_period): Likewise.
70946 2010-03-31  Eric Blake  <eblake@redhat.com>
70948         maint.mk: check for [ as well as test
70949         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
70950         Based on a libvirt report by Matthias Bolte.
70952         gnumakefile: don't squelch _version output
70953         * top/GNUmakefile (_version): Create one-shot dependency rather
70954         than using $(shell) when version must be regenerated.
70955         (_autoreconf): Run verbosely, by default.
70957         sys_time: avoid compiler warnings
70958         * lib/sys_time.in.h (includes): Ensure gcc pragma is
70959         unconditional, fixing regression from 2010-03-29.
70960         Reported by Simon Josefsson.
70962 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
70964         maint.mk: s/_header_without_use/_sc_header_without_use/
70965         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
70966         (sc_prohibit_assert_without_use): Use the new name.
70967         (sc_prohibit_close_stream_without_use): Likewise.
70968         (sc_prohibit_getopt_without_use): Likewise.
70969         (sc_prohibit_quotearg_without_use): Likewise.
70970         (sc_prohibit_quote_without_use): Likewise.
70971         (sc_prohibit_long_options_without_use): Likewise.
70972         (sc_prohibit_inttostr_without_use): Likewise.
70973         (sc_prohibit_ignore_value_without_use): Likewise.
70974         (sc_prohibit_error_without_use): Likewise.
70975         (sc_prohibit_xalloc_without_use): Likewise.
70976         (sc_prohibit_hash_without_use): Likewise.
70977         (sc_prohibit_hash_pjw_without_use): Likewise.
70978         (sc_prohibit_safe_read_without_use): Likewise.
70979         (sc_prohibit_argmatch_without_use): Likewise.
70980         (sc_prohibit_canonicalize_without_use): Likewise.
70981         (sc_prohibit_root_dev_ino_without_use): Likewise.
70982         (sc_prohibit_openat_without_use): Likewise.
70983         (sc_prohibit_c_ctype_without_use): Likewise.
70984         (sc_prohibit_signal_without_use): Likewise.
70985         (sc_prohibit_intprops_without_use): Likewise.
70987 2010-03-30  Eric Blake  <eblake@redhat.com>
70989         maint: improve module indicators
70990         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
70991         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
70992         columns, and avoid extra macro expansion.
70994         fdopendir: work around FreeBSD bug
70995         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
70996         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
70997         * modules/dirent (Makefile.am): Substitute it.
70998         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
70999         declaration.
71000         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
71001         fix.
71002         Reported by Christian Weisgerber <naddy@mips.inka.de>.
71004 2010-03-29  Bruno Haible  <bruno@clisp.org>
71006         Emit #pragma system_header after the inclusion guard, not before.
71007         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
71008         guard that spans the entire file, not before. This enables an
71009         optimization in GCC's preprocessor.
71010         * lib/ctype.in.h: Likewise.
71011         * lib/dirent.in.h: Likewise.
71012         * lib/errno.in.h: Likewise.
71013         * lib/float.in.h: Likewise.
71014         * lib/getopt.in.h: Likewise.
71015         * lib/iconv.in.h: Likewise.
71016         * lib/langinfo.in.h: Likewise.
71017         * lib/locale.in.h: Likewise.
71018         * lib/math.in.h: Likewise.
71019         * lib/netdb.in.h: Likewise.
71020         * lib/netinet_in.in.h: Likewise.
71021         * lib/pty.in.h: Likewise.
71022         * lib/sched.in.h: Likewise.
71023         * lib/se-selinux.in.h: Likewise.
71024         * lib/search.in.h: Likewise.
71025         * lib/spawn.in.h: Likewise.
71026         * lib/stdarg.in.h: Likewise.
71027         * lib/stdint.in.h: Likewise.
71028         * lib/string.in.h: Likewise.
71029         * lib/strings.in.h: Likewise.
71030         * lib/sys_file.in.h: Likewise.
71031         * lib/sys_ioctl.in.h: Likewise.
71032         * lib/sys_time.in.h: Likewise.
71033         * lib/sys_times.in.h: Likewise.
71034         * lib/sys_utsname.in.h: Likewise.
71035         * lib/sys_wait.in.h: Likewise.
71036         * lib/sysexits.in.h: Likewise.
71037         * lib/wctype.in.h: Likewise.
71039 2010-03-28  James Youngman  <jay@gnu.org>
71041         save-cwd: don't leak a file descriptor when the caller execs.
71042         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
71043         saved file descriptor.
71044         * modules/save-cwd (Depends-on): Depend on cloexec.
71046 2010-03-29  Bruno Haible  <bruno@clisp.org>
71048         Remove vestiges of fts-lgpl module.
71049         * lib/fts_.h: Assume GNULIB_FTS is 1.
71050         * lib/fts.c: Likewise.
71051         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
71053 2010-03-28  Bruno Haible  <bruno@clisp.org>
71055         Fix definition of tests witness macro.
71056         * gnulib-tool (func_import): Fix definition of witness macro.
71058 2010-03-28  Bruno Haible  <bruno@clisp.org>
71060         Fix ioctl's protoype on glibc systems.
71061         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
71062         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
71063         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
71064         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
71065         signature. If not, arrange to replace the ioctl function.
71066         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
71067         REPLACE_IOCTL.
71068         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
71069         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
71070         Reported by Ludovic Courtès <ludo@gnu.org>.
71072 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
71074         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
71075         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
71076         made it so grep -r --include=GLOB* ... did not work.
71078 2010-03-26  Jim Meyering  <meyering@redhat.com>
71079             Eric Blake  <eblake@redhat.com>
71081         maint.mk: prohibit use of test's -o and -a operators
71082         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
71084 2010-03-28  Bruno Haible  <bruno@clisp.org>
71086         Remove unused GNULIB_XYZ macro definitions.
71087         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
71088         invocation.
71090 2010-03-28  Bruno Haible  <bruno@clisp.org>
71092         Mark privileged tests modules.
71093         * modules/idpriv-drop-tests (Status): New section.
71094         * modules/idpriv-droptemp-tests (Status): New section.
71096 2010-03-28  Bruno Haible  <bruno@clisp.org>
71098         Split C++ tests into separate tests modules.
71099         * modules/dirent-c++-tests: New file, extracted from
71100         modules/dirent-tests.
71101         * modules/dirent-tests: Depend on it.
71102         * modules/fcntl-h-c++-tests: New file, extracted from
71103         modules/fcntl-h-tests.
71104         * modules/fcntl-h-tests: Depend on it.
71105         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
71106         * modules/glob-tests: Depend on it.
71107         * modules/iconv-h-c++-tests: New file, extracted from
71108         modules/iconv-h-tests.
71109         * modules/iconv-h-tests: Depend on it.
71110         * modules/langinfo-c++-tests: New file, extracted from
71111         modules/langinfo-tests.
71112         * modules/langinfo-tests: Depend on it.
71113         * modules/locale-c++-tests: New file, extracted from
71114         modules/locale-tests.
71115         * modules/locale-tests: Depend on it.
71116         * modules/math-c++-tests: New file, extracted from modules/math-tests.
71117         * modules/math-tests: Depend on it.
71118         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
71119         * modules/pty-tests: Depend on it.
71120         * modules/search-c++-tests: New file, extracted from
71121         modules/search-tests.
71122         * modules/search-tests: Depend on it.
71123         * modules/signal-c++-tests: New file, extracted from
71124         modules/signal-tests.
71125         * modules/signal-tests: Depend on it.
71126         * modules/spawn-c++-tests: New file, extracted from
71127         modules/spawn-tests.
71128         * modules/spawn-tests: Depend on it.
71129         * modules/stdio-c++-tests: New file, extracted from
71130         modules/stdio-tests.
71131         * modules/stdio-tests: Depend on it.
71132         * modules/stdlib-c++-tests: New file, extracted from
71133         modules/stdlib-tests.
71134         * modules/stdlib-tests: Depend on it.
71135         * modules/string-c++-tests: New file, extracted from
71136         modules/string-tests.
71137         * modules/string-tests: Depend on it.
71138         * modules/sys_ioctl-c++-tests: New file, extracted from
71139         modules/sys_ioctl-tests.
71140         * modules/sys_ioctl-tests: Depend on it.
71141         * modules/sys_select-c++-tests: New file, extracted from
71142         modules/sys_select-tests.
71143         * modules/sys_select-tests: Depend on it.
71144         * modules/sys_socket-c++-tests: New file, extracted from
71145         modules/sys_socket-tests.
71146         * modules/sys_socket-tests: Depend on it.
71147         * modules/sys_stat-c++-tests: New file, extracted from
71148         modules/sys_stat-tests.
71149         * modules/sys_stat-tests: Depend on it.
71150         * modules/sys_time-c++-tests: New file, extracted from
71151         modules/sys_time-tests.
71152         * modules/sys_time-tests: Depend on it.
71153         * modules/time-c++-tests: New file, extracted from modules/time-tests.
71154         * modules/time-tests: Depend on it.
71155         * modules/unistd-c++-tests: New file, extracted from
71156         modules/unistd-tests.
71157         * modules/unistd-tests: Depend on it.
71158         * modules/wchar-c++-tests: New file, extracted from
71159         modules/wchar-tests.
71160         * modules/wchar-tests: Depend on it.
71161         * modules/wctype-c++-tests: New file, extracted from
71162         modules/wctype-tests.
71163         * modules/wctype-tests: Depend on it.
71164         Reported by Simon Josefsson.
71166 2010-03-28  Bruno Haible  <bruno@clisp.org>
71168         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
71169         * gnulib-tool (func_exists_module): New function, extracted from
71170         func_verify_module.
71171         (func_verify_module): Use it.
71172         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
71173         'foo' only if 'foo' exists.
71174         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
71175         module.
71177 2010-03-28  Bruno Haible  <bruno@clisp.org>
71179         gnulib-tool: Add support for special categories of tests.
71180         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
71181         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
71182         (func_usage): Document them.
71183         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
71184         inc_unportable_tests, inc_all_tests): New variables.
71185         (func_acceptable): Consider these variables.
71186         (func_modules_transitive_closure): Make it work when the 'Status' field
71187         consists of multiple words.
71188         (func_import): Store and restore the values of inc_cxx_tests,
71189         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
71190         inc_all_tests in gnulib-comp.m4.
71191         (func_create_testdir): Set inc_all_tests to true.
71192         * doc/gnulib.texi (Extra tests modules): New section.
71193         Suggested by Jim Meyering.
71195 2010-03-28  Bruno Haible  <bruno@clisp.org>
71197         ansi-c++-opt: Allow turning off the C++ build by default.
71198         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
71199         gl_CXX_CHOICE_DEFAULT_NO is defined.
71200         Requested by Eric Blake.
71202 2010-03-28  Bruno Haible  <bruno@clisp.org>
71204         unistd: Avoid #define replacements in C++ mode.
71205         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
71206         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
71207         setsockopt, shutdown, select): In C++, attach a warning to the function
71208         if possible, rather than #defining the symbol to a dysfunctional alias.
71209         Reported by John W. Eaton <jwe@gnu.org>.
71211 2010-03-28  Bruno Haible  <bruno@clisp.org>
71213         Fix link errors on mingw.
71214         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
71215         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
71216         $(LIBSOCKET).
71217         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
71218         $(LIBSOCKET).
71220 2010-03-28  Bruno Haible  <bruno@clisp.org>
71221             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71223         lib-ignore: Determine different options for different compilers.
71224         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
71225         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
71226         Add comments.
71227         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
71228         * NEWS: Mention the change.
71230 2010-03-27  Bruno Haible  <bruno@clisp.org>
71232         Remove unused GNULIB_XYZ macro definitions.
71233         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
71234         * modules/fseek (configure.ac): Likewise.
71235         * modules/ioctl (configure.ac): Likewise.
71236         * modules/open (configure.ac): Likewise.
71237         * modules/stdlib-safer (configure.ac): Likewise.
71239 2010-03-27  Bruno Haible  <bruno@clisp.org>
71241         Add a remark about certain modules.
71242         * modules/malloc (Comment): New section.
71243         * modules/realloc (Comment): Likewise.
71244         * modules/sigpipe (Comment): Likewise.
71246 2010-03-27  Bruno Haible  <bruno@clisp.org>
71248         Resolve conflict between the two kinds of module indicators.
71249         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
71250         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
71251         * modules/canonicalize (configure.ac): Invoke
71252         gl_MODULE_INDICATOR_FOR_TESTS.
71253         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
71254         GNULIB_XYZ.
71255         * tests/test-dirent-c++.cc: Likewise.
71256         * tests/test-dirent-safer.c: Likewise.
71257         * tests/test-dup2.c: Likewise.
71258         * tests/test-fchdir.c: Likewise.
71259         * tests/test-fcntl-h-c++.cc: Likewise.
71260         * tests/test-getopt.c: Likewise.
71261         * tests/test-getopt.h: Likewise.
71262         * tests/test-langinfo-c++.cc: Likewise.
71263         * tests/test-locale-c++.cc: Likewise.
71264         * tests/test-math-c++.cc: Likewise.
71265         * tests/test-pty-c++.cc: Likewise.
71266         * tests/test-search-c++.cc: Likewise.
71267         * tests/test-signal-c++.cc: Likewise.
71268         * tests/test-spawn-c++.cc: Likewise.
71269         * tests/test-stdio-c++.cc: Likewise.
71270         * tests/test-stdlib-c++.cc: Likewise.
71271         * tests/test-string-c++.cc: Likewise.
71272         * tests/test-sys_ioctl-c++.cc: Likewise.
71273         * tests/test-sys_select-c++.cc: Likewise.
71274         * tests/test-sys_socket-c++.cc: Likewise.
71275         * tests/test-sys_stat-c++.cc: Likewise.
71276         * tests/test-sys_time-c++.cc: Likewise.
71277         * tests/test-time-c++.cc: Likewise.
71278         * tests/test-unistd-c++.cc: Likewise.
71279         * tests/test-wchar-c++.cc: Likewise.
71280         * tests/uninorm/test-u8-nfc.c: Likewise.
71281         * tests/uninorm/test-u8-nfd.c: Likewise.
71282         * tests/uninorm/test-u8-nfkc.c: Likewise.
71283         * tests/uninorm/test-u8-nfkd.c: Likewise.
71284         * tests/uninorm/test-u16-nfc.c: Likewise.
71285         * tests/uninorm/test-u16-nfd.c: Likewise.
71286         * tests/uninorm/test-u16-nfkc.c: Likewise.
71287         * tests/uninorm/test-u16-nfkd.c: Likewise.
71288         * tests/uninorm/test-u32-nfc.c: Likewise.
71289         * tests/uninorm/test-u32-nfc-big.c: Likewise.
71290         * tests/uninorm/test-u32-nfd.c: Likewise.
71291         * tests/uninorm/test-u32-nfd-big.c: Likewise.
71292         * tests/uninorm/test-u32-nfkc.c: Likewise.
71293         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
71294         * tests/uninorm/test-u32-nfkd.c: Likewise.
71295         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
71296         * tests/uninorm/test-u32-normalize-big.c: Likewise.
71298 2010-03-27  Bruno Haible  <bruno@clisp.org>
71300         Distinguish two kinds of module indicators.
71301         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
71302         gl_MODULE_INDICATOR.
71303         (gl_MODULE_INDICATOR): New macro.
71304         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
71305         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
71306         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
71307         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
71308         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
71309         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
71310         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
71311         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
71312         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
71313         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
71314         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
71315         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
71316         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
71317         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
71318         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
71319         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
71320         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
71321         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
71322         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
71323         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
71324         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
71325         * modules/cloexec (configure.ac): Likewise.
71326         * modules/getopt-gnu (configure.ac): Likewise.
71327         * modules/uninorm/u8-normalize (configure.ac): Likewise.
71328         * modules/uninorm/u16-normalize (configure.ac): Likewise.
71329         * modules/uninorm/u32-normalize (configure.ac): Likewise.
71330         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
71332 2010-03-27  Bruno Haible  <bruno@clisp.org>
71334         New module description field 'Comment'.
71335         * gnulib-tool: New option --extract-comment.
71336         (func_usage): Document it.
71337         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
71338         (func_get_comment): New function.
71339         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
71341 2010-03-27  Bruno Haible  <bruno@clisp.org>
71343         Addendum to 2010-02-07 commit.
71344         * gnulib-tool (func_usage): Document --extract-applicability option.
71346 2010-03-27  Bruno Haible  <bruno@clisp.org>
71348         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
71349         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
71350         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
71351         rather than link errors.
71353 2010-03-27  Bruno Haible  <bruno@clisp.org>
71355         Avoid side effects from tests-related modules on the compilation of lib.
71356         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
71357         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
71358         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
71359         parameter. Emit into AM_CPPFLAGS a definition of the designated C
71360         macro.
71361         (func_import): Define a witness macro. Assign it a value that depends
71362         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
71363         tests-related modules.
71364         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
71365         Reported by Jim Meyering.
71367 2010-03-27  Bruno Haible  <bruno@clisp.org>
71369         Factorize common .m4 code.
71370         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
71371         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
71372         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
71373         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
71374         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
71375         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
71376         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
71377         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
71378         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
71379         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
71380         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
71381         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
71382         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
71383         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
71384         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
71385         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
71386         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
71387         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
71388         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
71389         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
71390         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
71391         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
71392         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
71393         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
71394         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
71395         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
71396         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
71397         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
71398         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
71399         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
71400         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
71401         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
71403 2010-03-27  Bruno Haible  <bruno@clisp.org>
71405         Fix a compilation error on Cygwin with g++ >= 4.3.
71406         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
71407         if it is undefined or if we alias it to chmod.
71408         (lstat): Don't warn about the use of this function if it is undefined
71409         or if we alias it to stat.
71410         Reported by Simon Josefsson.
71412 2010-03-27  Bruno Haible  <bruno@clisp.org>
71414         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
71415         * modules/getlogin (configure.ac): Update.
71417         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
71418         * modules/getlogin_r (configure.ac): Update.
71420         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
71421         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
71422         * modules/inet_ntop (configure.ac): Update.
71424         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
71425         * modules/inet_pton (configure.ac): Update.
71427         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
71428         * modules/mbslen (configure.ac): Update.
71430         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
71431         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
71432         * modules/forkpty (configure.ac): Update.
71433         * modules/openpty (configure.ac): Update.
71435 2010-03-26  Simon Josefsson  <simon@josefsson.org>
71437         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
71438         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
71440 2010-03-25  Eric Blake  <eblake@redhat.com>
71442         maint: use pragma consistently across replacement headers
71443         * lib/ctype.in.h (system_header): Hoist for consistent placement.
71444         * lib/dirent.in.h (system_header): Likewise.
71445         * lib/errno.in.h (system_header): Likewise.
71446         * lib/float.in.h (system_header): Likewise.
71447         * lib/getopt.in.h (system_header): Likewise.
71448         * lib/iconv.in.h (system_header): Likewise.
71449         * lib/inttypes.in.h (system_header): Likewise.
71450         * lib/langinfo.in.h (system_header): Likewise.
71451         * lib/locale.in.h (system_header): Likewise.
71452         * lib/math.in.h (system_header): Likewise.
71453         * lib/netdb.in.h (system_header): Likewise.
71454         * lib/netinet_in.in.h (system_header): Likewise.
71455         * lib/pty.in.h (system_header): Likewise.
71456         * lib/sched.in.h (system_header): Likewise.
71457         * lib/se-selinux.in.h (system_header): Likewise.
71458         * lib/search.in.h (system_header): Likewise.
71459         * lib/spawn.in.h (system_header): Likewise.
71460         * lib/stdarg.in.h (system_header): Likewise.
71461         * lib/stdint.in.h (system_header): Likewise.
71462         * lib/string.in.h (system_header): Likewise.
71463         * lib/strings.in.h (system_header): Likewise.
71464         * lib/sys_file.in.h (system_header): Likewise.
71465         * lib/sys_ioctl.in.h (system_header): Likewise.
71466         * lib/sys_socket.in.h (system_header): Likewise.
71467         * lib/sys_times.in.h (system_header): Likewise.
71468         * lib/sys_utsname.in.h (system_header): Likewise.
71469         * lib/sys_wait.in.h (system_header): Likewise.
71470         * lib/sysexits.in.h (system_header): Likewise.
71471         * lib/unistd.in.h (system_header): Likewise.
71472         * lib/wctype.in.h (system_header): Likewise.
71474         arpa/inet: fix mingw compilation warning
71475         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
71476         Reported by Matthew Bolte.
71478 2010-03-25  Bruno Haible  <bruno@clisp.org>
71480         Avoid collision between gnulib wrapper and libintl wrapper.
71481         * lib/printf.c (printf): Don't define if a printf wrapper is already
71482         defined in intl/printf.c.
71483         Reported by Michel Boaventura <michel@michelboaventura.com>.
71485 2010-03-25  Bruno Haible  <bruno@clisp.org>
71487         Use ANSI C.
71488         * lib/readutmp.h (getutent): Provide ANSI C prototype.
71490 2010-03-25  Bruno Haible  <bruno@clisp.org>
71492         Minor formatting changes.
71493         * lib/acosl.c: Insert space before function argument list.
71494         * lib/argz.c: Likewise.
71495         * lib/asinl.c: Likewise.
71496         * lib/expl.c: Likewise.
71497         * lib/gen-uni-tables.c: Likewise.
71498         * lib/gettext.h: Likewise.
71499         * lib/glthread/lock.h: Likewise.
71500         * lib/tanl.c: Likewise.
71501         * lib/uniname/uniname.c: Likewise.
71502         * tests/test-idpriv-drop.c: Likewise.
71503         * tests/test-idpriv-droptemp.c: Likewise.
71504         * tests/test-lock.c: Likewise.
71505         * tests/test-tls.c: Likewise.
71506         * lib/argp-help.c: Insert space before function-like macro argument
71507         list.
71508         * lib/memcmp.c: Likewise.
71509         * tests/test-base64.c: Likewise.
71510         * lib/localename.c: Insert space before sizeof's argument list.
71511         * lib/safe-alloc.h: Likewise.
71512         * lib/file-set.h: Insert space before macro argument list.
71513         * tests/test-argp.c: Likewise.
71514         * lib/argp-namefrob.h: Insert space before function parameter list.
71515         * lib/getaddrinfo.c: Likewise.
71516         * lib/netdb.in.h: Likewise.
71517         * lib/parse-duration.h: Likewise.
71518         * lib/parse-duration.c: Likewise.
71519         * lib/poll.c: Likewise.
71520         * lib/select.c: Likewise.
71521         * lib/trim.h: Likewise.
71522         * tests/test-usleep.c: Likewise.
71523         * lib/ldexpl.c: Insert space before function parameter list and before
71524         function argument list.
71525         * lib/logl.c: Likewise.
71526         * lib/sqrtl.c: Likewise.
71527         * lib/trim.c: Likewise.
71528         * lib/cosl.c: Use GNU style indentation. Insert space before function
71529         argument list.
71530         * lib/sinl.c: Likewise.
71531         * lib/tsearch.c: Insert space after 'for'.
71532         Reported by Jim Meyering.
71534 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
71536         * maint.mk (sc_Wundef_boolean): Check for the presence of the
71537         config header before grepping, as it's not present before
71538         autoreconf/configure are run.  Reported by Simon Josefsson.
71540 2010-03-23  Bruno Haible  <bruno@clisp.org>
71542         pt_chown: Make it work with automake < 1.11.
71543         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
71544         Reported by Simon Josefsson.
71546 2010-03-23  Bruno Haible  <bruno@clisp.org>
71548         pt_chown: Don't depend on GPLed modules.
71549         * lib/pt_chown.c: Don't include idpriv.h.
71550         (main): Don't drop privileges.
71551         * modules/pt_chown (Depends-on): Remove idpriv-drop.
71552         Reported by Simon Josefsson.
71554 2010-03-24  Simon Josefsson  <simon@josefsson.org>
71556         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
71557         suggestions from karl@freefriends.org (Karl Berry).
71559 2010-03-22  Eric Blake  <eblake@redhat.com>
71561         gethostname: further tweaks
71562         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
71563         are overriding gethostname.
71564         Suggested by Bruno Haible.
71566 2010-03-21  Bruno Haible  <bruno@clisp.org>
71568         Fix comments.
71569         * lib/forkpty.c (rpl_forkpty): Fix comment.
71570         * lib/openpty.c (rpl_openpty): Likewise.
71571         Reported by Eric Blake.
71573 2010-03-22  Eric Blake  <eblake@redhat.com>
71575         gethostname: fix build on mingw
71576         * lib/unistd.in.h (includes): Work around fact that mingw
71577         <winsock2.h> re-includes <unistd.h>, by avoiding any
71578         redeclarations if we are being included by <winsock2.h>.
71579         Reported by Matthias Bolte.
71581 2010-03-21  Bruno Haible  <bruno@clisp.org>
71583         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
71584         * lib/forkpty.c (forkpty): New replacement function, from glibc with
71585         modifications.
71586         * lib/pty.in.h (forkpty): Update declaration. Add comments.
71587         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
71588         provide the replacement.
71589         * modules/forkpty (Depends-on): Add openpty, login_tty.
71590         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
71591         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
71592         * doc/glibc-functions/forkpty.texi: More supported platforms.
71593         * config/srclist.txt: Add forkpty.c (commented).
71595 2010-03-21  Bruno Haible  <bruno@clisp.org>
71597         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
71598         (Makefile.am): Verify that PTY_LIB is defined.
71600         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
71602 2010-03-21  Bruno Haible  <bruno@clisp.org>
71604         Tests for module 'login_tty'.
71605         * modules/login_tty-tests: New file.
71606         * tests/test-login_tty.c: New file.
71608         New module 'login_tty'.
71609         * lib/login_tty.c: New file.
71610         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
71611         * modules/login_tty: New file.
71612         * doc/glibc-functions/login_tty.texi: Mention the new module.
71614 2010-03-21  Bruno Haible  <bruno@clisp.org>
71616         login_tty: Documentation.
71617         * doc/glibc-functions/login_tty.texi: New file.
71618         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
71620 2010-03-21  Bruno Haible  <bruno@clisp.org>
71622         pty: Consistent macro naming.
71623         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
71624         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
71625         * modules/pty (configure.ac): Update.
71627 2010-03-21  Bruno Haible  <bruno@clisp.org>
71629         Tests for openpty: Make stricter.
71630         * tests/test-openpty.c (main): Add test of canonical processing and
71631         erase.
71632         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
71634         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
71635         * lib/openpty.c (openpty): New replacement function.
71636         * lib/pty.in.h: Include <termios.h>.
71637         (openpty): Update declaration. Add comments.
71638         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
71639         is not declared, arrange to provide the replacement. Check for _getpty
71640         and posix_openpt.
71641         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
71642         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
71643         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
71644         * modules/pty-tests (test_pty_c___LDADD): New variable.
71645         * doc/glibc-functions/openpty.texi: More supported platforms.
71647 2010-03-21  Bruno Haible  <bruno@clisp.org>
71649         setenv: Tweaks.
71650         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
71651         the test program.
71652         * doc/posix-functions/setenv.texi: Update platforms list.
71654 2010-03-21  Bruno Haible  <bruno@clisp.org>
71656         New module 'unlockpt'.
71657         * lib/unlockpt.c: New file, from glibc with modifications.
71658         * m4/unlockpt.m4: New file.
71659         * modules/unlockpt: New file.
71660         * lib/stdlib.in.h (unlockpt): New declaration.
71661         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
71662         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
71663         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
71664         HAVE_UNLOCKPT.
71665         * doc/posix-functions/unlockpt.texi: Mention the new module.
71666         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
71667         * config/srclist.txt: Add unlockpt.c (commented).
71669 2010-03-21  Jim Meyering  <meyering@redhat.com>
71671         maint.mk: prohibit inclusion of "intprops.h" without use
71672         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
71674 2010-03-21  Bruno Haible  <bruno@clisp.org>
71676         New module 'grantpt'.
71677         * lib/grantpt.c: New file, from glibc with modifications.
71678         * m4/grantpt.m4: New file.
71679         * modules/grantpt: New file.
71680         * lib/stdlib.in.h (grantpt): New declaration.
71681         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
71682         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
71683         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
71684         HAVE_GRANTPT.
71685         * doc/posix-functions/grantpt.texi: Mention the new module.
71686         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
71687         * config/srclist.txt: Add grantpt.c (commented).
71689 2010-03-21  Bruno Haible  <bruno@clisp.org>
71691         New module 'pt_chown'.
71692         * lib/pt_chown.c: New file, from glibc with modifications.
71693         * lib/pty-private.h: New file, from glibc with modifications.
71694         * modules/pt_chown: New file.
71695         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
71697 2010-03-21  Bruno Haible  <bruno@clisp.org>
71699         Tests for module 'ptsname'.
71700         * modules/ptsname-tests: New file.
71701         * tests/test-ptsname.c: New file.
71703         New module 'ptsname'.
71704         * lib/ptsname.c: New file, from glibc with modifications.
71705         * m4/ptsname.m4: New file.
71706         * modules/ptsname: New file.
71707         * lib/stdlib.in.h (ptsname): New declaration.
71708         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
71709         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
71710         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
71711         HAVE_PTSNAME.
71712         * doc/posix-functions/ptsname.texi: Mention the new module.
71713         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
71714         * config/srclist.txt: Add ptsname.c (commented).
71716 2010-03-21  Bruno Haible  <bruno@clisp.org>
71718         Tests for module 'ttyname_r'.
71719         * modules/ttyname_r-tests: New file.
71720         * tests/test-ttyname_r.c: New file.
71722         New module 'ttyname_r'.
71723         * lib/ttyname_r.c: New file.
71724         * m4/ttyname_r.m4: New file.
71725         * modules/ttyname_r: New file.
71726         * lib/unistd.in.h (ttyname_r): New declaration.
71727         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
71728         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
71729         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
71730         HAVE_TTYNAME_R.
71731         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
71732         * doc/posix-functions/ttyname_r.texi: Mention the new module.
71734 2010-03-20  Bruno Haible  <bruno@clisp.org>
71736         signal: Undefine macro definitions in C++ mode.
71737         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
71738         sigfillset): Undefine macro definitions from the system header in C++
71739         mode.
71740         Reported by John W. Eaton <jwe@gnu.org>.
71742 2010-03-20  Bruno Haible  <bruno@clisp.org>
71744         Ensure no #include statements inside extern "C" { ... }.
71745         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
71746         contain #include statements.
71747         * lib/time.in.h: Likewise.
71749 2010-03-20  Bruno Haible  <bruno@clisp.org>
71751         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
71752         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
71753         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
71754         Reported by John W. Eaton <jwe@gnu.org>.
71756 2010-03-20  Bruno Haible  <bruno@clisp.org>
71758         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
71759         Reported by Jim Meyering.
71761 2010-03-20  Bruno Haible  <bruno@clisp.org>
71763         pipe: Set errno upon failure.
71764         * lib/pipe.h: Specify that when -1 is returned, errno is set.
71765         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
71766         errno value in error message.
71768 2010-03-20  Bruno Haible  <bruno@clisp.org>
71769             Jim Meyering  <meyering@redhat.com>
71771         lchown: Avoid "unused variable" warning.
71772         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
71774 2010-03-20  Bruno Haible  <bruno@clisp.org>
71776         Work around unlink() bug on MacOS X 10.5.6.
71777         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
71778         attempting to unlink a parent directory.
71779         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
71780         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
71781         activate for the replacement function.
71782         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
71784 2010-03-20  Bruno Haible  <bruno@clisp.org>
71786         Fix link errors on Solaris 8.
71787         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
71788         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
71790 2010-03-19  Jim Meyering  <meyering@redhat.com>
71792         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
71793         The _LIBC implementation of build_range_exp correctly honors the
71794         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
71795         However, the non-_LIBC implementation would ignore that syntax-bit
71796         flag and return REG_ERANGE unconditionally.
71797         This change makes it honor that flag.
71798         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
71799         Make two pointer parameters "const".
71800         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
71801         (parse_bracket_exp): Update caller.
71803         regex.m4: correct the reversed range endpoint ([b-a]) test
71804         * m4/regex.m4: When requiring that [b-a] evoke failure,
71805         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
71806         test pass once again for x86-based systems.
71808 2010-03-19  Bruno Haible  <bruno@clisp.org>
71810         scandir: Fix link error on Solaris 8.
71811         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
71812         macros.
71814 2010-03-19  Bruno Haible  <bruno@clisp.org>
71816         getusershell: Fix documentation.
71817         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
71818         module.
71819         * doc/glibc-functions/setusershell.texi: Likewise.
71821         getusershell: Provide declaration, missing on Solaris 9.
71822         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
71823         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
71824         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
71825         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
71826         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
71827         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
71828         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
71829         HAVE_GETUSERSHELL.
71830         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
71832 2010-03-19  Bruno Haible  <bruno@clisp.org>
71834         wctype: Provide iswblank function.
71835         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
71836         exists and is fine.
71837         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
71838         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
71839         * tests/test-wctype.c (main): Re-enable the iswblank tests.
71840         * doc/posix-functions/iswblank.texi: Update.
71842 2010-03-19  Bruno Haible  <bruno@clisp.org>
71844         Tests of module 'pty' in C++ mode.
71845         * modules/pty-tests: New file.
71846         * tests/test-pty-c++.cc: New file.
71847         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
71849 2010-03-19  Eric Blake  <eblake@redhat.com>
71851         logb: fix documentation
71852         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
71853         1.5 declaration bug.
71855         forkpty, openpty: prefer glibc's const-safe prototype
71856         * lib/forkpty.c (rpl_forkpty): New file.
71857         * lib/openpty.c (rpl_openpty): Likewise.
71858         * modules/forkpty (Files): Distribute it.
71859         * modules/openpty (Files): Likewise.
71860         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
71861         check...
71862         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
71863         replacement for non-const BSD signature.
71864         * modules/pty (Makefile.am): Substitute witnesses.
71865         * lib/pty.in.h (forkpty, openpty): Declare replacements.
71866         * tests/test-forkpty.c: Update signature check.
71867         * tests/test-openpty.c: Likewise.
71868         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
71869         * doc/glibc-functions/openpty.texi (openpty): Likewise.
71871         forkpty, openpty: split functions into new modules
71872         * modules/pty (Makefile.am): Substitute new witnesses.
71873         (Libraries): Move library detection...
71874         * modules/forkpty: ...into new module.
71875         * modules/openpty: Another new module.
71876         * modules/pty-tests: Rename and split...
71877         * modules/forkpty-tests: ...to this...
71878         * modules/openpty-tests: ...and this.
71879         * tests/test-pty.c: Rename and split...
71880         * tests/test-forkpty.c: ...to this...
71881         * tests/test-openpty.c: ...and this.
71882         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
71883         (gl_PTY): Split library searching...
71884         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
71885         (gl_FORKPTY, gl_OPENPTY): New macros.
71886         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
71887         * NEWS: Mention the split.
71888         * MODULES.html.sh (Misc): Document the modules.
71889         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
71890         * doc/glibc-functions/openpty.texi (openpty): Likewise.
71892         pty: improve replacement header
71893         * lib/pty.in.h: New file.
71894         * modules/pty (Files): Ship it.
71895         (Makefile.am): Always build replacement.
71896         * m4/pty.m4: Rename...
71897         * m4/pty_h.m4: ...to this.
71898         (gl_PTY): Modernize setting of witness macros; update check of
71899         forkpty to take proper advantage of cache.
71900         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
71902         getopt: avoid compiler warning
71903         * lib/getopt.c (attribute_hidden): Remove unused macro.
71905 2010-03-18  Bruno Haible  <bruno@clisp.org>
71907         Fix link errors on Solaris 8.
71908         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
71909         * modules/search-tests (test_search_c___LDADD): Likewise.
71910         * modules/signal-tests (test_signal_c___LDADD): Likewise.
71911         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
71912         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
71913         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
71914         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
71915         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
71916         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
71918 2010-03-18  Bruno Haible  <bruno@clisp.org>
71920         Fix bug introduced on 2010-03-14.
71921         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
71922         (gl_SPAWN_H): Require it.
71923         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
71924         Reported by Simon Josefsson.
71926 2010-03-18  Bruno Haible  <bruno@clisp.org>
71928         Fix typo introduced on 2009-12-31.
71929         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
71930         posix_spawn_file_actions_adddup2.
71932 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
71933         and Eric Blake  <eblake@redhat.com>
71935         test-vc-list-files-git: make more robust
71936         * tests/test-vc-list-files-git.sh: Unset problematic environment
71937         variables.  Chain commands together.
71939 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
71941         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
71942         `AC_CHECK_DECL' invocation.
71944 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
71946         * lib/inttostr.c (inttostr): Make sure the invocation of verify
71947         appears before executable statements. Suggested by Petr Sumbera
71948         <Petr.Sumbera@Sun.COM>.
71950 2010-03-14  Bruno Haible  <bruno@clisp.org>
71952         * tests/test-flock.c (test_exclusive): Comment out a test that causes
71953         portability problems. Instead use a simpler test.
71954         (main): Check that invalid arguments are rejected only on Linux.
71956 2010-03-14  Bruno Haible  <bruno@clisp.org>
71958         Fix bug introduced on 2009-12-31.
71959         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
71960         gl_PREREQ_SYS_H_WINSOCK2 always.
71961         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
71962         SYS_SOCKET_H variable.
71963         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
71964         Update comments.
71965         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
71966         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
71967         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
71968         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
71969         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
71971 2010-03-14  Bruno Haible  <bruno@clisp.org>
71973         Fix values returned by sinl, cosl.
71974         * lib/trigl.h: Add specification comments.
71975         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
71976         that combines the values from the precomputed table with the values of
71977         the Chebyshev polynomials.
71979 2010-03-14  Bruno Haible  <bruno@clisp.org>
71981         Fix compilation error when modules 'posix_spawn[p]' are not used.
71982         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
71983         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
71985 2010-03-14  Bruno Haible  <bruno@clisp.org>
71987         Fix compilation error on mingw when module 'time_r' is not used.
71988         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
71989         is 1.
71990         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
71991         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
71992         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
71993         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
71995 2010-03-14  Bruno Haible  <bruno@clisp.org>
71997         Fix compilation error with Sun C.
71998         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
71999         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
72000         instead of GCC specific ULONG_LONG_MAX.
72001         * lib/xstrtoll.c: Likewise.
72002         * lib/xstrtoull.c: Likewise.
72004 2010-03-13  Bruno Haible  <bruno@clisp.org>
72006         Allow the user to disable C++ code and tests.
72007         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
72008         (gl_PROG_ANSI_CXX): Require it.
72010 2010-03-13  Bruno Haible  <bruno@clisp.org>
72012         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
72013         cases.
72015 2010-03-13  Bruno Haible  <bruno@clisp.org>
72017         Test that gnulib does not break the standard C++ headers.
72018         * tests/test-locale-c++2.cc: New file.
72019         * modules/locale-tests (Files): Add it.
72020         (Makefile.am): Compile it for test-locale-c++.
72021         * tests/test-math-c++2.cc: New file.
72022         * modules/math-tests (Files): Add it.
72023         (Makefile.am): Compile it for test-math-c++.
72024         * tests/test-signal-c++2.cc: New file.
72025         * modules/signal-tests (Files): Add it.
72026         (Makefile.am): Compile it for test-signal-c++.
72027         * tests/test-stdio-c++2.cc: New file.
72028         * modules/stdio-tests (Files): Add it.
72029         (Makefile.am): Compile it for test-stdio-c++.
72030         * tests/test-stdlib-c++2.cc: New file.
72031         * modules/stdlib-tests (Files): Add it.
72032         (Makefile.am): Compile it for test-stdlib-c++.
72033         * tests/test-string-c++2.cc: New file.
72034         * modules/string-tests (Files): Add it.
72035         (Makefile.am): Compile it for test-string-c++.
72036         * tests/test-time-c++2.cc: New file.
72037         * modules/time-tests (Files): Add it.
72038         (Makefile.am): Compile it for test-time-c++.
72039         Reported by John W. Eaton <jwe@gnu.org>.
72041 2010-03-13  Bruno Haible  <bruno@clisp.org>
72043         * gnulib-tool (func_usage): Clarify which options are available for
72044         --create-testdir and --create-megatestdir.
72046 2010-03-13  Bruno Haible  <bruno@clisp.org>
72048         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
72049         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
72050         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
72051         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
72052         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
72053         when appropriate.
72054         Reported by Jim Meyering.
72056 2010-03-12  Simon Josefsson  <simon@josefsson.org>
72058         * gnulib-tool (func_import): Explain origin of code.
72060 2010-03-12  Bruno Haible  <bruno@clisp.org>
72062         Fix problem with automake's definition of CXXLINK.
72063         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
72064         Reported by Simon Josefsson and Ludovic Courtès.
72066 2010-03-12  Bruno Haible  <bruno@clisp.org>
72068         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
72069         stable releases.
72071 2010-03-11  Bruno Haible  <bruno@clisp.org>
72073         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
72074         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
72075         whether the system provides one variant or multiple variants of the
72076         function.
72077         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
72078         C++ compilers.
72079         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
72080         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
72081         Reported by Jim Meyering.
72083 2010-03-09  Simon Josefsson  <simon@josefsson.org>
72085         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
72087 2010-03-08  Bruno Haible  <bruno@clisp.org>
72089         gnulib-tool: Add support for --libtool in --create-testdir.
72090         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
72091         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
72093 2010-03-08  Eric Blake  <eblake@redhat.com>
72095         gnulib-tool.texi: mention possibility of git submodule
72096         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
72097         submodules.
72098         * doc/.gitignore: Ignore another generated file.
72100 2010-03-08  Karl Berry  <karl@gnu.org>
72102         * doc/gnulib-tool.texi (VCS Issues): Mention third option
72103         of committing gnulib files while skipping others.
72105 2010-03-07  Bruno Haible  <bruno@clisp.org>
72107         Tests of module 'wctype' in C++ mode.
72108         * tests/test-wctype-c++.cc: New file.
72109         * modules/wctype-tests (Files): Add it and tests/signature.h.
72110         (Depends-on): Add ansi-c++-opt.
72111         (Makefile.am): Arrange to compile and run test-wctype-c++.
72113         Tests of module 'wchar' in C++ mode.
72114         * tests/test-wchar-c++.cc: New file.
72115         * modules/wchar-tests (Files): Add it and tests/signature.h.
72116         (Depends-on): Add ansi-c++-opt.
72117         (Makefile.am): Arrange to compile and run test-wchar-c++.
72118         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
72119         gl_MODULE_INDICATOR.
72121         Tests of module 'unistd' in C++ mode.
72122         * tests/test-unistd-c++.cc: New file.
72123         * modules/unistd-tests (Files): Add it and tests/signature.h.
72124         (Depends-on): Add ansi-c++-opt.
72125         (Makefile.am): Arrange to compile and run test-unistd-c++.
72126         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
72127         gl_MODULE_INDICATOR.
72129         Tests of module 'time' in C++ mode.
72130         * tests/test-time-c++.cc: New file.
72131         * modules/time-tests (Files): Add it and tests/signature.h.
72132         (Depends-on): Add ansi-c++-opt.
72133         (Makefile.am): Arrange to compile and run test-time-c++.
72134         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
72136         Tests of module 'sys_time' in C++ mode.
72137         * tests/test-sys_time-c++.cc: New file.
72138         * modules/sys_time-tests (Files): Add it and tests/signature.h.
72139         (Depends-on): Add ansi-c++-opt.
72140         (Makefile.am): Arrange to compile and run test-sys_time-c++.
72141         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
72142         gl_MODULE_INDICATOR.
72144         Tests of module 'sys_stat' in C++ mode.
72145         * tests/test-sys_stat-c++.cc: New file.
72146         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
72147         (Depends-on): Add ansi-c++-opt.
72148         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
72149         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
72150         gl_MODULE_INDICATOR.
72152         Tests of module 'sys_socket' in C++ mode.
72153         * tests/test-sys_socket-c++.cc: New file.
72154         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
72155         (Depends-on): Add ansi-c++-opt.
72156         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
72157         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
72158         gl_MODULE_INDICATOR.
72160         Tests of module 'sys_select' in C++ mode.
72161         * tests/test-sys_select-c++.cc: New file.
72162         * modules/sys_select-tests (Files): Add it and tests/signature.h.
72163         (Depends-on): Add ansi-c++-opt.
72164         (Makefile.am): Arrange to compile and run test-sys_select-c++.
72165         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
72166         gl_MODULE_INDICATOR.
72168         Tests of module 'sys_ioctl' in C++ mode.
72169         * tests/test-sys_ioctl-c++.cc: New file.
72170         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
72171         (Depends-on): Add ansi-c++-opt.
72172         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
72173         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
72174         gl_MODULE_INDICATOR.
72176         Tests of module 'string' in C++ mode.
72177         * tests/test-string-c++.cc: New file.
72178         * modules/string-tests (Files): Add it and tests/signature.h.
72179         (Depends-on): Add ansi-c++-opt.
72180         (Makefile.am): Arrange to compile and run test-string-c++.
72181         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
72182         gl_MODULE_INDICATOR.
72184         Tests of module 'stdlib' in C++ mode.
72185         * tests/test-stdlib-c++.cc: New file.
72186         * modules/stdlib-tests (Files): Add it and tests/signature.h.
72187         (Depends-on): Add ansi-c++-opt.
72188         (Makefile.am): Arrange to compile and run test-stdlib-c++.
72189         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
72190         gl_MODULE_INDICATOR.
72192         Tests of module 'stdio' in C++ mode.
72193         * tests/test-stdio-c++.cc: New file.
72194         * modules/stdio-tests (Files): Add it and tests/signature.h.
72195         (Depends-on): Add ansi-c++-opt.
72196         (Makefile.am): Arrange to compile and run test-stdio-c++.
72197         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
72198         gl_MODULE_INDICATOR.
72200         Tests of module 'spawn' in C++ mode.
72201         * tests/test-spawn-c++.cc: New file.
72202         * modules/spawn-tests (Files): Add it and tests/signature.h.
72203         (Depends-on): Add ansi-c++-opt.
72204         (Makefile.am): Arrange to compile and run test-spawn-c++.
72205         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
72206         gl_MODULE_INDICATOR.
72208         Tests of module 'signal' in C++ mode.
72209         * tests/test-signal-c++.cc: New file.
72210         * modules/signal-tests (Files): Add it and tests/signature.h.
72211         (Depends-on): Add ansi-c++-opt.
72212         (Makefile.am): Arrange to compile and run test-signal-c++.
72213         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
72214         gl_MODULE_INDICATOR.
72216         Tests of module 'search' in C++ mode.
72217         * tests/test-search-c++.cc: New file.
72218         * modules/search-tests (Files): Add it and tests/signature.h.
72219         (Depends-on): Add ansi-c++-opt.
72220         (Makefile.am): Arrange to compile and run test-search-c++.
72221         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
72222         gl_MODULE_INDICATOR.
72224         Tests of module 'math' in C++ mode.
72225         * tests/test-math-c++.cc: New file.
72226         * modules/math-tests (Files): Add it and tests/signature.h.
72227         (Depends-on): Add ansi-c++-opt.
72228         (Makefile.am): Arrange to compile and run test-math-c++.
72229         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
72231         Tests of module 'locale' in C++ mode.
72232         * tests/test-locale-c++.cc: New file.
72233         * modules/locale-tests (Files): Add it and tests/signature.h.
72234         (Depends-on): Add ansi-c++-opt.
72235         (Makefile.am): Arrange to compile and run test-locale-c++.
72236         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
72237         gl_MODULE_INDICATOR.
72239         Tests of module 'langinfo' in C++ mode.
72240         * tests/test-langinfo-c++.cc: New file.
72241         * modules/langinfo-tests (Files): Add it and tests/signature.h.
72242         (Depends-on): Add ansi-c++-opt.
72243         (Makefile.am): Arrange to compile and run test-langinfo-c++.
72244         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
72245         gl_MODULE_INDICATOR.
72247         Tests of module 'iconv-h' in C++ mode.
72248         * tests/test-iconv-h-c++.cc: New file.
72249         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
72250         (Depends-on): Add ansi-c++-opt.
72251         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
72253         Tests of module 'glob' in C++ mode.
72254         * tests/test-glob-c++.cc: New file.
72255         * modules/glob-tests (Files): Add it.
72256         (Depends-on): Add ansi-c++-opt.
72257         (Makefile.am): Arrange to compile and run test-glob-c++.
72259         Tests of module 'fcntl-h' in C++ mode.
72260         * tests/test-fcntl-h-c++.cc: New file.
72261         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
72262         (Depends-on): Add ansi-c++-opt.
72263         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
72264         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
72265         gl_MODULE_INDICATOR.
72267         Tests of module 'dirent' in C++ mode.
72268         * tests/test-dirent-c++.cc: New file.
72269         * modules/dirent-tests (Files): Add it and tests/signature.h.
72270         (Depends-on): Add ansi-c++-opt.
72271         (Makefile.am): Arrange to compile and run test-dirent-c++.
72272         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
72273         gl_MODULE_INDICATOR.
72275         New module 'ansi-c++-opt'.
72276         * modules/ansi-c++-opt: New file.
72277         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
72279         Document C++ namespace mode.
72280         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
72282         wctype: Avoid #define replacements in C++ mode.
72283         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
72284         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
72285         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
72286         In C++, define a namespaced alias symbol.
72287         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
72288         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
72289         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
72290         rule.
72292         wchar: Avoid #define replacements in C++ mode.
72293         * lib/wchar.in.h: Include c++defs.h.
72294         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
72295         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
72296         symbol.
72297         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
72298         * modules/wchar (Depends-on): Add c++defs.
72299         (Makefile.am): Update wchar.h rule.
72301         unistd: Avoid #define replacements in C++ mode.
72302         * lib/unistd.in.h: Include c++defs.h.
72303         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
72304         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
72305         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
72306         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
72307         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
72308         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
72309         symbol.
72310         (environ): Update.
72311         * modules/unistd (Depends-on): Add c++defs.
72312         (Makefile.am): Update unistd.h rule.
72314         time: Avoid #define replacements in C++ mode.
72315         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
72316         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
72317         define a namespaced alias symbol.
72318         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
72319         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
72320         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
72321         * modules/time (Depends-on): Add c++defs, warn-on-use.
72322         (Makefile.am): Update time.h rule.
72323         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
72324         * modules/nanosleep (configure.ac): Likewise.
72325         * modules/strptime (configure.ac): Likewise.
72326         * modules/timegm (configure.ac): Likewise.
72328         sys_time: Avoid #define replacements in C++ mode.
72329         * lib/sys_time.in.h: Include c++defs.h.
72330         (gettimeofday): In C++, define a namespaced alias symbol.
72331         * modules/sys_time (Depends-on): Add c++defs.
72332         (Makefile.am): Update sys/time.h rule.
72334         sys_stat: Avoid #define replacements in C++ mode.
72335         * lib/sys_stat.in.h: Include c++defs.h.
72336         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
72337         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
72338         namespaced alias symbol.
72339         In C++, define a namespaced alias symbol.
72340         * modules/sys_stat (Depends-on): Add c++defs.
72341         (Makefile.am): Update sys/stat.h rule.
72343         sys_socket: Avoid #define replacements in C++ mode.
72344         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
72345         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
72346         definitions also when the system has a <sys/socket.h>.
72347         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
72348         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
72349         In C++, define a namespaced alias symbol.
72350         * modules/sys_socket (Depends-on): Add c++defs.
72351         (Makefile.am): Update sys/socket.h rule.
72353         sys_select: Avoid #define replacements in C++ mode.
72354         * lib/sys_select.in.h: Include c++defs.h. Enable the function
72355         definitions also when the system has a <sys/select.h>.
72356         (select): In C++, define a namespaced alias symbol.
72357         * modules/sys_select (Depends-on): Add c++defs.
72358         (Makefile.am): Update sys/select.h rule.
72360         sys_ioctl: Avoid #define replacements in C++ mode.
72361         * lib/sys_ioctl.in.h: Include c++defs.h.
72362         (ioctl): In C++, define a namespaced alias symbol.
72363         * modules/sys_ioctl (Depends-on): Add c++defs.
72364         (Makefile.am): Update sys/ioctl.h rule.
72366         string: Avoid #define replacements in C++ mode.
72367         * lib/string.in.h: Include c++defs.h.
72368         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
72369         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
72370         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
72371         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
72372         strsignal, strverscmp): In C++, define a namespaced alias symbol.
72373         * modules/string (Depends-on): Add c++defs.
72374         (Makefile.am): Update string.h rule.
72376         stdlib: Avoid #define replacements in C++ mode.
72377         * lib/stdlib.in.h: Include c++defs.h.
72378         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
72379         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
72380         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
72381         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
72382         symbol.
72383         * modules/stdlib (Depends-on): Add c++defs.
72384         (Makefile.am): Update stdlib.h rule.
72386         stdio: Avoid #define replacements in C++ mode.
72387         * lib/stdio.in.h: Include c++defs.h.
72388         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
72389         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
72390         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
72391         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
72392         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
72393         namespaced alias symbol.
72394         * modules/stdio (Depends-on): Add c++defs.
72395         (Makefile.am): Update stdio.h rule.
72397         spawn: Avoid #define replacements in C++ mode.
72398         * lib/spawn.in.h: Include c++defs.h.
72399         (posix_spawn, posix_spawnp, posix_spawnattr_init,
72400         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
72401         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
72402         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
72403         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
72404         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
72405         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
72406         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
72407         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
72408         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
72409         In C++, define a namespaced alias symbol.
72410         * modules/spawn (Depends-on): Add c++defs.
72411         (Makefile.am): Update spawn.h rule.
72413         signal: Avoid #define replacements in C++ mode.
72414         * lib/signal.in.h: Include c++defs.h.
72415         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
72416         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
72417         namespaced alias symbol.
72418         * modules/signal (Depends-on): Add c++defs.
72419         (Makefile.am): Update signal.h rule.
72421         search: Avoid #define replacements in C++ mode.
72422         * lib/search.in.h: Include c++defs.h.
72423         (_gl_search_compar_fn, _gl_search_action_fn): New types.
72424         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
72425         symbol.
72426         * modules/search (Depends-on): Add c++defs.
72427         (Makefile.am): Update search.h rule.
72429         math: Avoid #define replacements in C++ mode.
72430         * lib/math.in.h: Include c++defs.h.
72431         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
72432         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
72433         trunc, truncl): In C++, define a namespaced alias symbol.
72434         * modules/math (Depends-on): Add c++defs.
72435         (Makefile.am): Update math.h rule.
72437         locale: Avoid #define replacements in C++ mode.
72438         * lib/locale.in.h: Include c++defs.h.
72439         (duplocale): In C++, define a namespaced alias symbol.
72440         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
72441         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
72442         * modules/locale (Depends-on): Add c++defs.
72443         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
72445         langinfo: Avoid #define replacements in C++ mode.
72446         * lib/langinfo.in.h: Include c++defs.h.
72447         (nl_langinfo): In C++, define a namespaced alias symbol.
72448         * modules/langinfo (Depends-on): Add c++defs.
72449         (Makefile.am): Update langinfo.h rule.
72451         iconv-h: Avoid #define replacements in C++ mode.
72452         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
72453         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
72454         symbol.
72455         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
72456         whenever iconv is present.
72457         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
72458         (Makefile.am): Update iconv.h rule.
72460         glob: Avoid #define replacements in C++ mode.
72461         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
72462         (_gl_glob_errfunc_fn): New type.
72463         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
72464         symbol.
72465         * modules/glob (Depends-on): Add c++defs, warn-on-use.
72466         (Makefile.am): Update glob.h rule.
72468         fcntl-h: Avoid #define replacements in C++ mode.
72469         * lib/fcntl.in.h: Include c++defs.h.
72470         (fcntl, open, openat): In C++, define a namespaced alias symbol.
72471         * modules/fcntl-h (Depends-on): Add c++defs.
72472         (Makefile.am): Update fcntl.h rule.
72474         dirent: Avoid #define replacements in C++ mode.
72475         * lib/dirent.in.h: Include c++defs.h.
72476         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
72477         namespaced alias symbol.
72478         (dirfd): Update declaration.
72479         * modules/dirent (Depends-on): Add c++defs.
72480         (Makefile.am): Update dirent.h rule.
72482         ctype: Make it usable in C++ code.
72483         * lib/ctype.in.h: Include c++defs.h.
72484         (isblank): Declare as extern "C".
72485         * modules/ctype (Depends-on): Add c++defs.
72486         (Makefile.am): Update ctype.h rule.
72488         New module 'c++defs'.
72489         * modules/c++defs: New file.
72490         * build-aux/c++defs.h: New file.
72491         Reported by John W. Eaton <jwe@gnu.org>.
72493 2010-03-07  Bruno Haible  <bruno@clisp.org>
72495         logb: Provide missing declaration for Cygwin.
72496         * lib/math.in.h (logb): New declaration.
72497         * m4/logb.m4: New file.
72498         * modules/logb (Files): Add m4/logb.m4.
72499         (Depends-on): Add math.
72500         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
72501         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
72502         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
72503         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
72504         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
72506 2010-03-07  Bruno Haible  <bruno@clisp.org>
72508         Fix test-cond link error.
72509         * tests/test-cond.c: Include <stdio.h>.
72511 2010-03-07  Bruno Haible  <bruno@clisp.org>
72513         Fix test-dirent-safer link error.
72514         * modules/dirent-safer-tests (Makefile.am): Define
72515         test_dirent_safer_LDADD.
72517 2010-03-07  Bruno Haible  <bruno@clisp.org>
72519         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
72520         among default module list.
72522 2010-03-07  Bruno Haible  <bruno@clisp.org>
72524         Fix link error on platforms with GNU libiconv.
72525         * modules/unistr/u8-strcoll-tests (Makefile): Define
72526         test_u8_strcoll_LDADD.
72527         * modules/unistr/u16-strcoll-tests (Makefile): Define
72528         test_u16_strcoll_LDADD.
72529         * modules/unistr/u32-strcoll-tests (Makefile): Define
72530         test_u32_strcoll_LDADD.
72532 2010-03-07  Bruno Haible  <bruno@clisp.org>
72534         Use POSIX declarations for socket functions.
72535         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
72536         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
72537         rpl_sendto): Change declaration to match POSIX.
72538         * lib/connect.c (rpl_connect): Likewise.
72539         * lib/accept.c (rpl_accept): Likewise.
72540         * lib/bind.c (rpl_bind): Likewise.
72541         * lib/getpeername.c (rpl_getpeername): Likewise.
72542         * lib/getsockname.c (rpl_getsockname): Likewise.
72543         * lib/recv.c (rpl_recv): Likewise.
72544         * lib/send.c (rpl_send): Likewise.
72545         * lib/recvfrom.c (rpl_recvfrom): Likewise.
72546         * lib/sendto.c (rpl_sendto): Likewise.
72548 2010-03-06  Bruno Haible  <bruno@clisp.org>
72550         Clarify access, euidaccess, faccessat.
72551         * doc/posix-functions/faccessat.texi: Mention security problem under
72552         "Other problems", not "Portability problems".
72553         * doc/posix-functions/access.texi: Likewise. Mention a related security
72554         problem.
72555         * doc/glibc-functions/euidaccess.texi: Mention security problems.
72556         * lib/euidaccess.c: Add comments about platforms.
72557         * lib/unistd.in.h (access, euidaccess): Add warnings.
72559 2010-03-07  Bruno Haible  <bruno@clisp.org>
72561         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
72562         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
72563         (POSIX_SPAWN_SETSCHEDULER): Likewise.
72564         (POSIX_SPAWN_USEVFORK): Define in a way that works when
72565         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
72566         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
72567         declare when POSIX_SPAWN_SETSCHEDULER is zero.
72568         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
72569         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
72570         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
72571         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
72572         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
72573         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
72574         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
72575         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
72576         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
72577         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
72578         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
72579         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
72580         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
72581         Likewise.
72582         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
72583         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
72584         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
72585         Likewise.
72586         * tests/test-spawn.c (main): Make it work when
72587         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
72589 2010-03-07  Bruno Haible  <bruno@clisp.org>
72591         Fix incorrect Makefile.am generation in German locale.
72592         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72593         Execute sed command with character range in C locale.
72595 2010-03-06  Bruno Haible  <bruno@clisp.org>
72597         Tests for module 'iconv-h'.
72598         * modules/iconv-h-tests: New file.
72599         * tests/test-iconv-h.c: New file.
72601         New module 'iconv-h'.
72602         * modules/iconv-h: New file.
72603         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
72604         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
72605         (configure.ac): Remove gl_ICONV_H.
72606         (Makefile.am): Remove rule for iconv.h.
72608 2010-03-06  Bruno Haible  <bruno@clisp.org>
72610         More consistent naming of *.m4 files.
72611         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
72612         * modules/wctype (Files): Update.
72614         More consistent naming of *.m4 files.
72615         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
72616         * modules/wchar (Files): Update.
72618 2010-03-06  Jim Meyering  <meyering@redhat.com>
72620         euidaccess: relax license to LGPLv2+
72621         * modules/euidaccess (License): Relax to LGPLv2+.
72623 2010-03-06  Bruno Haible  <bruno@clisp.org>
72625         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
72626         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
72627         (Makefile.am): Augment lib_SOURCES instead.
72629 2010-03-04  Jim Meyering  <meyering@redhat.com>
72631         utime: remove obsolete module
72632         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
72633         unnecessary for years, and has been marked as obsolete for 10 months.
72634         * modules/utime: Remove file.
72635         * lib/utime.c: Remove file.
72636         * m4/utime.m4: Remove file.
72637         * m4/utimes-null.m4: Remove file.
72638         * doc/posix-functions/utime.texi (utime): Remove reference to
72639         the module.  Move the sole "fixed by gnulib" item into the
72640         "problems not fixed by Gnulib" list.
72641         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
72643 2010-03-05  Simon Josefsson  <simon@josefsson.org>
72645         * modules/exit (License): Relax license to LGPLv2+.
72646         (Status): Mark as obsolete.
72647         * NEWS: Mention deprecated 'exit' module.
72648         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
72649         of now obsolete 'exit'.
72651 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72653         fts-lgpl: remove unused module
72654         * modules/fts-lgpl: Remove.
72655         * MODULES.html.sh (func_all_modules): Adjust.
72656         * check-module (find_included_lib_files): Adjust.
72657         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
72659 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
72661         copy-acl: enhance Solaris ACL error handling
72662         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
72663         * lib/set-mode-acl.c (qset_acl): Likewise.
72665 2010-03-02  Bruno Haible  <bruno@clisp.org>
72667         spawn: Don't override the system defined values on FreeBSD 8.
72668         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
72669         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
72670         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
72671         if HAVE_POSIX_SPAWN is 1.
72672         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
72674 2010-03-01  Bruno Haible  <bruno@clisp.org>
72676         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
72677         regarding Automake.
72679 2010-02-25  Bruno Haible  <bruno@clisp.org>
72681         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
72682         * gnulib-tool: Define 'echo' as a function only before the ksh alias
72683         setting, not afterwards.
72684         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
72686 2010-02-24  Eric Blake  <eblake@redhat.com>
72688         bootstrap, git-version-gen: use timestamp
72689         * build-aux/git-version-gen (scriptversion): Force UTC.
72690         * build-aux/bootstrap (scriptversion): New variable.
72692         bootstrap: allow older git
72693         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
72694         older than 1.6.4.  Requested by the libvirt project.
72696 2010-02-23  Eric Blake  <eblake@redhat.com>
72698         warn-on-use: work with old autoconf
72699         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
72700         AS_VAR semantics of autoconf 2.60.
72701         Reported by Bruno Haible.
72703         bootstrap: improve some comments
72704         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
72705         clarification comments.
72707         gettimeofday: provide correct function
72708         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
72709         when replacement is declared, otherwise provide gettimeofday.
72710         Reported by Michael Goffioul.
72712 2010-02-23  Jim Meyering  <meyering@redhat.com>
72714         lib-ignore: relax license to "unlimited", not LGPLv2+
72715         * modules/lib-ignore (License): Relax to "unlimited".
72717 2010-02-23  Jim Meyering  <meyering@redhat.com>
72719         lib-ignore: relax license to LGPLv2+
72720         * modules/lib-ignore (License): Relax to LGPLv2+.
72722 2010-02-22  Eric Blake  <eblake@redhat.com>
72724         lseek: avoid bash 3.2 broken pipe bug
72725         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
72726         warning from bash 3.2.
72727         Reported by Ben Pfaff, with analysis from Bruno Haible.
72729         bootstrap: support non-FSF copyright holder
72730         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
72731         bootstrap.conf override of COPYRIGHT_HOLDER.
72732         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
72734         bootstrap: interoperate with gettext 0.14.1
72735         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
72737         bootstrap: allow for alternate submodule location
72738         * build-aux/bootstrap (gnulib_path): New variable; use instead of
72739         hardcoding submodule location.
72740         (gnulib_mk): Allow direct use of Makefile.am.
72742         bootstrap: use GNULIB_SRCDIR to reduce disk usage
72743         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
72744         rather than reconfiguring where the submodule points.
72746         gettimeofday: restore support for platforms that lack function
72747         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
72748         replacement if function is missing.
72749         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
72750         * modules/sys_time (Makefile.am): Substitute it.
72751         * lib/sys_time.in.h (gettimeofday): Check it.
72752         Reported by Michael Goffioul.
72754 2010-02-21  Bruno Haible  <bruno@clisp.org>
72756         * lib/stdio.in.h (obstack_printf): Fix typo.
72758 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
72760         vc-list-files: use bzr ls's -R option
72761         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
72762         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
72764 2010-02-21  Jim Meyering  <meyering@redhat.com>
72766         init.sh: fix EXEEXT shims to work also for names like test-prog
72767         * tests/init.sh: Re-exec a better shell, when needed.
72768         If the current shell lacks support for posix $(...), an init.sh-using
72769         test will now try to find a shell that supports that.  If EXEEXT is
72770         nonempty, we also require support for hyphen-in-alias-name and shell
72771         substitutions like ${var#glob}.  Failure to find such a shell results
72772         in a skipped test.
72774 2010-02-21  Bruno Haible  <bruno@clisp.org>
72776         Really work around "broken pipe" error message from bash 3.2.
72777         * gnulib-tool (func_reset_sigpipe): Remove function.
72778         (echo): In bash 3.2, define to a function that uses printf.
72779         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
72781 2010-02-20  Bruno Haible  <bruno@clisp.org>
72783         Restore support for automake 1.9.6 with autoconf 2.61.
72784         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
72785         Reported by James Youngman <jay@gnu.org>.
72787 2010-02-20  Bruno Haible  <bruno@clisp.org>
72789         Improve *printf warning condition.
72790         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
72791         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
72792         and the function is overridden due to SIGPIPE emulation.
72794 2010-02-20  Bruno Haible  <bruno@clisp.org>
72796         * lib/stdio.in.h: Tweak comments.
72798 2010-02-19  Bruno Haible  <bruno@clisp.org>
72800         Make it easier to find modules. New gnulib-tool option '--find'.
72801         * gnulib-tool: New option --find.
72802         (func_usage): Document it.
72803         (func_sanitize_modulelist): New function, extracted from
72804         func_all_modules.
72805         (func_all_modules): Invoke it.
72806         * doc/gnulib-tool.texi (Which modules?): New node.
72808 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
72810         * lib/sys_select.in.h: Provide select replacement even if
72811         sys/select.h exists on a system, for Interix.
72813 2010-02-18  Jim Meyering  <meyering@redhat.com>
72815         init.sh: don't use $(...) just yet
72816         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
72817         to accommodate e.g., Solaris' /bin/sh.
72819 2010-02-17  Bruno Haible  <bruno@clisp.org>
72821         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
72822         Reported by Ludovic Courtès <ludo@gnu.org>.
72824 2010-02-16  Simon Josefsson  <simon@josefsson.org>
72826         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
72827         linking with -lintl.
72829 2010-02-17  Simon Josefsson  <simon@josefsson.org>
72831         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
72832         if not provided by the system's netdb.h.  Reported by
72833         ludo@gnu.org (Ludovic Courtès).
72835 2010-02-15  Jim Meyering  <meyering@redhat.com>
72837         init.sh: improve portability and efficiency
72838         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
72839         "dummy" in a for loop.
72840         Use '!', not '^' to select the complement of a character set used
72841         in a "case" statement.
72842         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
72843         Suggestions from Eric Blake.
72845         init.sh: automatically accommodate programs with the .exe suffix
72846         Automatically arrange for an invocation of "prog" to execute the
72847         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
72848         may use the simpler "prog", yet still work when built on a system
72849         that requires specifying the added suffix.
72850         Do this by constructing a function named "prog" that invokes
72851         "prog.exe" for each .exe file in selected directories.
72852         * tests/init.sh (find_exe_basenames_): New function.
72853         (create_exe_shim_functions_): New function.
72854         (path_prepend_): Use it.
72856         maint.mk: mark syntax-check sc_*.m rules as .PHONY
72857         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
72858         "make -t syntax-check" doesn't create a ton of sc_*.m files.
72860 2010-02-14  Jim Meyering  <meyering@redhat.com>
72862         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
72863         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
72864         (sc_prohibit_hash_pjw_without_use): New rule.
72866         maint.mk: allow the default upload destination dir to be overridden
72867         * top/maint.mk (upload_dest_dir_): Define with a default that
72868         preserves the status quo.
72869         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
72870         Reported by Peter Simons.
72872         maint.mk: prohibit inclusion of "hash.h" without_use
72873         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
72875 2010-02-10  Jim Meyering  <meyering@redhat.com>
72877         maint.mk: prohibit inclusion of "ignore-value.h" without_use
72878         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
72880 2010-02-09  Eric Blake  <ebb9@byu.net>
72881         and Bruno Haible  <bruno@clisp.org>
72883         obstack-printf-posix: ensure declaration
72884         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
72885         extracted from gl_FUNC_OBSTACK_PRINTF.
72886         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
72887         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
72888         Likewise.
72889         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
72890         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
72891         0.
72893 2010-02-08  Bruno Haible  <bruno@clisp.org>
72895         gnulib-tool: Fix typo in 2010-02-07 commit.
72896         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
72897         Reported by Eric Blake.
72899 2010-02-07  Bruno Haible  <bruno@clisp.org>
72901         gnulib-tool: Fix up caching patches.
72902         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
72903         option --no-cache. Use associative arrays when supported by the shell.
72904         (sed_comments): New variable.
72905         (modcache): Renamed from do_cache.
72906         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
72907         abbreviate unnecessarily.
72908         (have_associative): New variable.
72909         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
72910         way also for ksh and zsh.
72911         (func_init_sed_convert_to_cache_statements): New function, extracted
72912         from func_cache_lookup_module. Add support for associative arrays.
72913         Don't set the c_MODULE_cached variable here. Ignore all lines before
72914         the first field header. Remove only the final newline, not all trailing
72915         newlines. Support empty fields correctly. Limit the use of 'eval' to
72916         assignments.
72917         (func_get_description, func_get_status, func_get_notice,
72918         func_get_applicability, func_get_filelist, func_get_dependencies,
72919         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
72920         func_get_automake_snippet, func_get_include_directive,
72921         func_get_link_directive, func_get_license, func_get_maintainer):
72922         Update documentation. List the unoptimized code first. Add support for
72923         associative arrays. Limit the use of 'eval' to assignments.
72924         (func_get_applicability): Undo stylistic pessimisations.
72925         (func_get_automake_snippet, func_get_include_directive): Reduce code
72926         duplication.
72927         (func_modules_transitive_closure, func_modules_add_dummy,
72928         func_modules_notice, func_modules_to_filelist, func_add_file,
72929         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
72930         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
72931         func_create_testdir, func_create_megatestdir): Update documentation.
72933 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72935         * gnulib-tool (func_cache_lookup_module): Store the module name
72936         belonging to the cache variable; error out if two different
72937         module names map to the same cache variable name.
72939 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72941         gnulib-tool: Make caching optional.
72942         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
72943         Update matching short versions of --no-changelog.
72944         (func_usage): Update.
72945         (sed_extract_cache_prog): Renamed from ...
72946         (sed_extract_prog): ... this; revert to old extraction script.
72947         (func_get_description, func_get_status)
72948         (func_get_notice, func_get_applicability, func_get_filelist)
72949         (func_get_dependencies, func_get_autoconf_early_snippet)
72950         (func_get_autoconf_snippet, func_get_automake_snippet)
72951         (func_get_include_directive, func_get_link_directive)
72952         (func_get_license, func_get_maintainer): If $do_cache is false,
72953         use old, non-caching extraction scripts.
72954         Suggestion by Bruno Haible.
72956 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72958         gnulib-tool: cache module metainformation.
72959         * gnulib-tool (sed_extract_prog): Match newline before each
72960         header, and rewrite header to a shell variable suffix.
72961         (func_cache_var, func_cache_lookup_module): New functions,
72962         to turn a module name into a cache variable prefix, and to
72963         look up and cache module metainformation.
72964         (func_get_description, func_get_status)
72965         (func_get_notice, func_get_applicability, func_get_filelist)
72966         (func_get_dependencies, func_get_autoconf_early_snippet)
72967         (func_get_autoconf_snippet, func_get_automake_snippet)
72968         (func_get_include_directive, func_get_link_directive)
72969         (func_get_license, func_get_maintainer): Use
72970         func_cache_lookup_module.
72972 2010-02-07  Bruno Haible  <bruno@clisp.org>
72974         fnctl: Fix missing dependency.
72975         * modules/fcntl (Depends-on): Add getdtablesize.
72976         Reported by John W. Eaton <jwe@gnu.org>.
72978 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
72980         Argp: fix recognition of short alias options.
72982         * lib/argp-parse.c (convert_options): Fix improper use of
72983         `|' between character values.
72984         * tests/test-argp.c (group1_option): New alias option
72985         --read (-r).
72986         (group1_parser): Special handling for 'r'.
72987         (test15): New test case.
72988         (test_fun): Add test15.
72989         * tests/test-argp-2.sh: Update expected --help and --usage
72990         outputs.
72992 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
72994         * tests/test-argp.c: Fix indentation.
72996 2010-02-04  Eric Blake  <ebb9@byu.net>
72998         gettimeofday: expose type of second argument
72999         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
73000         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
73001         * tests/test-gettimeofday.c: Use it to silence warning.
73002         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
73003         the issue.
73005 2010-02-03  Jim Meyering  <meyering@redhat.com>
73007         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
73008         * lib/regcomp.c (TYPE_SIGNED): Define.
73009         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
73011         regcomp.c: avoid a new -Wshadow warning
73012         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
73014 2010-02-01  Jim Meyering  <meyering@redhat.com>
73016         removing useless parentheses in cpp #define directives
73017         For motivation, see commit c0221df4, "define STREQ(a,b)
73018         consistently, removing useless parentheses"
73019         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
73020         * lib/mountlist.c (MNT_IGNORE): Likewise.
73021         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
73023 2010-02-01  Eric Blake  <ebb9@byu.net>
73025         sys_time: use link-warning
73026         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
73027         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
73028         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
73029         * modules/sys_time (Depends-on): Add warn-on-use.
73030         (Makefile.am): Always build replacement.
73031         (configure.ac): Update substitutions.
73032         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
73033         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
73034         bother with SYS_TIME_H.
73035         * modules/gettimeofday (configure.ac): Declare indicator.
73036         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
73037         in use.
73039         closein-tests: silence compiler warning
73040         * tests/test-closein.c (main): Ignore fread result.
73041         * modules/closein-tests (Depends-on): Add ignore-value.
73043         tests: silence warning about system return
73044         * tests/test-areadlink-with-size.c (main): Ignore system result.
73045         * tests/test-areadlink.c (main): Likewise.
73046         * tests/test-areadlinkat-with-size.c (main): Likewise.
73047         * tests/test-areadlinkat.c (main): Likewise.
73048         * tests/test-canonicalize-lgpl.c (main): Likewise.
73049         * tests/test-canonicalize.c (main): Likewise.
73050         * tests/test-chown.c (main): Likewise.
73051         * tests/test-fchownat.c (main): Likewise.
73052         * tests/test-fdutimensat.c (main): Likewise.
73053         * tests/test-fstatat.c (main): Likewise.
73054         * tests/test-futimens.c (main): Likewise.
73055         * tests/test-lchown.c (main): Likewise.
73056         * tests/test-link.c (main): Likewise.
73057         * tests/test-linkat.c (main): Likewise.
73058         * tests/test-lstat.c (main): Likewise.
73059         * tests/test-mkdir.c (main): Likewise.
73060         * tests/test-mkdirat.c (main): Likewise.
73061         * tests/test-mkfifo.c (main): Likewise.
73062         * tests/test-mkfifoat.c (main): Likewise.
73063         * tests/test-mknod.c (main): Likewise.
73064         * tests/test-readlink.c (main): Likewise.
73065         * tests/test-remove.c (main): Likewise.
73066         * tests/test-rename.c (main): Likewise.
73067         * tests/test-renameat.c (main): Likewise.
73068         * tests/test-rmdir.c (main): Likewise.
73069         * tests/test-symlink.c (main): Likewise.
73070         * tests/test-symlinkat.c (main): Likewise.
73071         * tests/test-unlink.c (main): Likewise.
73072         * tests/test-unlinkat.c (main): Likewise.
73073         * tests/test-utimens.c (main): Likewise.
73074         * tests/test-utimensat.c (main): Likewise.
73075         * modules/areadlink-tests (Depends-on): Add ignore-value.
73076         * modules/areadlink-with-size-tests (Depends-on): Likewise.
73077         * modules/areadlinkat-tests (Depends-on): Likewise.
73078         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
73079         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
73080         * modules/canonicalize-tests (Depends-on): Likewise.
73081         * modules/chown-tests (Depends-on): Likewise.
73082         * modules/fdutimensat-tests (Depends-on): Likewise.
73083         * modules/futimens-tests (Depends-on): Likewise.
73084         * modules/lchown-tests (Depends-on): Likewise.
73085         * modules/link-tests (Depends-on): Likewise.
73086         * modules/linkat-tests (Depends-on): Likewise.
73087         * modules/lstat-tests (Depends-on): Likewise.
73088         * modules/mkdir-tests (Depends-on): Likewise.
73089         * modules/mkfifo-tests (Depends-on): Likewise.
73090         * modules/mkfifoat-tests (Depends-on): Likewise.
73091         * modules/mknod-tests (Depends-on): Likewise.
73092         * modules/openat-tests (Depends-on): Likewise.
73093         * modules/readlink-tests (Depends-on): Likewise.
73094         * modules/remove-tests (Depends-on): Likewise.
73095         * modules/rename-tests (Depends-on): Likewise.
73096         * modules/renameat-tests (Depends-on): Likewise.
73097         * modules/rmdir-tests (Depends-on): Likewise.
73098         * modules/symlink-tests (Depends-on): Likewise.
73099         * modules/symlinkat-tests (Depends-on): Likewise.
73100         * modules/unlink-tests (Depends-on): Likewise.
73101         * modules/utimens-tests (Depends-on): Likewise.
73102         * modules/utimensat-tests (Depends-on): Likewise.
73104 2010-01-31  Bruno Haible  <bruno@clisp.org>
73106         Perform the same test for many <math.h> functions.
73107         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
73108         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
73109         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
73110         of gl_MATHFUNC.
73111         * modules/acos (configure.ac): Likewise.
73112         * modules/asin (configure.ac): Likewise.
73113         * modules/atan (configure.ac): Likewise.
73114         * modules/atan2 (configure.ac): Likewise.
73115         * modules/cbrt (configure.ac): Likewise.
73116         * modules/copysign (configure.ac): Likewise.
73117         * modules/cos (configure.ac): Likewise.
73118         * modules/cosh (configure.ac): Likewise.
73119         * modules/erf (configure.ac): Likewise.
73120         * modules/erfc (configure.ac): Likewise.
73121         * modules/exp (configure.ac): Likewise.
73122         * modules/fmod (configure.ac): Likewise.
73123         * modules/hypot (configure.ac): Likewise.
73124         * modules/j0 (configure.ac): Likewise.
73125         * modules/j1 (configure.ac): Likewise.
73126         * modules/jn (configure.ac): Likewise.
73127         * modules/lgamma (configure.ac): Likewise.
73128         * modules/log (configure.ac): Likewise.
73129         * modules/log10 (configure.ac): Likewise.
73130         * modules/log1p (configure.ac): Likewise.
73131         * modules/pow (configure.ac): Likewise.
73132         * modules/remainder (configure.ac): Likewise.
73133         * modules/sin (configure.ac): Likewise.
73134         * modules/sinh (configure.ac): Likewise.
73135         * modules/tan (configure.ac): Likewise.
73136         * modules/tanh (configure.ac): Likewise.
73137         * modules/y0 (configure.ac): Likewise.
73138         * modules/y1 (configure.ac): Likewise.
73139         * modules/yn (configure.ac): Likewise.
73140         Suggested by Paolo Bonzini.
73142 2010-01-31  Bruno Haible  <bruno@clisp.org>
73144         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
73146 2010-01-31  Bruno Haible  <bruno@clisp.org>
73148         Work around getdelim() bug on FreeBSD 8.0.
73149         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
73150         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
73151         not work.
73152         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
73153         is 1.
73154         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
73155         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
73156         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
73157         a non-zero size.
73158         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
73160 2010-01-31  Bruno Haible  <bruno@clisp.org>
73162         Work around getline() bug on FreeBSD 8.0.
73163         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
73164         and a non-zero size.
73165         * tests/test-getline.c (main): Likewise.
73166         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
73167         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
73169 2010-01-28  Eric Blake  <ebb9@byu.net>
73171         regex: fix build failure
73172         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
73173         platforms.
73175 2010-01-28  Jim Meyering  <meyering@redhat.com>
73177         regex: do not ignore memory allocation failure
73178         * lib/regex_internal.c (create_cd_newstate): Detect
73179         re_node_set_init_copy failure.   Extracted from glibc commit
73180         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
73182         regex: sync more white-space changes from libc
73183         * lib/regex_internal.c: White-space only changes.
73184         * lib/regexec.c: Likewise.
73186         regex: add many uses of __attribute_warn_unused_result__
73187         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
73188         * lib/regexec.c: Likewise.
73189         Extracted from a messy glibc commit.
73191         regcomp.c: spelling and merge-artifact from glibc
73192         * lib/regcomp.c: Merge remainder of glibc's
73193         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
73195         regcomp.c: sync white-space changes from glibc
73196         * lib/regcomp.c: Merge to accommodate white space
73197         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
73199         regcomp.c: do not ignore internal return values
73200         * lib/regcomp.c: Do not ignore internal return values.
73201         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
73202         but without its white-space changes and spelling fixes.
73204         regex_internal.h: define __attribute_warn_unused_result__
73205         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
73207         maint: add a syntax-check rule to check for vulnerable Makefile.in
73208         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
73210 2010-01-27  Jim Meyering  <meyering@redhat.com>
73212         ncftpput-ftp: clean up spaces
73213         * build-aux/ncftpput-ftp: Make Copyright line consistent.
73214         Remove trailing blanks.
73216 2010-01-27  Simon Josefsson  <simon@josefsson.org>
73218         * build-aux/git-version-gen: Fix copyright statement.
73219         * build-aux/gnupload: Likewise.
73220         * tests/test-arcfour.c: Likewise.
73221         * tests/test-arctwo.c: Likewise.
73222         * tests/test-count-one-bits.c: Likewise.
73223         * tests/test-crc.c: Likewise.
73224         * tests/test-des.c: Likewise.
73225         * tests/test-gc-arcfour.c: Likewise.
73226         * tests/test-gc-arctwo.c: Likewise.
73227         * tests/test-gc-des.c: Likewise.
73228         * tests/test-gc-hmac-md5.c: Likewise.
73229         * tests/test-gc-hmac-sha1.c: Likewise.
73230         * tests/test-gc-md2.c: Likewise.
73231         * tests/test-gc-md4.c: Likewise.
73232         * tests/test-gc-md5.c: Likewise.
73233         * tests/test-gc-pbkdf2-sha1.c: Likewise.
73234         * tests/test-gc-rijndael.c: Likewise.
73235         * tests/test-gc-sha1.c: Likewise.
73236         * tests/test-gc.c: Likewise.
73237         * tests/test-gethostname.c: Likewise.
73238         * tests/test-gettimeofday.c: Likewise.
73239         * tests/test-hash.c: Likewise.
73240         * tests/test-hmac-md5.c: Likewise.
73241         * tests/test-hmac-sha1.c: Likewise.
73242         * tests/test-md2.c: Likewise.
73243         * tests/test-md4.c: Likewise.
73244         * tests/test-md5.c: Likewise.
73245         * tests/test-memchr.c: Likewise.
73246         * tests/test-memchr2.c: Likewise.
73247         * tests/test-memcmp.c: Likewise.
73248         * tests/test-memmem.c: Likewise.
73249         * tests/test-memrchr.c: Likewise.
73250         * tests/test-rawmemchr.c: Likewise.
73251         * tests/test-read-file.c: Likewise.
73252         * tests/test-rijndael.c: Likewise.
73253         * tests/test-sockets.c: Likewise.
73254         * tests/test-strchrnul.c: Likewise.
73255         * tests/test-strstr.c: Likewise.
73256         * tests/test-strtod.c: Likewise.
73257         * build-aux/ncftpput-ftp: Likewise.
73259 2010-01-26  Eric Blake  <ebb9@byu.net>
73261         ignore-value: update recommended header name
73262         * modules/ignore-value (Include): Only use <> for headers that
73263         exist in glibc.
73265 2010-01-26  Jim Meyering  <meyering@redhat.com>
73267         test-userspec.c: avoid compiler warnings
73268         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
73269         and "initialization discards qualifiers..." warnings.
73270         Put the first "uid" in its own scope, and make char* members "const".
73272 2010-01-25  Bruno Haible  <bruno@clisp.org>
73274         gnulib-tool: Make warning diagnostics consistent.
73275         * gnulib-tool (func_warning): New function.
73276         Use it everywhere where gnulib-tool produces output to stderr and it is
73277         not a fatal error.
73279 2010-01-25  Bruno Haible  <bruno@clisp.org>
73281         Fix test dependencies.
73282         * modules/xstrtol-tests (Depends-on): Add inttypes.
73283         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
73285 2010-01-25  Pádraig Brady  <P@draigBrady.com>
73287         syntax-check: detect incorrect boolean macro values in config.h
73288         * modules/maintainer-makefile (configure.ac): Parameterize the location
73289         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
73290         The logic is from Eric Blake and the location indicated by Jim Meyering.
73291         Note the more natural CONFIG_HEADER name is prohibited by automake
73292         for backwards compatibility reasons.
73293         * top/maint.mk (sc_Wundef_boolean): New rule.
73295 2010-01-25  Jim Meyering  <meyering@redhat.com>
73297         bootstrap: detect MacOS 10.6's shasum, too
73298         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
73299         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
73301 2010-01-23  Jim Meyering  <meyering@redhat.com>
73303         xstrtoll: new module
73304         * modules/xstrtoll: New file.
73305         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
73306         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
73307         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
73308         ./configure fails if you use this module and lack "long long".
73309         * modules/xstrtoll-tests: New module.
73310         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
73311         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
73312         new init.sh-based test framework.
73314 2010-01-24  Bruno Haible  <bruno@clisp.org>
73316         Tests for module 'yn'.
73317         * modules/yn-tests: New file.
73318         * tests/test-yn.c: New file.
73320         Tests for module 'y1'.
73321         * modules/y1-tests: New file.
73322         * tests/test-y1.c: New file.
73324         Tests for module 'y0'.
73325         * modules/y0-tests: New file.
73326         * tests/test-y0.c: New file.
73328         Tests for module 'tanh'.
73329         * modules/tanh-tests: New file.
73330         * tests/test-tanh.c: New file.
73332         Tests for module 'tan'.
73333         * modules/tan-tests: New file.
73334         * tests/test-tan.c: New file.
73336         Tests for module 'sqrt'.
73337         * modules/sqrt-tests: New file.
73338         * tests/test-sqrt.c: New file.
73340         Tests for module 'sinh'.
73341         * modules/sinh-tests: New file.
73342         * tests/test-sinh.c: New file.
73344         Tests for module 'sin'.
73345         * modules/sin-tests: New file.
73346         * tests/test-sin.c: New file.
73348         Tests for module 'rint'.
73349         * modules/rint-tests: New file.
73350         * tests/test-rint.c: New file.
73352         Tests for module 'remainder'.
73353         * modules/remainder-tests: New file.
73354         * tests/test-remainder.c: New file.
73356         Tests for module 'pow'.
73357         * modules/pow-tests: New file.
73358         * tests/test-pow.c: New file.
73360         Tests for module 'nextafter'.
73361         * modules/nextafter-tests: New file.
73362         * tests/test-nextafter.c: New file.
73364         Tests for module 'modf'.
73365         * modules/modf-tests: New file.
73366         * tests/test-modf.c: New file.
73368         Tests for module 'logb'.
73369         * modules/logb-tests: New file.
73370         * tests/test-logb.c: New file.
73372         Tests for module 'log1p'.
73373         * modules/log1p-tests: New file.
73374         * tests/test-log1p.c: New file.
73376         Tests for module 'log10'.
73377         * modules/log10-tests: New file.
73378         * tests/test-log10.c: New file.
73380         Tests for module 'log'.
73381         * modules/log-tests: New file.
73382         * tests/test-log.c: New file.
73384         Tests for module 'lgamma'.
73385         * modules/lgamma-tests: New file.
73386         * tests/test-lgamma.c: New file.
73388         Tests for module 'ldexp'.
73389         * modules/ldexp-tests: New file.
73390         * tests/test-ldexp.c: New file.
73392         Tests for module 'jn'.
73393         * modules/jn-tests: New file.
73394         * tests/test-jn.c: New file.
73396         Tests for module 'j1'.
73397         * modules/j1-tests: New file.
73398         * tests/test-j1.c: New file.
73400         Tests for module 'j0'.
73401         * modules/j0-tests: New file.
73402         * tests/test-j0.c: New file.
73404         Tests for module 'hypot'.
73405         * modules/hypot-tests: New file.
73406         * tests/test-hypot.c: New file.
73408         Tests for module 'fmod'.
73409         * modules/fmod-tests: New file.
73410         * tests/test-fmod.c: New file.
73412         Tests for module 'fabs'.
73413         * modules/fabs-tests: New file.
73414         * tests/test-fabs.c: New file.
73416         Tests for module 'exp'.
73417         * modules/exp-tests: New file.
73418         * tests/test-exp.c: New file.
73420         Tests for module 'erfc'.
73421         * modules/erfc-tests: New file.
73422         * tests/test-erfc.c: New file.
73424         Tests for module 'erf'.
73425         * modules/erf-tests: New file.
73426         * tests/test-erf.c: New file.
73428         Tests for module 'cosh'.
73429         * modules/cosh-tests: New file.
73430         * tests/test-cosh.c: New file.
73432         Tests for module 'cos'.
73433         * modules/cos-tests: New file.
73434         * tests/test-cos.c: New file.
73436         Tests for module 'copysign'.
73437         * modules/copysign-tests: New file.
73438         * tests/test-copysign.c: New file.
73440         Tests for module 'cbrt'.
73441         * modules/cbrt-tests: New file.
73442         * tests/test-cbrt.c: New file.
73444         Tests for module 'atan2'.
73445         * modules/atan2-tests: New file.
73446         * tests/test-atan2.c: New file.
73448         Tests for module 'atan'.
73449         * modules/atan-tests: New file.
73450         * tests/test-atan.c: New file.
73452         Tests for module 'asin'.
73453         * modules/asin-tests: New file.
73454         * tests/test-asin.c: New file.
73456         Tests for module 'acos'.
73457         * modules/acos-tests: New file.
73458         * tests/test-acos.c: New file.
73460 2010-01-24  Bruno Haible  <bruno@clisp.org>
73462         Fix tests for common <math.h> functions.
73463         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
73464         code snippet that references the function pointer, rather than merely
73465         calling the function. Substitute the FUNC_LIBM variable.
73466         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
73467         * modules/acos (configure.ac): Likewise.
73468         * modules/asin (configure.ac): Likewise.
73469         * modules/atan (configure.ac): Likewise.
73470         * modules/atan2 (configure.ac): Likewise.
73471         * modules/cbrt (configure.ac): Likewise.
73472         * modules/copysign (configure.ac): Likewise.
73473         * modules/cos (configure.ac): Likewise.
73474         * modules/cosh (configure.ac): Likewise.
73475         * modules/erf (configure.ac): Likewise.
73476         * modules/erfc (configure.ac): Likewise.
73477         * modules/exp (configure.ac): Likewise.
73478         * modules/fabs (configure.ac): Likewise.
73479         * modules/fmod (configure.ac): Likewise.
73480         * modules/hypot (configure.ac): Likewise.
73481         * modules/j0 (configure.ac): Likewise.
73482         * modules/j1 (configure.ac): Likewise.
73483         * modules/jn (configure.ac): Likewise.
73484         * modules/ldexp (configure.ac): Likewise.
73485         * modules/lgamma (configure.ac): Likewise.
73486         * modules/log (configure.ac): Likewise.
73487         * modules/log10 (configure.ac): Likewise.
73488         * modules/log1p (configure.ac): Likewise.
73489         * modules/logb (configure.ac): Likewise.
73490         * modules/modf (configure.ac): Likewise.
73491         * modules/nextafter (configure.ac): Likewise.
73492         * modules/pow (configure.ac): Likewise.
73493         * modules/remainder (configure.ac): Likewise.
73494         * modules/rint (configure.ac): Likewise.
73495         * modules/sin (configure.ac): Likewise.
73496         * modules/sinh (configure.ac): Likewise.
73497         * modules/tan (configure.ac): Likewise.
73498         * modules/tanh (configure.ac): Likewise.
73499         * modules/y0 (configure.ac): Likewise.
73500         * modules/y1 (configure.ac): Likewise.
73501         * modules/yn (configure.ac): Likewise.
73503 2010-01-24  Bruno Haible  <bruno@clisp.org>
73505         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
73506         * tests/test-acosl.c (x): New variable.
73507         (main): Store argument in x and fetch it from x.
73508         * tests/test-asinl.c (x): New variable.
73509         (main): Store argument in x and fetch it from x.
73510         * tests/test-atanl.c (x): New variable.
73511         (main): Store argument in x and fetch it from x.
73512         * tests/test-cosl.c (x): New variable.
73513         (main): Store argument in x and fetch it from x.
73514         * tests/test-expl.c (x): New variable.
73515         (main): Store argument in x and fetch it from x.
73516         * tests/test-logl.c (x): New variable.
73517         (main): Store argument in x and fetch it from x.
73518         * tests/test-sinl.c (x): New variable.
73519         (main): Store argument in x and fetch it from x.
73520         * tests/test-sqrtl.c (x): New variable.
73521         (main): Store argument in x and fetch it from x.
73522         * tests/test-tanl.c (x): New variable.
73523         (main): Store argument in x and fetch it from x.
73525 2010-01-24  Bruno Haible  <bruno@clisp.org>
73527         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
73528         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
73529         assignments to the initial TESTS_ENVIRONMENT.
73530         * doc/gnulib.texi (Unit test modules): Document it.
73531         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
73532         TESTS_ENVIRONMENT.
73533         * modules/btowc-tests (Makefile.am): Likewise.
73534         * modules/c-stack-tests (Makefile.am): Likewise.
73535         * modules/c-strcase-tests (Makefile.am): Likewise.
73536         * modules/copy-file-tests (Makefile.am): Likewise.
73537         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
73538         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
73539         * modules/mbrtowc-tests (Makefile.am): Likewise.
73540         * modules/mbscasecmp-tests (Makefile.am): Likewise.
73541         * modules/mbscasestr-tests (Makefile.am): Likewise.
73542         * modules/mbschr-tests (Makefile.am): Likewise.
73543         * modules/mbscspn-tests (Makefile.am): Likewise.
73544         * modules/mbsinit-tests (Makefile.am): Likewise.
73545         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
73546         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
73547         * modules/mbspbrk-tests (Makefile.am): Likewise.
73548         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
73549         * modules/mbsrchr-tests (Makefile.am): Likewise.
73550         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
73551         * modules/mbsspn-tests (Makefile.am): Likewise.
73552         * modules/mbsstr-tests (Makefile.am): Likewise.
73553         * modules/nl_langinfo-tests (Makefile.am): Likewise.
73554         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
73555         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
73556         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
73557         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
73558         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
73559         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
73560         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
73561         * modules/wcrtomb-tests (Makefile.am): Likewise.
73562         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
73563         * modules/wcsrtombs-tests (Makefile.am): Likewise.
73564         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
73565         assignments from TESTS_ENVIRONMENT.
73566         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
73567         augmentation.
73568         * modules/argp-version-etc-tests (Makefile.am): Likewise.
73569         * modules/atexit-tests (Makefile.am): Likewise.
73570         * modules/binary-io-tests (Makefile.am): Likewise.
73571         * modules/closein-tests (Makefile.am): Likewise.
73572         * modules/dprintf-posix-tests (Makefile.am): Likewise.
73573         * modules/exclude-tests (Makefile.am): Likewise.
73574         * modules/fflush-tests (Makefile.am): Likewise.
73575         * modules/fpending-tests (Makefile.am): Likewise.
73576         * modules/fprintf-posix-tests (Makefile.am): Likewise.
73577         * modules/freadahead-tests (Makefile.am): Likewise.
73578         * modules/freadptr-tests (Makefile.am): Likewise.
73579         * modules/freadseek-tests (Makefile.am): Likewise.
73580         * modules/fseek-tests (Makefile.am): Likewise.
73581         * modules/fseeko-tests (Makefile.am): Likewise.
73582         * modules/ftell-tests (Makefile.am): Likewise.
73583         * modules/ftello-tests (Makefile.am): Likewise.
73584         * modules/idpriv-drop-tests (Makefile.am): Likewise.
73585         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
73586         * modules/lseek-tests (Makefile.am): Likewise.
73587         * modules/parse-duration-tests (Makefile.am): Likewise.
73588         * modules/perror-tests (Makefile.am): Likewise.
73589         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
73590         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
73591         * modules/pipe-tests (Makefile.am): Likewise.
73592         * modules/pread-tests (Makefile.am): Likewise.
73593         * modules/printf-posix-tests (Makefile.am): Likewise.
73594         * modules/select-tests (Makefile.am): Likewise.
73595         * modules/sigpipe-tests (Makefile.am): Likewise.
73596         * modules/tsearch-tests (Makefile.am): Likewise.
73597         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
73598         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
73599         * modules/uniname/uniname-tests (Makefile.am): Likewise.
73600         * modules/uniwidth/width-tests (Makefile.am): Likewise.
73601         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
73602         * modules/version-etc-tests (Makefile.am): Likewise.
73603         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
73604         * modules/vprintf-posix-tests (Makefile.am): Likewise.
73605         * modules/xalloc-die-tests (Makefile.am): Likewise.
73606         * modules/xprintf-posix-tests (Makefile.am): Likewise.
73607         * modules/xstrtoimax-tests (Makefile.am): Likewise.
73608         * modules/xstrtol-tests (Makefile.am): Likewise.
73609         * modules/xstrtoumax-tests (Makefile.am): Likewise.
73610         * modules/yesno-tests (Makefile.am): Likewise.
73611         Suggested by Jim Meyering.
73613 2010-01-24  Bruno Haible  <bruno@clisp.org>
73615         More documentation.
73616         * doc/gnulib.texi (Writing modules): New chapter.
73617         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
73618         the new chapter.
73620 2010-01-24  Jim Meyering  <meyering@redhat.com>
73622         maint.mk: do not prepend "./" after filtering
73623         * top/maint.mk (_prepend_srcdir_prefix): New variable
73624         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
73625         "./" when $(srcdir) is ".".
73627         define STREQ(a,b) consistently, removing useless parentheses
73628         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
73629         since the only risk is that "a" or "b" contains an unparenthesized
73630         comma, but if either did that, STREQ would have 3 or more arguments.
73631         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
73632         * lib/fts.c (STREQ): Remove unnecessary parentheses.
73633         * lib/hash-triple.c (STREQ): Likewise.
73634         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
73635         * lib/getugroups.c (STREQ): Likewise.
73637 2010-01-23  Jim Meyering  <meyering@redhat.com>
73639         maint.mk: fix syntax-check in a non-srcdir build directory
73640         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
73641         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
73643 2010-01-22  Jim Meyering  <meyering@redhat.com>
73645         userspec: add unit tests
73646         * tests/test-userspec.c: New file.
73647         * modules/userspec-tests: Likewise.
73649 2010-01-21  Jim Meyering  <meyering@redhat.com>
73651         maint.mk: handle source file names containing "." robustly
73652         * top/maint.mk (_dot_escaped_srcdir): Define.
73653         (VC_LIST): Use it in LHS of sed substitution.
73655 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
73657         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
73658         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
73659         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
73660         from a non-srcdir build.
73662 2010-01-20  Eric Blake  <ebb9@byu.net>
73664         warn-on-use: use instead of link-warning
73665         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
73666         * modules/unistd (Depends-on, Makefile.am): Likewise.
73667         * modules/arpa_inet (Depends-on): Replace link-warning with
73668         warn-on-use.
73669         (Makefile.am): Update rules accordingly.
73670         * modules/ctype (Depends-on, Makefile.am): Likewise.
73671         * modules/dirent (Depends-on, Makefile.am): Likewise.
73672         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
73673         * modules/inttypes (Depends-on, Makefile.am): Likewise.
73674         * modules/langinfo (Depends-on, Makefile.am): Likewise.
73675         * modules/locale (Depends-on, Makefile.am): Likewise.
73676         * modules/math (Depends-on, Makefile.am): Likewise.
73677         * modules/search (Depends-on, Makefile.am): Likewise.
73678         * modules/signal (Depends-on, Makefile.am): Likewise.
73679         * modules/spawn (Depends-on, Makefile.am): Likewise.
73680         * modules/stdlib (Depends-on, Makefile.am): Likewise.
73681         * modules/string (Depends-on, Makefile.am): Likewise.
73682         * modules/strings (Depends-on, Makefile.am): Likewise.
73683         * modules/sys_file (Depends-on, Makefile.am): Likewise.
73684         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
73685         * modules/sys_select (Depends-on, Makefile.am): Likewise.
73686         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
73687         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
73688         * modules/sys_times (Depends-on, Makefile.am): Likewise.
73689         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
73690         * modules/wchar (Depends-on, Makefile.am): Likewise.
73691         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
73692         should be poisoned.
73693         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
73694         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
73695         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
73696         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
73697         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
73698         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
73699         * m4/math_h.m4 (gl_MATH_H): Likewise.
73700         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
73701         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
73702         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
73703         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
73704         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
73705         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
73706         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
73707         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
73708         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
73709         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
73710         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
73711         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
73712         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
73713         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
73714         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
73715         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
73716         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
73717         GL_LINK_WARNING.
73718         * lib/ctype.in.h: Likewise.
73719         * lib/dirent.in.h: Likewise.
73720         * lib/fcntl.in.h: Likewise.
73721         * lib/inttypes.in.h: Likewise.
73722         * lib/langinfo.in.h: Likewise.
73723         * lib/locale.in.h: Likewise.
73724         * lib/math.in.h: Likewise.
73725         * lib/search.in.h: Likewise.
73726         * lib/signal.in.h: Likewise.
73727         * lib/spawn.in.h: Likewise.
73728         * lib/stdio.in.h: Likewise.
73729         * lib/stdlib.in.h: Likewise.
73730         * lib/string.in.h: Likewise.
73731         * lib/strings.in.h: Likewise.
73732         * lib/sys_file.in.h: Likewise.
73733         * lib/sys_ioctl.in.h: Likewise.
73734         * lib/sys_select.in.h: Likewise.
73735         * lib/sys_socket.in.h: Likewise.
73736         * lib/sys_stat.in.h: Likewise.
73737         * lib/sys_times.in.h: Likewise.
73738         * lib/sys_utsname.in.h: Likewise.
73739         * lib/unistd.in.h: Likewise.
73740         * lib/wchar.in.h: Likewise.
73742 2010-01-20  Bruno Haible  <bruno@clisp.org>
73744         Avoid duplicate -lm.
73745         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
73746         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
73747         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
73748         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
73749         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
73750         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
73751         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
73752         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
73753         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
73754         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
73755         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
73756         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
73757         Reported by Paolo Bonzini.
73759 2010-01-19  Bruno Haible  <bruno@clisp.org>
73761         langinfo, nl_langinfo: Relicense under LGPLv2+.
73762         * modules/langinfo (License): Change to LGPLv2+.
73763         * modules/nl_langinfo (License): Likewise.
73764         Patch by David Lutterkort <lutter@redhat.com>.
73766 2010-01-19  Bruno Haible  <bruno@clisp.org>
73768         Avoid compilation error with cc on OSF/1 5.1.
73769         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
73770         statement, not before.
73771         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73773 2010-01-18  Bruno Haible  <bruno@clisp.org>
73775         Avoid a link error due to the __printf__ symbol.
73776         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
73777         and 2.6.x.
73778         (__format__, __printf__): Remove definitions.
73779         * lib/argp-fmtstream.h: Likewise.
73780         * lib/argp.h: Likewise.
73781         * lib/error.h: Likewise.
73782         * lib/vasnprintf.h: Likewise.
73783         * lib/xprintf.h: Likewise.
73784         * lib/xvasprintf.h: Likewise.
73785         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73787 2010-01-18  Bruno Haible  <bruno@clisp.org>
73789         Tests for module 'tanl'.
73790         * modules/tanl-tests: New file.
73791         * tests/test-tanl.c: New file.
73793         Tests for module 'sqrtl'.
73794         * modules/sqrtl-tests: New file.
73795         * tests/test-sqrtl.c: New file.
73797         Tests for module 'sinl'.
73798         * modules/sinl-tests: New file.
73799         * tests/test-sinl.c: New file.
73801         Tests for module 'logl'.
73802         * modules/logl-tests: New file.
73803         * tests/test-logl.c: New file.
73805         Tests for module 'expl'.
73806         * modules/expl-tests: New file.
73807         * tests/test-expl.c: New file.
73809         Tests for module 'cosl'.
73810         * modules/cosl-tests: New file.
73811         * tests/test-cosl.c: New file.
73813         Tests for module 'atanl'.
73814         * modules/atanl-tests: New file.
73815         * tests/test-atanl.c: New file.
73817         Tests for module 'asinl'.
73818         * modules/asinl-tests: New file.
73819         * tests/test-asinl.c: New file.
73821         Tests for module 'acosl'.
73822         * modules/acosl-tests: New file.
73823         * tests/test-acosl.c: New file.
73825         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
73826         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
73827         tanl): Use the standard gnulib idiom.
73828         * lib/cosl.c: Don't include trigl.c and sincosl.c.
73829         * lib/sinl.c: Likewise.
73830         * lib/tanl.c: Don't include trigl.c.
73831         (kernel_tanl): Make static.
73832         * lib/sincosl.c: Include trigl.h first.
73833         * lib/trigl.c: Likewise.
73834         * m4/acosl.m4: New file.
73835         * m4/asinl.m4: New file.
73836         * m4/atanl.m4: New file.
73837         * m4/cosl.m4: New file.
73838         * m4/expl.m4: New file.
73839         * m4/logl.m4: New file.
73840         * m4/sinl.m4: New file.
73841         * m4/sqrtl.m4: New file.
73842         * m4/tanl.m4: New file.
73843         * m4/mathl.m4: Remove file.
73844         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
73845         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
73846         Don't initialize GNULIB_MATHL.
73847         * modules/acosl: New file.
73848         * modules/asinl: New file.
73849         * modules/atanl: New file.
73850         * modules/cosl: New file.
73851         * modules/expl: New file.
73852         * modules/logl: New file.
73853         * modules/sinl: New file.
73854         * modules/sqrtl: New file.
73855         * modules/tanl: New file.
73856         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
73857         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
73858         substitute GNULIB_MATHL.
73859         * modules/mathl: Rewritten.
73860         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
73861         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
73862         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
73863         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
73864         * doc/posix-functions/expl.texi: Mention the 'expl' module.
73865         * doc/posix-functions/logl.texi: Mention the 'logl' module.
73866         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
73867         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
73868         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
73870 2010-01-18  Bruno Haible  <bruno@clisp.org>
73872         sqrt: Make gl_FUNC_SQRT requirable.
73873         * m4/sqrt.m4: New file.
73874         * modules/sqrt (Files): Add it.
73875         (configure.ac): Invoke gl_FUNC_SQRT.
73877 2010-01-18  Bruno Haible  <bruno@clisp.org>
73879         New modules for common <math.h> functions.
73880         * m4/mathfunc.m4: New file.
73881         * modules/acos: New file.
73882         * modules/asin: New file.
73883         * modules/atan: New file.
73884         * modules/atan2: New file.
73885         * modules/cbrt: New file.
73886         * modules/copysign: New file.
73887         * modules/cos: New file.
73888         * modules/cosh: New file.
73889         * modules/erf: New file.
73890         * modules/erfc: New file.
73891         * modules/exp: New file.
73892         * modules/fabs: New file.
73893         * modules/fmod: New file.
73894         * modules/hypot: New file.
73895         * modules/j0: New file.
73896         * modules/j1: New file.
73897         * modules/jn: New file.
73898         * modules/ldexp: New file.
73899         * modules/lgamma: New file.
73900         * modules/log: New file.
73901         * modules/log10: New file.
73902         * modules/log1p: New file.
73903         * modules/logb: New file.
73904         * modules/modf: New file.
73905         * modules/nextafter: New file.
73906         * modules/pow: New file.
73907         * modules/remainder: New file.
73908         * modules/rint: New file.
73909         * modules/sin: New file.
73910         * modules/sinh: New file.
73911         * modules/sqrt: New file.
73912         * modules/tan: New file.
73913         * modules/tanh: New file.
73914         * modules/y0: New file.
73915         * modules/y1: New file.
73916         * modules/yn: New file.
73917         * doc/posix-functions/acos.texi: Mention the 'acos' module.
73918         * doc/posix-functions/asin.texi: Mention the 'asin' module.
73919         * doc/posix-functions/atan.texi: Mention the 'atan' module.
73920         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
73921         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
73922         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
73923         * doc/posix-functions/cos.texi: Mention the 'cos' module.
73924         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
73925         * doc/posix-functions/erf.texi: Mention the 'erf' module.
73926         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
73927         * doc/posix-functions/exp.texi: Mention the 'exp' module.
73928         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
73929         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
73930         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
73931         * doc/posix-functions/j0.texi: Mention the 'j0' module.
73932         * doc/posix-functions/j1.texi: Mention the 'j1' module.
73933         * doc/posix-functions/jn.texi: Mention the 'jn' module.
73934         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
73935         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
73936         * doc/posix-functions/log.texi: Mention the 'log' module.
73937         * doc/posix-functions/log10.texi: Mention the 'log10' module.
73938         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
73939         * doc/posix-functions/logb.texi: Mention the 'logb' module.
73940         * doc/posix-functions/modf.texi: Mention the 'modf' module.
73941         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
73942         * doc/posix-functions/pow.texi: Mention the 'pow' module.
73943         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
73944         * doc/posix-functions/rint.texi: Mention the 'rint' module.
73945         * doc/posix-functions/sin.texi: Mention the 'sin' module.
73946         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
73947         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
73948         * doc/posix-functions/tan.texi: Mention the 'tan' module.
73949         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
73950         * doc/posix-functions/y0.texi: Mention the 'y0' module.
73951         * doc/posix-functions/y1.texi: Mention the 'y1' module.
73952         * doc/posix-functions/yn.texi: Mention the 'yn' module.
73954 2010-01-18  Jim Meyering  <meyering@redhat.com>
73956         ignore-value: relax license to LGPLv2+
73957         * modules/ignore-value (License): Relax to LGPLv2+.
73959         getdate: don't leak when TZ contains two or more '"'s
73960         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
73961         double quote in TZ after the first one.
73963         readtokens: do not leak internal token_lengths buffer
73964         * lib/readtokens.c (readtokens): Free the local, lengths,
73965         when the supplied "token_lengths" parameter is NULL.
73967 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73969         Fix a couple of missing LIBTHREAD link failures on AIX.
73970         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
73971         $(LIBTHREAD).
73972         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
73974         Link test-poll against INET_PTON_LIB.
73975         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
73976         for inet_pton on Solaris 10.
73978 2010-01-17  Bruno Haible  <bruno@clisp.org>
73980         unistdio/*-sprintf: Fix typo in module description.
73981         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
73982         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
73983         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
73984         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
73985         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
73986         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
73987         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
73988         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73990 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73992         gnulib-tool: fix filelist for AIX, HP-UX ksh.
73993         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
73994         variables in shell case patterns, for AIX and HP-UX ksh.
73996         Split large sed scripts, for HP-UX sed.
73997         * modules/stdio: Split sed scripts around 50 sed commands,
73998         to avoid HP-UX limit of 99 commands, in the near future.
73999         * modules/string: Likewise.
74000         * modules/unistd: Likewise.
74002         gnulib-tool: avoid writing in the current directory.
74003         * gnulib-tool (func_emit_lib_Makefile_am)
74004         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
74005         not in the current directory, so concurrent gnulib-tool
74006         instances do not interfere.
74008 2010-01-16  Jim Meyering  <meyering@redhat.com>
74010         doc: update users.txt
74011         * users.txt: Add grep.
74012         (diffutils, gzip): Update URLs.
74014 2010-01-12  Bruno Haible  <bruno@clisp.org>
74016         posix_spawn: Avoid test failure on Cygwin.
74017         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
74018         characters.
74019         Reported by Simon Josefsson.
74021 2010-01-12  Bruno Haible  <bruno@clisp.org>
74023         * tests/test-cond.c (main): When skipping the test, show the reason.
74025 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74027         * lib/striconv.c (str_cd_iconv): Avoid if before free.
74029 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74031         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
74032         VC_LIST_ALWAYS_EXCLUDE_REGEX.
74034 2010-01-12  Eric Blake  <ebb9@byu.net>
74036         build: guarantee AS_VAR_IF
74037         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
74038         (gl_AS_VAR_IF): Move...
74039         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
74040         Reported by Simon Josefsson.
74042 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74044         * lib/stdio.in.h: Fix typo.
74046 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74048         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
74049         libgpg-error.
74051 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74053         * tests/test-xalloc-die.sh: Use $EXEEXT.
74055 2010-01-12  Simon Josefsson  <simon@josefsson.org>
74056             Bruno Haible  <bruno@clisp.org>
74058         getlogin, getlogin_r: Avoid test failure.
74059         * tests/test-getlogin.c: Include <stdio.h>.
74060         (main): Skip the test when the function fails because stdin is not a
74061         tty.
74062         * tests/test-getlogin_r.c: Include <stdio.h>.
74063         (main): Skip the test when the function fails because stdin is not a
74064         tty.
74066 2010-01-11  Eric Blake  <ebb9@byu.net>
74068         tests: avoid more large file warnings
74069         * tests/test-fflush.c: Avoid warning about ftell use.
74070         * tests/test-fseek.c: Avoid warning about fseek use.
74072 2010-01-10  Bruno Haible  <bruno@clisp.org>
74074         nproc: Work better on Linux when /proc and /sys are not mounted.
74075         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
74076         as lower bound when, on glibc/Linux systems,
74077         sysconf (_SC_NPROCESSORS_CONF) returns 1.
74078         Suggested by Pádraig Brady <P@draigbrady.com>.
74079         Reported by Dmitry V. Levin <ldv@altlinux.org>.
74081         nproc: Refactor.
74082         * lib/nproc.c (num_processors_via_affinity_mask): New function,
74083         extracted from num_processors.
74084         (num_processors): Call it.
74086 2010-01-11  Jim Meyering  <meyering@redhat.com>
74088         utimecmp: avoid new warning from upcoming gcc-4.5.0
74089         * lib/utimecmp.c (BILLION): Define using #define rather than an
74090         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
74092 2010-01-11  Eric Blake  <ebb9@byu.net>
74094         math: add portability warnings for classification macros
74095         * modules/math (Depends-on): Add warn-on-use.
74096         (Makefile.am): Provide new substitutions.
74097         * m4/math_h.m4 (gl_MATH_H): Require inline.
74098         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
74099         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
74100         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
74101         implement warnings.
74103         unistd: warn on use of environ without module
74104         * modules/unistd (Depends-on): Add warn-on-use.
74105         (Makefile.am): Provide new substitutions.
74106         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
74107         * lib/unistd.in.h (environ): Wrap with a warning helper function.
74109         stdio: warn on suspicious uses
74110         * modules/stdio (Depends-on): Add warn-on-use.
74111         (Makefile.am): Provide new substitutions.
74112         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
74113         fseeko.
74114         * lib/stdio.in.h (gets): Always warn on use.
74115         (fseek, ftell): Adjust when warnings are issued, and honor
74116         _GL_NO_LARGE_FILES as a way to silence the warning.
74117         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
74118         any warning about large file offsets.
74119         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
74120         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
74121         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
74122         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
74123         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
74124         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
74125         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
74126         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
74128         warn-on-use: new module
74129         * modules/warn-on-use: New file.
74130         * build-aux/warn-on-use.h: Likewise.
74131         * m4/warn-on-use.m4: Likewise.
74132         * MODULES.html.sh (Support for building): Mention it.
74134 2010-01-10  Bruno Haible  <bruno@clisp.org>
74136         Tests for module 'unistr/u32-strdup'.
74137         * modules/unistr/u32-strdup-tests: New file.
74138         * tests/unistr/test-u32-strdup.c: New file.
74140         Tests for module 'unistr/u16-strdup'.
74141         * modules/unistr/u16-strdup-tests: New file.
74142         * tests/unistr/test-u16-strdup.c: New file.
74144         Tests for module 'unistr/u8-strdup'.
74145         * modules/unistr/u8-strdup-tests: New file.
74146         * tests/unistr/test-u8-strdup.c: New file.
74147         * tests/unistr/test-strdup.h: New file.
74149         Tests for module 'unistr/u32-strncmp'.
74150         * modules/unistr/u32-strncmp-tests: New file.
74151         * tests/unistr/test-u32-strncmp.c: New file.
74153         Tests for module 'unistr/u16-strncmp'.
74154         * modules/unistr/u16-strncmp-tests: New file.
74155         * tests/unistr/test-u16-strncmp.c: New file.
74157         Tests for module 'unistr/u8-strncmp'.
74158         * modules/unistr/u8-strncmp-tests: New file.
74159         * tests/unistr/test-u8-strncmp.c: New file.
74160         * tests/unistr/test-strncmp.h: New file.
74162         Tests for module 'unistr/u32-strcoll'.
74163         * modules/unistr/u32-strcoll-tests: New file.
74164         * tests/unistr/test-u32-strcoll.c: New file.
74166         Tests for module 'unistr/u16-strcoll'.
74167         * modules/unistr/u16-strcoll-tests: New file.
74168         * tests/unistr/test-u16-strcoll.c: New file.
74170         Tests for module 'unistr/u8-strcoll'.
74171         * modules/unistr/u8-strcoll-tests: New file.
74172         * tests/unistr/test-u8-strcoll.c: New file.
74174         Tests for module 'unistr/u32-strcmp'.
74175         * modules/unistr/u32-strcmp-tests: New file.
74176         * tests/unistr/test-u32-strcmp.c: New file.
74177         * tests/unistr/test-u32-strcmp.h: New file.
74179         Tests for module 'unistr/u16-strcmp'.
74180         * modules/unistr/u16-strcmp-tests: New file.
74181         * tests/unistr/test-u16-strcmp.c: New file.
74182         * tests/unistr/test-u16-strcmp.h: New file.
74184         Tests for module 'unistr/u8-strcmp'.
74185         * modules/unistr/u8-strcmp-tests: New file.
74186         * tests/unistr/test-u8-strcmp.c: New file.
74187         * tests/unistr/test-u8-strcmp.h: New file.
74188         * tests/unistr/test-strcmp.h: New file.
74190         Tests for module 'unistr/u32-strncat'.
74191         * modules/unistr/u32-strncat-tests: New file.
74192         * tests/unistr/test-u32-strncat.c: New file.
74194         Tests for module 'unistr/u16-strncat'.
74195         * modules/unistr/u16-strncat-tests: New file.
74196         * tests/unistr/test-u16-strncat.c: New file.
74198         Tests for module 'unistr/u8-strncat'.
74199         * modules/unistr/u8-strncat-tests: New file.
74200         * tests/unistr/test-u8-strncat.c: New file.
74201         * tests/unistr/test-strncat.h: New file.
74203         Tests for module 'unistr/u32-strcat'.
74204         * modules/unistr/u32-strcat-tests: New file.
74205         * tests/unistr/test-u32-strcat.c: New file.
74207         Tests for module 'unistr/u16-strcat'.
74208         * modules/unistr/u16-strcat-tests: New file.
74209         * tests/unistr/test-u16-strcat.c: New file.
74211         Tests for module 'unistr/u8-strcat'.
74212         * modules/unistr/u8-strcat-tests: New file.
74213         * tests/unistr/test-u8-strcat.c: New file.
74214         * tests/unistr/test-strcat.h: New file.
74216         Tests for module 'unistr/u32-stpncpy'.
74217         * modules/unistr/u32-stpncpy-tests: New file.
74218         * tests/unistr/test-u32-stpncpy.c: New file.
74220         Tests for module 'unistr/u16-stpncpy'.
74221         * modules/unistr/u16-stpncpy-tests: New file.
74222         * tests/unistr/test-u16-stpncpy.c: New file.
74224         Tests for module 'unistr/u8-stpncpy'.
74225         * modules/unistr/u8-stpncpy-tests: New file.
74226         * tests/unistr/test-u8-stpncpy.c: New file.
74227         * tests/unistr/test-stpncpy.h: New file.
74229         Tests for module 'unistr/u32-strncpy'.
74230         * modules/unistr/u32-strncpy-tests: New file.
74231         * tests/unistr/test-u32-strncpy.c: New file.
74233         Tests for module 'unistr/u16-strncpy'.
74234         * modules/unistr/u16-strncpy-tests: New file.
74235         * tests/unistr/test-u16-strncpy.c: New file.
74237         Tests for module 'unistr/u8-strncpy'.
74238         * modules/unistr/u8-strncpy-tests: New file.
74239         * tests/unistr/test-u8-strncpy.c: New file.
74240         * tests/unistr/test-strncpy.h: New file.
74242         Tests for module 'unistr/u32-stpcpy'.
74243         * modules/unistr/u32-stpcpy-tests: New file.
74244         * tests/unistr/test-u32-stpcpy.c: New file.
74246         Tests for module 'unistr/u16-stpcpy'.
74247         * modules/unistr/u16-stpcpy-tests: New file.
74248         * tests/unistr/test-u16-stpcpy.c: New file.
74250         Tests for module 'unistr/u8-stpcpy'.
74251         * modules/unistr/u8-stpcpy-tests: New file.
74252         * tests/unistr/test-u8-stpcpy.c: New file.
74253         * tests/unistr/test-stpcpy.h: New file.
74255         Tests for module 'unistr/u32-strcpy'.
74256         * modules/unistr/u32-strcpy-tests: New file.
74257         * tests/unistr/test-u32-strcpy.c: New file.
74259         Tests for module 'unistr/u16-strcpy'.
74260         * modules/unistr/u16-strcpy-tests: New file.
74261         * tests/unistr/test-u16-strcpy.c: New file.
74263         Tests for module 'unistr/u8-strcpy'.
74264         * modules/unistr/u8-strcpy-tests: New file.
74265         * tests/unistr/test-u8-strcpy.c: New file.
74266         * tests/unistr/test-strcpy.h: New file.
74268         Tests for module 'unistr/u32-strnlen'.
74269         * modules/unistr/u32-strnlen-tests: New file.
74270         * tests/unistr/test-u32-strnlen.c: New file.
74272         Tests for module 'unistr/u16-strnlen'.
74273         * modules/unistr/u16-strnlen-tests: New file.
74274         * tests/unistr/test-u16-strnlen.c: New file.
74276         Tests for module 'unistr/u8-strnlen'.
74277         * modules/unistr/u8-strnlen-tests: New file.
74278         * tests/unistr/test-u8-strnlen.c: New file.
74279         * tests/unistr/test-strnlen.h: New file.
74281         Tests for module 'unistr/u32-strlen'.
74282         * modules/unistr/u32-strlen-tests: New file.
74283         * tests/unistr/test-u32-strlen.c: New file.
74285         Tests for module 'unistr/u16-strlen'.
74286         * modules/unistr/u16-strlen-tests: New file.
74287         * tests/unistr/test-u16-strlen.c: New file.
74289         Tests for module 'unistr/u8-strlen'.
74290         * modules/unistr/u8-strlen-tests: New file.
74291         * tests/unistr/test-u8-strlen.c: New file.
74293         Tests for module 'unistr/u32-prev'.
74294         * modules/unistr/u32-prev-tests: New file.
74295         * tests/unistr/test-u32-prev.c: New file.
74297         Tests for module 'unistr/u16-prev'.
74298         * modules/unistr/u16-prev-tests: New file.
74299         * tests/unistr/test-u16-prev.c: New file.
74301         Tests for module 'unistr/u8-prev'.
74302         * modules/unistr/u8-prev-tests: New file.
74303         * tests/unistr/test-u8-prev.c: New file.
74305         Tests for module 'unistr/u32-next'.
74306         * modules/unistr/u32-next-tests: New file.
74307         * tests/unistr/test-u32-next.c: New file.
74309         Tests for module 'unistr/u16-next'.
74310         * modules/unistr/u16-next-tests: New file.
74311         * tests/unistr/test-u16-next.c: New file.
74313         Tests for module 'unistr/u8-next'.
74314         * modules/unistr/u8-next-tests: New file.
74315         * tests/unistr/test-u8-next.c: New file.
74317         Tests for module 'unistr/u32-strmbtouc'.
74318         * modules/unistr/u32-strmbtouc-tests: New file.
74319         * tests/unistr/test-u32-strmbtouc.c: New file.
74321         Tests for module 'unistr/u16-strmbtouc'.
74322         * modules/unistr/u16-strmbtouc-tests: New file.
74323         * tests/unistr/test-u16-strmbtouc.c: New file.
74325         Tests for module 'unistr/u8-strmbtouc'.
74326         * modules/unistr/u8-strmbtouc-tests: New file.
74327         * tests/unistr/test-u8-strmbtouc.c: New file.
74329         Tests for module 'unistr/u32-strmblen'.
74330         * modules/unistr/u32-strmblen-tests: New file.
74331         * tests/unistr/test-u32-strmblen.c: New file.
74333         Tests for module 'unistr/u16-strmblen'.
74334         * modules/unistr/u16-strmblen-tests: New file.
74335         * tests/unistr/test-u16-strmblen.c: New file.
74337         Tests for module 'unistr/u8-strmblen'.
74338         * modules/unistr/u8-strmblen-tests: New file.
74339         * tests/unistr/test-u8-strmblen.c: New file.
74341         Tests for module 'unistr/u32-cpy-alloc'.
74342         * modules/unistr/u32-cpy-alloc-tests: New file.
74343         * tests/unistr/test-u32-cpy-alloc.c: New file.
74345         Tests for module 'unistr/u16-cpy-alloc'.
74346         * modules/unistr/u16-cpy-alloc-tests: New file.
74347         * tests/unistr/test-u16-cpy-alloc.c: New file.
74349         Tests for module 'unistr/u8-cpy-alloc'.
74350         * modules/unistr/u8-cpy-alloc-tests: New file.
74351         * tests/unistr/test-u8-cpy-alloc.c: New file.
74352         * tests/unistr/test-cpy-alloc.h: New file.
74354         Tests for module 'unistr/u32-mbsnlen'.
74355         * modules/unistr/u32-mbsnlen-tests: New file.
74356         * tests/unistr/test-u32-mbsnlen.c: New file.
74358         Tests for module 'unistr/u16-mbsnlen'.
74359         * modules/unistr/u16-mbsnlen-tests: New file.
74360         * tests/unistr/test-u16-mbsnlen.c: New file.
74362         Tests for module 'unistr/u8-mbsnlen'.
74363         * modules/unistr/u8-mbsnlen-tests: New file.
74364         * tests/unistr/test-u8-mbsnlen.c: New file.
74366         Tests for module 'unistr/u32-chr'.
74367         * modules/unistr/u32-chr-tests: New file.
74368         * tests/unistr/test-u32-chr.c: New file.
74370         Tests for module 'unistr/u16-chr'.
74371         * modules/unistr/u16-chr-tests: New file.
74372         * tests/unistr/test-u16-chr.c: New file.
74374         Tests for module 'unistr/u8-chr'.
74375         * modules/unistr/u8-chr-tests: New file.
74376         * tests/unistr/test-u8-chr.c: New file.
74377         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
74379         Tests for module 'unistr/u32-cmp2'.
74380         * modules/unistr/u32-cmp2-tests: New file.
74381         * tests/unistr/test-u32-cmp2.c: New file.
74383         Tests for module 'unistr/u16-cmp2'.
74384         * modules/unistr/u16-cmp2-tests: New file.
74385         * tests/unistr/test-u16-cmp2.c: New file.
74387         Tests for module 'unistr/u8-cmp2'.
74388         * modules/unistr/u8-cmp2-tests: New file.
74389         * tests/unistr/test-u8-cmp2.c: New file.
74390         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
74392         Tests for module 'unistr/u32-cmp'.
74393         * modules/unistr/u32-cmp-tests: New file.
74394         * tests/unistr/test-u32-cmp.c: New file.
74396         Tests for module 'unistr/u16-cmp'.
74397         * modules/unistr/u16-cmp-tests: New file.
74398         * tests/unistr/test-u16-cmp.c: New file.
74400         Tests for module 'unistr/u8-cmp'.
74401         * modules/unistr/u8-cmp-tests: New file.
74402         * tests/unistr/test-u8-cmp.c: New file.
74403         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
74405         Tests for module 'unistr/u32-set'.
74406         * modules/unistr/u32-set-tests: New file.
74407         * tests/unistr/test-u32-set.c: New file.
74409         Tests for module 'unistr/u16-set'.
74410         * modules/unistr/u16-set-tests: New file.
74411         * tests/unistr/test-u16-set.c: New file.
74413         Tests for module 'unistr/u8-set'.
74414         * modules/unistr/u8-set-tests: New file.
74415         * tests/unistr/test-u8-set.c: New file.
74416         * tests/unistr/test-set.h: New file.
74418         Tests for module 'unistr/u32-move'.
74419         * modules/unistr/u32-move-tests: New file.
74420         * tests/unistr/test-u32-move.c: New file.
74422         Tests for module 'unistr/u16-move'.
74423         * modules/unistr/u16-move-tests: New file.
74424         * tests/unistr/test-u16-move.c: New file.
74426         Tests for module 'unistr/u8-move'.
74427         * modules/unistr/u8-move-tests: New file.
74428         * tests/unistr/test-u8-move.c: New file.
74429         * tests/unistr/test-move.h: New file.
74431         Tests for module 'unistr/u32-cpy'.
74432         * modules/unistr/u32-cpy-tests: New file.
74433         * tests/unistr/test-u32-cpy.c: New file.
74435         Tests for module 'unistr/u16-cpy'.
74436         * modules/unistr/u16-cpy-tests: New file.
74437         * tests/unistr/test-u16-cpy.c: New file.
74439         Tests for module 'unistr/u8-cpy'.
74440         * modules/unistr/u8-cpy-tests: New file.
74441         * tests/unistr/test-u8-cpy.c: New file.
74442         * tests/unistr/test-cpy.h: New file.
74444 2010-01-09  Bruno Haible  <bruno@clisp.org>
74446         Tests for module 'unistr/u32-uctomb'.
74447         * modules/unistr/u32-uctomb-tests: New file.
74448         * tests/unistr/test-u32-uctomb.c: New file.
74450         Tests for module 'unistr/u16-uctomb'.
74451         * modules/unistr/u16-uctomb-tests: New file.
74452         * tests/unistr/test-u16-uctomb.c: New file.
74454         Tests for module 'unistr/u8-uctomb'.
74455         * modules/unistr/u8-uctomb-tests: New file.
74456         * tests/unistr/test-u8-uctomb.c: New file.
74458         Tests for module 'unistr/u32-mbtoucr'.
74459         * modules/unistr/u32-mbtoucr-tests: New file.
74460         * tests/unistr/test-u32-mbtoucr.c: New file.
74462         Tests for module 'unistr/u16-mbtoucr'.
74463         * modules/unistr/u16-mbtoucr-tests: New file.
74464         * tests/unistr/test-u16-mbtoucr.c: New file.
74466         Tests for module 'unistr/u8-mbtoucr'.
74467         * modules/unistr/u8-mbtoucr-tests: New file.
74468         * tests/unistr/test-u8-mbtoucr.c: New file.
74470         Tests for module 'unistr/u32-mbtouc'.
74471         * modules/unistr/u32-mbtouc-tests: New file.
74472         * tests/unistr/test-u32-mbtouc.c: New file.
74474         Tests for module 'unistr/u16-mbtouc'.
74475         * modules/unistr/u16-mbtouc-tests: New file.
74476         * tests/unistr/test-u16-mbtouc.c: New file.
74478         Tests for module 'unistr/u8-mbtouc'.
74479         * modules/unistr/u8-mbtouc-tests: New file.
74480         * tests/unistr/test-u8-mbtouc.c: New file.
74482         Tests for module 'unistr/u32-mbtouc-unsafe'.
74483         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
74484         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
74485         * tests/unistr/test-u32-mbtouc.h: New file.
74487         Tests for module 'unistr/u16-mbtouc-unsafe'.
74488         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
74489         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
74490         * tests/unistr/test-u16-mbtouc.h: New file.
74492         Tests for module 'unistr/u8-mbtouc-unsafe'.
74493         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
74494         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
74495         * tests/unistr/test-u8-mbtouc.h: New file.
74497         Tests for module 'unistr/u32-mblen'.
74498         * modules/unistr/u32-mblen-tests: New file.
74499         * tests/unistr/test-u32-mblen.c: New file.
74501         Tests for module 'unistr/u16-mblen'.
74502         * modules/unistr/u16-mblen-tests: New file.
74503         * tests/unistr/test-u16-mblen.c: New file.
74505         Tests for module 'unistr/u8-mblen'.
74506         * modules/unistr/u8-mblen-tests: New file.
74507         * tests/unistr/test-u8-mblen.c: New file.
74509         Tests for module 'unistr/u32-to-u16'.
74510         * modules/unistr/u32-to-u16-tests: New file.
74511         * tests/unistr/test-u32-to-u16.c: New file.
74513         Tests for module 'unistr/u32-to-u8'.
74514         * modules/unistr/u32-to-u8-tests: New file.
74515         * tests/unistr/test-u32-to-u8.c: New file.
74517         Tests for module 'unistr/u16-to-u32'.
74518         * modules/unistr/u16-to-u32-tests: New file.
74519         * tests/unistr/test-u16-to-u32.c: New file.
74521         Tests for module 'unistr/u16-to-u8'.
74522         * modules/unistr/u16-to-u8-tests: New file.
74523         * tests/unistr/test-u16-to-u8.c: New file.
74525         Tests for module 'unistr/u8-to-u32'.
74526         * modules/unistr/u8-to-u32-tests: New file.
74527         * tests/unistr/test-u8-to-u32.c: New file.
74529         Tests for module 'unistr/u8-to-u16'.
74530         * modules/unistr/u8-to-u16-tests: New file.
74531         * tests/unistr/test-u8-to-u16.c: New file.
74533         Tests for module 'unistr/u32-check'.
74534         * modules/unistr/u32-check-tests: New file.
74535         * tests/unistr/test-u32-check.c: New file.
74537         Tests for module 'unistr/u16-check'.
74538         * modules/unistr/u16-check-tests: New file.
74539         * tests/unistr/test-u16-check.c: New file.
74541         Tests for module 'unistr/u8-check'.
74542         * modules/unistr/u8-check-tests: New file.
74543         * tests/unistr/test-u8-check.c: New file.
74545         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
74546         (category_equals): New function.
74547         (main): Add more tests.
74548         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
74550         * tests/unictype/test-bidi_byname.c (main): Add more tests.
74552 2010-01-10  Bruno Haible  <bruno@clisp.org>
74554         unistr/u*-strcoll: Try harder to distinguish different strings.
74555         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
74556         compare s1 and s2 to see if they are different.
74558 2010-01-10  Bruno Haible  <bruno@clisp.org>
74560         unistr/u*-stpncpy: Fix the return value.
74561         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
74562         description of the return value consistent with stpncpy in glibc.
74563         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
74564         written non-NUL unit.
74566 2010-01-10  Bruno Haible  <bruno@clisp.org>
74568         unistr/u*-next: Add missing dependencies.
74569         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
74570         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
74571         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
74573 2010-01-10  Bruno Haible  <bruno@clisp.org>
74575         unistr/u8-mbsnlen: Fix return value for incomplete character.
74576         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
74577         u8_mblen.
74578         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
74579         Remove unistr/u8-mblen.
74580         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
74581         u16_mblen.
74582         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
74583         Remove unistr/u16-mblen.
74585 2010-01-10  Bruno Haible  <bruno@clisp.org>
74587         wchar: Fix compilation error when <wchar.h> is used from coreutils.
74588         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
74589         Reported by Brian Gough <bjg@gnu.org> and
74590         Chris Clayton <chris2553@googlemail.com> via
74591         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
74593 2010-01-09  Bruno Haible  <bruno@clisp.org>
74595         unistr/u16-to-u32: Reject invalid input.
74596         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
74597         u16_mbtouc.
74598         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
74599         Remove unistr/u16-mbtouc.
74601         unistr/u16-to-u8: Reject invalid input.
74602         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
74603         u16_mbtouc.
74604         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
74605         Remove unistr/u16-mbtouc.
74607         unistr/u8-to-u32: Reject invalid input.
74608         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
74609         u8_mbtouc.
74610         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
74611         Remove unistr/u8-mbtouc.
74613         unistr/u8-to-u16: Reject invalid input.
74614         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
74615         u8_mbtouc.
74616         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
74617         Remove unistr/u8-mbtouc.
74619 2010-01-09  Bruno Haible  <bruno@clisp.org>
74621         Tests for module 'getlogin'.
74622         * modules/getlogin-tests: New file.
74623         * tests/test-getlogin.c: New file.
74625         New module 'getlogin'.
74626         * lib/unistd.in.h (getlogin): New declaration.
74627         * lib/getlogin.c: New file.
74628         * m4/getlogin.m4: New file.
74629         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
74630         HAVE_GETLOGIN.
74631         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
74632         HAVE_GETLOGIN.
74633         * modules/getlogin: New file.
74634         * doc/posix-functions/getlogin.texi: Mention the new module.
74635         Reported by John W. Eaton <jwe@gnu.org>.
74637 2010-01-09  Bruno Haible  <bruno@clisp.org>
74639         getlogin_r: Support for native Windows.
74640         * lib/getlogin_r.c: Include <windows.h>
74641         (getlogin_r): Implement for native Windows.
74642         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
74643         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
74644         via John W. Eaton <jwe@gnu.org>.
74646 2010-01-09  Bruno Haible  <bruno@clisp.org>
74648         getlogin_r: Small fixes.
74649         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
74650         succeeds.
74651         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
74652         before testing whether getlogin_r is declared. No need to set
74653         HAVE_DECL_GETLOGIN_R to 1.
74654         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
74656 2010-01-09  Bruno Haible  <bruno@clisp.org>
74658         * lib/unistd.in.h (getlogin_r): Add comment.
74660 2010-01-09  Bruno Haible  <bruno@clisp.org>
74662         Tests for module 'getlogin_r'.
74663         * modules/getlogin_r-tests: New file.
74664         * tests/test-getlogin_r.c: New file.
74666 2010-01-09  Jim Meyering  <meyering@redhat.com>
74668         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
74669         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
74670         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
74672 2010-01-08  Simon Josefsson  <simon@josefsson.org>
74674         * lib/dup2.c (rpl_dup2): Improve comment.
74676 2010-01-08  Eric Blake  <ebb9@byu.net>
74678         maint.mk: allow packages to add makefile @@ exceptions
74679         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
74680         (sc_makefile_check): Rename...
74681         (sc_makefile_at_at_check): ...to this, and use hook.
74683         dup2: work around mingw bug
74684         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
74685         Reported by Simon Josefsson.
74687 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
74689         glob: Fix C++ compilation.
74690         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
74691         C++.
74693 2010-01-07  Bruno Haible  <bruno@clisp.org>
74695         Fix indentation of wctype.in.h, broken since 2007-01-06.
74696         * lib/wctype.in.h: Fix indentation of preprocessor directives.
74698 2010-01-07  Bruno Haible  <bruno@clisp.org>
74700         mbslen: Avoid collision with system function.
74701         * lib/string.in.h [MirBSD]: Include <wchar.h>.
74702         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
74703         * m4/mbslen.m4: New file.
74704         * modules/mbslen (Files): Add it.
74705         (configure.ac): Invoke gl_MBSLEN.
74706         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
74707         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
74708         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
74709         via Ian Beckwith <ianb@erislabs.net>.
74711 2010-01-07  Bruno Haible  <bruno@clisp.org>
74713         dirent: Document the last fix.
74714         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
74716 2010-01-07  Bruno Haible  <bruno@clisp.org>
74718         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
74719         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
74720         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
74721         va_list are defined.
74722         * doc/posix-headers/stdio.texi: Document the bug of missing types.
74723         Reported by Eric Blake.
74725 2010-01-07  Bruno Haible  <bruno@clisp.org>
74727         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
74728         * modules/xlist (Depends-on): Add 'list',
74729         * modules/xoset (Depends-on): Add 'oset'.
74730         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74732 2010-01-07  Bruno Haible  <bruno@clisp.org>
74734         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
74735         * doc/posix-functions/strncasecmp.texi: Likewise.
74737 2010-01-07  Bruno Haible  <bruno@clisp.org>
74739         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
74741 2010-01-07  John W. Eaton  <jwe@octave.org>
74743         wctype: allow C++ use
74744         * lib/wctype.in.h: Add extern "C" block for C++.
74746 2010-01-06  Eric Blake  <ebb9@byu.net>
74748         maint.mk: detect incorrect GFDL usage
74749         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
74751 2010-01-06  Jim Meyering  <meyering@redhat.com>
74752         and Eric Blake  <ebb9@byu.net>
74754         maint.mk: ignore multi-line copyright in NEWS
74755         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
74757 2010-01-06  Eric Blake  <ebb9@byu.net>
74759         select: add missing dependency
74760         * modules/select-tests (Depends-on): Move sockets dependency...
74761         * modules/select (Depends-on): ...here.
74762         Reported by Ian Beckwith.
74764         doc: regenerate INSTALL
74765         * doc/INSTALL: Reflect recent autoconf update.
74766         * doc/INSTALL.ISO: Likewise.
74767         * doc/INSTALL.UTF-8: Likewise.
74769         pread: fix compilation on glibc
74770         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
74771         Reported by Ralf Wildenhues.
74773         dirent: fix test failure
74774         * lib/dirent.in.h (includes): Guarantee ino_t.
74775         Reported by Ralf Wildenhues.
74777 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
74779         linkat, renameat: avoid bad free
74780         * lib/at-func2.c (at_func2): Fix typo.
74781         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
74783 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74785         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
74786         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
74787         to avoid failure of symlink test later.
74789 2010-01-06  Eric Blake  <ebb9@byu.net>
74791         stdio, unistd: guarantee ssize_t
74792         * lib/unistd.in.h (includes): Ensure that types required by POSIX
74793         2008 are exposed when needed.
74794         * lib/stdio.in.h (includes): Likewise.
74795         Reported by Ralf Wildenhues.
74797 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
74799         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
74800         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
74801         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
74803 2010-01-06  Jim Meyering  <meyering@redhat.com>
74805         readtokens: this module *does* require xalloc.h
74806         It uses only functions that were omitted by the old syntax-check rule.
74807         * lib/readtokens.c: Include "xalloc.h" once again.
74808         * modules/readtokens (Depends-on): Add xalloc.
74809         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
74811 2010-01-05  Eric Blake  <ebb9@byu.net>
74813         maint: support 'make announcement' from a VPATH build
74814         * top/maint.mk (announcement): Look for correct NEWS file.
74816 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
74818         utimens (fdutimens): ignore a negative FD, per contract
74819         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
74820         when we have a valid file descriptor.  Otherwise, using a brand
74821         new glibc (with just-patched futimens that now fails with EBADF)
74822         would cause this function to fail with ENOSYS.
74823         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
74824         See also http://bugzilla.redhat.com/552320.
74826 2010-01-05  Eric Blake  <ebb9@byu.net>
74828         strcase: document what it provides
74829         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
74830         gnulib module.
74831         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
74832         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
74834 2010-01-05  Jim Meyering  <meyering@redhat.com>
74836         maint: remove useless inclusions of "xalloc.h"
74837         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
74838         * lib/readtokens.c: Likewise.
74839         * lib/same.c: Likewise.
74840         * modules/getloadavg (Depends-on): Remove xalloc.
74841         * modules/readtokens: Likewise.
74842         * modules/same: Likewise.
74844         maint.mk: include 4 more function names in alloca.h-checking regexp
74845         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
74846         regexp.  Before, we would give a false-positive (saying alloca.h
74847         is included unnecessarily) when the only uses involved omitted symbols.
74849         xalloc.h: use consistent formatting
74850         * lib/xalloc.h: Move declarations to start in the first column.
74852 2010-01-05  Eric Blake  <ebb9@byu.net>
74854         mkdir: avoid xalloc
74855         * lib/mkdir.c (includes): Drop unused header.
74856         Reported by John W. Eaton.
74858 2010-01-04  Jim Meyering  <meyering@redhat.com>
74860         nl_langinfo: avoid configure-time syntax error
74861         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
74862         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
74863         the empty string.  Don't let that provoke a shell syntax error.
74865         regcomp, regexec, fnmatch: avoid array bounds read error
74866         * lib/regcomp.c (build_equiv_class): From glibc:
74867         Use only the low 24 bits of a findidx return value as an index
74868         into the weights array.  Patch by Ulrich Drepper:
74869         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
74870         * lib/regexec.c (check_node_accept_bytes): Likewise.
74871         * lib/fnmatch_loop.c (FCT): Likewise.
74873         regcomp: skip collseq lookup when there are no rules
74874         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
74875         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
74877         regcomp: recognize ill-formed { } expressions
74878         * lib/regcomp.c (parse_dup_op): From glibc:
74879         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
74881         regcomp: fix typo in comment
74882         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
74883         s/satisfy/satisfies/.
74885         regcomp: sync from glibc: remove dead store
74886         * lib/regcomp.c (duplicate_node_closure): Remove useless
74887         search_duplicated_node call and dead store.
74889         regcomp: sync from glibc; always use nl_langinfo
74890         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
74891         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
74892         * modules/regex (Depends-on): Add nl_langinfo.
74894 2010-01-04  Eric Blake  <ebb9@byu.net>
74896         fdopendir: fix configure test
74897         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
74899 2010-01-01  Bruno Haible  <bruno@clisp.org>
74901         wchar: Remove unused configure check.
74902         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
74904 2010-01-01  Eric Blake  <ebb9@byu.net>
74906         headers: make check of system header explicit
74907         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
74908         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
74909         ourselves.
74910         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
74911         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74912         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
74913         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
74914         internals.
74915         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
74916         missing.
74917         Suggested by Bruno Haible.
74919 2010-01-01  Jim Meyering  <meyering@redhat.com>
74921         ChangeLog: tweak to eliminate unnecessary copyright line
74922         * ChangeLog: Remove a copyright line that was mistakenly updated
74923         by today's update-copyright run.  Reported by Eric Blake.
74925         test-update-copyright: don't let envvar setting cause test failure
74926         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
74928 2010-01-01  Bruno Haible  <bruno@clisp.org>
74930         localename: Avoid gcc warning.
74931         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
74932         function if it is not used.
74934 2010-01-01  Jim Meyering  <meyering@redhat.com>
74936         update nearly all FSF copyright year lists to include 2010
74937         Use the same procedure as for 2009, outlined in
74938         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
74940         version-etc: set COPYRIGHT_YEAR to 2010
74941         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
74943 2009-12-31  Eric Blake  <ebb9@byu.net>
74945         doc: correct availability of cygwin 1.5.x getopt
74946         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
74947         variables.
74948         * doc/posix-functions/opterr.texi (opterr): Likewise.
74949         * doc/posix-functions/optind.texi (optind): Likewise.
74950         * doc/posix-functions/optopt.texi (optopt): Likewise.
74951         * doc/posix-functions/tzname.texi (tzname): Likewise.
74953         openat: update maintainer
74954         * modules/openat (Maintainer): Add myself.
74956         utimens: avoid shadowing warning
74957         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
74958         buffers into one, to avoid shadowing, as well as avoiding a
74959         redundant stat.
74960         Reported by Jim Meyering.
74962         test-dup2: avoid compiler warning
74963         * tests/test-dup2.c (is_inheritable): Only define if used.
74965 2010-01-01  Bruno Haible  <bruno@clisp.org>
74967         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
74968         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
74969         defined, use wctomb instead of wcrtomb.
74971 2010-01-01  Bruno Haible  <bruno@clisp.org>
74973         iconv: Reject native Solaris iconv.
74974         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
74975         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
74977 2009-12-31  Bruno Haible  <bruno@clisp.org>
74979         * tests/test-signal.c (main): Remove test of 'SIG'.
74981 2009-12-31  Bruno Haible  <bruno@clisp.org>
74983         spawn: Fix incomplete fix.
74984         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
74985         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
74986         warnings for GNULIB_POSIXCHECK again.
74987         Reported by Eric Blake.
74989 2009-12-31  Bruno Haible  <bruno@clisp.org>
74991         Avoid namespace pollution on glibc systems.
74992         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
74993         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
74994         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
74995         glibc systems.
74997 2009-12-31  Bruno Haible  <bruno@clisp.org>
74999         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
75000         (gl_REPLACE_WCHAR_H): Turn into a no-op.
75001         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
75002         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
75003         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
75004         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
75005         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
75007 2009-12-31  Bruno Haible  <bruno@clisp.org>
75009         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
75010         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
75011         afterwards.
75013 2009-12-31  Bruno Haible  <bruno@clisp.org>
75015         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
75016         SYS_UTSNAME_H.
75018 2009-12-31  Bruno Haible  <bruno@clisp.org>
75020         spawn: Fix misapplied patch.
75021         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
75022         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
75023         warnings for GNULIB_POSIXCHECK.
75025 2009-12-31  Bruno Haible  <bruno@clisp.org>
75027         times: Update after sys_times changed.
75028         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
75029         * modules/times (Files): Add it.
75030         (configure.ac): Invoke gl_FUNC_TIMES.
75032 2009-12-31  Bruno Haible  <bruno@clisp.org>
75034         Use AC_C_INLINE where necessary.
75035         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
75036         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
75037         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
75038         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
75039         * m4/mbfile.m4 (gl_MBFILE): Likewise.
75040         * m4/mbiter.m4 (gl_MBITER): Likewise.
75041         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75042         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
75043         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
75044         * modules/u64 (configure.ac): Likewise.
75046 2009-12-31  Bruno Haible  <bruno@clisp.org>
75048         Use AC_C_INLINE instead of module 'inline' where possible.
75049         * modules/inline (Description): Clarify purpose.
75050         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
75051         * modules/count-one-bits (Depends-on): Remove inline.
75052         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
75053         * modules/openat (Depends-on): Remove inline.
75054         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
75055         instead of depending on module 'inline'.
75056         * modules/filevercmp (Depends-on, configure.ac): Likewise.
75057         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
75058         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
75059         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
75060         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
75061         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
75062         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
75063         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
75064         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
75065         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
75066         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
75067         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
75068         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
75069         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
75070         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
75071         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
75072         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
75073         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
75074         Likewise.
75075         * modules/unictype/property-ascii-hex-digit (Depends-on,
75076         configure.ac): Likewise.
75077         * modules/unictype/property-bidi-arabic-digit (Depends-on,
75078         configure.ac): Likewise.
75079         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
75080         configure.ac): Likewise.
75081         * modules/unictype/property-bidi-block-separator (Depends-on,
75082         configure.ac): Likewise.
75083         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
75084         configure.ac): Likewise.
75085         * modules/unictype/property-bidi-common-separator (Depends-on,
75086         configure.ac): Likewise.
75087         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
75088         Likewise.
75089         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
75090         configure.ac): Likewise.
75091         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
75092         configure.ac): Likewise.
75093         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
75094         configure.ac): Likewise.
75095         * modules/unictype/property-bidi-european-digit (Depends-on,
75096         configure.ac): Likewise.
75097         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
75098         configure.ac): Likewise.
75099         * modules/unictype/property-bidi-left-to-right (Depends-on,
75100         configure.ac): Likewise.
75101         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
75102         configure.ac): Likewise.
75103         * modules/unictype/property-bidi-other-neutral (Depends-on,
75104         configure.ac): Likewise.
75105         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
75106         Likewise.
75107         * modules/unictype/property-bidi-segment-separator (Depends-on,
75108         configure.ac): Likewise.
75109         * modules/unictype/property-bidi-whitespace (Depends-on,
75110         configure.ac): Likewise.
75111         * modules/unictype/property-combining (Depends-on, configure.ac):
75112         Likewise.
75113         * modules/unictype/property-composite (Depends-on, configure.ac):
75114         Likewise.
75115         * modules/unictype/property-currency-symbol (Depends-on,
75116         configure.ac): Likewise.
75117         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
75118         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
75119         Likewise.
75120         * modules/unictype/property-default-ignorable-code-point (Depends-on,
75121         configure.ac): Likewise.
75122         * modules/unictype/property-deprecated (Depends-on, configure.ac):
75123         Likewise.
75124         * modules/unictype/property-diacritic (Depends-on, configure.ac):
75125         Likewise.
75126         * modules/unictype/property-extender (Depends-on, configure.ac):
75127         Likewise.
75128         * modules/unictype/property-format-control (Depends-on, configure.ac):
75129         Likewise.
75130         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
75131         Likewise.
75132         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
75133         Likewise.
75134         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
75135         Likewise.
75136         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
75137         Likewise.
75138         * modules/unictype/property-hyphen (Depends-on, configure.ac):
75139         Likewise.
75140         * modules/unictype/property-id-continue (Depends-on, configure.ac):
75141         Likewise.
75142         * modules/unictype/property-id-start (Depends-on, configure.ac):
75143         Likewise.
75144         * modules/unictype/property-ideographic (Depends-on, configure.ac):
75145         Likewise.
75146         * modules/unictype/property-ids-binary-operator (Depends-on,
75147         configure.ac): Likewise.
75148         * modules/unictype/property-ids-trinary-operator (Depends-on,
75149         configure.ac): Likewise.
75150         * modules/unictype/property-ignorable-control (Depends-on,
75151         configure.ac): Likewise.
75152         * modules/unictype/property-iso-control (Depends-on, configure.ac):
75153         Likewise.
75154         * modules/unictype/property-join-control (Depends-on, configure.ac):
75155         Likewise.
75156         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
75157         Likewise.
75158         * modules/unictype/property-line-separator (Depends-on, configure.ac):
75159         Likewise.
75160         * modules/unictype/property-logical-order-exception (Depends-on,
75161         configure.ac): Likewise.
75162         * modules/unictype/property-lowercase (Depends-on, configure.ac):
75163         Likewise.
75164         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
75165         * modules/unictype/property-non-break (Depends-on, configure.ac):
75166         Likewise.
75167         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
75168         Likewise.
75169         * modules/unictype/property-numeric (Depends-on, configure.ac):
75170         Likewise.
75171         * modules/unictype/property-other-alphabetic (Depends-on,
75172         configure.ac): Likewise.
75173         * modules/unictype/property-other-default-ignorable-code-point
75174         (Depends-on, configure.ac): Likewise.
75175         * modules/unictype/property-other-grapheme-extend (Depends-on,
75176         configure.ac): Likewise.
75177         * modules/unictype/property-other-id-continue (Depends-on,
75178         configure.ac): Likewise.
75179         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
75180         Likewise.
75181         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
75182         Likewise.
75183         * modules/unictype/property-other-math (Depends-on, configure.ac):
75184         Likewise.
75185         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
75186         Likewise.
75187         * modules/unictype/property-paired-punctuation (Depends-on,
75188         configure.ac): Likewise.
75189         * modules/unictype/property-paragraph-separator (Depends-on,
75190         configure.ac): Likewise.
75191         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
75192         Likewise.
75193         * modules/unictype/property-pattern-white-space (Depends-on,
75194         configure.ac): Likewise.
75195         * modules/unictype/property-private-use (Depends-on, configure.ac):
75196         Likewise.
75197         * modules/unictype/property-punctuation (Depends-on, configure.ac):
75198         Likewise.
75199         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
75200         Likewise.
75201         * modules/unictype/property-radical (Depends-on, configure.ac):
75202         Likewise.
75203         * modules/unictype/property-sentence-terminal (Depends-on,
75204         configure.ac): Likewise.
75205         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
75206         Likewise.
75207         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
75208         * modules/unictype/property-terminal-punctuation (Depends-on,
75209         configure.ac): Likewise.
75210         * modules/unictype/property-titlecase (Depends-on, configure.ac):
75211         Likewise.
75212         * modules/unictype/property-unassigned-code-value (Depends-on,
75213         configure.ac): Likewise.
75214         * modules/unictype/property-unified-ideograph (Depends-on,
75215         configure.ac): Likewise.
75216         * modules/unictype/property-uppercase (Depends-on, configure.ac):
75217         Likewise.
75218         * modules/unictype/property-variation-selector (Depends-on,
75219         configure.ac): Likewise.
75220         * modules/unictype/property-white-space (Depends-on, configure.ac):
75221         Likewise.
75222         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
75223         Likewise.
75224         * modules/unictype/property-xid-start (Depends-on, configure.ac):
75225         Likewise.
75226         * modules/unictype/property-zero-width (Depends-on, configure.ac):
75227         Likewise.
75228         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
75229         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
75230         Likewise.
75232 2009-12-31  Bruno Haible  <bruno@clisp.org>
75234         Remove unnecessary AC_C_INLINE invocation.
75235         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
75236         since 2009-08-21.
75238 2009-12-31  Jim Meyering  <meyering@redhat.com>
75240         maint.mk: don't require explicit gpg_key_ID in cfg.mk
75241         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
75242         With this change, we can all remove the gpg_key_ID = ... definition
75243         from our respective cfg.mk files.
75245         maint.mk: create announcement template in ~/, not in /tmp
75246         * top/maint.mk (emit_upload_commands): Adjust.
75247         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
75248         Remove temporary file, .ci-msg.
75250 2009-12-31  Eric Blake  <ebb9@byu.net>
75252         link-warning: always build headers with link warnings
75253         * modules/arpa_inet (Makefile.am): Always build replacement
75254         header.
75255         * modules/ctype (Makefile.am): Likewise.
75256         * modules/dirent (Makefile.am): Likewise.
75257         * modules/inttypes (Makefile.am): Likewise.
75258         * modules/langinfo (Makefile.am): Likewise.
75259         * modules/locale (Makefile.am): Likewise.
75260         * modules/spawn (Makefile.am): Likewise.
75261         * modules/sys_file (Makefile.am): Likewise.
75262         * modules/sys_ioctl (Makefile.am): Likewise.
75263         * modules/sys_select (Makefile.am): Likewise.
75264         * modules/sys_socket (Makefile.am): Likewise.
75265         * modules/sys_times (Makefile.am): Likewise.
75266         * modules/sys_utsname (Makefile.am): Likewise.
75267         * modules/sys_wait (Makefile.am): Likewise.
75268         * modules/wchar (Makefile.am): Likewise.
75269         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
75270         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
75271         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
75272         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
75273         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
75274         Likewise.
75275         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
75276         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
75277         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
75278         Likewise.
75279         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
75280         Likewise.
75281         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
75282         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
75283         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
75284         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
75285         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
75286         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
75287         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
75288         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
75289         (gl_WCHAR_H_DEFAULTS): Likewise.
75291 2009-12-31  Eric Blake  <ebb9@byu.net>
75293         signal, spawn: use link warnings
75294         * lib/signal.in.h (sigset_t): Make unconditional.
75295         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
75296         (sigpending, sigprocmask, sigaction): Add link warnings.
75297         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
75298         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
75299         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
75300         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
75301         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
75302         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
75303         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
75304         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
75305         (posix_spawn_file_actions_destroy)
75306         (posix_spawn_file_actions_addopen)
75307         (posix_spawn_file_actions_addclose)
75308         (posix_spawn_file_actions_adddup2): Likewise.
75309         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
75310         * tests/test-signal.c (main): Enhance test.
75312         spawn: improve wrapper support
75313         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
75314         (gl_SPAWN_H_DEFAULTS): New defaults.
75315         * modules/spawn (Makefile.am): Substitute them.
75316         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
75317         Only declare if missing or broken.
75319         sys_times, sys_utsname: use include_next
75320         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
75321         header.
75322         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
75323         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
75324         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
75325         * modules/sys_times (Depends-on): Add include_next.
75326         (Makefile.am): Substitute additional values.
75327         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
75328         * lib/sys_times.in.h (includes): Include native header, if
75329         available.
75330         * lib/sys_utsname.in.h (includes): Likewise.
75331         * tests/test-sys_times.c (main): Enhance test.
75333         fdutimensat: revert prior patch
75334         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
75335         utimens.h.
75336         Reported by Bruno Haible.
75338 2009-12-30  Eric Blake  <ebb9@byu.net>
75340         sys_wait: drop link-warning dependency
75341         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
75342         link-warning efforts.
75343         * lib/sys_wait.in.h: Likewise.
75345         fdutimensat: remove bogus dependency
75346         * modules/fdutimensat (Depends-on): Drop inline.
75348         unistd: fix typo
75349         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
75351 2009-12-30  Bruno Haible  <bruno@clisp.org>
75353         Fix compilation error with Solaris cc.
75354         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
75355         * lib/unicase/u16-is-invariant.c: Likewise.
75356         * lib/unicase/u32-is-invariant.c: Likewise.
75357         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
75359 2009-12-30  Bruno Haible  <bruno@clisp.org>
75361         Fix test crash.
75362         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
75363         locales.
75364         Reported by Simon Josefsson <simon@josefsson.org>.
75366 2009-12-30  Bruno Haible  <bruno@clisp.org>
75368         Fix compilation error on most platforms.
75369         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
75370         Reported by Simon Josefsson <simon@josefsson.org>
75371         and Nelson H. F. Beebe <beebe@math.utah.edu>.
75373 2009-12-30  Eric Blake  <ebb9@byu.net>
75375         futimens, utimensat: work around ntfs-3g bug
75376         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
75377         a ctime bug is present, and expand workaround to cover ntfs-3g.
75378         * lib/utimens.c (fdutimens, lutimens): Likewise.
75379         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
75380         (validate_timespec): Adjust return value.
75381         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
75382         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
75383         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
75385 2009-12-29  Eric Blake  <ebb9@byu.net>
75387         link-warning: make usage consistent
75388         * modules/ctype (Depends-on): Add link-warning.
75389         (Makefile.am): Update rules accordingly.
75390         * modules/langinfo (Depends-on, Makefile.am): Likewise.
75391         * modules/locale (Depends-on, Makefile.am): Likewise.
75392         * modules/sys_file (Makefile.am): Likewise.
75393         * modules/getopt-posix (Makefile.am): Delete unused link warning
75394         efforts.
75395         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
75396         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
75397         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
75398         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
75400         stdio: remove unused variables
75401         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
75402         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
75403         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
75405         tests: test more substitute headers
75406         * modules/ctype-tests: New file.
75407         * modules/dirent-tests: Likewise.
75408         * modules/spawn-tests: Likewise.
75409         * modules/sys_file-tests: Likewise.
75410         * modules/sys_ioctl-tests: Likewise.
75411         * modules/sys_wait-tests: Likewise.
75412         * tests/test-ctype.c: Likewise.
75413         * tests/test-dirent.c: Likewise.
75414         * tests/test-spawn.c: Likewise.
75415         * tests/test-sys_file.c: Likewise.
75416         * tests/test-sys_ioctl.c: Likewise.
75417         * tests/test-sys_wait.c: Likewise.
75418         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
75419         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
75420         whether or not flock is in use.
75422         tests: remove License section from module
75423         * modules/arpa_inet-tests: Remove unneeded section.
75424         * modules/byteswap-tests: Likewise.
75425         * modules/ceilf-tests: Likewise.
75426         * modules/ceill-tests: Likewise.
75427         * modules/crypto/des-tests: Likewise.
75428         * modules/crypto/gc-arcfour-tests: Likewise.
75429         * modules/crypto/gc-arctwo-tests: Likewise.
75430         * modules/crypto/gc-des-tests: Likewise.
75431         * modules/crypto/gc-hmac-md5-tests: Likewise.
75432         * modules/crypto/gc-hmac-sha1-tests: Likewise.
75433         * modules/crypto/gc-md2-tests: Likewise.
75434         * modules/crypto/gc-md4-tests: Likewise.
75435         * modules/crypto/gc-md5-tests: Likewise.
75436         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
75437         * modules/crypto/gc-rijndael-tests: Likewise.
75438         * modules/crypto/gc-sha1-tests: Likewise.
75439         * modules/crypto/gc-tests: Likewise.
75440         * modules/crypto/md2-tests: Likewise.
75441         * modules/crypto/md4-tests: Likewise.
75442         * modules/fcntl-h-tests: Likewise.
75443         * modules/floorf-tests: Likewise.
75444         * modules/floorl-tests: Likewise.
75445         * modules/frexp-nolibm-tests: Likewise.
75446         * modules/frexp-tests: Likewise.
75447         * modules/frexpl-nolibm-tests: Likewise.
75448         * modules/frexpl-tests: Likewise.
75449         * modules/getaddrinfo-tests: Likewise.
75450         * modules/inttypes-tests: Likewise.
75451         * modules/isfinite-tests: Likewise.
75452         * modules/isinf-tests: Likewise.
75453         * modules/ldexpl-tests: Likewise.
75454         * modules/locale-tests: Likewise.
75455         * modules/math-tests: Likewise.
75456         * modules/netdb-tests: Likewise.
75457         * modules/netinet_in-tests: Likewise.
75458         * modules/printf-frexp-tests: Likewise.
75459         * modules/printf-frexpl-tests: Likewise.
75460         * modules/priv-set-tests: Likewise.
75461         * modules/random_r-tests: Likewise.
75462         * modules/round-tests: Likewise.
75463         * modules/roundf-tests: Likewise.
75464         * modules/roundl-tests: Likewise.
75465         * modules/search-tests: Likewise.
75466         * modules/select-tests: Likewise.
75467         * modules/signal-tests: Likewise.
75468         * modules/stdbool-tests: Likewise.
75469         * modules/stddef-tests: Likewise.
75470         * modules/stdint-tests: Likewise.
75471         * modules/stdio-tests: Likewise.
75472         * modules/stdlib-tests: Likewise.
75473         * modules/string-tests: Likewise.
75474         * modules/strings-tests: Likewise.
75475         * modules/sys_select-tests: Likewise.
75476         * modules/sys_socket-tests: Likewise.
75477         * modules/sys_stat-tests: Likewise.
75478         * modules/sys_time-tests: Likewise.
75479         * modules/sys_utsname-tests: Likewise.
75480         * modules/sysexits-tests: Likewise.
75481         * modules/time-tests: Likewise.
75482         * modules/trunc-tests: Likewise.
75483         * modules/truncf-tests: Likewise.
75484         * modules/truncl-tests: Likewise.
75485         * modules/tsearch-tests: Likewise.
75486         * modules/unistd-tests: Likewise.
75487         * modules/wchar-tests: Likewise.
75488         * modules/wctype-tests: Likewise.
75490         tests: fix license on several tests
75491         * tests/test-des.c: Update to GPLv3+.
75492         * tests/test-flock.c: Likewise.
75493         * tests/test-fsync.c: Likewise.
75494         * tests/test-futimens.h: Likewise.
75495         * tests/test-gc-arcfour.c: Likewise.
75496         * tests/test-gc-arctwo.c: Likewise.
75497         * tests/test-gc-des.c: Likewise.
75498         * tests/test-gc-hmac-md5.c: Likewise.
75499         * tests/test-gc-hmac-sha1.c: Likewise.
75500         * tests/test-gc-md2.c: Likewise.
75501         * tests/test-gc-md4.c: Likewise.
75502         * tests/test-gc-md5.c: Likewise.
75503         * tests/test-gc-pbkdf2-sha1.c: Likewise.
75504         * tests/test-gc-rijndael.c: Likewise.
75505         * tests/test-gc-sha1.c: Likewise.
75506         * tests/test-gc.c: Likewise.
75507         * tests/test-getcwd.c: Likewise.
75508         * tests/test-link.c: Likewise.
75509         * tests/test-link.h: Likewise.
75510         * tests/test-lutimens.h: Likewise.
75511         * tests/test-md2.c: Likewise.
75512         * tests/test-md4.c: Likewise.
75513         * tests/test-mkdir.h: Likewise.
75514         * tests/test-rename.c: Likewise.
75515         * tests/test-rename.h: Likewise.
75516         * tests/test-safe-alloc.c: Likewise.
75517         * tests/test-utimens-common.h: Likewise.
75518         * tests/test-utimens.h: Likewise.
75520         maint: sync license texts
75521         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
75522         * doc/gpl-3.0.texi: Revert copyright year update.
75523         * doc/lgpl-3.0.texi: Likewise.
75525 2009-12-29  Jim Meyering  <meyering@redhat.com>
75527         update nearly all FSF copyright year lists to include 2009
75528         The files named by the following are exempted:
75529             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
75530               test -f "$dst" && { echo "$dst"; continue; }
75531               test -d "$dst" || continue
75532               echo "$dst"/$(basename "$src")
75533             done > exempt
75534             git ls-files tests/unictype >> exempt
75535         In the remaining files, convert to all-interval notation if
75536         - there is already at least one year interval like 2000-2003
75537         - the file is maintained by me
75538         - the file is in lib/uni*/, where that style already prevails
75539         Otherwise, use update-copyright's default.
75541 2009-12-29  Simon Josefsson  <simon@josefsson.org>
75542         and Eric Blake  <ebb9@byu.net>
75544         tests: don't require debug system() to pass
75545         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
75546         * tests/test-rmdir.h (test_rmdir_func): Likewise.
75547         * tests/test-unlink.h (test_unlink_func): Likewise.
75548         * tests/test-fstatat.c (main): ...into callers.
75549         * tests/test-lstat.c (main): Likewise.
75550         * tests/test-rmdir.c (main): Likewise.
75551         * tests/test-unlink.c (main): Likewise.
75552         * tests/test-unlinkat.c (main): Likewise.
75553         * tests/test-areadlink-with-size.c (main): Don't require a
75554         debug-only system call to pass, aiding cross-testing to mingw.
75555         * tests/test-areadlink.c (main): Likewise.
75556         * tests/test-areadlinkat-with-size.c (main): Likewise.
75557         * tests/test-areadlinkat.c (main): Likewise.
75558         * tests/test-canonicalize-lgpl.c (main): Likewise.
75559         * tests/test-canonicalize.c (main): Likewise.
75560         * tests/test-chown.c (main): Likewise.
75561         * tests/test-fchownat.c (main): Likewise.
75562         * tests/test-lchown.c (main): Likewise.
75563         * tests/test-fdutimensat.c (main): Likewise.
75564         * tests/test-futimens.c (main): Likewise.
75565         * tests/test-link.c (main): Likewise.
75566         * tests/test-linkat.c (main): Likewise.
75567         * tests/test-mkdir.c (main): Likewise.
75568         * tests/test-mkdirat.c (main): Likewise.
75569         * tests/test-mkfifo.c (main): Likewise.
75570         * tests/test-mkfifoat.c (main): Likewise.
75571         * tests/test-mknod.c (main): Likewise.
75572         * tests/test-readlink.c (main): Likewise.
75573         * tests/test-remove.c (main): Likewise.
75574         * tests/test-rename.c (main): Likewise.
75575         * tests/test-renameat.c (main): Likewise.
75576         * tests/test-symlink.c (main): Likewise.
75577         * tests/test-symlinkat.c (main): Likewise.
75578         * tests/test-utimens.c (main): Likewise.
75579         * tests/test-utimensat.c (main): Likewise.
75581 2009-12-29  Simon Josefsson  <simon@josefsson.org>
75583         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
75584         on $(UNUSED_PARAMETER_H) to avoid build failure.
75586 2009-12-28  Jim Meyering  <meyering@redhat.com>
75588         update-copyright: you may specify a max. line length other than 72
75589         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
75591         maint: use consistent FSF copyright line syntax
75592         * lib/posixtm.c: Add missing comma in FSF copyright line.
75593         * lib/posixtm.h: Likewise.
75594         * lib/getugroups.c: Add missing ", Inc.".
75596         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
75597         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
75598         FSF copyright line.  Remove trailing blanks.
75600 2009-12-28  Eric Blake  <ebb9@byu.net>
75602         test-dup2: reduce dependencies
75603         * modules/cloexec (Configure.ac): Set witness.
75604         * modules/dup2-tests (Depends-on): Drop cloexec.
75605         * tests/test-dup2.c (main): Skip portion of test if cloexec module
75606         not present.
75607         Suggested by Bruno Haible.
75609 2009-12-26  Bruno Haible  <bruno@clisp.org>
75611         Remove an unneeded dependency.
75612         * modules/fseterr (Depends-on): Remove dup2.
75614 2009-12-26  Eric Blake  <ebb9@byu.net>
75616         tests: use macros.h in more places
75617         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
75618         (ASSERT_STREAM): Provide default of stderr.
75619         * tests/test-dirent-safer.c: Include macros.h, using alternate
75620         stream for assertions.
75621         * tests/test-dup-safer.c: Likewise.
75622         * tests/test-freopen-safer.c: Likewise.
75623         * tests/test-getopt.c: Likewise.
75624         * tests/test-openat-safer.c: Likewise.
75625         * tests/test-pipe.c: Likewise.
75626         * tests/test-popen-safer.c: Likewise.
75627         * modules/dirent-safer-tests (Files): Include macros.h.
75628         * modules/unistd-safer-tests (Files): Likewise.
75629         * modules/freopen-safer-tests (Files): Likewise.
75630         * modules/getopt-posix-tests (Files): Likewise.
75631         * modules/openat-safer-tests (Files): Likewise.
75632         * modules/pipe-tests (Files): Likewise.
75634 2009-12-26  Bruno Haible  <bruno@clisp.org>
75636         javacomp-script: Portability fix.
75637         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
75638         that it also works on Solaris.
75640 2009-12-26  Bruno Haible  <bruno@clisp.org>
75642         localename: Fix storage allocation of gl_locale_name_thread's result.
75643         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
75644         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
75645         all platforms that have 'uselocale'.
75646         (gl_locale_name_thread_unsafe): New function, extracted from
75647         gl_locale_name_thread.
75648         (gl_locale_name_thread): Call struniq on all platforms that have
75649         'uselocale'.
75650         * tests/test-localename.c (test_locale_name_thread): Check that the
75651         resulting strings are permanently allocated.
75652         * modules/localename-tests (Depends-on): Add strdup.
75654 2009-12-26  Bruno Haible  <bruno@clisp.org>
75656         * tests/test-localename.c (categories): Fill in the strings.
75658 2009-12-26  Jim Meyering  <meyering@redhat.com>
75660         isdir: complete the removal of m4/isdir.m4
75661         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
75663         isdir: clean up, since at least grep still uses it
75664         * lib/isdir.c: Include "isdir.h".
75665         (S_ISDIR): Remove now-unneeded definition.
75666         * modules/isdir (Files): Add lib/isdir.h.
75667         * lib/isdir.h: New file, with declaration.
75668         * m4/isdir.m4: Remove file -- unneeded.
75670 2009-12-25  Bruno Haible  <bruno@clisp.org>
75672         selinux-h: Make generated .h files standalone.
75673         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
75674         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
75675         * lib/se-selinux.in.h: Likewise.
75676         * modules/selinux-h (Depends-on): Add unused-parameter.
75677         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
75678         selinux/selinux.h and selinux/context.h.
75679         Suggested by Eric Blake.
75681 2009-12-25  Bruno Haible  <bruno@clisp.org>
75683         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
75684         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
75685         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
75686         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
75687         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
75689 2009-12-24  Bruno Haible  <bruno@clisp.org>
75691         openat: Fix warning.
75692         * lib/openat-proc.c: Include <unistd.h>.
75694 2009-12-24  Bruno Haible  <bruno@clisp.org>
75696         New module 'unused-parameter'.
75697         * build-aux/unused-parameter.h: New file, extracted from earlier
75698         gnulib-common.m4.
75699         * modules/unused-parameter: New file.
75700         * lib/unistr.h: Include unused-parameter.h.
75701         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
75702         _GL_UNUSED.
75703         * modules/unistr/base (Depends-on): Add unused-parameter.
75705 2009-12-24  Bruno Haible  <bruno@clisp.org>
75707         Add missing dependencies to 'extensions' module.
75708         * m4/extensions.m4: Add comment.
75709         * modules/accept4 (Depends-on): Add extensions.
75710         * modules/dup3 (Depends-on): Likewise.
75711         * modules/fcntl (Depends-on): Likewise.
75712         * modules/futimens (Depends-on): Likewise.
75713         * modules/mknod (Depends-on): Likewise.
75714         * modules/pipe2 (Depends-on): Likewise.
75715         * modules/stat-time (Depends-on): Likewise.
75716         * modules/strcasestr-simple (Depends-on): Likewise.
75717         * modules/strsignal (Depends-on): Likewise.
75718         * modules/utimensat (Depends-on): Likewise.
75719         * modules/localcharset (Depends-on): Likewise. Needed because of
75720         gl_FCNTL_O_FLAGS.
75721         * modules/wcrtomb (Depends-on): Likewise. Needed because of
75722         AC_TYPE_MBSTATE_T.
75723         * modules/wcsnrtombs (Depends-on): Likewise.
75724         * modules/wcsrtombs (Depends-on): Likewise.
75726 2009-12-24  Bruno Haible  <bruno@clisp.org>
75728         binary-io: Avoid gcc warning due to SET_BINARY.
75729         * lib/binary-io.h (SET_BINARY): Cast the result to void.
75730         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
75732 2009-12-24  Bruno Haible  <bruno@clisp.org>
75734         Avoid future namespace pollution on glibc systems.
75735         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
75736         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
75737         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
75738         glibc systems.
75740 2009-12-24  Bruno Haible  <bruno@clisp.org>
75742         Refactor common macros used in tests.
75743         * tests/macros.h: New file.
75744         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
75745         and/or <stdlib.h>, if appropriate.
75746         (ASSERT, SIZEOF): Remove macros.
75747         * tests/test-areadlink-with-size.c: Likewise.
75748         * tests/test-areadlinkat.c: Likewise.
75749         * tests/test-areadlinkat-with-size.c: Likewise.
75750         * tests/test-argmatch.c: Likewise.
75751         * tests/test-argv-iter.c: Likewise.
75752         * tests/test-array-mergesort.c: Likewise.
75753         * tests/test-array_list.c: Likewise.
75754         * tests/test-array_oset.c: Likewise.
75755         * tests/test-avltree_list.c: Likewise.
75756         * tests/test-avltree_oset.c: Likewise.
75757         * tests/test-avltreehash_list.c: Likewise.
75758         * tests/test-base64.c: Likewise.
75759         * tests/test-binary-io.c: Likewise.
75760         * tests/test-bitrotate.c: Likewise.
75761         * tests/test-btowc.c: Likewise.
75762         * tests/test-byteswap.c: Likewise.
75763         * tests/test-c-ctype.c: Likewise.
75764         * tests/test-c-stack.c: Likewise.
75765         * tests/test-c-strcasecmp.c: Likewise.
75766         * tests/test-c-strcasestr.c: Likewise.
75767         * tests/test-c-strncasecmp.c: Likewise.
75768         * tests/test-c-strstr.c: Likewise.
75769         * tests/test-canonicalize-lgpl.c: Likewise.
75770         * tests/test-canonicalize.c: Likewise.
75771         * tests/test-carray_list.c: Likewise.
75772         * tests/test-ceilf1.c: Likewise.
75773         * tests/test-ceilf2.c: Likewise.
75774         * tests/test-ceill.c: Likewise.
75775         * tests/test-chown.c: Likewise.
75776         * tests/test-cloexec.c: Likewise.
75777         * tests/test-copy-acl.c: Likewise.
75778         * tests/test-copy-file.c: Likewise.
75779         * tests/test-count-one-bits.c: Likewise.
75780         * tests/test-dprintf-posix.c: Likewise.
75781         * tests/test-dup2.c: Likewise.
75782         * tests/test-dup3.c: Likewise.
75783         * tests/test-duplocale.c: Likewise.
75784         * tests/test-fbufmode.c: Likewise.
75785         * tests/test-fchdir.c: Likewise.
75786         * tests/test-fchownat.c: Likewise.
75787         * tests/test-fcntl-safer.c: Likewise.
75788         * tests/test-fcntl.c: Likewise.
75789         * tests/test-fdopendir.c: Likewise.
75790         * tests/test-fdutimensat.c: Likewise.
75791         * tests/test-fflush2.c: Likewise.
75792         * tests/test-file-has-acl.c: Likewise.
75793         * tests/test-filevercmp.c: Likewise.
75794         * tests/test-flock.c: Likewise.
75795         * tests/test-floorf1.c: Likewise.
75796         * tests/test-floorf2.c: Likewise.
75797         * tests/test-floorl.c: Likewise.
75798         * tests/test-fnmatch.c: Likewise.
75799         * tests/test-fopen.h: Likewise.
75800         * tests/test-fpending.c: Likewise.
75801         * tests/test-fprintf-posix.c: Likewise.
75802         * tests/test-fpurge.c: Likewise.
75803         * tests/test-freadable.c: Likewise.
75804         * tests/test-freadahead.c: Likewise.
75805         * tests/test-freading.c: Likewise.
75806         * tests/test-freadptr.c: Likewise.
75807         * tests/test-freadptr2.c: Likewise.
75808         * tests/test-freadseek.c: Likewise.
75809         * tests/test-freopen.c: Likewise.
75810         * tests/test-frexp.c: Likewise.
75811         * tests/test-frexpl.c: Likewise.
75812         * tests/test-fseek.c: Likewise.
75813         * tests/test-fseeko.c: Likewise.
75814         * tests/test-fstatat.c: Likewise.
75815         * tests/test-fstrcmp.c: Likewise.
75816         * tests/test-fsync.c: Likewise.
75817         * tests/test-ftell.c: Likewise.
75818         * tests/test-ftello.c: Likewise.
75819         * tests/test-func.c: Likewise.
75820         * tests/test-futimens.c: Likewise.
75821         * tests/test-fwritable.c: Likewise.
75822         * tests/test-fwriting.c: Likewise.
75823         * tests/test-getcwd.c: Likewise.
75824         * tests/test-getdate.c: Likewise.
75825         * tests/test-getdelim.c: Likewise.
75826         * tests/test-getdtablesize.c: Likewise.
75827         * tests/test-getgroups.c: Likewise.
75828         * tests/test-getline.c: Likewise.
75829         * tests/test-getndelim2.c: Likewise.
75830         * tests/test-glob.c: Likewise.
75831         * tests/test-hash.c: Likewise.
75832         * tests/test-i-ring.c: Likewise.
75833         * tests/test-iconv-utf.c: Likewise.
75834         * tests/test-iconv.c: Likewise.
75835         * tests/test-idpriv-drop.c: Likewise.
75836         * tests/test-idpriv-droptemp.c: Likewise.
75837         * tests/test-inet_ntop.c: Likewise.
75838         * tests/test-inet_pton.c: Likewise.
75839         * tests/test-isblank.c: Likewise.
75840         * tests/test-isfinite.c: Likewise.
75841         * tests/test-isinf.c: Likewise.
75842         * tests/test-isnan.c: Likewise.
75843         * tests/test-isnand.h: Likewise.
75844         * tests/test-isnanf.h: Likewise.
75845         * tests/test-isnanl.h: Likewise.
75846         * tests/test-lchown.c: Likewise.
75847         * tests/test-ldexpl.c: Likewise.
75848         * tests/test-link.c: Likewise.
75849         * tests/test-linkat.c: Likewise.
75850         * tests/test-linked_list.c: Likewise.
75851         * tests/test-linkedhash_list.c: Likewise.
75852         * tests/test-localename.c: Likewise.
75853         * tests/test-lseek.c: Likewise.
75854         * tests/test-lstat.c: Likewise.
75855         * tests/test-mbmemcasecmp.c: Likewise.
75856         * tests/test-mbmemcasecoll.c: Likewise.
75857         * tests/test-mbrtowc.c: Likewise.
75858         * tests/test-mbscasecmp.c: Likewise.
75859         * tests/test-mbscasestr1.c: Likewise.
75860         * tests/test-mbscasestr2.c: Likewise.
75861         * tests/test-mbscasestr3.c: Likewise.
75862         * tests/test-mbscasestr4.c: Likewise.
75863         * tests/test-mbschr.c: Likewise.
75864         * tests/test-mbscspn.c: Likewise.
75865         * tests/test-mbsinit.c: Likewise.
75866         * tests/test-mbsncasecmp.c: Likewise.
75867         * tests/test-mbsnrtowcs.c: Likewise.
75868         * tests/test-mbspbrk.c: Likewise.
75869         * tests/test-mbspcasecmp.c: Likewise.
75870         * tests/test-mbsrchr.c: Likewise.
75871         * tests/test-mbsrtowcs.c: Likewise.
75872         * tests/test-mbsspn.c: Likewise.
75873         * tests/test-mbsstr1.c: Likewise.
75874         * tests/test-mbsstr2.c: Likewise.
75875         * tests/test-mbsstr3.c: Likewise.
75876         * tests/test-memchr.c: Likewise.
75877         * tests/test-memchr2.c: Likewise.
75878         * tests/test-memcmp.c: Likewise.
75879         * tests/test-memmem.c: Likewise.
75880         * tests/test-memrchr.c: Likewise.
75881         * tests/test-mkdir.c: Likewise.
75882         * tests/test-mkdirat.c: Likewise.
75883         * tests/test-mkfifo.c: Likewise.
75884         * tests/test-mkfifoat.c: Likewise.
75885         * tests/test-mknod.c: Likewise.
75886         * tests/test-nanosleep.c: Likewise.
75887         * tests/test-nl_langinfo.c: Likewise.
75888         * tests/test-obstack-printf.c: Likewise.
75889         * tests/test-open.c: Likewise.
75890         * tests/test-openat.c: Likewise.
75891         * tests/test-pipe-filter-gi1.c: Likewise.
75892         * tests/test-pipe-filter-gi2-main.c: Likewise.
75893         * tests/test-pipe-filter-ii1.c: Likewise.
75894         * tests/test-pipe-filter-ii2-main.c: Likewise.
75895         * tests/test-pipe2.c: Likewise.
75896         * tests/test-popen.h: Likewise.
75897         * tests/test-posixtm.c: Likewise.
75898         * tests/test-pread.c: Likewise.
75899         * tests/test-printf-frexp.c: Likewise.
75900         * tests/test-printf-frexpl.c: Likewise.
75901         * tests/test-printf-posix.c: Likewise.
75902         * tests/test-priv-set.c: Likewise.
75903         * tests/test-quotearg.c: Likewise.
75904         * tests/test-random_r.c: Likewise.
75905         * tests/test-rawmemchr.c: Likewise.
75906         * tests/test-rbtree_list.c: Likewise.
75907         * tests/test-rbtree_oset.c: Likewise.
75908         * tests/test-rbtreehash_list.c: Likewise.
75909         * tests/test-readlink.c: Likewise.
75910         * tests/test-remove.c: Likewise.
75911         * tests/test-rename.c: Likewise.
75912         * tests/test-renameat.c: Likewise.
75913         * tests/test-rmdir.c: Likewise.
75914         * tests/test-round1.c: Likewise.
75915         * tests/test-roundf1.c: Likewise.
75916         * tests/test-roundl.c: Likewise.
75917         * tests/test-safe-alloc.c: Likewise.
75918         * tests/test-sameacls.c: Likewise.
75919         * tests/test-set-mode-acl.c: Likewise.
75920         * tests/test-setenv.c: Likewise.
75921         * tests/test-sigaction.c: Likewise.
75922         * tests/test-signbit.c: Likewise.
75923         * tests/test-sleep.c: Likewise.
75924         * tests/test-snprintf-posix.c: Likewise.
75925         * tests/test-snprintf.c: Likewise.
75926         * tests/test-sprintf-posix.c: Likewise.
75927         * tests/test-stat-time.c: Likewise.
75928         * tests/test-stat.c: Likewise.
75929         * tests/test-strcasestr.c: Likewise.
75930         * tests/test-strchrnul.c: Likewise.
75931         * tests/test-strerror.c: Likewise.
75932         * tests/test-striconv.c: Likewise.
75933         * tests/test-striconveh.c: Likewise.
75934         * tests/test-striconveha.c: Likewise.
75935         * tests/test-strsignal.c: Likewise.
75936         * tests/test-strstr.c: Likewise.
75937         * tests/test-strtod.c: Likewise.
75938         * tests/test-strverscmp.c: Likewise.
75939         * tests/test-symlink.c: Likewise.
75940         * tests/test-symlinkat.c: Likewise.
75941         * tests/test-trunc1.c: Likewise.
75942         * tests/test-trunc2.c: Likewise.
75943         * tests/test-truncf1.c: Likewise.
75944         * tests/test-truncf2.c: Likewise.
75945         * tests/test-truncl.c: Likewise.
75946         * tests/test-uname.c: Likewise.
75947         * tests/test-unlink.c: Likewise.
75948         * tests/test-unlinkat.c: Likewise.
75949         * tests/test-unsetenv.c: Likewise.
75950         * tests/test-usleep.c: Likewise.
75951         * tests/test-utimens.c: Likewise.
75952         * tests/test-utimensat.c: Likewise.
75953         * tests/test-vasnprintf-posix.c: Likewise.
75954         * tests/test-vasnprintf-posix2.c: Likewise.
75955         * tests/test-vasnprintf.c: Likewise.
75956         * tests/test-vasprintf-posix.c: Likewise.
75957         * tests/test-vasprintf.c: Likewise.
75958         * tests/test-vdprintf-posix.c: Likewise.
75959         * tests/test-vfprintf-posix.c: Likewise.
75960         * tests/test-vprintf-posix.c: Likewise.
75961         * tests/test-vsnprintf-posix.c: Likewise.
75962         * tests/test-vsnprintf.c: Likewise.
75963         * tests/test-vsprintf-posix.c: Likewise.
75964         * tests/test-wcrtomb.c: Likewise.
75965         * tests/test-wcsnrtombs.c: Likewise.
75966         * tests/test-wcsrtombs.c: Likewise.
75967         * tests/test-wctype.c: Likewise.
75968         * tests/test-wcwidth.c: Likewise.
75969         * tests/test-xfprintf-posix.c: Likewise.
75970         * tests/test-xmemdup0.c: Likewise.
75971         * tests/test-xprintf-posix.c: Likewise.
75972         * tests/test-xvasprintf.c: Likewise.
75973         * tests/unicase/test-locale-language.c: Likewise.
75974         * tests/unicase/test-mapping-part1.h: Likewise.
75975         * tests/unicase/test-predicate-part1.h: Likewise.
75976         * tests/unicase/test-u8-casecmp.c: Likewise.
75977         * tests/unicase/test-u8-casecoll.c: Likewise.
75978         * tests/unicase/test-u8-casefold.c: Likewise.
75979         * tests/unicase/test-u8-is-cased.c: Likewise.
75980         * tests/unicase/test-u8-is-casefolded.c: Likewise.
75981         * tests/unicase/test-u8-is-lowercase.c: Likewise.
75982         * tests/unicase/test-u8-is-titlecase.c: Likewise.
75983         * tests/unicase/test-u8-is-uppercase.c: Likewise.
75984         * tests/unicase/test-u8-tolower.c: Likewise.
75985         * tests/unicase/test-u8-totitle.c: Likewise.
75986         * tests/unicase/test-u8-toupper.c: Likewise.
75987         * tests/unicase/test-u16-casecmp.c: Likewise.
75988         * tests/unicase/test-u16-casecoll.c: Likewise.
75989         * tests/unicase/test-u16-casefold.c: Likewise.
75990         * tests/unicase/test-u16-is-cased.c: Likewise.
75991         * tests/unicase/test-u16-is-casefolded.c: Likewise.
75992         * tests/unicase/test-u16-is-lowercase.c: Likewise.
75993         * tests/unicase/test-u16-is-titlecase.c: Likewise.
75994         * tests/unicase/test-u16-is-uppercase.c: Likewise.
75995         * tests/unicase/test-u16-tolower.c: Likewise.
75996         * tests/unicase/test-u16-totitle.c: Likewise.
75997         * tests/unicase/test-u16-toupper.c: Likewise.
75998         * tests/unicase/test-u32-casecmp.c: Likewise.
75999         * tests/unicase/test-u32-casecoll.c: Likewise.
76000         * tests/unicase/test-u32-casefold.c: Likewise.
76001         * tests/unicase/test-u32-is-cased.c: Likewise.
76002         * tests/unicase/test-u32-is-casefolded.c: Likewise.
76003         * tests/unicase/test-u32-is-lowercase.c: Likewise.
76004         * tests/unicase/test-u32-is-titlecase.c: Likewise.
76005         * tests/unicase/test-u32-is-uppercase.c: Likewise.
76006         * tests/unicase/test-u32-tolower.c: Likewise.
76007         * tests/unicase/test-u32-totitle.c: Likewise.
76008         * tests/unicase/test-u32-toupper.c: Likewise.
76009         * tests/unicase/test-ulc-casecmp.c: Likewise.
76010         * tests/unicase/test-ulc-casecoll.c: Likewise.
76011         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
76012         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
76013         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
76014         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
76015         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
76016         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
76017         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
76018         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
76019         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
76020         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
76021         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
76022         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
76023         * tests/unictype/test-bidi_byname.c: Likewise.
76024         * tests/unictype/test-bidi_name.c: Likewise.
76025         * tests/unictype/test-bidi_of.c: Likewise.
76026         * tests/unictype/test-bidi_test.c: Likewise.
76027         * tests/unictype/test-block_list.c: Likewise.
76028         * tests/unictype/test-block_of.c: Likewise.
76029         * tests/unictype/test-block_test.c: Likewise.
76030         * tests/unictype/test-categ_and.c: Likewise.
76031         * tests/unictype/test-categ_and_not.c: Likewise.
76032         * tests/unictype/test-categ_byname.c: Likewise.
76033         * tests/unictype/test-categ_name.c: Likewise.
76034         * tests/unictype/test-categ_none.c: Likewise.
76035         * tests/unictype/test-categ_of.c: Likewise.
76036         * tests/unictype/test-categ_or.c: Likewise.
76037         * tests/unictype/test-categ_test_withtable.c: Likewise.
76038         * tests/unictype/test-combining.c: Likewise.
76039         * tests/unictype/test-decdigit.c: Likewise.
76040         * tests/unictype/test-digit.c: Likewise.
76041         * tests/unictype/test-mirror.c: Likewise.
76042         * tests/unictype/test-numeric.c: Likewise.
76043         * tests/unictype/test-pr_byname.c: Likewise.
76044         * tests/unictype/test-pr_test.c: Likewise.
76045         * tests/unictype/test-predicate-part1.h: Likewise.
76046         * tests/unictype/test-scripts.c: Likewise.
76047         * tests/unictype/test-sy_c_ident.c: Likewise.
76048         * tests/unictype/test-sy_java_ident.c: Likewise.
76049         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
76050         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
76051         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
76052         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
76053         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
76054         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
76055         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
76056         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
76057         * tests/uninorm/test-canonical-decomposition.c: Likewise.
76058         * tests/uninorm/test-compat-decomposition.c: Likewise.
76059         * tests/uninorm/test-composition.c: Likewise.
76060         * tests/uninorm/test-decomposing-form.c: Likewise.
76061         * tests/uninorm/test-decomposition.c: Likewise.
76062         * tests/uninorm/test-u8-nfc.c: Likewise.
76063         * tests/uninorm/test-u8-nfd.c: Likewise.
76064         * tests/uninorm/test-u8-nfkc.c: Likewise.
76065         * tests/uninorm/test-u8-nfkd.c: Likewise.
76066         * tests/uninorm/test-u8-normcmp.c: Likewise.
76067         * tests/uninorm/test-u8-normcoll.c: Likewise.
76068         * tests/uninorm/test-u16-nfc.c: Likewise.
76069         * tests/uninorm/test-u16-nfd.c: Likewise.
76070         * tests/uninorm/test-u16-nfkc.c: Likewise.
76071         * tests/uninorm/test-u16-nfkd.c: Likewise.
76072         * tests/uninorm/test-u16-normcmp.c: Likewise.
76073         * tests/uninorm/test-u16-normcoll.c: Likewise.
76074         * tests/uninorm/test-u32-nfc.c: Likewise.
76075         * tests/uninorm/test-u32-nfd.c: Likewise.
76076         * tests/uninorm/test-u32-nfkc.c: Likewise.
76077         * tests/uninorm/test-u32-nfkd.c: Likewise.
76078         * tests/uninorm/test-u32-normalize-big.c: Likewise.
76079         * tests/uninorm/test-u32-normcmp.c: Likewise.
76080         * tests/uninorm/test-u32-normcoll.c: Likewise.
76081         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
76082         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
76083         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
76084         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
76085         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
76086         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
76087         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
76088         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
76089         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
76090         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
76091         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
76092         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
76093         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
76094         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
76095         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
76096         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
76097         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
76098         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
76099         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
76100         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
76101         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
76102         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
76103         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
76104         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
76105         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
76106         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
76107         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
76108         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
76109         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
76110         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
76111         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
76112         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
76113         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
76114         * tests/uniwidth/test-u8-strwidth.c: Likewise.
76115         * tests/uniwidth/test-u8-width.c: Likewise.
76116         * tests/uniwidth/test-u16-strwidth.c: Likewise.
76117         * tests/uniwidth/test-u16-width.c: Likewise.
76118         * tests/uniwidth/test-u32-strwidth.c: Likewise.
76119         * tests/uniwidth/test-u32-width.c: Likewise.
76120         * tests/uniwidth/test-uc_width.c: Likewise.
76121         * tests/uniwidth/test-uc_width2.c: Likewise.
76122         * modules/acl-tests (Files): Add tests/macros.h.
76123         * modules/areadlink-tests (Files): Likewise.
76124         * modules/areadlink-with-size-tests (Files): Likewise.
76125         * modules/areadlinkat-tests (Files): Likewise.
76126         * modules/areadlinkat-with-size-tests (Files): Likewise.
76127         * modules/argmatch-tests (Files): Likewise.
76128         * modules/argv-iter-tests (Files): Likewise.
76129         * modules/array-list-tests (Files): Likewise.
76130         * modules/array-mergesort-tests (Files): Likewise.
76131         * modules/array-oset-tests (Files): Likewise.
76132         * modules/avltree-list-tests (Files): Likewise.
76133         * modules/avltree-oset-tests (Files): Likewise.
76134         * modules/avltreehash-list-tests (Files): Likewise.
76135         * modules/base64-tests (Files): Likewise.
76136         * modules/binary-io-tests (Files): Likewise.
76137         * modules/bitrotate-tests (Files): Likewise.
76138         * modules/btowc-tests (Files): Likewise.
76139         * modules/byteswap-tests (Files): Likewise.
76140         * modules/c-ctype-tests (Files): Likewise.
76141         * modules/c-stack-tests (Files): Likewise.
76142         * modules/c-strcase-tests (Files): Likewise.
76143         * modules/c-strcasestr-tests (Files): Likewise.
76144         * modules/c-strstr-tests (Files): Likewise.
76145         * modules/canonicalize-lgpl-tests (Files): Likewise.
76146         * modules/canonicalize-tests (Files): Likewise.
76147         * modules/carray-list-tests (Files): Likewise.
76148         * modules/ceilf-tests (Files): Likewise.
76149         * modules/ceill-tests (Files): Likewise.
76150         * modules/chown-tests (Files): Likewise.
76151         * modules/cloexec-tests (Files): Likewise.
76152         * modules/copy-file-tests (Files): Likewise.
76153         * modules/count-one-bits-tests (Files): Likewise.
76154         * modules/dprintf-posix-tests (Files): Likewise.
76155         * modules/dup2-tests (Files): Likewise.
76156         * modules/dup3-tests (Files): Likewise.
76157         * modules/duplocale-tests (Files): Likewise.
76158         * modules/fbufmode-tests (Files): Likewise.
76159         * modules/fchdir-tests (Files): Likewise.
76160         * modules/fcntl-safer-tests (Files): Likewise.
76161         * modules/fcntl-tests (Files): Likewise.
76162         * modules/fdopendir-tests (Files): Likewise.
76163         * modules/fdutimensat-tests (Files): Likewise.
76164         * modules/fflush-tests (Files): Likewise.
76165         * modules/filevercmp-tests (Files): Likewise.
76166         * modules/flock-tests (Files): Likewise.
76167         * modules/floorf-tests (Files): Likewise.
76168         * modules/floorl-tests (Files): Likewise.
76169         * modules/fnmatch-tests (Files): Likewise.
76170         * modules/fopen-safer-tests (Files): Likewise.
76171         * modules/fopen-tests (Files): Likewise.
76172         * modules/fpending-tests (Files): Likewise.
76173         * modules/fprintf-posix-tests (Files): Likewise.
76174         * modules/fpurge-tests (Files): Likewise.
76175         * modules/freadable-tests (Files): Likewise.
76176         * modules/freadahead-tests (Files): Likewise.
76177         * modules/freading-tests (Files): Likewise.
76178         * modules/freadptr-tests (Files): Likewise.
76179         * modules/freadseek-tests (Files): Likewise.
76180         * modules/freopen-tests (Files): Likewise.
76181         * modules/frexp-nolibm-tests (Files): Likewise.
76182         * modules/frexp-tests (Files): Likewise.
76183         * modules/frexpl-nolibm-tests (Files): Likewise.
76184         * modules/frexpl-tests (Files): Likewise.
76185         * modules/fseek-tests (Files): Likewise.
76186         * modules/fseeko-tests (Files): Likewise.
76187         * modules/fstrcmp-tests (Files): Likewise.
76188         * modules/fsync-tests (Files): Likewise.
76189         * modules/ftell-tests (Files): Likewise.
76190         * modules/ftello-tests (Files): Likewise.
76191         * modules/func-tests (Files): Likewise.
76192         * modules/futimens-tests (Files): Likewise.
76193         * modules/fwritable-tests (Files): Likewise.
76194         * modules/fwriting-tests (Files): Likewise.
76195         * modules/getcwd-tests (Files): Likewise.
76196         * modules/getdate-tests (Files): Likewise.
76197         * modules/getdelim-tests (Files): Likewise.
76198         * modules/getdtablesize-tests (Files): Likewise.
76199         * modules/getgroups-tests (Files): Likewise.
76200         * modules/getline-tests (Files): Likewise.
76201         * modules/getndelim2-tests (Files): Likewise.
76202         * modules/glob-tests (Files): Likewise.
76203         * modules/hash-tests (Files): Likewise.
76204         * modules/i-ring-tests (Files): Likewise.
76205         * modules/iconv-tests (Files): Likewise.
76206         * modules/iconv_open-utf-tests (Files): Likewise.
76207         * modules/idpriv-drop-tests (Files): Likewise.
76208         * modules/idpriv-droptemp-tests (Files): Likewise.
76209         * modules/inet_ntop-tests (Files): Likewise.
76210         * modules/inet_pton-tests (Files): Likewise.
76211         * modules/isblank-tests (Files): Likewise.
76212         * modules/isfinite-tests (Files): Likewise.
76213         * modules/isinf-tests (Files): Likewise.
76214         * modules/isnan-tests (Files): Likewise.
76215         * modules/isnand-nolibm-tests (Files): Likewise.
76216         * modules/isnand-tests (Files): Likewise.
76217         * modules/isnanf-nolibm-tests (Files): Likewise.
76218         * modules/isnanf-tests (Files): Likewise.
76219         * modules/isnanl-nolibm-tests (Files): Likewise.
76220         * modules/isnanl-tests (Files): Likewise.
76221         * modules/lchown-tests (Files): Likewise.
76222         * modules/ldexpl-tests (Files): Likewise.
76223         * modules/link-tests (Files): Likewise.
76224         * modules/linkat-tests (Files): Likewise.
76225         * modules/linked-list-tests (Files): Likewise.
76226         * modules/linkedhash-list-tests (Files): Likewise.
76227         * modules/localename-tests (Files): Likewise.
76228         * modules/lseek-tests (Files): Likewise.
76229         * modules/lstat-tests (Files): Likewise.
76230         * modules/mbmemcasecmp-tests (Files): Likewise.
76231         * modules/mbmemcasecoll-tests (Files): Likewise.
76232         * modules/mbrtowc-tests (Files): Likewise.
76233         * modules/mbscasecmp-tests (Files): Likewise.
76234         * modules/mbscasestr-tests (Files): Likewise.
76235         * modules/mbschr-tests (Files): Likewise.
76236         * modules/mbscspn-tests (Files): Likewise.
76237         * modules/mbsinit-tests (Files): Likewise.
76238         * modules/mbsncasecmp-tests (Files): Likewise.
76239         * modules/mbsnrtowcs-tests (Files): Likewise.
76240         * modules/mbspbrk-tests (Files): Likewise.
76241         * modules/mbspcasecmp-tests (Files): Likewise.
76242         * modules/mbsrchr-tests (Files): Likewise.
76243         * modules/mbsrtowcs-tests (Files): Likewise.
76244         * modules/mbsspn-tests (Files): Likewise.
76245         * modules/mbsstr-tests (Files): Likewise.
76246         * modules/memchr-tests (Files): Likewise.
76247         * modules/memchr2-tests (Files): Likewise.
76248         * modules/memcmp-tests (Files): Likewise.
76249         * modules/memmem-tests (Files): Likewise.
76250         * modules/memrchr-tests (Files): Likewise.
76251         * modules/mkdir-tests (Files): Likewise.
76252         * modules/mkfifo-tests (Files): Likewise.
76253         * modules/mkfifoat-tests (Files): Likewise.
76254         * modules/mknod-tests (Files): Likewise.
76255         * modules/nanosleep-tests (Files): Likewise.
76256         * modules/nl_langinfo-tests (Files): Likewise.
76257         * modules/obstack-printf-tests (Files): Likewise.
76258         * modules/open-tests (Files): Likewise.
76259         * modules/openat-tests (Files): Likewise.
76260         * modules/pipe-filter-gi-tests (Files): Likewise.
76261         * modules/pipe-filter-ii-tests (Files): Likewise.
76262         * modules/pipe2-tests (Files): Likewise.
76263         * modules/popen-safer-tests (Files): Likewise.
76264         * modules/popen-tests (Files): Likewise.
76265         * modules/posixtm-tests (Files): Likewise.
76266         * modules/pread-tests (Files): Likewise.
76267         * modules/printf-frexp-tests (Files): Likewise.
76268         * modules/printf-frexpl-tests (Files): Likewise.
76269         * modules/printf-posix-tests (Files): Likewise.
76270         * modules/priv-set-tests (Files): Likewise.
76271         * modules/quotearg-tests (Files): Likewise.
76272         * modules/random_r-tests (Files): Likewise.
76273         * modules/rawmemchr-tests (Files): Likewise.
76274         * modules/rbtree-list-tests (Files): Likewise.
76275         * modules/rbtree-oset-tests (Files): Likewise.
76276         * modules/rbtreehash-list-tests (Files): Likewise.
76277         * modules/readlink-tests (Files): Likewise.
76278         * modules/remove-tests (Files): Likewise.
76279         * modules/rename-tests (Files): Likewise.
76280         * modules/renameat-tests (Files): Likewise.
76281         * modules/rmdir-tests (Files): Likewise.
76282         * modules/round-tests (Files): Likewise.
76283         * modules/roundf-tests (Files): Likewise.
76284         * modules/roundl-tests (Files): Likewise.
76285         * modules/safe-alloc-tests (Files): Likewise.
76286         * modules/setenv-tests (Files): Likewise.
76287         * modules/sigaction-tests (Files): Likewise.
76288         * modules/signbit-tests (Files): Likewise.
76289         * modules/sleep-tests (Files): Likewise.
76290         * modules/snprintf-posix-tests (Files): Likewise.
76291         * modules/snprintf-tests (Files): Likewise.
76292         * modules/sprintf-posix-tests (Files): Likewise.
76293         * modules/stat-tests (Files): Likewise.
76294         * modules/stat-time-tests (Files): Likewise.
76295         * modules/strcasestr-tests (Files): Likewise.
76296         * modules/strchrnul-tests (Files): Likewise.
76297         * modules/strerror-tests (Files): Likewise.
76298         * modules/striconv-tests (Files): Likewise.
76299         * modules/striconveh-tests (Files): Likewise.
76300         * modules/striconveha-tests (Files): Likewise.
76301         * modules/strsignal-tests (Files): Likewise.
76302         * modules/strstr-tests (Files): Likewise.
76303         * modules/strtod-tests (Files): Likewise.
76304         * modules/strverscmp-tests (Files): Likewise.
76305         * modules/symlink-tests (Files): Likewise.
76306         * modules/symlinkat-tests (Files): Likewise.
76307         * modules/trunc-tests (Files): Likewise.
76308         * modules/truncf-tests (Files): Likewise.
76309         * modules/truncl-tests (Files): Likewise.
76310         * modules/uname-tests (Files): Likewise.
76311         * modules/unicase/cased-tests (Files): Likewise.
76312         * modules/unicase/ignorable-tests (Files): Likewise.
76313         * modules/unicase/locale-language-tests (Files): Likewise.
76314         * modules/unicase/tolower-tests (Files): Likewise.
76315         * modules/unicase/totitle-tests (Files): Likewise.
76316         * modules/unicase/toupper-tests (Files): Likewise.
76317         * modules/unicase/u8-casecmp-tests (Files): Likewise.
76318         * modules/unicase/u8-casecoll-tests (Files): Likewise.
76319         * modules/unicase/u8-casefold-tests (Files): Likewise.
76320         * modules/unicase/u8-is-cased-tests (Files): Likewise.
76321         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
76322         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
76323         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
76324         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
76325         * modules/unicase/u8-tolower-tests (Files): Likewise.
76326         * modules/unicase/u8-totitle-tests (Files): Likewise.
76327         * modules/unicase/u8-toupper-tests (Files): Likewise.
76328         * modules/unicase/u16-casecmp-tests (Files): Likewise.
76329         * modules/unicase/u16-casecoll-tests (Files): Likewise.
76330         * modules/unicase/u16-casefold-tests (Files): Likewise.
76331         * modules/unicase/u16-is-cased-tests (Files): Likewise.
76332         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
76333         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
76334         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
76335         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
76336         * modules/unicase/u16-tolower-tests (Files): Likewise.
76337         * modules/unicase/u16-totitle-tests (Files): Likewise.
76338         * modules/unicase/u16-toupper-tests (Files): Likewise.
76339         * modules/unicase/u32-casecmp-tests (Files): Likewise.
76340         * modules/unicase/u32-casecoll-tests (Files): Likewise.
76341         * modules/unicase/u32-casefold-tests (Files): Likewise.
76342         * modules/unicase/u32-is-cased-tests (Files): Likewise.
76343         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
76344         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
76345         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
76346         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
76347         * modules/unicase/u32-tolower-tests (Files): Likewise.
76348         * modules/unicase/u32-totitle-tests (Files): Likewise.
76349         * modules/unicase/u32-toupper-tests (Files): Likewise.
76350         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
76351         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
76352         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
76353         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
76354         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
76355         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
76356         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
76357         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
76358         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
76359         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
76360         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
76361         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
76362         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
76363         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
76364         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
76365         * modules/unictype/bidicategory-name-tests (Files): Likewise.
76366         * modules/unictype/bidicategory-of-tests (Files): Likewise.
76367         * modules/unictype/bidicategory-test-tests (Files): Likewise.
76368         * modules/unictype/block-list-tests (Files): Likewise.
76369         * modules/unictype/block-of-tests (Files): Likewise.
76370         * modules/unictype/block-test-tests (Files): Likewise.
76371         * modules/unictype/category-C-tests (Files): Likewise.
76372         * modules/unictype/category-Cc-tests (Files): Likewise.
76373         * modules/unictype/category-Cf-tests (Files): Likewise.
76374         * modules/unictype/category-Cn-tests (Files): Likewise.
76375         * modules/unictype/category-Co-tests (Files): Likewise.
76376         * modules/unictype/category-Cs-tests (Files): Likewise.
76377         * modules/unictype/category-L-tests (Files): Likewise.
76378         * modules/unictype/category-Ll-tests (Files): Likewise.
76379         * modules/unictype/category-Lm-tests (Files): Likewise.
76380         * modules/unictype/category-Lo-tests (Files): Likewise.
76381         * modules/unictype/category-Lt-tests (Files): Likewise.
76382         * modules/unictype/category-Lu-tests (Files): Likewise.
76383         * modules/unictype/category-M-tests (Files): Likewise.
76384         * modules/unictype/category-Mc-tests (Files): Likewise.
76385         * modules/unictype/category-Me-tests (Files): Likewise.
76386         * modules/unictype/category-Mn-tests (Files): Likewise.
76387         * modules/unictype/category-N-tests (Files): Likewise.
76388         * modules/unictype/category-Nd-tests (Files): Likewise.
76389         * modules/unictype/category-Nl-tests (Files): Likewise.
76390         * modules/unictype/category-No-tests (Files): Likewise.
76391         * modules/unictype/category-P-tests (Files): Likewise.
76392         * modules/unictype/category-Pc-tests (Files): Likewise.
76393         * modules/unictype/category-Pd-tests (Files): Likewise.
76394         * modules/unictype/category-Pe-tests (Files): Likewise.
76395         * modules/unictype/category-Pf-tests (Files): Likewise.
76396         * modules/unictype/category-Pi-tests (Files): Likewise.
76397         * modules/unictype/category-Po-tests (Files): Likewise.
76398         * modules/unictype/category-Ps-tests (Files): Likewise.
76399         * modules/unictype/category-S-tests (Files): Likewise.
76400         * modules/unictype/category-Sc-tests (Files): Likewise.
76401         * modules/unictype/category-Sk-tests (Files): Likewise.
76402         * modules/unictype/category-Sm-tests (Files): Likewise.
76403         * modules/unictype/category-So-tests (Files): Likewise.
76404         * modules/unictype/category-Z-tests (Files): Likewise.
76405         * modules/unictype/category-Zl-tests (Files): Likewise.
76406         * modules/unictype/category-Zp-tests (Files): Likewise.
76407         * modules/unictype/category-Zs-tests (Files): Likewise.
76408         * modules/unictype/category-and-not-tests (Files): Likewise.
76409         * modules/unictype/category-and-tests (Files): Likewise.
76410         * modules/unictype/category-byname-tests (Files): Likewise.
76411         * modules/unictype/category-name-tests (Files): Likewise.
76412         * modules/unictype/category-none-tests (Files): Likewise.
76413         * modules/unictype/category-of-tests (Files): Likewise.
76414         * modules/unictype/category-or-tests (Files): Likewise.
76415         * modules/unictype/category-test-withtable-tests (Files): Likewise.
76416         * modules/unictype/combining-class-tests (Files): Likewise.
76417         * modules/unictype/ctype-alnum-tests (Files): Likewise.
76418         * modules/unictype/ctype-alpha-tests (Files): Likewise.
76419         * modules/unictype/ctype-blank-tests (Files): Likewise.
76420         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
76421         * modules/unictype/ctype-digit-tests (Files): Likewise.
76422         * modules/unictype/ctype-graph-tests (Files): Likewise.
76423         * modules/unictype/ctype-lower-tests (Files): Likewise.
76424         * modules/unictype/ctype-print-tests (Files): Likewise.
76425         * modules/unictype/ctype-punct-tests (Files): Likewise.
76426         * modules/unictype/ctype-space-tests (Files): Likewise.
76427         * modules/unictype/ctype-upper-tests (Files): Likewise.
76428         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
76429         * modules/unictype/decimal-digit-tests (Files): Likewise.
76430         * modules/unictype/digit-tests (Files): Likewise.
76431         * modules/unictype/mirror-tests (Files): Likewise.
76432         * modules/unictype/numeric-tests (Files): Likewise.
76433         * modules/unictype/property-alphabetic-tests (Files): Likewise.
76434         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
76435         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
76436         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
76437         Likewise.
76438         * modules/unictype/property-bidi-block-separator-tests (Files):
76439         Likewise.
76440         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
76441         Likewise.
76442         * modules/unictype/property-bidi-common-separator-tests (Files):
76443         Likewise.
76444         * modules/unictype/property-bidi-control-tests (Files): Likewise.
76445         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
76446         Likewise.
76447         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
76448         Likewise.
76449         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
76450         Likewise.
76451         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
76452         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
76453         Likewise.
76454         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
76455         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
76456         Likewise.
76457         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
76458         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
76459         * modules/unictype/property-bidi-segment-separator-tests (Files):
76460         Likewise.
76461         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
76462         * modules/unictype/property-byname-tests (Files): Likewise.
76463         * modules/unictype/property-combining-tests (Files): Likewise.
76464         * modules/unictype/property-composite-tests (Files): Likewise.
76465         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
76466         * modules/unictype/property-dash-tests (Files): Likewise.
76467         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
76468         * modules/unictype/property-default-ignorable-code-point-tests (Files):
76469         Likewise.
76470         * modules/unictype/property-deprecated-tests (Files): Likewise.
76471         * modules/unictype/property-diacritic-tests (Files): Likewise.
76472         * modules/unictype/property-extender-tests (Files): Likewise.
76473         * modules/unictype/property-format-control-tests (Files): Likewise.
76474         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
76475         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
76476         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
76477         * modules/unictype/property-hex-digit-tests (Files): Likewise.
76478         * modules/unictype/property-hyphen-tests (Files): Likewise.
76479         * modules/unictype/property-id-continue-tests (Files): Likewise.
76480         * modules/unictype/property-id-start-tests (Files): Likewise.
76481         * modules/unictype/property-ideographic-tests (Files): Likewise.
76482         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
76483         * modules/unictype/property-ids-trinary-operator-tests (Files):
76484         Likewise.
76485         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
76486         * modules/unictype/property-iso-control-tests (Files): Likewise.
76487         * modules/unictype/property-join-control-tests (Files): Likewise.
76488         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
76489         * modules/unictype/property-line-separator-tests (Files): Likewise.
76490         * modules/unictype/property-logical-order-exception-tests (Files):
76491         Likewise.
76492         * modules/unictype/property-lowercase-tests (Files): Likewise.
76493         * modules/unictype/property-math-tests (Files): Likewise.
76494         * modules/unictype/property-non-break-tests (Files): Likewise.
76495         * modules/unictype/property-not-a-character-tests (Files): Likewise.
76496         * modules/unictype/property-numeric-tests (Files): Likewise.
76497         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
76498         * modules/unictype/property-other-default-ignorable-code-point-tests
76499         (Files): Likewise.
76500         * modules/unictype/property-other-grapheme-extend-tests (Files):
76501         Likewise.
76502         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
76503         * modules/unictype/property-other-id-start-tests (Files): Likewise.
76504         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
76505         * modules/unictype/property-other-math-tests (Files): Likewise.
76506         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
76507         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
76508         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
76509         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
76510         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
76511         * modules/unictype/property-private-use-tests (Files): Likewise.
76512         * modules/unictype/property-punctuation-tests (Files): Likewise.
76513         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
76514         * modules/unictype/property-radical-tests (Files): Likewise.
76515         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
76516         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
76517         * modules/unictype/property-space-tests (Files): Likewise.
76518         * modules/unictype/property-terminal-punctuation-tests (Files):
76519         Likewise.
76520         * modules/unictype/property-test-tests (Files): Likewise.
76521         * modules/unictype/property-titlecase-tests (Files): Likewise.
76522         * modules/unictype/property-unassigned-code-value-tests (Files):
76523         Likewise.
76524         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
76525         * modules/unictype/property-uppercase-tests (Files): Likewise.
76526         * modules/unictype/property-variation-selector-tests (Files): Likewise.
76527         * modules/unictype/property-white-space-tests (Files): Likewise.
76528         * modules/unictype/property-xid-continue-tests (Files): Likewise.
76529         * modules/unictype/property-xid-start-tests (Files): Likewise.
76530         * modules/unictype/property-zero-width-tests (Files): Likewise.
76531         * modules/unictype/scripts-tests (Files): Likewise.
76532         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
76533         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
76534         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
76535         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
76536         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
76537         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
76538         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
76539         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
76540         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
76541         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
76542         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
76543         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
76544         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
76545         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
76546         * modules/uninorm/composition-tests (Files): Likewise.
76547         * modules/uninorm/decomposing-form-tests (Files): Likewise.
76548         * modules/uninorm/decomposition-tests (Files): Likewise.
76549         * modules/uninorm/filter-tests (Files): Likewise.
76550         * modules/uninorm/nfc-tests (Files): Likewise.
76551         * modules/uninorm/nfd-tests (Files): Likewise.
76552         * modules/uninorm/nfkc-tests (Files): Likewise.
76553         * modules/uninorm/nfkd-tests (Files): Likewise.
76554         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
76555         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
76556         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
76557         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
76558         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
76559         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
76560         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
76561         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
76562         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
76563         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
76564         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
76565         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
76566         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
76567         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
76568         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
76569         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
76570         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
76571         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
76572         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
76573         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
76574         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
76575         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
76576         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
76577         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
76578         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
76579         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
76580         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
76581         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
76582         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
76583         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
76584         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
76585         * modules/uniwidth/u8-width-tests (Files): Likewise.
76586         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
76587         * modules/uniwidth/u16-width-tests (Files): Likewise.
76588         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
76589         * modules/uniwidth/u32-width-tests (Files): Likewise.
76590         * modules/uniwidth/width-tests (Files): Likewise.
76591         * modules/unlink-tests (Files): Likewise.
76592         * modules/unsetenv-tests (Files): Likewise.
76593         * modules/usleep-tests (Files): Likewise.
76594         * modules/utimens-tests (Files): Likewise.
76595         * modules/utimensat-tests (Files): Likewise.
76596         * modules/vasnprintf-posix-tests (Files): Likewise.
76597         * modules/vasnprintf-tests (Files): Likewise.
76598         * modules/vasprintf-posix-tests (Files): Likewise.
76599         * modules/vasprintf-tests (Files): Likewise.
76600         * modules/vdprintf-posix-tests (Files): Likewise.
76601         * modules/vfprintf-posix-tests (Files): Likewise.
76602         * modules/vprintf-posix-tests (Files): Likewise.
76603         * modules/vsnprintf-posix-tests (Files): Likewise.
76604         * modules/vsnprintf-tests (Files): Likewise.
76605         * modules/vsprintf-posix-tests (Files): Likewise.
76606         * modules/wcrtomb-tests (Files): Likewise.
76607         * modules/wcsnrtombs-tests (Files): Likewise.
76608         * modules/wcsrtombs-tests (Files): Likewise.
76609         * modules/wctype-tests (Files): Likewise.
76610         * modules/wcwidth-tests (Files): Likewise.
76611         * modules/xmemdup0-tests (Files): Likewise.
76612         * modules/xprintf-posix-tests (Files): Likewise.
76613         * modules/xvasprintf-tests (Files): Likewise.
76615 2009-12-24  Eric Blake  <ebb9@byu.net>
76617         test-nanosleep: fix typo
76618         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
76619         patch.
76620         Reported by Bruno Haible.
76622 2009-12-24  Bruno Haible  <bruno@clisp.org>
76624         Reduce namespace pollution on glibc systems.
76625         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
76626         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
76627         systems.
76628         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
76629         <getopt.h> on glibc systems.
76630         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
76631         systems.
76632         * lib/fcntl.c: Include <unistd.h> here instead.
76634 2009-12-24  Bruno Haible  <bruno@clisp.org>
76636         * lib/stdlib.in.h (includes): Fix typo in today's commit.
76638 2009-12-24  Eric Blake  <ebb9@byu.net>
76640         tests: add signature checks
76641         * tests/signature.h (SIGNATURE_CHECK): New file.
76642         * modules/atexit-tests (Files): Use it.
76643         * modules/btowc-tests (Files): Likewise.
76644         * modules/canonicalize-lgpl-tests (Files): Likewise.
76645         * modules/ceilf-tests (Files): Likewise.
76646         * modules/ceill-tests (Files): Likewise.
76647         * modules/chown-tests (Files): Likewise.
76648         * modules/dprintf-posix-tests (Files): Likewise.
76649         * modules/dup2-tests (Files): Likewise.
76650         * modules/dup3-tests (Files): Likewise.
76651         * modules/duplocale-tests (Files): Likewise.
76652         * modules/fchdir-tests (Files): Likewise.
76653         * modules/fcntl-tests (Files): Likewise.
76654         * modules/fdopendir-tests (Files): Likewise.
76655         * modules/fflush-tests (Files): Likewise.
76656         * modules/flock-tests (Files): Likewise.
76657         * modules/floorf-tests (Files): Likewise.
76658         * modules/floorl-tests (Files): Likewise.
76659         * modules/fnmatch-tests (Files): Likewise.
76660         * modules/fopen-tests (Files): Likewise.
76661         * modules/fprintf-posix-tests (Files): Likewise.
76662         * modules/freopen-tests (Files): Likewise.
76663         * modules/frexp-nolibm-tests (Files): Likewise.
76664         * modules/frexp-tests (Files): Likewise.
76665         * modules/frexpl-nolibm-tests (Files): Likewise.
76666         * modules/frexpl-tests (Files): Likewise.
76667         * modules/fseek-tests (Files): Likewise.
76668         * modules/fseeko-tests (Files): Likewise.
76669         * modules/fsync-tests (Files): Likewise.
76670         * modules/ftell-tests (Files): Likewise.
76671         * modules/ftello-tests (Files): Likewise.
76672         * modules/futimens-tests (Files): Likewise.
76673         * modules/getaddrinfo-tests (Files): Likewise.
76674         * modules/getcwd-tests (Files): Likewise.
76675         * modules/getdelim-tests (Files): Likewise.
76676         * modules/getdtablesize-tests (Files): Likewise.
76677         * modules/getgroups-tests (Files): Likewise.
76678         * modules/gethostname-tests (Files): Likewise.
76679         * modules/getline-tests (Files): Likewise.
76680         * modules/getopt-posix-tests (Files): Likewise.
76681         * modules/gettimeofday-tests (Files): Likewise.
76682         * modules/glob-tests (Files): Likewise.
76683         * modules/iconv-tests (Files): Likewise.
76684         * modules/inet_ntop-tests (Files): Likewise.
76685         * modules/inet_pton-tests (Files): Likewise.
76686         * modules/isblank-tests (Files): Likewise.
76687         * modules/lchown-tests (Files): Likewise.
76688         * modules/ldexpl-tests (Files): Likewise.
76689         * modules/link-tests (Files): Likewise.
76690         * modules/linkat-tests (Files): Likewise.
76691         * modules/lseek-tests (Files): Likewise.
76692         * modules/lstat-tests (Files): Likewise.
76693         * modules/mbrtowc-tests (Files): Likewise.
76694         * modules/mbsinit-tests (Files): Likewise.
76695         * modules/mbsnrtowcs-tests (Files): Likewise.
76696         * modules/mbsrtowcs-tests (Files): Likewise.
76697         * modules/memchr-tests (Files): Likewise.
76698         * modules/memcmp-tests (Files): Likewise.
76699         * modules/memmem-tests (Files): Likewise.
76700         * modules/memrchr-tests (Files): Likewise.
76701         * modules/mkdir-tests (Files): Likewise.
76702         * modules/mkfifo-tests (Files): Likewise.
76703         * modules/mkfifoat-tests (Files): Likewise.
76704         * modules/mknod-tests (Files): Likewise.
76705         * modules/nanosleep-tests (Files): Likewise.
76706         * modules/nl_langinfo-tests (Files): Likewise.
76707         * modules/obstack-printf-tests (Files): Likewise.
76708         * modules/open-tests (Files): Likewise.
76709         * modules/openat-tests (Files): Likewise.
76710         * modules/perror-tests (Files): Likewise.
76711         * modules/pipe2-tests (Files): Likewise.
76712         * modules/poll-tests (Files): Likewise.
76713         * modules/popen-tests (Files): Likewise.
76714         * modules/posix_spawn-tests (Files): Likewise.
76715         * modules/posix_spawnp-tests (Files): Likewise.
76716         * modules/pread-tests (Files): Likewise.
76717         * modules/printf-posix-tests (Files): Likewise.
76718         * modules/pty-tests (Files): Likewise.
76719         * modules/random_r-tests (Files): Likewise.
76720         * modules/rawmemchr-tests (Files): Likewise.
76721         * modules/readlink-tests (Files): Likewise.
76722         * modules/remove-tests (Files): Likewise.
76723         * modules/rename-tests (Files): Likewise.
76724         * modules/renameat-tests (Files): Likewise.
76725         * modules/rmdir-tests (Files): Likewise.
76726         * modules/round-tests (Files): Likewise.
76727         * modules/roundf-tests (Files): Likewise.
76728         * modules/roundl-tests (Files): Likewise.
76729         * modules/select-tests (Files): Likewise.
76730         * modules/setenv-tests (Files): Likewise.
76731         * modules/sigaction-tests (Files): Likewise.
76732         * modules/sleep-tests (Files): Likewise.
76733         * modules/snprintf-posix-tests (Files): Likewise.
76734         * modules/snprintf-tests (Files): Likewise.
76735         * modules/sprintf-posix-tests (Files): Likewise.
76736         * modules/stat-tests (Files): Likewise.
76737         * modules/strcasestr-tests (Files): Likewise.
76738         * modules/strchrnul-tests (Files): Likewise.
76739         * modules/strerror-tests (Files): Likewise.
76740         * modules/strsignal-tests (Files): Likewise.
76741         * modules/strstr-tests (Files): Likewise.
76742         * modules/strtod-tests (Files): Likewise.
76743         * modules/strverscmp-tests (Files): Likewise.
76744         * modules/symlink-tests (Files): Likewise.
76745         * modules/symlinkat-tests (Files): Likewise.
76746         * modules/times-tests (Files): Likewise.
76747         * modules/trunc-tests (Files): Likewise.
76748         * modules/truncf-tests (Files): Likewise.
76749         * modules/truncl-tests (Files): Likewise.
76750         * modules/tsearch-tests (Files): Likewise.
76751         * modules/uname-tests (Files): Likewise.
76752         * modules/unlink-tests (Files): Likewise.
76753         * modules/unsetenv-tests (Files): Likewise.
76754         * modules/usleep-tests (Files): Likewise.
76755         * modules/utimensat-tests (Files): Likewise.
76756         * modules/vasprintf-tests (Files): Likewise.
76757         * modules/vdprintf-posix-tests (Files): Likewise.
76758         * modules/vfprintf-posix-tests (Files): Likewise.
76759         * modules/vprintf-posix-tests (Files): Likewise.
76760         * modules/vsnprintf-posix-tests (Files): Likewise.
76761         * modules/vsnprintf-tests (Files): Likewise.
76762         * modules/vsprintf-posix-tests (Files): Likewise.
76763         * modules/wcrtomb-tests (Files): Likewise.
76764         * modules/wcsnrtombs-tests (Files): Likewise.
76765         * modules/wcsrtombs-tests (Files): Likewise.
76766         * modules/wcwidth-tests (Files): Likewise.
76767         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
76768         * tests/test-isinf.c (isinf): Likewise.
76769         * tests/test-isnan.c (isnan): Likewise.
76770         * tests/test-signbit.c (signbit): Likewise.
76771         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
76772         declaration, either as macro or with correct signature.
76773         (select): Ensure function under test is declared with correct
76774         signature in correct header.
76775         * tests/test-atexit.c (atexit): Likewise.
76776         * tests/test-btowc.c (btowc): Likewise.
76777         * tests/test-canonicalize-lgpl.c (realpath)
76778         (canonicalize_file_name): Likewise.
76779         * tests/test-ceilf1.c (ceilf): Likewise.
76780         * tests/test-ceill.c (ceill): Likewise.
76781         * tests/test-chown.c (chown): Likewise.
76782         * tests/test-dprintf-posix.c (dprintf): Likewise.
76783         * tests/test-dup2.c (dup2): Likewise.
76784         * tests/test-dup3.c (dup3): Likewise.
76785         * tests/test-duplocale.c (duplocale): Likewise.
76786         * tests/test-fchdir.c (fchdir): Likewise.
76787         * tests/test-fchownat.c (fchownat): Likewise.
76788         * tests/test-fcntl.c (fcntl): Likewise.
76789         * tests/test-fdopendir.c (fdopendir): Likewise.
76790         * tests/test-fflush.c (fflush): Likewise.
76791         * tests/test-flock.c (flock): Likewise.
76792         * tests/test-floorf1.c (floorf): Likewise.
76793         * tests/test-floorl.c (floorl): Likewise.
76794         * tests/test-fnmatch.c (fnmatch): Likewise.
76795         * tests/test-fopen.c (fopen): Likewise.
76796         * tests/test-fprintf-posix.c (fprintf): Likewise.
76797         * tests/test-freopen.c (freopen): Likewise.
76798         * tests/test-frexp.c (frexp): Likewise.
76799         * tests/test-frexpl.c (frexpl): Likewise.
76800         * tests/test-fseek.c (fseek): Likewise.
76801         * tests/test-fseeko.c (fseeko): Likewise.
76802         * tests/test-fstatat.c (fstatat): Likewise.
76803         * tests/test-fsync.c (fsync): Likewise.
76804         * tests/test-ftell.c (ftell): Likewise.
76805         * tests/test-ftello.c (ftello): Likewise.
76806         * tests/test-futimens.c (futimens): Likewise.
76807         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
76808         (gai_strerror): Likewise.
76809         * tests/test-getcwd.c (getcwd): Likewise.
76810         * tests/test-getdelim.c (getdelim): Likewise.
76811         * tests/test-getdtablesize.c (getdtablesize): Likewise.
76812         * tests/test-getgroups.c (getgroups): Likewise.
76813         * tests/test-gethostname.c (gethostname): Likewise.
76814         * tests/test-getline.c (getline): Likewise.
76815         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
76816         Likewise.
76817         * tests/test-gettimeofday.c (gettimeofday): Likewise.
76818         * tests/test-glob.c (glob, globfree): Likewise.
76819         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
76820         * tests/test-inet_ntop.c (inet_ntop): Likewise.
76821         * tests/test-inet_pton.c (inet_pton): Likewise.
76822         * tests/test-isblank.c (isblank): Likewise.
76823         * tests/test-lchown.c (lchown): Likewise.
76824         * tests/test-ldexpl.c (ldexpl): Likewise.
76825         * tests/test-link.c (link): Likewise.
76826         * tests/test-linkat.c (linkat): Likewise.
76827         * tests/test-lseek.c (lseek): Likewise.
76828         * tests/test-lstat.c (lstat): Likewise.
76829         * tests/test-mbrtowc.c (mbrtowc): Likewise.
76830         * tests/test-mbsinit.c (mbsinit): Likewise.
76831         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
76832         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
76833         * tests/test-memchr.c (memchr): Likewise.
76834         * tests/test-memcmp.c (memcmp): Likewise.
76835         * tests/test-memmem.c (memmem): Likewise.
76836         * tests/test-memrchr.c (memrchr): Likewise.
76837         * tests/test-mkdir.c (mkdir): Likewise.
76838         * tests/test-mkdirat.c (mkdirat): Likewise.
76839         * tests/test-mkfifo.c (mkfifo): Likewise.
76840         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
76841         * tests/test-mknod.c (mknod): Likewise.
76842         * tests/test-nanosleep.c (nanosleep): Likewise.
76843         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
76844         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
76845         Likewise.
76846         * tests/test-open.c (open): Likewise.
76847         * tests/test-openat.c (openat): Likewise.
76848         * tests/test-perror.c (perror): Likewise.
76849         * tests/test-pipe2.c (pipe2): Likewise.
76850         * tests/test-poll.c (poll): Likewise.
76851         * tests/test-popen.c (popen, pclose): Likewise.
76852         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
76853         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
76854         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
76855         (posix_spawn_file_actions_destroy)
76856         (posix_spawn_file_actions_addclose)
76857         (posix_spawn_file_actions_addopen)
76858         (posix_spawn_file_actions_adddup2): Likewise.
76859         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
76860         * tests/test-pread.c (pread): Likewise.
76861         * tests/test-printf-posix.c (printf): Likewise.
76862         * tests/test-pty.c (openpty, forkpty): Likewise.
76863         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
76864         (random_r): Likewise.
76865         * tests/test-rawmemchr.c (rawmemchr): Likewise.
76866         * tests/test-readlink.c (readlink): Likewise.
76867         * tests/test-remove.c (remove): Likewise.
76868         * tests/test-rename.c (rename): Likewise.
76869         * tests/test-renameat.c (renameat): Likewise.
76870         * tests/test-rmdir.c (rmdir): Likewise.
76871         * tests/test-round1.c (round): Likewise.
76872         * tests/test-roundf1.c (roundf): Likewise.
76873         * tests/test-roundl.c (roundl): Likewise.
76874         * tests/test-setenv.c (setenv): Likewise.
76875         * tests/test-sigaction.c (sigaction): Likewise.
76876         * tests/test-sleep.c (sleep): Likewise.
76877         * tests/test-snprintf.c (snprintf): Likewise.
76878         * tests/test-sprintf-posix.c (sprintf): Likewise.
76879         * tests/test-stat.c (stat): Likewise.
76880         * tests/test-stpncpy.c (stpncpy): Likewise.
76881         * tests/test-strcasestr.c (strcasestr): Likewise.
76882         * tests/test-strchrnul.c (strchrnul): Likewise.
76883         * tests/test-strerror.c (strerror): Likewise.
76884         * tests/test-strsignal.c (strsignal): Likewise.
76885         * tests/test-strstr.c (strstr): Likewise.
76886         * tests/test-strtod.c (strtod): Likewise.
76887         * tests/test-strverscmp.c (strverscmp): Likewise.
76888         * tests/test-symlink.c (symlink): Likewise.
76889         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
76890         * tests/test-times.c (times): Likewise.
76891         * tests/test-trunc1.c (trunc): Likewise.
76892         * tests/test-truncf1.c (truncf): Likewise.
76893         * tests/test-truncl.c (truncl): Likewise.
76894         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
76895         Likewise.
76896         * tests/test-uname.c (uname): Likewise.
76897         * tests/test-unlink.c (unlink): Likewise.
76898         * tests/test-unlinkat.c (unlinkat): Likewise.
76899         * tests/test-unsetenv.c (unsetenv): Likewise.
76900         * tests/test-usleep.c (usleep): Likewise.
76901         * tests/test-utimensat.c (utimensat): Likewise.
76902         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
76903         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
76904         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
76905         * tests/test-vprintf-posix.c (vprintf): Likewise.
76906         * tests/test-vsnprintf.c (vsnprintf): Likewise.
76907         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
76908         * tests/test-wcrtomb.c (wcrtomb): Likewise.
76909         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
76910         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
76911         * tests/test-wcwidth.c (wcwidth): Likewise.
76913         build: pull in conditional headers during GNULIB_POSIXCHECK
76914         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
76915         definitions from any conditionally-included headers.
76916         * lib/stdlib.in.h (includes): Likewise.
76917         * lib/unistd.in.h (includes): Likewise.
76919 2009-12-24  Bruno Haible  <bruno@clisp.org>
76921         * tests/test-argv-iter.c: Include header file being tested immediately
76922         after config.h.
76923         * tests/test-base64.c: Likewise.
76924         * tests/test-flock.c: Likewise.
76925         * tests/test-fsync.c: Likewise.
76926         * tests/test-getdate.c: Likewise.
76927         * tests/test-getndelim2.c: Likewise.
76928         * tests/test-isfinite.c: Likewise.
76929         * tests/test-isinf.c: Likewise.
76930         * tests/test-strerror.c: Likewise.
76931         * tests/test-strsignal.c: Likewise.
76933 2009-12-23  Eric Blake  <ebb9@byu.net>
76935         unistd: work around cygwin bug
76936         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
76937         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
76938         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
76940 2009-12-23  Bruno Haible  <bruno@clisp.org>
76942         localename: More tests.
76943         * tests/test-localename.c (SIZEOF): New macro.
76944         (categories): New variable.
76945         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
76946         test_locale_name_default): Add test w.r.t. thread locale.
76947         (test_locale_name_thread): New function.
76948         (main): Invoke it.
76950         localename: Make aware of thread locale.
76951         * lib/localename.h (gl_locale_name_thread): New declaration.
76952         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
76953         behaviour with respect to thread locale.
76954         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
76955         <langinfo.h>, glthread/lock.h.
76956         (SIZE_BITS): New macro.
76957         (string_hash): New function.
76958         (struct hash_node): New type.
76959         (HASH_TABLE_SIZE): New macro.
76960         (struniq_hash_table, struniq_lock): New variables.
76961         (struniq): New function.
76962         (gl_locale_name_thread): New function.
76963         (gl_locale_name): Invoke it.
76964         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
76965         * modules/localename (Depends-on): Add lock.
76966         Reported by Mike Gran <spk121@yahoo.com>.
76968 2009-12-23  Eric Blake  <ebb9@byu.net>
76970         va-args: new module
76971         * modules/va-args: New file.
76972         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
76973         * MODULES.html.sh (Core language properties): Mention it.
76975         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
76976         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
76977         named alias for __attribute__((__unused__)).
76978         * lib/chown.c: Update client.
76979         * lib/fchmodat.c: Likewise.
76980         * lib/fts.c: Likewise.
76981         * lib/getdate.y: Likewise.
76982         * lib/getgroups.c: Likewise.
76983         * lib/getopt.c: Likewise.
76984         * lib/getugroups.c: Likewise.
76985         * lib/mkdir.c: Likewise.
76986         * lib/mkfifo.c: Likewise.
76987         * lib/mkfifoat.c: Likewise.
76988         * lib/mknod.c: Likewise.
76989         * lib/mknodat.c: Likewise.
76990         * lib/readlink.c: Likewise.
76991         * lib/se-context.in.h: Likewise.
76992         * lib/se-selinux.in.h: Likewise.
76993         * lib/sockets.c: Likewise.
76994         * lib/symlink.c: Likewise.
76995         * lib/symlinkat.c: Likewise.
76996         * lib/unicodeio.c: Likewise.
76997         * lib/unistr.h: Likewise.
76998         * tests/test-areadlink.c: Likewise.
76999         * tests/test-areadlinkat.c: Likewise.
77000         * tests/test-filenamecat.c: Likewise.
77001         * tests/test-fseeko.c: Likewise.
77002         * tests/test-ftello.c: Likewise.
77003         * tests/test-getdate.c: Likewise.
77004         * tests/test-getgroups.c: Likewise.
77005         * tests/test-gethostname.c: Likewise.
77006         * tests/test-quotearg.c: Likewise.
77007         * tests/test-version-etc.c: Likewise.
77008         * tests/test-xalloc-die.c: Likewise.
77009         * tests/test-xfprintf-posix.c: Likewise.
77010         * tests/test-xprintf-posix.c: Likewise.
77011         * tests/test-xvasprintf.c: Likewise.
77013         tests: avoid compiler warnings
77014         * tests/test-fcntl.c (main): Delete unused parameters.
77015         * tests/test-freopen-safer.c (main): Likewise.
77016         * tests/test-xalloc-die.c (main): Mark unused parameters.
77017         * tests/test-fseeko.c (main): Likewise.
77018         * tests/test-ftello.c (main): Likewise.
77019         * tests/test-nanosleep.c (main): Avoid declaration warning.
77020         * tests/test-sleep.c (main): Likewise.
77021         * tests/test-unsetenv.c (main): Silence warning about string
77022         literal.
77023         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
77025 2009-12-23  Bruno Haible  <bruno@clisp.org>
77027         * tests/test-localename.c (test_locale_name): New function, extracted
77028         from main. Also test mixed situations.
77029         (test_locale_name_posix, test_locale_name_environ,
77030         test_locale_name_default): New functions.
77031         (main): Invoke them all.
77032         * modules/localename-tests (configure.ac): Test for newlocale.
77034 2009-12-23  Bruno Haible  <bruno@clisp.org>
77036         unistd: Ensure getcwd gets declared before being overridden.
77037         * lib/unistd.in.h: Conditionally include <io.h>.
77039 2009-12-22  Bruno Haible  <bruno@clisp.org>
77041         wchar: Diagnose broken combination of glibc and gcc versions and flags.
77042         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
77043         (gl_WCHAR_H): Invoke it.
77044         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
77045         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
77046         Reported by Karl Berry <karl@freefriends.org>.
77048 2009-12-22  Eric Blake  <ebb9@byu.net>
77050         math, unistd: avoid redundant includes
77051         * lib/math.in.h (isnan): No need to re-include <math.h>.
77052         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
77054         getsubopt: work around cygwin bug
77055         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
77056         avoid conflicting with system getsubopt.
77057         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
77058         bug.
77060         getopt: synchronize from glibc
77061         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
77062         parameter order.  Adjust all callers.
77063         (_getopt_internal_r, main): Adjust quoting in error messages.
77064         Drop considerations for outdated POSIX 1003.2 error message.
77065         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
77066         callers.
77067         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
77069         test-getopt: test stderr behavior
77070         * modules/getopt-posix-tests (Depends-on): Add dup2.
77071         * tests/test-getopt.c (ASSERT): Avoid stderr.
77072         (main): Move stderr to a temporary file.
77073         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
77074         Instead, add parameter to inform caller if output occurred.
77075         (test_getopt): Adjust all existing tests to expect silence, and
77076         add new tests of leading ":".
77077         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
77078         glibc shortcomings with leading "-:" or "+:" in optstring.
77079         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
77080         Likewise.
77081         * doc/posix-functions/getopt.texi (getopt): Likewise.
77083         test-getopt: enhance test
77084         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
77085         supports optind=0.
77086         * tests/test-getopt.c (OPTIND_MIN): Move...
77087         * tests/test-getopt.h (OPTIND_MIN): ...here.
77088         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
77089         Require that optind=0 works, since modern BSD supports it in
77090         addition to optreset, and since coreutils expects it.
77091         (test_getopt_long_only): New test.
77092         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
77093         glibc shortcomings with 'W;', and enforcement of optind=0.
77094         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
77095         Likewise.
77097 2009-12-21  Bruno Haible  <bruno@clisp.org>
77099         localename: Improvements for MacOS X and Cygwin.
77100         * lib/localename.h (gl_locale_name_environ): New declaration.
77101         * lib/localename.c (gl_locale_name_environ): New function, extracted from
77102         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
77103         (gl_locale_name_posix): Invoke it.
77104         (gl_locale_name_default): Add comments. Use Windows native API also on
77105         Cygwin.
77107 2009-12-21  Bruno Haible  <bruno@clisp.org>
77109         Update list of Win32 locale ids.
77110         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
77111         (LANG_SAMI): Renamed from LANG_SAAMI.
77112         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
77113         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
77114         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
77115         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
77116         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
77117         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
77118         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
77119         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
77120         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
77121         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
77122         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
77123         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
77124         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
77125         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
77126         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
77127         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
77128         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
77129         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
77130         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
77131         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
77132         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
77133         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
77134         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
77135         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
77136         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
77137         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
77138         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
77139         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
77140         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
77141         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
77142         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
77143         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
77144         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
77145         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
77146         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
77147         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
77148         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
77149         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
77150         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
77151         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
77152         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
77153         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
77154         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
77155         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
77156         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
77157         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
77158         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
77159         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
77160         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
77161         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
77162         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
77163         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
77164         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
77165         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
77166         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
77167         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
77168         Add more languages and countries for Sami, Sorbian. Add more countries
77169         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
77170         for Pashto. Change country for Syriac, Tswana.
77172 2009-12-21  Eric Blake  <ebb9@byu.net>
77174         test-utimens: avoid spurious failure
77175         * tests/test-chown.h (nap): Factor...
77176         * tests/nap.h: ...into new file.
77177         * tests/test-lchown.h (nap): Avoid duplication.
77178         * tests/test-utimens-common.h (nap): Use shared implementation,
77179         necessary on file systems with 1-second resolution.
77180         * modules/chown-tests (Files): Include new file.
77181         * modules/fdutimensat-tests (Files): Likewise.
77182         * modules/futimens-tests (Files): Likewise.
77183         * modules/lchown-tests (Files): Likewise.
77184         * modules/openat-tests (Files): Likewise.
77185         * modules/utimens-tests (Files): Likewise.
77186         * modules/utimensat-tests (Files): Likewise.
77188 2009-12-19  Eric Blake  <ebb9@byu.net>
77190         futimens, utimensat: work around Linux bug
77191         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
77192         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
77193         * lib/utimensat.c (rpl_utimensat): Work around it.
77194         * lib/futimens.c (rpl_futimens): Adjust comment.
77196         utimens: work around Linux ctime bug
77197         * lib/utimens.c (detect_ctime_bug): New helper function.
77198         (update_timespec): Differentiate between workaround needed for
77199         this bug vs. what is needed for systems that lack utimensat.
77200         (fdutimens, lutimens): Work around bug.
77202         utimens: check for ctime update
77203         * tests/test-utimens-common.h (check_ctime): Define.
77204         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
77205         * tests/test-futimens.h (test_futimens): Likewise.
77206         * tests/test-lutimens.h (test_lutimens): Likewise.
77207         * doc/posix-functions/futimens.texi (futimens): Document the bug.
77208         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
77210 2009-12-19  Bruno Haible  <bruno@clisp.org>
77212         dprintf-posix: Check against memory leak fixed on 2009-12-15.
77213         * tests/test-dprintf-posix2.sh: New file.
77214         * tests/test-dprintf-posix2.c: New file.
77215         * modules/dprintf-posix-tests (Files): Add them.
77216         (configure.ac): Check for getrlimit and setrlimit.
77217         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
77219 2009-12-19  Bruno Haible  <bruno@clisp.org>
77221         fprintf-posix: Check against memory leak fixed on 2009-12-15.
77222         * tests/test-fprintf-posix3.sh: New file.
77223         * tests/test-fprintf-posix3.c: New file.
77224         * modules/fprintf-posix-tests (Files): Add them.
77225         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
77227 2009-12-19  Eric Blake  <ebb9@byu.net>
77229         dirfd: fix prototype
77230         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
77231         * lib/dirfd.c (dirfd): Likewise.
77233         canonicalize: reduce memory usage
77234         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
77235         allocation to size.
77236         Reported by Solar Designer <solar@openwall.com>.
77238 2009-12-19  Bruno Haible  <bruno@clisp.org>
77240         New module attribute 'Applicability'.
77241         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
77242         * gnulib-tool: New option --extract-applicability.
77243         (func_usage): Document it.
77244         (sed_extract_prog): Recognize it.
77245         (func_get_applicability): New function.
77246         (func_import): Generalize handling of 'link-warning' module.
77247         * modules/link-warning (Applicability): New section.
77248         * modules/arg-nonnull (Applicability): New section.
77249         Repoted by Simon Josefsson <simon@josefsson.org>.
77251 2009-12-19  Bruno Haible  <bruno@clisp.org>
77253         fflush: tweak
77254         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
77255         * lib/fseeko.c (rpl_fseeko): Likewise.
77257 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
77259         * lib/gl_list.h: Fix typo in comment.
77261 2009-12-16  Eric Blake  <ebb9@byu.net>
77263         fcntl: use to simplify other modules
77264         * modules/cloexec (Depends-on): Add fcntl.
77265         * modules/fchdir (Depends-on): Likewise.
77266         * modules/fd-safer-flag (Depends-on): Likewise.
77267         * modules/unistd-safer (Depends-on): Likewise.
77268         * modules/dup3 (configure.ac): Set module indicator.
77269         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
77270         missing.
77271         * lib/fchdir.c (_gl_register_dup): Fix comment.
77272         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
77273         * lib/dup-safer.c (dup_safer): Likewise.
77274         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
77275         * lib/dup3.c (dup3): Likewise.
77276         * tests/test-fchdir.c (main): Enhance test.
77277         Fixes a dup_cloexec bug reported by Ondřej Vašík.
77279         fcntl: port portions of fcntl to mingw
77280         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
77281         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
77282         replacement for mingw.
77283         * modules/fcntl (Description): Update.
77284         (Depends-on): Add dup2.
77285         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
77286         * modules/fcntl-h (Makefile.am): Substitute it.
77287         * lib/fcntl.in.h (fcntl): Update declaration.
77288         (F_DUPFD, F_GETFD): New macros, when needed.
77289         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
77290         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
77291         * tests/test-fcntl.c (check_flags, main): Enhance test for items
77292         we now guarantee.
77294         fcntl: work around cygwin bug in F_DUPFD
77295         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
77296         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
77297         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
77298         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
77299         * doc/posix-functions/fcntl.texi (fcntl): Document it.
77301         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
77302         * modules/fcntl (Files): List new files.
77303         (configure.ac): Run a test.
77304         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
77305         * lib/fcntl.c (rpl_fcntl): Likewise.
77306         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
77307         (gl_FCNTL_H): Always replace fcntl.h.
77308         * modules/fcntl-h (Makefile.am): Substitute witnesses.
77309         * lib/fcntl.in.h (fcntl): Declare replacement.
77310         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
77311         needed, plus a witness.
77312         * doc/posix-functions/fcntl.texi (fcntl): Document this.
77313         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
77314         * tests/test-fcntl.c: New file.
77315         * modules/fcntl-tests: Likewise.
77317         binary-io: avoid potential compilation warning
77318         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
77319         directives.
77321         fflush: avoid compilation error on NetBSD
77322         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
77323         between off_t and fpos_t, since the latter is sometimes a struct.
77324         * lib/fseeko.c (rpl_fseeko): Likewise.
77325         Reported by Alexander Nasonov <alnsn@yandex.ru>.
77327 2009-12-15  Eric Blake  <ebb9@byu.net>
77329         fcntl-h, stdio, sys_ioctl: fix declarations
77330         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
77331         function must not take arguments.
77332         * lib/sys_ioctl.in.h (ioctl): Likewise.
77333         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
77334         (open): Add a link warning.
77336 2009-12-15  Jim Meyering  <meyering@redhat.com>
77338         areadlink, areadlink-with-size: relax license to LGPLv2+
77339         * modules/areadlink (License): Relax to LGPLv2+.
77340         * modules/areadlink-with-size (License): Likewise.
77342 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
77343             Bruno Haible  <bruno@clisp.org>
77345         *printf: Fix memory leak.
77346         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
77347         * lib/vfprintf.c (vfprintf): Likewise.
77348         * lib/dprintf.c (dprintf): Likewise.
77349         * lib/vdprintf.c (vdprintf): Likewise.
77351 2009-12-14  Eric Blake  <ebb9@byu.net>
77353         accept4: adjust module dependencies
77354         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
77356         utimens: one more try at avoiding compiler warning
77357         * lib/utimens.c (lutimens): Lower scope of result.
77359 2009-12-13  Bruno Haible  <bruno@clisp.org>
77361         Move the malloc checking from module 'list' to new module 'xlist'.
77362         * modules/xlist: New file.
77363         * lib/gl_xlist.h: New file.
77364         * lib/gl_xlist.c: New file.
77365         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
77366         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
77367         gl_list_add_last, gl_list_add_before, gl_list_add_after,
77368         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
77369         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
77370         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
77371         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
77372         gl_sortedlist_nx_add): New declarations.
77373         (struct gl_list_implementation): Rename and change methods accordingly.
77374         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
77375         (gl_list_nx_create): Renamed from gl_list_create.
77376         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
77377         (gl_list_nx_set_at): Renamed from gl_list_set_at.
77378         (gl_list_nx_add_first): Renamed from gl_list_add_first.
77379         (gl_list_nx_add_last): Renamed from gl_list_add_last.
77380         (gl_list_nx_add_before): Renamed from gl_list_add_before.
77381         (gl_list_nx_add_after): Renamed from gl_list_add_after.
77382         (gl_list_nx_add_at): Renamed from gl_list_add_at.
77383         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
77384         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
77385         gl_list_create_empty.
77386         (gl_list_nx_create): Renamed from gl_list_create.
77387         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
77388         (gl_list_nx_set_at): Renamed from gl_list_set_at.
77389         (gl_list_nx_add_first): Renamed from gl_list_add_first.
77390         (gl_list_nx_add_last): Renamed from gl_list_add_last.
77391         (gl_list_nx_add_before): Renamed from gl_list_add_before.
77392         (gl_list_nx_add_after): Renamed from gl_list_add_after.
77393         (gl_list_nx_add_at): Renamed from gl_list_add_at.
77394         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
77395         * lib/gl_array_list.c: Don't include xalloc.h.
77396         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
77397         NULL upon out-of-memory.
77398         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
77399         out-of-memory.
77400         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
77401         Change return type to 'int'.
77402         (gl_array_nx_set_at): Renamed from gl_array_set_at.
77403         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
77404         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
77405         upon out-of-memory.
77406         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
77407         upon out-of-memory.
77408         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
77409         upon out-of-memory.
77410         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
77411         upon out-of-memory.
77412         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
77413         out-of-memory.
77414         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
77415         Update.
77416         (gl_array_list_implementation): Update.
77417         * lib/gl_carray_list.c: Don't include xalloc.h.
77418         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
77419         Return NULL upon out-of-memory.
77420         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
77421         out-of-memory.
77422         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
77423         Change return type to 'int'.
77424         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
77425         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
77426         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
77427         upon out-of-memory.
77428         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
77429         upon out-of-memory.
77430         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
77431         out-of-memory.
77432         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
77433         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
77434         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
77435         Update.
77436         (gl_carray_list_implementation): Update.
77437         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
77438         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
77439         gl_linked_create_empty. Return NULL upon out-of-memory.
77440         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
77441         out-of-memory.
77442         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
77443         Change return type to 'int'. Return -1 upon out-of-memory.
77444         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
77445         out-of-memory.
77446         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
77447         upon out-of-memory.
77448         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
77449         upon out-of-memory.
77450         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
77451         NULL upon out-of-memory.
77452         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
77453         upon out-of-memory.
77454         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
77455         out-of-memory.
77456         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
77457         Update.
77458         * lib/gl_linked_list.c: Don't include xalloc.h.
77459         (gl_linked_list_implementation): Update.
77460         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
77461         (add_to_bucket): Change return type to 'int'.
77462         (gl_linkedhash_list_implementation): Update.
77463         * lib/gl_anytree_list1.h (free_subtree): New function.
77464         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
77465         gl_tree_create_empty. Return NULL upon out-of-memory.
77466         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
77467         Change return type to 'int'. Return -1 upon out-of-memory.
77468         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
77469         out-of-memory.
77470         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
77471         (gl_tree_remove_node): New function, moved here from
77472         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
77473         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
77474         Update.
77475         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
77476         malloc, not xmalloc. Return NULL upon out-of-memory.
77477         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
77478         out-of-memory.
77479         (gl_tree_remove_node_from_tree): New function, extracted from
77480         gl_tree_remove_node.
77481         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
77482         upon out-of-memory.
77483         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
77484         out-of-memory.
77485         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
77486         upon out-of-memory.
77487         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
77488         upon out-of-memory.
77489         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
77490         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
77491         not xmalloc. Return NULL upon out-of-memory.
77492         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
77493         out-of-memory.
77494         (gl_tree_remove_node_from_tree): New function, extracted from
77495         gl_tree_remove_node.
77496         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
77497         upon out-of-memory.
77498         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
77499         out-of-memory.
77500         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
77501         upon out-of-memory.
77502         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
77503         upon out-of-memory.
77504         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
77505         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
77506         gl_anytree_list1.h before gl_anyavltree_list2.h.
77507         (gl_avltree_list_implementation): Update.
77508         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
77509         gl_anytree_list1.h before gl_anyavltree_list2.h.
77510         (gl_rbtree_list_implementation): Update.
77511         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
77512         Change return type to 'int'. Return -1 upon out-of-memory. Use
77513         __builtin_expect.
77514         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
77515         (gl_avltreehash_list_implementation): Update.
77516         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
77517         (gl_rbtreehash_list_implementation): Update.
77518         * modules/array-list (Depends-on): Remove xalloc.
77519         * modules/carray-list (Depends-on): Likewise.
77520         * modules/linked-list (Depends-on): Likewise.
77521         * modules/linkedhash-list (Depends-on): Likewise.
77522         * modules/avltree-list (Depends-on): Likewise.
77523         * modules/rbtree-list (Depends-on): Likewise.
77524         * modules/avltreehash-list (Depends-on): Likewise.
77525         * modules/rbtreehash-list (Depends-on): Likewise.
77527         * modules/xsublist: New file.
77528         * lib/gl_xsublist.h: New file.
77529         * lib/gl_xsublist.c: New file.
77530         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
77531         (gl_sublist_nx_create): New declaration.
77532         * lib/gl_sublist.c: Don't include xalloc.h.
77533         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
77534         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
77535         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
77536         Change return type to 'int'. Return -1 upon out-of-memory.
77537         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
77538         upon out-of-memory.
77539         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
77540         NULL upon out-of-memory.
77541         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
77542         upon out-of-memory.
77543         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
77544         NULL upon out-of-memory.
77545         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
77546         NULL upon out-of-memory.
77547         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
77548         upon out-of-memory.
77549         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
77550         (gl_sublist_list_implementation): Update.
77551         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
77552         upon out-of-memory.
77553         * modules/sublist (Depends-on): Remove xalloc.
77555         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
77556         * tests/test-carray_list.c: Likewise.
77557         * tests/test-linked_list.c: Likewise.
77558         * tests/test-linkedhash_list.c: Likewise.
77559         * tests/test-avltree_list.c: Likewise.
77560         * tests/test-rbtree_list.c: Likewise.
77561         * tests/test-avltreehash_list.c: Likewise.
77562         * tests/test-rbtreehash_list.c: Likewise.
77563         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
77564         * modules/carray-list-tests (Makefile.am): Likewise.
77565         * modules/linked-list-tests (Makefile.am): Likewise.
77566         * modules/linkedhash-list-tests (Makefile.am): Likewise.
77567         * modules/avltree-list-tests (Makefile.am): Likewise.
77568         * modules/rbtree-list-tests (Makefile.am): Likewise.
77569         * modules/avltreehash-list-tests (Makefile.am): Likewise.
77570         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
77572         * NEWS: Mention the changes.
77574         * lib/clean-temp.c: Include gl_xlist.h.
77575         * modules/clean-temp (Depends-on): Add xlist.
77577         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
77578         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
77580         * tests/test-array_oset.c: Include gl_xlist.h.
77581         * modules/array-oset-tests (Depends-on): Add xlist.
77583         Reported by José E. Marchesi <jemarch@gnu.org>.
77585 2009-12-13  Bruno Haible  <bruno@clisp.org>
77587         Move the malloc checking from module 'oset' to new module 'xoset'.
77588         * modules/xoset: New file.
77589         * lib/gl_xoset.h: New file.
77590         * lib/gl_xoset.c: New file.
77591         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
77592         declarations.
77593         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
77594         (struct gl_oset_implementation): Rename and change methods accordingly.
77595         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
77596         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
77597         'int'. Mark as __warn_unused_result__.
77598         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
77599         gl_oset_create_empty.
77600         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
77601         'int'.
77602         * lib/gl_array_oset.c: Don't include xalloc.h.
77603         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
77604         malloc, not xmalloc.
77605         (grow): Change return type to 'int'. Don't call xalloc_die.
77606         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
77607         to 'int'.
77608         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
77609         'int'.
77610         (gl_array_oset_implementation): Update.
77611         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
77612         gl_tree_create_empty.
77613         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
77614         'int'.
77615         * lib/gl_avltree_oset.c: Don't include xalloc.h.
77616         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
77617         xmalloc.
77618         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
77619         not xmalloc.
77620         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
77621         xmalloc.
77622         (gl_avltree_oset_implementation): Update.
77623         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
77624         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
77625         xmalloc.
77626         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
77627         not xmalloc.
77628         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
77629         xmalloc.
77630         (gl_rbtree_oset_implementation): Update.
77631         * modules/array-oset (Depends-on): Remove xalloc.
77632         * modules/avltree-oset (Depends-on): Likewise.
77633         * modules/rbtree-oset (Depends-on): Likewise.
77634         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
77635         * tests/test-avltree_oset.c: Likewise.
77636         * tests/test-rbtree_oset.c: Likewise.
77637         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
77638         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
77639         * modules/rbtree-oset-tests (Makefile.am): Likewise.
77640         * NEWS: Mention the change.
77642 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
77644         maint.mk: allow a project to override release-prep commands
77645         * top/maint.mk (alpha, beta, stable): Move release-preparatory
77646         commands into a new rule.
77647         (release-prep): New rule.
77648         (release-prep-hook): New overridable variable.
77650 2009-12-13  Bruno Haible  <bruno@clisp.org>
77652         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
77654 2009-12-13  Jim Meyering  <meyering@redhat.com>
77656         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
77657         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
77659 2009-12-12  Bruno Haible  <bruno@clisp.org>
77661         duplocale: Tweak.
77662         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
77664 2009-12-12  Karl Berry  <karl@gnu.org>
77666         * config/srclist.txt (strtoll.c): tab changes, no more sync.
77668 2009-12-12  Bruno Haible  <bruno@clisp.org>
77670         * m4/po.m4: Undo incorrect untabification.
77672 2009-12-12  Bruno Haible  <bruno@clisp.org>
77674         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
77675         * modules/c-strtod (Depends-on): Add locale.
77676         * modules/c-strtold (Depends-on): Likewise.
77678 2009-12-12  Bruno Haible  <bruno@clisp.org>
77680         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
77682 2009-12-11  Eric Blake  <ebb9@byu.net>
77684         setenv: relax requirement in light of POSIX ruling
77685         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
77686         not NULL.
77687         * tests/test-setenv.c (main): Relax test.
77688         * tests/test-unsetenv.c (main): Likewise.
77689         * doc/posix-functions/setenv.texi (setenv): Document this.
77690         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
77692 2009-12-11  Bruno Haible  <bruno@clisp.org>
77694         New module 'fd-safer-flag'.
77695         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
77696         * lib/dup-safer.c (dup_safer_flag): Remove function.
77697         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
77698         * lib/fd-safer.c (fd_safer_flag): Remove function.
77699         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
77700         * modules/cloexec (configure.ac): Drop indicator macro.
77701         * modules/fd-safer-flag: New file.
77702         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
77703         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
77704         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
77706 2009-12-11  Bruno Haible  <bruno@clisp.org>
77708         Tests for module 'nl_langinfo'.
77709         * modules/nl_langinfo-tests: New file.
77710         * tests/test-nl_langinfo.sh: New file.
77711         * tests/test-nl_langinfo.c: New file.
77713         New module 'nl_langinfo'.
77714         * lib/nl_langinfo.c: New file.
77715         * m4/nl_langinfo.m4: New file.
77716         * modules/nl_langinfo: New file.
77717         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
77719 2009-12-11  Bruno Haible  <bruno@clisp.org>
77721         Tests for module 'langinfo'.
77722         * modules/langinfo-tests: New file.
77723         * tests/test-langinfo.c: New file.
77725         New module 'langinfo'.
77726         * lib/langinfo.in.h: New file.
77727         * m4/langinfo_h.m4: New file.
77728         * modules/langinfo: New file.
77729         * doc/posix-headers/langinfo.texi: Mention the new module.
77731 2009-12-11  Bruno Haible  <bruno@clisp.org>
77733         * lib/config.charset: Untabify.
77735 2009-12-11  Bruno Haible  <bruno@clisp.org>
77737         * modules/unistd-safer (configure.ac): Drop indicator macro.
77739 2009-12-11  Bruno Haible  <bruno@clisp.org>
77741         Move pipe2-safer code to its own file.
77742         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
77743         * lib/pipe-safer.c (pipe2_safer): Remove function.
77744         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
77745         (Makefile.am): Add it to lib_SOURCES.
77747 2009-12-10  Bruno Haible  <bruno@clisp.org>
77749         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
77751 2009-12-10  Bruno Haible  <bruno@clisp.org>
77753         Declare which arguments expect non-NULL values, for GCC and clang.
77754         * build-aux/arg-nonnull.h: New file.
77755         * modules/arg-nonnull: New file.
77756         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
77757         (inet_ntop, inet_pton): Use it.
77758         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
77759         (closedir, dirfd, opendir, scandir, alphasort): Use it.
77760         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
77761         (open, openat): Use it.
77762         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
77763         (fnmatch): Use it.
77764         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
77765         (getopt, getopt_long, getopt_long_only): Use it.
77766         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
77767         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
77768         Use it.
77769         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
77770         (iconv_open): Use it.
77771         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
77772         (strtoimax, strtoumax): Use it.
77773         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
77774         (duplocale): Use it.
77775         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
77776         (frexp, frexpl): Use it.
77777         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
77778         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
77779         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
77780         (tsearch, tfind, tdelete, twalk): Use it.
77781         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
77782         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
77783         sigpending): Use it.
77784         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
77785         (posix_spawn, posix_spawnp, posix_spawnattr_init,
77786         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
77787         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
77788         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
77789         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
77790         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
77791         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
77792         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
77793         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
77794         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
77795         Use it.
77796         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
77797         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
77798         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
77799         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
77800         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
77801         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
77802         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
77803         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
77804         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
77805         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
77806         strtoull, unsetenv): Use it.
77807         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
77808         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
77809         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
77810         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
77811         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
77812         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
77813         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
77814         (strcasecmp, strncasecmp): Use it.
77815         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
77816         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
77817         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
77818         rpl_setsockopt): Use it.
77819         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
77820         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
77821         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
77822         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
77823         (gettimeofday): Use it.
77824         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
77825         (times): Use it.
77826         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
77827         (uname): Use it.
77828         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
77829         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
77830         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
77831         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
77832         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
77833         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
77834         unlinkat, write): Use it.
77835         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
77836         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
77837         * lib/argv-iter.h: Include arg-nonnull.h.
77838         (_ATTRIBUTE_NONNULL_): Remove macro.
77839         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
77840         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
77841         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
77842         optimization.
77843         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
77844         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
77845         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
77846         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
77847         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
77848         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
77849         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
77850         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
77851         * modules/arpa_inet (Depends-on): Add arg-nonnull.
77852         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
77853         * modules/dirent (Depends-on): Add arg-nonnull.
77854         (Makefile.am): Insert arg-nonnull.h into dirent.h.
77855         * modules/fcntl-h (Depends-on): Add arg-nonnull.
77856         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
77857         * modules/fnmatch (Depends-on): Add arg-nonnull.
77858         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
77859         * modules/getopt-posix (Depends-on): Add arg-nonnull.
77860         (Makefile.am): Insert arg-nonnull.h into getopt.h.
77861         * modules/glob (Depends-on): Add arg-nonnull.
77862         (Makefile.am): Insert arg-nonnull.h into glob.h.
77863         * modules/iconv_open (Depends-on): Add arg-nonnull.
77864         (Makefile.am): Insert arg-nonnull.h into iconv.h.
77865         * modules/inttypes (Depends-on): Add arg-nonnull.
77866         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
77867         * modules/locale (Depends-on): Add arg-nonnull.
77868         (Makefile.am): Insert arg-nonnull.h into locale.h.
77869         * modules/math (Depends-on): Add arg-nonnull.
77870         (Makefile.am): Insert arg-nonnull.h into math.h.
77871         * modules/netdb (Depends-on): Add arg-nonnull.
77872         (Makefile.am): Insert arg-nonnull.h into netdb.h.
77873         * modules/search (Depends-on): Add arg-nonnull.
77874         (Makefile.am): Insert arg-nonnull.h into search.h.
77875         * modules/signal (Depends-on): Add arg-nonnull.
77876         (Makefile.am): Insert arg-nonnull.h into signal.h.
77877         * modules/spawn (Depends-on): Add arg-nonnull.
77878         (Makefile.am): Insert arg-nonnull.h into spawn.h.
77879         * modules/stdio (Depends-on): Add arg-nonnull.
77880         (Makefile.am): Insert arg-nonnull.h into stdio.h.
77881         * modules/stdlib (Depends-on): Add arg-nonnull.
77882         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
77883         * modules/string (Depends-on): Add arg-nonnull.
77884         (Makefile.am): Insert arg-nonnull.h into string.h.
77885         * modules/strings (Depends-on): Add arg-nonnull.
77886         (Makefile.am): Insert arg-nonnull.h into strings.h.
77887         * modules/sys_socket (Depends-on): Add arg-nonnull.
77888         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
77889         * modules/sys_stat (Depends-on): Add arg-nonnull.
77890         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
77891         * modules/sys_time (Depends-on): Add arg-nonnull.
77892         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
77893         * modules/sys_times (Depends-on): Add arg-nonnull.
77894         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
77895         * modules/sys_utsname (Depends-on): Add arg-nonnull.
77896         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
77897         * modules/time (Depends-on): Add arg-nonnull.
77898         (Makefile.am): Insert arg-nonnull.h into time.h.
77899         * modules/unistd (Depends-on): Add arg-nonnull.
77900         (Makefile.am): Insert arg-nonnull.h into unistd.h.
77901         * modules/wchar (Depends-on): Add arg-nonnull.
77902         (Makefile.am): Insert arg-nonnull.h into wchar.h.
77903         * modules/argv-iter (Depends-on): Add arg-nonnull.
77904         * tests/test-canonicalize.c (null_ptr): New function.
77905         (main): Use it.
77906         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
77907         (main): Use it.
77908         * tests/test-memmem.c (null_ptr): New function.
77909         (main): Use it.
77910         Reported by Jim Meyering.
77912 2009-12-10  Bruno Haible  <bruno@clisp.org>
77914         Use spaces for indentation, not tabs.
77915         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
77916         * m4/*.m4: Untabify.
77917         * build-aux/*.h: Untabify.
77918         * tests/**/*.[hc]: Untabify.
77919         * README: New section "Indent with spaces, not TABs", based on
77920         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
77921         * NEWS: Mention the change.
77923 2009-12-10  Bruno Haible  <bruno@clisp.org>
77925         pty test: Fix link error.
77926         * modules/pty-tests (Makefile.am): Add the default LDADD value to
77927         test_pty_LDADD.
77929 2009-12-07  Simon Josefsson  <simon@josefsson.org>
77931         * modules/pty: New file.
77932         * modules/pty-tests: New file.
77933         * m4/pty.m4: New file.
77934         * tests/test-pty.c: New file.
77935         * doc/glibc-headers/pty.texi: Modified.
77936         * doc/glibc-functions/forkpty.texi: Modified.
77937         * doc/glibc-functions/openpty.texi: Modified.
77939 2009-12-10  Bruno Haible  <bruno@clisp.org>
77941         Avoid syntax error in C++ mode.
77942         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
77944 2009-12-10  Bruno Haible  <bruno@clisp.org>
77946         Use sed with option -e.
77947         * gnulib-tool (func_version, func_emit_copyright_notice,
77948         func_emit_initmacro_end, func_import, func_create_testdir): Pass
77949         option -e to sed.
77950         * modules/link-warning (Makefile.am): Likewise.
77952 2009-12-10  Jim Meyering  <meyering@redhat.com>
77954         mgetgroups: do not write bytes beyond end of malloc'd buffer
77955         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
77956         username, we call getgroups with a one-element-shorter buffer,
77957         but still told it the length was original, max_n_groups.
77959 2009-12-09  Eric Blake  <ebb9@byu.net>
77961         cloexec: relax license
77962         * modules/cloexec (Maintainer): Add myself.
77963         (License): Use LGPL, not GPL.
77965         link-warning: optimize generation
77966         * modules/link-warning (Makefile.am): Reduce process usage.
77968 2009-12-09  Bruno Haible  <bruno@clisp.org>
77970         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
77971         workaround was added on 2009-11-17.
77973 2009-12-09  Jim Meyering  <meyering@redhat.com>
77974             Bruno Haible  <bruno@clisp.org>
77976         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
77977         * modules/link-warning (Makefile.am): Make the comment-removing sed
77978         command more robust in the face of bootstrap-prepended comment lines.
77980 2009-12-09  Bruno Haible  <bruno@clisp.org>
77982         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
77983         most one group.
77985 2009-12-09  Simon Josefsson  <simon@josefsson.org>
77986             Bruno Haible  <bruno@clisp.org>
77988         * build-aux/link-warning.h: Add copyright notice.
77989         * modules/link-warning (Makefile.am): Generate link-warning.h from
77990         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
77991         * NEWS: Mention change in link-warning module.
77992         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
77993         * modules/dirent (Makefile.am): Add dependency to dirent.h.
77994         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
77995         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
77996         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
77997         * modules/math (Makefile.am): Add dependency to math.h.
77998         * modules/search (Makefile.am): Add dependency to search.h.
77999         * modules/signal (Makefile.am): Add dependency to signal.h.
78000         * modules/spawn (Makefile.am): Add dependency to spawn.h.
78001         * modules/stdio (Makefile.am): Add dependency to stdio.h.
78002         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
78003         * modules/string (Makefile.am): Add dependency to string.h.
78004         * modules/strings (Makefile.am): Add dependency to strings.h.
78005         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
78006         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
78007         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
78008         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
78009         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
78010         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
78011         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
78012         * modules/unistd (Makefile.am): Add dependency to unistd.h.
78013         * modules/wchar (Makefile.am): Add dependency to wchar.h.
78015 2009-12-09  Bruno Haible  <bruno@clisp.org>
78017         fchdir: Optimize away rpl_fstat when possible.
78018         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
78019         REPLACE_OPEN_DIRECTORY.
78020         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
78022 2009-12-09  Bruno Haible  <bruno@clisp.org>
78024         * lib/fchdir.c: Update comment.
78026 2009-12-09  Bruno Haible  <bruno@clisp.org>
78028         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
78030 2009-12-08  Eric Blake  <ebb9@byu.net>
78032         fchdir: avoid memory leak on re-registration.
78033         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
78035 2009-12-08  Jim Meyering  <meyering@redhat.com>
78037         init.sh: avoid Solaris 10 /bin/sh portability problem
78038         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
78039         sourced script:
78040           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
78041           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
78042           bar
78043         tests/init.sh relied on that, accepting a --set-path=DIR argument,
78044         and two tests used that idiom.
78045         * tests/init.sh: Update suggested usage comments.
78046         (path_prepend_): New function, to be used in place
78047         of the --src-path=DIR option.
78048         (setup_): Move PATH-prepending code into path_prepend_.
78049         * tests/test-pread.sh: Adapt to new usage.
78050         * tests/test-xalloc-die.sh: Likewise.
78052 2009-12-08  Simon Josefsson  <simon@josefsson.org>
78054         * doc/gnulib.texi (Glibc pty.h): Add.
78055         * doc/glibc-functions/forkpty.texi: Add.
78056         * doc/glibc-functions/openpty.texi: Add.
78057         Suggested by Bruno Haible.
78059 2009-12-08  Eric Blake  <ebb9@byu.net>
78061         fchdir: fix logic bugs
78062         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
78063         * tests/test-fchdir.c (main): Enhance test.
78064         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
78065         is in use.
78067         dup2: fix logic bugs
78068         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
78069         REPLACE_DUP2 to decide when rpl_dup2 is needed.
78070         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
78071         exists.
78072         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
78074 2009-12-07  Eric Blake  <ebb9@byu.net>
78076         unlink: fix m4 detection
78077         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
78079         unistd-safer: add unit test
78080         * modules/unistd-safer-tests: New file.
78081         * tests/test-dup-safer.c: Likewise.
78082         * tests/test-cloexec.c (setmode): Avoid compiler warning.
78083         * tests/test-dup2.c (setmode): Likewise.
78084         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
78086         cloexec: preserve text vs. binary across dup_cloexec
78087         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
78088         mode.
78089         * modules/dup2-tests (Depends-on): Add binary-io.
78090         * modules/cloexec-tests (Depends-on): Likewise.
78091         * tests/test-dup2.c (setmode, is_mode): New helpers.
78092         (main): Add tests that translation mode is preserved.
78093         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
78094         Reported by Bruno Haible.
78096         mgetgroups: reduce duplicate listings
78097         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
78098         resulting array.
78099         * tests/test-chown.h (test_chown): Simplify client.
78100         * tests/test-lchown.h (test_lchown): Likewise.
78102 2009-12-06  Bruno Haible  <bruno@clisp.org>
78104         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
78105         value.
78107 2009-12-06  Bruno Haible  <bruno@clisp.org>
78109         * lib/progname.c: Include stdio.h, stdlib.h.
78110         (set_program_name): Reject a NULL argument.
78112 2009-12-05  Eric Blake  <ebb9@byu.net>
78114         pipe2-safer: new module
78115         * modules/pipe2-safer: New file.
78116         * lib/unistd-safer.h (pipe2_safer): New prototype.
78117         * lib/unistd--.h (pipe2): New wrapper.
78118         * lib/pipe-safer.c (pipe2_safer): New function.
78119         * modules/pipe (Depends-on): Add pipe2-safer.
78120         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
78122         stdlib-safer: preserve cloexec flag for mkostemp[s]
78123         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
78124         fd_safer_flag.
78126         unistd-safer: allow preservation of cloexec status via flag
78127         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
78128         prototypes.
78129         * lib/dup-safer.c (dup_safer_flag): New function.
78130         * lib/fd-safer.c (fd_safer_flag): Likewise.
78131         * modules/cloexec (configure.ac): Set witness.
78133         test-dup2: enhance test
78134         * modules/dup2-tests (Depends-on): Add cloexec.
78135         * tests/test-dup2.c (main): Enhance test.
78137         cloexec: add dup_cloexec
78138         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
78139         header and comments.
78140         * lib/cloexec.c (set_cloexec_flag): Add comments.
78141         (dup_cloexec): New function, with mingw implementation borrowed
78142         from...
78143         * lib/w32spawn.h (dup_noinherit): ...here.
78144         * modules/execute (Depends-on): Add cloexec.
78145         * modules/pipe (Depends-on): Likewise.
78146         * modules/cloexec (Depends-on): Add dup2.
78147         * modules/cloexec-tests (Files): New file.
78148         * tests/test-cloexec.c: Likewise.
78150         test-xalloc-die: fix test for mingw
78151         * modules/xalloc-die-tests (Files): Add tests/init.sh.
78152         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
78153         directory and .exe suffix off argv[0] output.
78155         test-fseeko: fix test for mingw
78156         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
78157         than undefining fseek, so test will pass on mingw.
78159 2009-12-05  Bruno Haible  <bruno@clisp.org>
78161         * lib/progname.h (set_program_name): Clarify specification.
78162         * lib/progname.c (set_program_name): Likewise.
78163         Reported by Jim Meyering.
78165 2009-12-05  Jim Meyering  <meyering@redhat.com>
78167         maint.mk: backslash-escape parens in default regexp
78168         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
78169         backslash-escape the literal parentheses.
78171         maint.mk: news-date-check: use grep -E
78172         * top/maint.mk (today): Define a Make variable, not a...
78173         (news-date-check): ...shell variable.
78174         (news-date-regexp): Use the Make variable.
78175         Use grep's -E option.  Change the failing diagnostic to mention
78176         the variable, $(news-date-regexp).
78178 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
78180         maintainer-makefile: allow customization of NEWS entry format
78181         * top/maint.mk (news-date-regexp): New overridable variable.
78182         (news-date-check): Use it.
78184 2009-12-04  Eric Blake  <ebb9@byu.net>
78186         mgetgroups: add xgetgroups, and avoid ENOSYS failures
78187         * lib/mgetgroups.h (xgetgroups): New prototype.
78188         * lib/mgetgroups.c (xgetgroups): New wrapper.
78189         (mgetgroups): Handle ENOSYS.
78190         * modules/mgetgroups (Depends-on): Add realloc.
78191         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
78193         mgetgroups: avoid argument promotion issues with -1
78194         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
78195         for invalid gid_t.
78196         * tests/test-chown.h (getegid, test_chown): Likewise.
78197         * tests/test-lchown.h (getegid, test_lchown): Likewise.
78199 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
78201         exclude: Fix header file problems.
78202         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
78204 2009-12-01  Jim Meyering  <meyering@redhat.com>
78206         fts: fts_open: do not let an empty string cause immediate failure
78207         This is required in support of GNU rm, for which the command
78208         "rm A '' B" must process and remove both A and B, in spite of
78209         the empty string argument.
78210         * lib/fts.c (fts_open): Do not let the presence of an empty string
78211         cause fts_open to fail immediately.  Most fts-using tools must be
78212         able to process all arguments, in order, and can be expected to
78213         diagnose such arguments themselves.
78215 2009-11-30  Eric Blake  <ebb9@byu.net>
78217         utimens: fix compilation error
78218         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
78219         Declare variable at right scope.
78221 2009-11-29  Jim Meyering  <meyering@redhat.com>
78223         bootstrap: handle perl-5.11's changed --version output
78224         * build-aux/bootstrap (get_version): Handle perl separately,
78225         since perl-5.11's --version output is different.
78227 2009-11-28  Jim Meyering  <meyering@redhat.com>
78229         userspec: depend on the inttostr module, too
78230         * modules/userspec (Depends-on): Add inttostr.
78232         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
78233         * lib/userspec.c (parse_with_separator): Do not accept a user ID
78234         number of MAXUID when it evaluates to (uid_t) -1.
78235         Likewise for group ID.  Reported by Matt McCutchen in
78236         <http://savannah.gnu.org/bugs/?28113>
78238         userspec: reformat to use spaces, not TABs
78239         * lib/userspec.c: Expand TABs to spaces.
78240         Add Emacs' "indent-tabs-mode: nil" hint.
78242 2009-11-27  Eric Blake  <ebb9@byu.net>
78244         getopt-gnu: flush out another BSD bug
78245         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
78246         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
78247         flush out BSD bug.
78248         * tests/test-getopt.h (test_getopt): End lists with NULL.
78249         * tests/test-getopt_long.h (test_getopt_long): Likewise.
78250         (test_getopt_long_posix): Enhance test.
78251         * modules/getopt-posix-tests (Depends-on): Add stdbool.
78252         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
78253         getopt-gnu.
78254         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
78255         Likewise.
78257 2009-11-27  Simon Josefsson  <simon@josefsson.org>
78259         * modules/idpriv-droptemp-tests (Notice): Fix text.
78261 2009-11-27  Jim Meyering  <meyering@redhat.com>
78263         test-xalloc-die: avoid spurious failure due to libtool argv difference
78264         In a libtool-enabled project, this test would fail due to a difference
78265         in the emitted program name, e.g.,
78266         -test-xalloc-die: memory exhausted
78267         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
78268         Use program to avoid that.
78269         * modules/xalloc-die-tests (Depends-on): Add progname.
78270         * tests/test-xalloc-die.c: Include progname.h".
78271         (program_name): Remove decl.
78272         (main): Call set_program_name.
78273         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
78275 2009-11-26  Richard Jones  <rjones@redhat.com>
78277         w32sock: leave win32 error in place.
78278         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
78280 2009-11-26  Eric Blake  <ebb9@byu.net>
78282         init.sh: suggest to use skip_ and fail_ functions in comments
78283         * tests/init.sh: Add a sentence.
78285 2009-11-25  Bruno Haible  <bruno@clisp.org>
78287         init.sh: add documentation in comments
78288         * tests/init.sh: Add some developer and user documentation.
78290 2009-11-26  Jim Meyering  <meyering@redhat.com>
78292         init.sh: accommodate even those who specify bogus srcdir manually
78293         * tests/init.sh: Normally, srcdir is guaranteed by automake and
78294         configure-time tests to be sanitized, so that there is no need to
78295         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
78296         (with no double quotes) suffices.  However, since tests may be
78297         invoked manually, and since you may explicitly set srcdir to the
78298         name of a directory containing spaces, do quote its uses here.
78299         * tests/test-pread.sh: Likewise.
78300         Suggested by Bruno Haible.
78302         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
78303         * tests/test-pread.sh: Write no data into the pipe, because
78304         test-pread actually reads none.  This avoids a diagnostic,
78305         "bash: echo: write error: Broken pipe", that arises in the unusual
78306         event something is ignoring SIGPIPE, and might be interpreted
78307         as some sort of failure.  Reported by Bruno Haible.
78309 2009-11-25  Jim Meyering  <meyering@redhat.com>
78311         test-pread: cover failure with ESPIPE and EINVAL
78312         * tests/test-pread.c (main): Test for failure, too.
78313         * tests/test-pread.sh: Invoke with stdin on a pipe.
78314         Suggested by Eric Blake.
78316         pread: improvement and fix
78317         * modules/pread (Depends-on): Depend on lseek, for portability to
78318         e.g., mingw.  Suggested by Eric Blake.
78319         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
78321         unistd.in.h: correct declaration of pread
78322         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
78323         Reported by Richard W.M. Jones.
78325         test-pread.sh: distribute the test script
78326         * modules/pread-tests (Files): Include test-pread.sh.
78328         test-pread.sh: clean up
78329         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
78330         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
78331         That is unnecessary, since it's always ".".
78332         Suggestion from Eric Blake.
78334         test-pread.sh: make executable
78335         * tests/test-pread.sh: Set executable bit.
78336         Reported by Eric Blake.
78338         correct typo in test-pread.sh
78339         * tests/test-pread.sh: Add #! line.
78341         test pread
78342         * tests/test-pread.c: New file.
78343         * tests/test-pread.sh: Likewise.
78344         * modules/pread-tests: Likewise.
78346         pread: new module
78347         * modules/pread: New file.
78348         * lib/unistd.in.h (pread): Define/declare.
78349         * lib/pread.c (pread): New file.
78350         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
78351         * modules/unistd (Makefile.am): Substitute witnesses.
78352         * doc/posix-functions/pread.texi (pread): Update.
78353         * MODULES.html.sh: Add pread.
78355 2009-11-25  Jim Meyering  <meyering@redhat.com>
78357         tests/init.sh: new file to be used via most *.sh tests
78358         * tests/init.sh: New file.
78360 2009-11-25  Eric Blake  <ebb9@byu.net>
78362         utimens: work around older Linux failure with symlinks
78363         * lib/utimens.c (lutimensat_works_really): New variable.
78364         (fdutimens, lutimens): Use it to manage kernels that support
78365         nanosecond times on files, but not on symlinks.
78366         Reported by Ondřej Vašík.
78368         utimes: fix configure grammar
78369         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
78371 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
78373         regex: Fix fastmap for multibyte character ranges.
78374         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
78375         characters when a multibyte character range is included.
78377 2009-11-22  Andy Wingo  <wingo@pobox.com>
78379         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
78380         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
78382 2009-11-24  Bruno Haible  <bruno@clisp.org>
78384         doc: Most *_l functions exist in MacOS X 10.5.
78385         * doc/posix-functions/duplocale.texi: Update platforms list.
78386         * doc/posix-functions/freelocale.texi: Likewise.
78387         * doc/posix-functions/newlocale.texi: Likewise.
78388         * doc/posix-functions/uselocale.texi: Likewise.
78389         * doc/posix-functions/isalnum_l.texi: Likewise.
78390         * doc/posix-functions/isalpha_l.texi: Likewise.
78391         * doc/posix-functions/isblank_l.texi: Likewise.
78392         * doc/posix-functions/iscntrl_l.texi: Likewise.
78393         * doc/posix-functions/isdigit_l.texi: Likewise.
78394         * doc/posix-functions/isgraph_l.texi: Likewise.
78395         * doc/posix-functions/islower_l.texi: Likewise.
78396         * doc/posix-functions/isprint_l.texi: Likewise.
78397         * doc/posix-functions/ispunct_l.texi: Likewise.
78398         * doc/posix-functions/isspace_l.texi: Likewise.
78399         * doc/posix-functions/isupper_l.texi: Likewise.
78400         * doc/posix-functions/iswalnum_l.texi: Likewise.
78401         * doc/posix-functions/iswalpha_l.texi: Likewise.
78402         * doc/posix-functions/iswblank_l.texi: Likewise.
78403         * doc/posix-functions/iswcntrl_l.texi: Likewise.
78404         * doc/posix-functions/iswctype_l.texi: Likewise.
78405         * doc/posix-functions/iswdigit_l.texi: Likewise.
78406         * doc/posix-functions/iswgraph_l.texi: Likewise.
78407         * doc/posix-functions/iswlower_l.texi: Likewise.
78408         * doc/posix-functions/iswprint_l.texi: Likewise.
78409         * doc/posix-functions/iswpunct_l.texi: Likewise.
78410         * doc/posix-functions/iswspace_l.texi: Likewise.
78411         * doc/posix-functions/iswupper_l.texi: Likewise.
78412         * doc/posix-functions/iswxdigit_l.texi: Likewise.
78413         * doc/posix-functions/isxdigit_l.texi: Likewise.
78414         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
78415         * doc/posix-functions/strcasecmp_l.texi: Likewise.
78416         * doc/posix-functions/strcoll_l.texi: Likewise.
78417         * doc/posix-functions/strfmon_l.texi: Likewise.
78418         * doc/posix-functions/strftime_l.texi: Likewise.
78419         * doc/posix-functions/strncasecmp_l.texi: Likewise.
78420         * doc/posix-functions/strxfrm_l.texi: Likewise.
78421         * doc/posix-functions/tolower_l.texi: Likewise.
78422         * doc/posix-functions/toupper_l.texi: Likewise.
78423         * doc/posix-functions/towctrans_l.texi: Likewise.
78424         * doc/posix-functions/towlower_l.texi: Likewise.
78425         * doc/posix-functions/towupper_l.texi: Likewise.
78426         * doc/posix-functions/wcscoll_l.texi: Likewise.
78427         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
78428         * doc/posix-functions/wctrans_l.texi: Likewise.
78429         * doc/posix-functions/wctype_l.texi: Likewise.
78430         * doc/glibc-functions/strptime_l.texi: Likewise.
78431         * doc/glibc-functions/strtod_l.texi: Likewise.
78432         * doc/glibc-functions/strtof_l.texi: Likewise.
78433         * doc/glibc-functions/strtol_l.texi: Likewise.
78434         * doc/glibc-functions/strtold_l.texi: Likewise.
78435         * doc/glibc-functions/strtoll_l.texi: Likewise.
78436         * doc/glibc-functions/strtoul_l.texi: Likewise.
78437         * doc/glibc-functions/strtoull_l.texi: Likewise.
78438         * doc/glibc-functions/wcsftime_l.texi: Likewise.
78439         * doc/glibc-functions/wcstod_l.texi: Likewise.
78440         * doc/glibc-functions/wcstof_l.texi: Likewise.
78441         * doc/glibc-functions/wcstol_l.texi: Likewise.
78442         * doc/glibc-functions/wcstold_l.texi: Likewise.
78443         * doc/glibc-functions/wcstoll_l.texi: Likewise.
78444         * doc/glibc-functions/wcstoul_l.texi: Likewise.
78445         * doc/glibc-functions/wcstoull_l.texi: Likewise.
78447 2009-11-24  Bruno Haible  <bruno@clisp.org>
78449         duplocale: Fix logic bug.
78450         * lib/duplocale.c: Don't include <langinfo.h>.
78451         (_NL_LOCALE_NAME): Remove macro.
78452         (rpl_duplocale): Use setlocale instead of nl_langinfo.
78453         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
78455 2009-11-23  Jim Meyering  <meyering@redhat.com>
78457         test-update-copyright: don't hard-code /usr/bin/perl
78458         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
78459         perl to print the current year.  Gilles Espinasse reported that
78460         the replaced use of perl was hard-coded as /usr/bin/perl.
78462 2009-11-23  Bruno Haible  <bruno@clisp.org>
78464         duplocale: Add support for glibc 2.3.x.
78465         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
78467 2009-11-22  Bruno Haible  <bruno@clisp.org>
78469         vasnprintf: Tiny optimization.
78470         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
78471         MacOS X.
78473 2009-11-22  Bruno Haible  <bruno@clisp.org>
78475         Tests for module 'duplocale'.
78476         * modules/duplocale-tests: New file.
78477         * tests/test-duplocale.c: New file.
78479         New module 'duplocale'.
78480         * m4/duplocale.m4: New file.
78481         * lib/locale.in.h (duplocale): New declaration.
78482         * lib/duplocale.c: New file.
78483         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
78484         gl_LOCALE_H_DEFAULTS): New macros.
78485         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
78486         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
78487         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
78488         REPLACE_DUPLOCALE.
78489         * modules/duplocale: New file.
78490         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
78492 2009-11-22  Bruno Haible  <bruno@clisp.org>
78494         * modules/locale-tests (configure.ac): Test for newlocale function.
78495         * tests/test-locale.c: When the system has extended locale functions,
78496         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
78498         locale: Make locale_t available when possible.
78499         * lib/locale.in.h: Include <xlocale.h> when it exists.
78500         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
78501         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
78502         * modules/locale (Depends-on): Add extensions.
78503         (Makefile.am): Also substitute HAVE_XLOCALE_H.
78504         * doc/posix-headers/locale.texi: Document the problem with locale_t.
78506 2009-11-22  Bruno Haible  <bruno@clisp.org>
78508         Add comments.
78509         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
78510         invocation.
78511         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
78512         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
78513         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
78515 2009-11-22  Bruno Haible  <bruno@clisp.org>
78517         error: account for the possibility of freopen (stdout).
78518         * lib/error.c: Include <unistd.h>.
78519         (flush_stdout): New function, extracted from error and error_at_line.
78520         Determine stdout's fd dynamically.
78521         (error, error_at_line): Invoke flush_stdout.
78522         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
78523         * modules/error (Depends-on): Add unistd.
78525 2009-11-22  Bruno Haible  <bruno@clisp.org>
78527         diffseq: Add comment.
78528         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
78530 2009-11-22  Jim Meyering  <meyering@redhat.com>
78532         c-stack: avoid defining an unused static function
78533         * lib/c-stack.c (find_stack_direction): Do not define this function
78534         when it will not be used.
78536         diffseq: avoid spurious gcc warnings
78537         * lib/diffseq.h (IF_LINT2): Define.
78538         (compareseq): Use it to initialize two members of "part".
78539         This avoids two used-uninitialized warnings.
78541 2009-11-21  Jim Meyering  <meyering@redhat.com>
78543         c-stack: avoid "ignoring return value of `write'" warning
78544         * lib/c-stack.c: Include "ignore-value.h".
78545         (die): Explicitly ignore each write return value.
78546         * modules/c-stack (Depends-on): Add ignore-value.
78548 2009-11-21  Bruno Haible  <bruno@clisp.org>
78550         diffseq: reduce scope of variable 'best'.
78551         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
78552         variable, earlier used for two different purposes.
78554 2009-11-21  Jim Meyering  <meyering@redhat.com>
78556         diffseq: remove useless assignment to "best"
78557         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
78558         assignment.  At that point "best" is already guaranteed to be zero.
78560 2009-11-20  Eric Blake  <ebb9@byu.net>
78562         build: mention ftp redirector in release announcements
78563         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
78564         values that used to come from cfg.mk; mention FTP redirect URL.
78565         * build-aux/announce-gen: Mention the mirror list.
78566         Suggested by Karl Berry.
78568         nanosleep: improve port to mingw
78569         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
78570         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
78571         LIB_NANOSLEEP, but only when needed.
78572         * modules/select (Link): Document LIBSOCKET.
78573         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
78574         enough.
78576         nanosleep: work around cygwin bug
78577         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
78578         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
78579         bug.
78580         (getnow): Delete, not needed.
78581         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
78582         LIB_CLOCK_GETTIME.
78583         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
78584         clock-time, gettime.
78585         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
78586         bug.
78587         * modules/nanosleep-tests: New test.
78588         * tests/test-nanosleep.c: New file.
78590         sleep: work around cygwin bug
78591         * lib/sleep.c (rpl_sleep): Work around the bug.
78592         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
78593         (gl_PREREQ_SLEEP): Delete unused macro.
78594         * modules/sleep (Depends-on): Add verify.
78595         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
78596         * modules/unistd (Makefile.am): Substitute witness.
78597         * lib/unistd.in.h (sleep): Update prototype.
78598         * doc/posix-functions/sleep.texi (sleep): Document the bug.
78599         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
78600         * modules/sleep-tests (Depends-on): Check for alarm.
78602 2009-11-20  Jim Meyering  <meyering@redhat.com>
78604         maint.mk: improve sc_prohibit_magic_number_exit
78605         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
78606         so it does not match uses like System.exit(1).
78607         Add comments showing how to correct all offenders.
78609 2009-11-19  Eric Blake  <ebb9@byu.net>
78611         xalloc-die-tests: add missing library
78612         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
78614         test-xvasprintf: silence compiler warnings
78615         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
78616         empty string from gcc.
78618 2009-11-19  Jim Meyering  <meyering@redhat.com>
78620         xfreopen: new module, from coreutils
78621         * modules/xfreopen: New module.
78622         * lib/xfreopen.c: New file.
78623         * lib/xfreopen.h: New file.
78624         * MODULES.html.sh (File stream based Input/Output"): Add it.
78626 2009-11-19  Eric Blake  <ebb9@byu.net>
78628         manywarnings: depend on warnings
78629         * modules/manywarnings (Depends-on): Add warnings.
78631         build: avoid compiler warnings
78632         * lib/select.c (rpl_select): Delete unused variable.
78633         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
78635 2009-11-18  Eric Blake  <ebb9@byu.net>
78637         tests: avoid false negative with --with-packager
78638         * tests/test-version-etc.sh: Discard packager information.
78639         * tests/test-argp-version-etc-1.sh: Likewise.
78640         Reported by Mike Frysinger.
78642         utimens: fix regression on Solaris
78643         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
78644         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
78645         can only change fd timestamps via futimesat.  Instead, use an
78646         additional witness macro to avoid BSD bug.
78647         Reported by Jim Meyering.
78649 2009-11-17  Eric Blake  <ebb9@byu.net>
78651         usleep: use it to simplify tests
78652         * modules/stat-time-tests (Depends-on): Add usleep.
78653         (configure.ac): Drop usleep check.
78654         * modules/chown-tests (Depends-on, configure.ac): Likewise.
78655         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
78656         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
78657         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
78658         * modules/openat-tests (Depends-on, configure.ac): Likewise.
78659         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
78660         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
78661         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
78662         Likewise.
78663         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
78664         * tests/test-lchown.h (nap): Likewise.
78665         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
78666         * tests/test-stat-time.c (nap): Likewise.
78667         * tests/test-utimens-common.h (nap): Update comments.
78669         usleep: new module
78670         * modules/usleep: New file.
78671         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
78672         * lib/usleep.c (usleep): Likewise.
78673         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
78674         * modules/unistd (Makefile.am): Substitute witnesses.
78675         * lib/unistd.in.h (usleep): Add declaration.
78676         * doc/pastposix-functions/usleep.texi (usleep): Document this.
78677         * MODULES.html.sh (Date and time): Likewise.
78678         * modules/usleep-tests (Depends-on): New test.
78679         * tests/test-usleep.c: New file.
78681         chown: work around OpenBSD bug
78682         * lib/chown.c (rpl_chown): Work around the bug.
78683         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
78684         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
78685         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
78686         * modules/chown (Depends-on): Add stdbool.
78687         * modules/lchown (Depends-on): Likewise.
78688         * doc/posix-functions/chown.texi (chown): Document the bug.
78689         * doc/posix-functions/lchown.texi (lchown): Likewise.
78690         * tests/test-lchown.h (test_chown): Relax test.
78692         mkstemp: avoid conflict with C++ keyword template
78693         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
78694         * lib/mkostemp.c (mkostemp): Likewise.
78695         * lib/mkostemps.c (mkostemps): Likewise.
78696         * lib/mkstemp.c (mkstemp): Likewise.
78697         * lib/mkstemps.c (mkstemps): Likewise.
78699         xalloc-die-tests: optimize
78700         * tests/test-xalloc-die.sh: Reduce number of processes.
78702 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78704         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
78705         patch from ludo@gnu.org (Ludovic Courtès).
78707 2009-11-17  Jim Meyering  <meyering@redhat.com>
78709         version-etc: use proper license string
78710         * modules/version-etc (License): Use LGPL, not LGPLv3+.
78711         * modules/version-etc-fsf: Likewise.
78713 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78715         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
78716         printed to stdout.  Deal with EOL differences.
78718 2009-11-17  Eric Blake  <ebb9@byu.net>
78720         unsetenv: work around Solaris bug
78721         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
78722         * lib/unsetenv.c (rpl_unsetenv): Work around it.
78723         Reported by Jim Meyering.
78725         vasnprintf: avoid compiler warnings
78726         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
78727         variables.
78728         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
78730 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78732         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
78733         settings since xalloc-die is no longer the self test,
78734         xalloc-die.sh is.
78736 2009-11-17  Jim Meyering  <meyering@redhat.com>
78738         test-xalloc-die.sh: make the code agree with the commit log
78739         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
78740         at the end, just in case you happen to have a test-xalloc-die
78741         program in some other PATH directory.
78743         test-xalloc-die.sh: fix a portability bug
78744         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
78745         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
78746         Otherwise, argv[0] (as often seen in diagnostics) would be too
78747         system-dependent, sometimes with, and sometimes without the leading "./".
78749         version-etc-fsf: relax license to LGPLv3+
78750         * modules/version-etc-fsf (License): Relax license.
78752 2009-11-16  Eric Blake  <ebb9@byu.net>
78754         xalloc-die-tests: avoid printing null pointer
78755         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
78756         shell script.
78757         * tests/test-xalloc-die.c (program_name): Declare.
78758         * tests/test-xalloc-die.sh (tmpfiles): New file.
78760         setenv, unsetenv: work around various bugs
78761         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
78762         (setenv) [HAVE_SETENV]: Work around bugs.
78763         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
78764         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
78765         for bugs.
78766         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
78767         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
78768         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
78769         * modules/stdlib (Makefile.am): Update substitutions.
78770         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
78771         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
78772         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
78773         * modules/setenv-tests: New test.
78774         * modules/unsetenv-tests: Likewise.
78775         * tests/test-setenv.c: New file.
78776         * tests/test-unsetenv.c: Likewise.
78778 2009-11-16  Jim Meyering  <meyering@redhat.com>
78780         version-etc: relax license to LGPLv3+
78781         * modules/version-etc (License): Relax license.
78783         better AC_REQUIRE expanded-before-required-warning avoidance
78784         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
78785         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
78786         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
78787         which is no longer needed.
78789 2009-11-16  Eric Blake  <ebb9@byu.net>
78791         test-freading: clean up temporary file
78792         * tests/test-freading.c (main): Remove file on success, and use
78793         ASSERT more liberally.
78794         Reported by Jim Meyering.
78796 2009-11-16  Jim Meyering  <meyering@redhat.com>
78798         avoid new AC_REQUIRE expanded-before-required warnings
78799         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
78800         merely using it.
78801         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
78802         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
78804 2009-11-15  Simon Josefsson  <simon@josefsson.org>
78806         * tests/test-xalloc-die.c: New file.
78807         * modules/xalloc-die-tests: New file.
78808         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
78809         XFAIL_TESTS so it can be appended by modules.
78811 2009-11-15  Simon Josefsson  <simon@josefsson.org>
78813         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
78814         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
78816 2009-11-14  Eric Blake  <ebb9@byu.net>
78818         fnmatch: avoid compiler warning
78819         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
78820         to silence compiler warning about mismatch signedness in ?:.
78821         Reported by Robert Millan.
78823         intprops: add double-inclusion guard
78824         * lib/intprops.h: Allow idempotent includes.
78825         Suggested by Bruce Korb.
78827         openat: detect Solaris fchownat bug
78828         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
78829         penalizing glibc chownat when only lchownat is broken.
78830         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
78831         trailing slash bugs.
78832         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
78833         * modules/openat-tests (Files): Include more files.
78834         (Depends-on): Add mgetgroups, sleep, stat-time.
78835         (configure.ac): Add additional checks.
78836         (Makefile.am): Build new test.
78837         * tests/test-fchownat.c: New file.
78839         lchown: detect Solaris and FreeBSD bug
78840         * lib/lchown.c (rpl_lchown): Work around bug.
78841         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
78842         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
78843         * modules/unistd (Makefile.am): Populate it.
78844         * lib/unistd.in.h (lchown): Update declaration.
78845         * doc/posix-functions/lchown.texi (lchown): Document the bug.
78846         * modules/lchown-tests: New file.
78847         * tests/test-lchown.h (test_lchown): Likewise.
78848         * tests/test-lchown.c (main): Likewise.
78850         chown: detect Solaris and FreeBSD bug
78851         * lib/chown.c (rpl_chown): Work around bug.
78852         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
78853         (gl_PREREQ_CHOWN): Delete.
78854         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
78855         * modules/unistd (Makefile.am): Populate it.
78856         * lib/unistd.in.h (chown): Update declaration.
78857         * lib/lchown.c (chown): Update client.
78858         * modules/lchown (Depends-on): Add lstat.
78859         * doc/posix-functions/chown.texi (chown): Document the bug.
78860         * doc/posix-functions/getgroups.texi (getgroups): Document
78861         getgroups pitfall.
78862         * modules/chown-tests: New file.
78863         * tests/test-chown.h (test_chown): Likewise.
78864         * tests/test-chown.c (main): Likewise.
78866 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
78868         gnulib-tool: correctly detect absence of m4 directories
78869         * gnulib-tool: Avoid extra newline on data passed to wc -l.
78871 2009-11-14  Jim Meyering  <meyering@redhat.com>
78873         maint.mk: Prohibit inclusion of "xalloc.h" without use.
78874         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
78876 2009-11-14  John W. Eaton  <jwe@gnu.org>
78878         strftime.h: wrap function declaration in extern "C" block
78879         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
78881 2009-11-13  Eric Blake  <ebb9@byu.net>
78883         getgroups: avoid compiler warning
78884         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
78886         getgroups: work around FreeBSD bug
78887         * lib/getgroups.c (rpl_getgroups): Work around the bug.
78888         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
78889         * doc/posix-functions/getgroups.texi (getgroups): Document it.
78890         * tests/test-getgroups.c (main): Fix buffer overrun.
78892         getgroups: avoid compilation failure
78893         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
78894         * modules/getgroups (Depends-on): Add stdint.
78896 2009-11-13  Jim Meyering  <meyering@redhat.com>
78898         test-getgroups: avoid compilation failure
78899         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
78901 2009-11-13  Eric Blake  <ebb9@byu.net>
78903         mgetgroups: new module, taken from coreutils
78904         * modules/mgetgroups: New file.
78905         * lib/mgetgroups.h: Likewise.
78906         * lib/mgetgroups.c (mgetgroups): Likewise.
78907         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
78908         * MODULES.html.sh (Users and groups): Mention it.
78910         getgroups: don't expose GETGROUPS_T to user
78911         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
78912         an element at a time if GETGROUPS_T is wrong size.
78913         * lib/getugroups.h (getugroups): Change signature.
78914         * lib/unistd.in.h (getgroups): Likewise.
78915         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
78916         signature needs fixing.
78917         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
78918         AC_TYPE_GETGROUPS.
78919         * modules/group-member (Depends-on): Add getgroups.
78920         * lib/group-member.c (group_info, get_group_info): Use gid_t.
78921         (group_member): Rely on getgroups replacement.
78922         * lib/getugroups.c (getugroups): Use gid_t.
78923         * tests/test-getgroups.c (main): Likewise.
78924         * NEWS: Mention the signature change.
78925         * doc/posix-functions/getgroups.texi (getgroups): Mention the
78926         problem with signature.
78927         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
78928         GETGROUPS_T is still useful for setgroups.
78930         getgroups, getugroups: provide stubs for mingw
78931         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
78932         * lib/getugroups.c (getugroups): Likewise.
78933         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
78934         function.  Modernize replacement scheme.
78935         (gl_PREREQ_GETGROUPS): Delete.
78936         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
78937         * modules/getgroups (configure.ac): Declare witness.
78938         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
78939         * modules/unistd (Depends-on): Substitute witness.
78940         * lib/unistd.in.h (getgroups): Declare replacement.
78942         getgroups: avoid calling exit
78943         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
78944         drop xalloc.
78945         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
78946         dependencies.
78947         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
78948         exiting, in the rare case of malloc failure.
78950         getgroups: fix logic error
78951         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
78952         has more than 20 groups.
78953         * modules/getgroups-tests: New test.
78954         * tests/test-getgroups.c: New file.
78956 2009-11-13  Simon Josefsson  <simon@josefsson.org>
78958         * tests/test-base64.c: Improve.
78960 2009-11-13  Simon Josefsson  <simon@josefsson.org>
78962         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
78963         Blake <ebb9@byu.net>.
78965 2009-11-13  Simon Josefsson  <simon@josefsson.org>
78967         * tests/test-xvasprintf.c: Add %s%s related checks.
78969 2009-11-12  Eric Blake  <ebb9@byu.net>
78971         version-etc: match standards.texi style
78972         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
78973         and use <> only for URLs.
78975 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
78977         fts: do not fail on a submount during traversal
78978         * lib/fts.c (fts_build): Read the stat info again after opening
78979         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
78980         Original report at http://bugzilla.redhat.com/501848.
78982 2009-11-12  Jim Meyering  <meyering@redhat.com>
78984         bootstrap: sync from coreutils
78985         * build-aux/bootstrap (bootstrap_epilogue): New function.
78986         Use git_modules_config in one more place.  This make bootstrap's
78987         --gnulib-srcdir option more useful for testing.
78989         bootstrap: generalize autoheader check
78990         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
78991         AC_CONFIG_HEADERS.
78993 2009-11-11  Eric Blake  <ebb9@byu.net>
78995         mkfifoat: use new modules for Solaris and BSD bugs
78996         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
78997         * lib/mkfifoat.c (mknodat): Split...
78998         * lib/mknodat.c (mknodat): ...into new file.
78999         * modules/mkfifoat (Files): Ship new file.
79000         (Depends-on): Add mkfifo, mknod.
79001         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
79002         (Depends-on): Add symlink.
79003         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
79004         redundant with test_mkfifo.h.
79005         (do_mkfifoat, do_mknodat): New helpers.
79007         mknod: new module
79008         * modules/mknod: New file.
79009         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
79010         * lib/mknod.c (mknod): Likewise.
79011         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
79012         defaults.
79013         * modules/sys_stat (Makefile.am): Substitute them.
79014         * lib/sys_stat.in.h (mknod): Declare replacement.
79015         * MODULES.html.sh (Support for systems lacking POSIX:2008):
79016         Document it.
79017         * doc/posix-functions/mknod.texi (mknod): Likewise.
79018         * modules/mknod-tests: New test.
79019         * tests/test-mknod.c: Likewise.
79021         mkfifo: new module
79022         * modules/mkfifo: New file.
79023         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
79024         * lib/mkfifo.c (mkfifo): Likewise.
79025         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
79026         defaults.
79027         * modules/sys_stat (Makefile.am): Substitute them.
79028         * lib/sys_stat.in.h (mkfifo): Declare replacement.
79029         * MODULES.html.sh (Support for systems lacking POSIX:2008):
79030         Document it.
79031         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
79032         * modules/mkfifo-tests: New test.
79033         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
79034         from test-mkfifoat.c.
79035         * tests/test-mkfifo.c: New file.
79037         readlink: detect FreeBSD bug
79038         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
79039         slash on symlink.
79040         * doc/posix-functions/readlink.texi (readlink): Document the bug.
79041         * tests/test-readlink.h (test_readlink): Enhance test.
79043         symlink: detect FreeBSD bug
79044         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
79045         slash on symlink.
79046         * doc/posix-functions/symlink.texi (symlink): Document the bug.
79047         * tests/test-symlink.h (test_symlink): Enhance test.
79049 2009-11-10  Eric Blake  <ebb9@byu.net>
79051         link: detect FreeBSD bug
79052         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
79053         symlink.
79054         * doc/posix-functions/link.texi (link): Document the bug.
79055         * tests/test-link.h (test_link): Enhance test.
79056         * tests/test-linkat.c (main): Update caller.
79058         unlink, remove: detect FreeBSD bug
79059         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
79060         slash on symlink.
79061         * doc/posix-functions/unlink.texi (unlink): Document the bug.
79062         * doc/posix-functions/remove.texi (remove): Likewise.
79063         * tests/test-unlink.h (test_unlink): Enhance test.
79064         * tests/test-remove.c (main): Likewise.
79066 2009-11-09  Eric Blake  <ebb9@byu.net>
79068         rename: detect FreeBSD bug
79069         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
79070         slash on symlink.
79071         * modules/renameat-tests (Depends-on): Add filenamecat.
79072         * tests/test-rename.h (test_rename): Allow one more errno.
79073         * tests/test-renameat.c (main): Likewise.
79074         * doc/posix-functions/rename.texi (rename): Document the bug.
79076         open: detect FreeBSD bug
79077         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
79078         symlink.
79079         * doc/posix-functions/open.texi (open): Document the bug.
79080         * doc/posix-functions/utimes.texi (utimes): Likewise.
79081         * tests/test-open.h (test_open): Add parameters, and test symlink
79082         handling.
79083         * tests/test-open.c (main): Adjust caller.
79084         * tests/test-fcntl-safer.c (main): Likewise.
79085         * modules/open-tests (Depends-on): Add stdbool, symlink.
79086         * modules/fcntl-safer-tests (Depends-on): Likewise.
79087         * tests/test-openat.c (main): Add test-open tests.
79089         stat: detect FreeBSD bug
79090         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
79091         symlink.
79092         * doc/posix-functions/stat.texi (stat): Document the bug.
79093         * tests/test-stat.h (test_stat_func): Add argument.
79094         * tests/test-stat.c (main): Adjust caller.
79095         * tests/test-fstatat.c (main): Likewise.
79096         * modules/stat-tests (Depends-on): Add stdbool, symlink.
79097         Reported by Jim Meyering.
79099 2009-11-09  James Youngman  <jay@gnu.org>
79101         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
79102         * lib/strftime.c: Correct placement of #include "ignore-value.h".
79104 2009-11-08  Jim Meyering  <meyering@redhat.com>
79106         utimens: remove invalid futimesat call
79107         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
79108         It used the file descriptor of the target file as the DIR_FD
79109         parameter and NULL as the file name.  That caused failure with
79110         errno == EFAULT on FreeBSD-8.0-rc2
79112 2009-11-07  Eric Blake  <ebb9@byu.net>
79114         fflush, freadseek: use fseeko, not fseek
79115         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
79116         (clear_ungetc_buffer): Avoid potential problems on large files.
79117         * lib/freadseek.c (freadseek): Likewise.
79118         * modules/freadseek (Depends-on): Add fseeko.
79119         * modules/fseek (configure.ac): Set a witness.
79120         * tests/test-fflush.c (main): Use fseeko.
79121         * tests/test-fpurge.c (fseek): Disable link warning.
79122         * tests/test-freadable.c (fseek): Likewise.
79123         * tests/test-freading.c (fseek): Likewise.
79124         * tests/test-fseeko.c (fseek): Likewise.
79125         * tests/test-ftell.c (fseek): Likewise.
79126         * tests/test-ftello.c (fseek): Likewise.
79127         * tests/test-fwritable.c (fseek): Likewise.
79128         * tests/test-fwriting.c (fseek): Likewise.
79130 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79132         * modules/memchr (Depends-on): Drop getpagesize dependency.
79134 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79136         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
79137         Reported by Ludovic Courtès.
79138         * build-aux/pmccabe2html: Improve example usage.
79139         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
79141 2009-11-06  Jim Meyering  <meyering@redhat.com>
79143         do-release-commit-and-tag: New module.
79144         Automate the release-commit and tag process.
79145         * build-aux/do-release-commit-and-tag: New script, from coreutils.
79146         * modules/do-release-commit-and-tag: New file.
79147         * MODULES.html.sh (Support for maintaining and releasing): Add it.
79149 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79151         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
79152         because test-select.c uses inet_pton.
79154 2009-11-06  Simon Josefsson  <simon@josefsson.org>
79156         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
79157         GETADDRINFO_LIB.  Bump serial number.
79158         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
79159         Suggested by Eric Blake <ebb9@byu.net>.
79161 2009-11-05  Eric Blake  <ebb9@byu.net>
79163         strtod: detect darwin bug
79164         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
79165         Reported by Leo Davis.
79167         freopen-safer: new module
79168         * modules/freopen-safer: New module.
79169         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
79170         * lib/freopen-safer.c (freopen_safer): New file.
79171         * lib/stdio-safer.h (freopen_safer): New declaration.
79172         * lib/stdio--.h (freopen): New override.
79173         * MODULES.html.sh (File stream based Input/Output): Mention it.
79174         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
79175         freopen-safer module.
79176         * doc/posix-functions/stderr.texi (stderr): Likewise.
79177         * doc/posix-functions/stdin.texi (stdin): Likewise.
79178         * doc/posix-functions/stdout.texi (stdout): Likewise.
79179         * modules/freopen-safer-tests: New test.
79180         * tests/test-reopen-safer.c: New file.
79182 2009-11-05  Jim Meyering  <meyering@redhat.com>
79184         maint.mk: Prohibit inclusion of "close-stream.h" without use.
79185         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
79187 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79189         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
79191 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79193         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
79195 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79197         Fix link error.
79198         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
79199         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
79201 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79203         * tests/test-func.c: Also test value of __func__.
79205 2009-11-05  Simon Josefsson  <simon@josefsson.org>
79207         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
79208         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
79210 2009-11-05  Bruno Haible  <bruno@clisp.org>
79212         Fix link error.
79213         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
79214         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
79215         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
79217 2009-11-05  Bruno Haible  <bruno@clisp.org>
79219         Tests for module 'inet_pton'.
79220         * modules/inet_pton-tests: New file.
79221         * tests/test-inet_pton.c: New file.
79223 2009-11-05  Bruno Haible  <bruno@clisp.org>
79225         Tests for module 'inet_ntop'.
79226         * modules/inet_ntop-tests: New file.
79227         * tests/test-inet_ntop.c: New file.
79229 2009-11-04  Eric Blake  <ebb9@byu.net>
79231         stdlib-safer: wrap all mkstemp variants
79232         * modules/mkostemp (configure.ac): Set witness.
79233         * modules/mkostemps (configure.ac): Likewise.
79234         * modules/mkstemps (configure.ac): Likewise.
79235         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
79236         (mkstemps_safer): Wrap more functions.
79237         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
79238         wrapping.
79239         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
79240         (mkstemps_safer): Implement the wrappers.
79242         mkstemps, mkostemps: new modules
79243         * modules/mkostemps: New module.
79244         * modules/mkstemps: Likewise.
79245         * lib/mkostemps.c (mkostemps): New file.
79246         * lib/mkstemps.c (mkstemps): Likewise.
79247         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
79248         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
79249         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
79250         * modules/stdlib (Makefile.am): Substitute them.
79251         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
79252         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
79253         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
79254         * doc/gnulib.texi (Glibc stdlib.h): Include them.
79255         * MODULES.html.sh (File system functions): Mention them.
79257         tempname: resync from glibc
79258         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
79259         same values for __GT_FILE as glibc.  Abort even when assertions
79260         are disabled.
79261         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
79262         match its value otherwise.  Allow idempotent inclusion.
79263         * lib/mkdtemp.c (mkdtemp): Adjust caller.
79264         * lib/mkostemp.c (mkostemp): Likewise.
79265         * lib/mkstemp.c (mkstemp): Likewise.
79266         * lib/tmpfile.c (tmpfile): Likewise.
79267         * NEWS: Document this.
79269         utimens: fix use of futimens on older Linux
79270         * lib/utimens.c (fdutimens): Use updated, rather than original,
79271         timespec to avoid bug in older Linux kernel.
79272         Reported by Simon Josefsson.
79274 2009-11-04  Bruno Haible  <bruno@clisp.org>
79276         Make num_processors more flexible and consistent.
79277         * lib/nproc.h (enum nproc_query): New type.
79278         (num_processors): Add a 'query' argument.
79279         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
79280         (num_processors): Add a 'query' argument. Test the value of the
79281         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
79282         mingw, count the number of CPUs available for the current process.
79283         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
79284         Check for sched_getaffinity and sched_getaffinity_np.
79285         * modules/nproc (Depends-on): Add c-ctype, extensions.
79286         * NEWS: Mention the change.
79288 2009-11-03  Bruno Haible  <bruno@clisp.org>
79290         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
79292 2009-11-03  Jim Meyering  <meyering@redhat.com>
79294         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
79295         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
79296         if it is defined.
79298 2009-11-02  Eric Blake  <ebb9@byu.net>
79300         mktime, timegm: share common declaration
79301         * lib/mktime-internal.h: New file.
79302         * lib/mktime.c: Use it rather than open-coding a declaration.
79303         * lib/timegm.c: Likewise.
79304         * modules/mktime (Files): Ship it.
79305         * modules/timegm (Files): Likewise.
79306         Suggested by Bruno Haible.
79308         test-update-copyright: update test to match script changes
79309         * tests/test-update-copyright.sh: Avoid hard-coding perl
79310         location.  Don't update *.bak created by earlier runs.
79312 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
79313             Simon Josefsson  <simon@josefsson.org>
79314             Bruno Haible  <bruno@clisp.org>
79316         Fix link error on Solaris 8.
79317         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
79318         also in libnsl. Define also INET_PTON_LIB.
79319         * modules/inet_pton (Link): New section.
79321 2009-11-02  Simon Josefsson  <simon@josefsson.org>
79322             Bruno Haible  <bruno@clisp.org>
79324         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
79325         * modules/inet_ntop (Link): New section.
79326         Reported by Boyan Kasarov <bkasarov@gmail.com>.
79328 2009-11-02  Eric Blake  <ebb9@byu.net>
79330         maint: avoid compiler warnings in m4 macros
79331         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
79332         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
79334 2009-11-02  Simon Josefsson  <simon@josefsson.org>
79336         * m4/pmccabe2html.m4: Remove file.
79337         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
79338         function.  Change maintainer.
79339         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
79340         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
79341         Courtès).
79343 2009-10-31  Eric Blake  <ebb9@byu.net>
79345         fseeko: fix m4 regression
79346         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
79347         regression from 2009-10-27.
79348         Reported by Ralf Wildenhues.
79350 2009-10-31  Jim Meyering  <meyering@redhat.com>
79352         inttostr: aesthetics and improved (compile-time) safety
79353         Define inttype_is_signed rather than inttype_is_unsigned,
79354         since the sole use is via "#if inttype_is_signed".
79355         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
79356         inttype_is_unsigned.
79357         * lib/offtostr.c (inttype_is_signed): Likewise.
79358         * lib/uinttostr.c (inttype_is_signed): Likewise.
79359         * lib/umaxtostr.c (inttype_is_signed): Likewise.
79360         * lib/inttostr.c (inttostr): Use verify to cross-check the
79361         inttype_is_signed value and the signedness of the actual type.
79362         * modules/inttostr (Depends-on): Add verify.
79364 2009-10-30  Eric Blake  <ebb9@byu.net>
79366         build: avoid compiler warnings
79367         * lib/fchmodat.c (lchmod): Mark unused variables.
79368         * lib/getopt.c (_getopt_initialize): Likewise.
79369         * lib/mktime.c (__mktime_internal): Provide prototype.
79370         * lib/inttostr.c (inttostr): Avoid compiler warning even with
79371         older gcc that do not understand #pragma GCC diagnostic.
79372         * lib/uinttostr.c (inttype_is_unsigned): Define.
79373         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
79375 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
79377         stat: fix compilation on AIX
79378         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
79379         only see struct stat64.
79381 2009-10-30  Eric Blake  <ebb9@byu.net>
79383         exclude: make more robust
79384         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
79385         rather than masking a coding bug.
79386         Suggested by Bruno Haible.
79388 2009-10-30  Jim Meyering  <meyering@redhat.com>
79390         perl scripts: remove #!/usr/bin/perl in favor of more portable...
79391         Rather than putting #!/usr/bin/perl on the first line,
79392         start with a variant of what's recommended by "man perlrun" that
79393         invokes the first "perl" program from your shell's search path.
79394         * build-aux/gitlog-to-changelog: Replace #!... as above.
79395         Add a "Local Variables" perl mode setting.
79396         Prompted by a patch from Ludovic Courtès.
79397         Improved by Eric Blake.
79398         * build-aux/useless-if-before-free: Likewise.
79399         * build-aux/announce-gen: Likewise.
79400         * build-aux/update-copyright: Likewise.
79402 2009-10-29  Eric Blake  <ebb9@byu.net>
79404         filenamecat-lgpl: adjust clients
79405         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
79406         filenamecat.
79407         * modules/renameat (Depends-on): Likewise.
79409         filenamecat: split into filenamecat-lgpl
79410         * modules/filenamecat-lgpl: New module.
79411         * modules/filenamecat (Files): Move library-safe files into
79412         filenamecat-lgpl.
79413         (Depends-on): Add filenamecat-lgpl.
79414         (configure.ac): Declare witness.
79415         * lib/filenamecat.h (file_name_concat): Only declare when using
79416         GPL module.
79417         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
79418         Move...
79419         * lib/filenamecat-lgpl.c: ...into new file.
79420         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
79421         (gl_FILE_NAME_CONCAT): Use it.
79422         * MODULES.html.sh (File system functions): Mention new module.
79424         argp: avoid memory leak
79425         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
79426         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
79427         base_name, since the latter malloc()s and can call exit().
79428         Leak introduced 2006-07-03.
79430         dirname-lgpl: adjust clients that don't need full dirname
79431         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
79432         * modules/filenamecat (Depends-on): Likewise.
79433         * modules/linkat (Depends-on): Likewise.
79434         * modules/mkancesdirs (Depends-on): Likewise.
79435         * modules/mkdir (Depends-on): Likewise.
79436         * modules/openat (Depends-on): Likewise.
79437         * modules/savewd (Depends-on): Likewise.
79438         * modules/rename (Depends-on): Likewise.
79439         (License): Relax license.
79440         * modules/mkdir-tests (Depends-on): Drop progname.
79441         (Makefile.am): Delete unneeded LDADD.
79442         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
79444         dirname: split into dirname-lgpl
79445         * modules/dirname-lgpl: New module.
79446         * modules/dirname (Files): Move library-safe files into
79447         dirname-lgpl.
79448         (Depends-on): Add dirname-lgpl.
79449         (configure.ac): Declare witness.
79450         * modules/double-slash-root (License): Relax license.
79451         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
79452         module.
79453         * lib/dirname.c (dir_len, mdir_name): Move...
79454         * lib/dirname-lgpl.c: ...into new file.
79455         * lib/basename.c (last_component, base_len): Move...
79456         * lib/basename-lgpl.c: ...into new file.
79457         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
79458         (gl_DIRNAME): Use it.
79459         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
79460         Mention new module.
79461         * modules/dirname-tests (Depends-on): Add progname.
79462         * tests/test-dirname.c (program_name): Delete.
79464         mkdir: make safe for libraries
79465         * modules/mkdir (Depends-on): Drop xalloc.
79466         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
79467         exit.
79469         tests: avoid some compiler warnings
79470         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
79471         literals.
79472         * tests/test-memchr.c (main): Avoid type mismatch.
79473         * tests/test-arpa_inet.c (main): Avoid unused parameters.
79474         * tests/test-base64.c (main): Likewise.
79475         * tests/test-getdelim.c (main): Likewise.
79476         * tests/test-gethostname.c (main): Likewise.
79477         * tests/test-getline.c (main): Likewise.
79478         * tests/test-netinet_in.c (main): Likewise.
79479         * tests/test-select.c (open_server_socket, main): Likewise.
79480         * tests/test-select-stdin.c (main): Likewise.
79481         * tests/test-sockets.c (main): Likewise.
79482         * tests/test-strsignal.c (main): Likewise.
79483         * tests/test-sys_select.c (main): Likewise.
79484         * tests/test-sys_socket.c (main): Likewise.
79485         * tests/test-u64.c (main): Likewise.
79486         * tests/test-xfprintf-posix.c (main): Likewise.
79487         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
79489         sockets: avoid compiler warning
79490         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
79492         maint: detect usage(1) and other suspicious exits
79493         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
79495 2009-10-29  Jim Meyering  <meyering@redhat.com>
79497         timespec: long-to-int truncation could make timespec_cmp malfunction
79498         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
79499         a multiple of 2^32 nanoseconds as no difference.
79501 2009-10-28  Jim Meyering  <meyering@redhat.com>
79503         fprintftime: wrap macro code argument in "do {...} while(0)"
79504         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
79505         cpy macro must be a statement that can be followed by a semicolon.
79506         Now that the else clause contains a comment and is hence longer
79507         than one line, I require curly braces.  That in turn requires
79508         that we wrap this code block in the standard do...while(0).
79510         fprintftime: remove stray semicolon from previous change
79511         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
79513         fprintftime: avoid a warning about ignored fwrite return value
79514         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
79515         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
79516         that is unsafe.
79517         * modules/fprintftime (Depends-on): Add ignore-value.
79519         exclude: avoid an unwarranted warning
79520         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
79522 2009-10-27  Eric Blake  <ebb9@byu.net>
79524         fseek: avoid compilation failure when fflush is replaced
79525         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
79526         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
79527         module is in use.
79528         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
79529         module is not in use; since REPLACE_FSEEK worked otherwise.
79530         (GNULIB_FTELLO): Likewise for ftell.
79531         Reported by Ian Beckwith and others.
79533 2009-10-27  Bruno Haible  <bruno@clisp.org>
79535         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
79536         Reported by Jim Meyering.
79538 2009-10-27  Jim Meyering  <jim@meyering.net>
79539             Bruno Haible  <bruno@clisp.org>
79541         Avoid warning despite dropping the return value of fwrite.
79542         * lib/unicodeio.c: Include ignore-value.h.
79543         (fwrite_success_callback): Explicitly ignore fwrite's return value.
79544         * modules/unicodeio (Depends-on): Add ignore-value.
79546 2009-10-26  Eric Blake  <ebb9@byu.net>
79548         areadlinkat: fix fallback path
79549         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
79550         pointer and zero.
79552 2009-10-22  Pádraig Brady  <P@draigBrady.com>
79554         Use a better IO block size for modern systems
79555         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
79556         * lib/md2.c: Likewise.
79557         * lib/md4.c: Likewise.
79558         * lib/md5.c: Likewise.
79559         * lib/sha1.c: Likewise.
79560         * lib/sha256.c: Likewise.
79561         * lib/sha512.c: Likewise.
79563 2009-10-22  Eric Blake  <ebb9@byu.net>
79565         tests: avoid several compiler warnings
79566         * tests/test-getcwd.c (main): Avoid buffer underflow.
79567         * tests/test-getdate.c (main): String literals are not safe with
79568         putenv, so use setenv.  Declare unused argument.
79569         * modules/getdate-tests (Depends-on): Add setenv.
79570         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
79571         problems with string literals in char *.
79572         * tests/test-hash.c (main): Avoid shadowing declaration.
79573         (insert_new): Treat string literals as char const *.
79574         * tests/test-getopt.h (test_getopt): Likewise.
79575         (getopt_loop): Alter types to minimize casting elsewhere.
79576         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
79577         (test_getopt_long_posix): Likewise.
79578         (do_getopt_long): Add wrapper to minimize casting.
79579         * tests/test-atexit.c (clear_temp_file): Use void.
79580         * tests/test-areadlink-with-size.c (main): Declare unused
79581         arguments.
79582         * tests/test-areadlink.c (main): Likewise.
79583         * tests/test-areadlinkat-with-size.c (main): Likewise.
79584         * tests/test-areadlinkat.c (main): Likewise.
79585         * tests/test-canonicalize-lgpl.c (main): Likewise.
79586         * tests/test-canonicalize.c (main): Likewise.
79587         * tests/test-dirent-safer.c (main): Likewise.
79588         * tests/test-dirname.c (main): Likewise.
79589         * tests/test-dup2.c (main): Likewise.
79590         * tests/test-fchdir.c (main): Likewise.
79591         * tests/test-fcntl-h.c (main): Likewise.
79592         * tests/test-fcntl-safer.c (main): Likewise.
79593         * tests/test-fdopendir.c (main): Likewise.
79594         * tests/test-fdutimensat.c (main): Likewise.
79595         * tests/test-fflush.c (main): Likewise.
79596         * tests/test-filenamecat.c (main): Likewise.
79597         * tests/test-filevercmp.c (main): Likewise.
79598         * tests/test-fopen-safer.c (main): Likewise.
79599         * tests/test-fopen.c (main): Likewise.
79600         * tests/test-fpending.c (main): Likewise.
79601         * tests/test-fpurge.c (main): Likewise.
79602         * tests/test-freading.c (main): Likewise.
79603         * tests/test-fstatat.c (main): Likewise.
79604         * tests/test-fsync.c (main): Likewise.
79605         * tests/test-futimens.c (main): Likewise.
79606         * tests/test-getndelim2.c (main): Likewise.
79607         * tests/test-gettimeofday.c (main): Likewise.
79608         * tests/test-getopt.c (main): Likewise.
79609         * tests/test-i-ring.c (main): Likewise.
79610         * tests/test-inttypes.c (main): Likewise.
79611         * tests/test-link.c (main): Likewise.
79612         * tests/test-lstat.c (main): Likewise.
79613         * tests/test-math.c (main): Likewise.
79614         * tests/test-md5.c (main): Likewise.
79615         * tests/test-memchr2.c (main): Likewise.
79616         * tests/test-memrchr.c (main): Likewise.
79617         * tests/test-mkdir.c (main): Likewise.
79618         * tests/test-mkdirat.c (main): Likewise.
79619         * tests/test-mkfifoat.c (main): Likewise.
79620         * tests/test-open.c (main): Likewise.
79621         * tests/test-openat-safer.c (main): Likewise.
79622         * tests/test-openat.c (main): Likewise.
79623         * tests/test-quotearg.c (main): Likewise.
79624         * tests/test-rawmemchr.c (main): Likewise.
79625         * tests/test-readlink.c (main): Likewise.
79626         * tests/test-remove.c (main): Likewise.
79627         * tests/test-rename.c (main): Likewise.
79628         * tests/test-renameat.c (main): Likewise.
79629         * tests/test-rmdir.c (main): Likewise.
79630         * tests/test-sha1.c (main): Likewise.
79631         * tests/test-signal.c (main): Likewise.
79632         * tests/test-sigaction.c (main): Likewise.
79633         * tests/test-stat.c (main): Likewise.
79634         * tests/test-stat-time.c (main): Likewise.
79635         * tests/test-stddef.c (main): Likewise.
79636         * tests/test-stdint.c (main): Likewise.
79637         * tests/test-stdio.c (main): Likewise.
79638         * tests/test-stdlib.c (main): Likewise.
79639         * tests/test-strchrnul.c (main): Likewise.
79640         * tests/test-strerror.c (main): Likewise.
79641         * tests/test-string.c (main): Likewise.
79642         * tests/test-strtod.c (main): Likewise.
79643         * tests/test-strverscmp.c (main): Likewise.
79644         * tests/test-symlink.c (main): Likewise.
79645         * tests/test-symlinkat.c (main): Likewise.
79646         * tests/test-sys_stat.c (main): Likewise.
79647         * tests/test-sys_time.c (main): Likewise.
79648         * tests/test-time.c (main): Likewise.
79649         * tests/test-unistd.c (main): Likewise.
79650         * tests/test-unlink.c (main): Likewise.
79651         * tests/test-unlinkat.c (main): Likewise.
79652         * tests/test-utimens.c (main): Likewise.
79653         * tests/test-utimensat.c (main): Likewise.
79654         * tests/test-version-etc.c (main): Likewise.
79655         * tests/test-wchar.c (main): Likewise.
79656         * tests/test-wctype.c (main): Likewise.
79657         * tests/test-xprintf-posix.c (main): Likewise.
79658         * tests/test-posixtm.c (main): Likewise.
79659         (STREQ): Delete unused macro.
79660         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
79661         shadowed variables.
79662         * tests/test-memchr.c (main): Likewise.
79664 2009-10-21  Eric Blake  <ebb9@byu.net>
79666         areadlinkat: avoid failure on older glibc
79667         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
79668         rather than mis-comparing 0 against FUNC_RESULT of char*.
79670 2009-10-21  Bruno Haible  <bruno@clisp.org>
79672         * modules/stpncpy (License): Relicense under LGPLv2+.
79673         Reported by David Lutterkort <lutter@redhat.com>.
79675 2009-10-20  Eric Blake  <ebb9@byu.net>
79677         utimensat: work around Solaris 9 bug
79678         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
79679         has trailing slash bugs.
79680         * tests/test-lutimens.h (test_lutimens): Enhance test.
79681         * tests/test-utimens.h (test_utimens): Likewise.
79682         * doc/posix-functions/utime.texi (utime): Enhance documentation.
79683         * doc/posix-functions/utimes.texi (utimes): Likewise.
79684         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79685         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
79686         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
79687         * doc/posix-functions/futimens.texi (futimens): Likewise.
79689         fdutimensat: new module
79690         * modules/fdutimensat: New file.
79691         * lib/fdutimensat.c (fdutimensat): Likewise.
79692         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
79693         * MODULES.html.sh (File system functions): Mention module.
79694         * modules/fdutimensat-tests: New test.
79695         * tests/test-fdutimensat.c: Likewise.
79697         doc: regenerate INSTALL
79698         * doc/INSTALL: Reflect recent autoconf update.
79699         * doc/INSTALL.ISO: Likewise.
79700         * doc/INSTALL.UTF-8: Likewise.
79702 2009-10-20  Pádraig Brady  <P@draigBrady.com>
79704         acl: warn if ACL support is not detected
79705         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
79707 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
79709         * lib/nproc.h: Add extern "C" block for C++.
79711 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
79712             Bruno Haible  <bruno@clisp.org>
79714         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
79715         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
79716         * doc/posix-functions/isalpha.texi: Likewise.
79717         * doc/posix-functions/isblank.texi: Likewise.
79718         * doc/posix-functions/iscntrl.texi: Likewise.
79719         * doc/posix-functions/isdigit.texi: Likewise.
79720         * doc/posix-functions/isgraph.texi: Likewise.
79721         * doc/posix-functions/islower.texi: Likewise.
79722         * doc/posix-functions/isprint.texi: Likewise.
79723         * doc/posix-functions/ispunct.texi: Likewise.
79724         * doc/posix-functions/isspace.texi: Likewise.
79725         * doc/posix-functions/isupper.texi: Likewise.
79726         * doc/posix-functions/isxdigit.texi: Likewise.
79728 2009-10-18  Bruno Haible  <bruno@clisp.org>
79730         Tests for module 'isblank'.
79731         * modules/isblank-tests: New file.
79732         * tests/test-isblank.c: New file.
79734         New module 'isblank'.
79735         * lib/isblank.c: New file.
79736         * m4/isblank.m4: New file.
79737         * modules/isblank: New file.
79738         * doc/posix-functions/isblank.texi: Mention the new module.
79740 2009-10-18  Bruno Haible  <bruno@clisp.org>
79742         New module 'ctype'.
79743         * lib/ctype.in.h: New file.
79744         * m4/ctype.m4: New file.
79745         * modules/ctype: New file.
79746         * doc/posix-headers/ctype.texi: Mention the new module.
79748 2009-10-18  Jim Meyering  <meyering@redhat.com>
79750         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
79751         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
79752         right after its initialization, rather than farther down.
79753         Keeping these in close proximity makes it easier to ensure
79754         that each such variable is initialized.  E.g.,
79756             LIB_CLOCK_GETTIME=
79757             AC_SUBST([LIB_CLOCK_GETTIME])
79759         This change also increments these serial numbers.
79760         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
79761         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
79762         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79764 2009-10-18  Bruno Haible  <bruno@clisp.org>
79766         Don't let environment variables perturb build.
79767         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
79768         (gl_PREREQ_GETHRXTIME): ... not here.
79770 2009-10-18  Bruno Haible  <bruno@clisp.org>
79772         Avoid symlink attack in localcharset module.
79773         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
79774         (O_NOFOLLOW): Define fallback.
79775         (get_charset_aliases): Don't open the file if it is a symbolic link.
79776         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
79777         gl_FCNTL_H.
79778         (gl_FCNTL_H): Require it.
79779         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
79780         * modules/localcharset (Files): Add m4/fcntl_h.m4.
79781         Reported by Fergal Glynn <fglynn@veracode.com>.
79783 2009-10-18  Bruno Haible  <bruno@clisp.org>
79785         Implement nproc for mingw.
79786         * lib/nproc.c: Include <windows.h>
79787         (num_processors): On native Windows platforms, try GetSystemInfo.
79789 2009-10-18  Bruno Haible  <bruno@clisp.org>
79791         Implement nproc for IRIX.
79792         * lib/nproc.c: Include <sys/sysmp.h>.
79793         (num_processors): On IRIX systems, try sysmp.
79794         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
79796 2009-10-18  Bruno Haible  <bruno@clisp.org>
79798         Implement nproc for HP-UX.
79799         * lib/nproc.c: Include <sys/pstat.h>
79800         (num_processors): On HP-UX systems, try pstat_getdynamic.
79801         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
79802         pstat_getdynamic.
79804 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
79805             Bruno Haible  <bruno@clisp.org>
79807         Implement nproc for NetBSD, OpenBSD.
79808         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
79809         (ARRAY_SIZE): New macro.
79810         (num_processors): On BSD systems, try sysctl of HW_NCPU.
79811         * m4/nproc.m4: New file.
79812         * modules/nproc (Files): Add m4/nproc.m4.
79813         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
79814         (Makefile.am): Instead, augment lib_SOURCES.
79816 2009-10-18  Bruno Haible  <bruno@clisp.org>
79818         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
79819         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
79820         sys/param.h.
79822 2009-10-16  Eric Blake  <ebb9@byu.net>
79824         utimensat: new module
79825         * modules/utimensat: New file.
79826         * lib/utimensat.c (utimensat): Likewise.
79827         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
79828         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
79829         so we can work around Linux bugs.
79830         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79831         * modules/sys_stat (Makefile.am): Substitute them.
79832         * lib/sys_stat.in.h (utimensat): Declare it.
79833         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79834         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79835         * modules/utimensat-tests: New test.
79836         * tests/test-utimensat.c: Likewise.
79838         utimens: let lutimens work on non-symlinks
79839         * lib/utimens.c (lutimens): Fall back to utimens rather than
79840         failing with ENOSYS, when file is not a symlink.
79841         (utimens): Reduce redirection.
79842         * tests/test-lutimens.h (test_lutimens): Update test to cover
79843         non-symlinks.
79844         * tests/test-utimens.h (test_utimens): Update test to cover
79845         symlinks.
79846         * tests/test-utimens.c (main): Update caller.
79848         utimens: cache whether utimensat syscall works
79849         * lib/utimens.c (utimensat_works_really): New cache variable.
79850         (fdutimens, lutimens): Use it to avoid failing syscall.
79852         test-stat-time, test-utimens: improve portability
79853         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
79854         ext4 on alpha, and for cygwin.
79855         * tests/test-utimens-common.h: New file.
79856         (nap): Factor delays into single function.
79857         * tests/test-lutimens.h (test_lutimens): Use new header.
79858         * tests/test-futimens.h (test_futimens): Likewise.
79859         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
79860         timestamps to occur from same machine, as was done previously for
79861         test_utimens.
79862         * modules/utimens-tests (Files): Ship new file.
79863         * modules/futimens-tests (Files): Likewise.
79864         Reported in part by Jim Meyering.
79866         sys_stat: sort replacement declarations
79867         * lib/sys_stat.in.h: Sort declarations.
79868         * lib/futimens.c (futimens): Fix typo.
79870 2009-10-15  Jim Meyering  <meyering@redhat.com>
79872         don't let environment settings perturb build
79873         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
79874         could cause a configure-time and/or build-time malfunction.
79875         Typically, a configure-time function-in-library test is performed
79876         via code like this:
79878           LIB_VAR=
79879           AC_SUBST([LIB_VAR])
79880           prefix_saved_LIBS=$LIBS
79881             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
79882                        [test "$ac_cv_search_FUNC" = "none required" ||
79883                         LIB_VAR=$ac_cv_search_FUNC])
79884           LIBS=$prefix_saved_LIBS
79886         However, in each of the files affected by this change, the LIB_VAR=
79887         initialization was omitted.  Thus, when set in the environment, its
79888         value would propagate into generated Makefiles when FUNC is not found
79889         in LIB_NAME.
79890         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
79891         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
79892         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79894 2009-10-14  Eric Blake  <ebb9@byu.net>
79896         fchdir: avoid infinite recursion in mingw
79897         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
79898         recursing.
79900         test-stat-time: port to mingw
79901         * tests/test-stat-time.c (force_unlink): Return a value.
79902         (test_ctime) [W32]: Fix compilation error.
79903         (nap): Don't call usleep with too large an argument.  Use
79904         force_unlink.
79905         * doc/pastposix-functions/usleep.texi (usleep): Document the
79906         portability issue.
79908 2009-10-13  Jim Meyering  <meyering@redhat.com>
79910         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
79911         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
79912         * modules/pipe-filter-ii: Likewise.
79913         * modules/sys_socket-tests: Likewise.
79914         * modules/tsearch-tests: Likewise.
79915         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
79916         (check): Depend on it.
79918 2009-10-12  Eric Blake  <ebb9@byu.net>
79920         utimens-tests: port to NFS file systems
79921         * tests/test-utimens.h (test_utimens): Refactor utimecmp
79922         comparisons to avoid spurious failures from timestamp drift
79923         between NFS machines.
79925 2009-10-12  Eric Blake  <ebb9@byu.net>
79927         stat-time-tests: minor cleanups
79928         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
79929         * tests/test-stat-time.c (nap): Separate assignment from call.
79930         Suggested by Paolo Bonzini and Bruno Haible.
79932         sys_stat: guarantee struct timespec
79933         * lib/sys_stat.in.h (includes): Always include <time.h>
79934         * modules/sys_stat (Depends-on): Add time.
79935         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
79936         mode_t permission values.
79937         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
79938         get at subsecond timestamps.
79940 2009-10-10  Eric Blake  <ebb9@byu.net>
79942         futimens: new module
79943         * modules/futimens: New file.
79944         * lib/futimens.c (futimens): Likewise.
79945         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
79946         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
79947         we can work around Linux bugs.
79948         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79949         * modules/sys_stat (Makefile.am): Substitute them.
79950         * lib/sys_stat.in.h (futimens): Declare it.
79951         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79952         * doc/posix-functions/futimens.texi (futimens): Likewise.
79953         * modules/futimens-tests: New test.
79954         * tests/test-futimens.c: Likewise.
79956         utimens: introduce fdutimens
79957         * lib/utimens.h (fdutimens): New prototype.
79958         * lib/utimens.c (gl_futimens): Move guts...
79959         (fdutimens): ...to new interface.
79960         * tests/test-utimens.c (do_fdutimens): Use it.
79962         utimens: add UTIME_NOW and UTIME_OMIT support
79963         * lib/utimens.c (validate_timespec, update_timespec): New helper
79964         functions.
79965         (gl_futimens, lutimens): Use them.
79966         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
79967         stdbool, sys_stat.
79968         (Link): Mention resulting library dependency.
79969         * modules/utimecmp (Link): Likewise.
79970         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
79971         (Makefile.am): Pick up library dependency.
79972         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
79973         definition.
79974         * tests/test-sys_stat.c: Test the definitions.
79975         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
79976         * NEWS: Document library dependency.
79978         utimecmp: support symlink timestamps
79979         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
79980         hashing when possible.  Use pathconf when available.
79981         (SYSCALL_RESOLUTION): Recognize tighter resolution.
79982         * modules/utimecmp (Depends-on): Add lstat.
79984         utimens: add lutimens interface
79985         * lib/utimens.c (lutimens): New function.
79986         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
79987         * lib/utimens.h (lutimens): Declare new interface.
79988         * tests/test-utimens.c (main): Enhance test.
79989         * tests/test-lutimens.h (test_lutimens): New file.
79990         * modules/utimens-tests (Files): Distribute it.
79991         (Depends-on): Add symlink.
79992         (configure.ac): Check for usleep.
79994         utimens: validate futimens usage
79995         * lib/utimens.c (gl_futimens): Require valid fd up front, using
79996         fewer syscalls on failure later on.  Avoid compiler warning on
79997         mingw.
79998         * modules/utimens (Depends-on): Add dup2.
80000         utimens: add test
80001         * modules/utimens-tests: New test.
80002         * tests/test-utimens.h: New file.
80003         * tests/test-futimens.h: Likewise.
80004         * tests/test-utimens.c: Likewise.
80006         doc: mention timestamp portability issues
80007         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
80008         instead.
80009         * doc/posix-functions/utime.texi (utime): Likewise.
80010         * doc/posix-functions/utimes.texi (utimes): Likewise.
80011         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
80012         instead.
80013         * doc/posix-functions/futimens.texi (futimens): Mention utimens
80014         module.
80015         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
80016         Mention weakness with symlink timestamps.
80017         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
80018         to utimensat/futimens instead.
80019         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
80021         test-dup2: enhance test
80022         * tests/test-dup2.c (main): Also check AT_FDCWD.
80024         test-stat-time: avoid more spurious failures
80025         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
80026         xfs; and avoid race if the two timestamps cross quantization edge.
80028         relocatable: prefer 'file system' over 'filesystem'
80029         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
80030         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
80031         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
80032         * doc/relocatable.texi (Enabling Relocatability): Likewise.
80033         * lib/relocatable.c (compute_curr_prefix): Likewise.
80035 2009-10-10  Jim Meyering  <meyering@redhat.com>
80037         stat-time-tests: check for the usleep function
80038         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
80040 2009-10-10  Bruno Haible  <bruno@clisp.org>
80042         * modules/xnanosleep: Put the Link section after the Include section.
80044 2009-10-09  Eric Blake  <ebb9@byu.net>
80046         dup2: work around FreeBSD 6.1 bug
80047         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
80048         * doc/posix-functions/dup2.texi (dup2): Document it.
80049         Reported by Nelson H. F. Beebe and Jim Meyering.
80051         test-stat-time: port to buggy NFS clients
80052         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
80053         (test_ctime): Also skip test if mtime and ctime are skewed.
80055         maint: prefer 'file system' over 'filesystem'
80056         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
80057         * doc/posix-functions/lstat.texi (lstat): Likewise.
80058         * lib/file-has-acl.c (file_has_acl): Likewise.
80059         * lib/fwriteerror.c [TEST]: Likewise.
80060         * tests/test-areadlink.h (test_areadlink): Likewise.
80061         * tests/test-areadlinkat-with-size.c (main): Likewise.
80062         * tests/test-areadlinkat.c (main): Likewise.
80063         * tests/test-canonicalize-lgpl.c (main): Likewise.
80064         * tests/test-canonicalize.c (main): Likewise.
80065         * tests/test-fstatat.c (main): Likewise.
80066         * tests/test-linkat.c (main): Likewise.
80067         * tests/test-lstat.h (test_lstat_func): Likewise.
80068         * tests/test-mkdir.h (test_mkdir): Likewise.
80069         * tests/test-readlink.h (test_readlink): Likewise.
80070         * tests/test-remove.c (main): Likewise.
80071         * tests/test-rename.h (test_rename): Likewise.
80072         * tests/test-renameat.c (main): Likewise.
80073         * tests/test-rmdir.h (test_rmdir_func): Likewise.
80074         * tests/test-symlink.h (test_symlink): Likewise.
80075         * tests/test-symlinkat.c (main): Likewise.
80076         * tests/test-unlink.h (test_unlink_func): Likewise.
80077         * tests/test-unlinkat.c (main): Likewise.
80079         maint: make realtime library usage explicit
80080         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
80081         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
80082         * modules/settime (Link): Likewise.
80083         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
80085         test-stat-time: speed up execution
80086         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
80087         warning on mingw.
80088         (nap): New helper function.
80089         (prepare_test): Use it to reduce sleep time.
80090         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
80091         execution.
80092         * modules/stat-time-tests (configure.ac): Check for usleep.
80094 2009-10-09  Jim Meyering  <meyering@redhat.com>
80096         selinux-h: always use getfilecon wrappers
80097         * lib/getfilecon.c: New file.
80098         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
80099         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
80100         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
80101         (fgetfilecon): Provide a stub.
80102         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
80103         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
80104         file unconditionally.
80105         When <selinux/selinux.h> is found, arrange to use wrappers.
80106         * modules/selinux-h (Files): Add getfilecon.c.
80107         (Makefile.am): Substitute include-next-related bits
80108         into the now-always-generated selinux/selinux.h file.
80109         * doc/glibc-functions/lgetfilecon.texi: New file.
80110         * doc/glibc-functions/fgetfilecon.texi: New file.
80111         * doc/glibc-functions/getfilecon.texi: New file.
80112         * doc/glibc-functions/getfilecon-desc.texi: New file.
80113         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
80114         which to pull in the new files.
80115         * MODULES.html.sh (Misc): Add selinux-h.
80117 2009-10-08  Jim Meyering  <meyering@redhat.com>
80119         unistd: fix comment typo
80120         * lib/unistd.in.h (euidaccess): Fix a comment typo.
80122 2009-10-08  Eric Blake  <ebb9@byu.net>
80124         areadlink: use SIZE_MAX consistently
80125         * modules/areadlink (Depends-on): Add stdint.
80126         * modules/areadlink-with-size (Depends-on): Likewise.
80127         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
80128         gives NULL; drop sys/types, since unistd gives size_t; and add
80129         stdint for SIZE_MAX.
80130         (SIZE_MAX): Rely on headers.
80131         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
80132         and add stdint.
80133         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
80134         (SIZE_MAX): Likewise.
80135         (INITIAL_BUF_SIZE): Turn into enum.
80136         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
80138 2009-10-08  Jim Meyering  <meyering@redhat.com>
80140         areadlinkat: avoid compilation failure
80141         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
80142         Fix typo in comment.
80144 2009-10-07  Eric Blake  <ebb9@byu.net>
80146         areadlinkat-with-size: new module
80147         * modules/areadlinkat-with-size: New module.
80148         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
80149         * lib/areadlink.h (areadlinkat): Declare it.
80150         * MODULES.html.sh (File system functions): Mention it.
80151         * modules/areadlinkat-with-size-tests: New test.
80152         * tests/test-areadlinkat-with-size.c: New file.
80154         xreadlinkat: new module
80155         * modules/xreadlinkat: New module.
80156         * lib/xreadlinkat.c (xreadlinkat): New file.
80157         * lib/xreadlink.h (xreadlinkat): Declare it.
80158         * MODULES.html.sh (File system functions): Mention it.
80160         areadlinkat: new module
80161         * lib/at-func.c (FUNC_FAIL): New define.
80162         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
80163         * modules/areadlinkat: New module.
80164         * lib/linkat.c (areadlinkat): Move...
80165         * lib/areadlinkat.c (areadlinkat): ...to new file.
80166         * lib/areadlink.h (areadlinkat): Declare it.
80167         * modules/linkat (Depends-on): Add areadlinkat.
80168         * MODULES.html.sh (File system functions): Mention it.
80169         * modules/areadlinkat-tests: New test.
80170         * tests/test-areadlinkat.c: New file.
80172         areadlink, areadlink-with-size: add tests
80173         * modules/areadlink-tests: New test.
80174         * modules/areadlink-with-size-tests: Likewise.
80175         * tests/test-areadlink.h: New file.
80176         * tests/test-areadlink.c: Likewise.
80177         * tests/test-areadlink-with-size.c: Likewise.
80179         maint: minor cleanups
80180         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
80181         _UNUSED_PARAMETER_ instead.
80182         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
80183         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
80184         * modules/linkat-tests (Files): Distribute test-link.h.
80186         openat, utimens: whitespace cleanup
80187         * lib/openat.c: Prefer space throughout, rather than mix of 8
80188         spaces vs. tabs.
80189         * lib/at-func.c: Likewise.
80190         * lib/utimens.c: Likewise.
80192         openat: avoid using wrong fd
80193         * lib/openat.c (openat_permissive): Reject user's fd if saving the
80194         working directory chooses same fd.
80195         * lib/at-func.c (AT_FUNC_NAME): Likewise.
80197         mkdir, mkdirat: fix cygwin 1.5.x bug
80198         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
80199         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
80200         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
80201         bug.
80202         (gl_PREREQ_MKDIR): Delete unused macro.
80203         * modules/mkdir (Files): Track file rename.
80204         (configure.ac): Update macro name.
80205         * modules/openat (Depends-on): Add mkdir.
80206         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
80208         mkdir, mkdirat: add tests
80209         * modules/mkdir-tests: New test.
80210         * tests/test-mkdir.h: New file.
80211         * tests/test-mkdir.c: Likewise.
80212         * tests/test-mkdirat.c: Likewise.
80213         * modules/openat-tests (Files): Add new files.
80214         (Makefile.am): Run new test.
80216 2009-10-06  Eric Blake  <ebb9@byu.net>
80218         doc: tweak *at function documentation
80219         * doc/posix-functions/faccessat.texi (faccessat): Mention
80220         known issue with replacement.
80221         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
80222         * doc/posix-functions/linkat.texi (linkat): Likewise.
80223         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
80224         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
80225         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
80226         * doc/posix-functions/renameat.texi (renameat): Likewise.
80227         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
80229         openat: fix GNU/Hurd bug in unlinkat
80230         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
80231         broken.
80232         * doc/posix-functions/unlink.texi (unlink): Document this.
80233         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
80235         fdopendir: fix GNU/Hurd bug
80236         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
80237         allowing non-directory fds.
80238         * lib/fdopendir.c (rpl_fdopendir): Work around it.
80239         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
80240         * modules/dirent (Makefile.am): Substitute it.
80241         * lib/dirent.in.h (fdopendir): Declare replacement.
80242         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
80243         * tests/test-fdopendir.c (main): Test something other than
80244         /dev/null, since on Hurd that behaves like a directory.
80246         test-symlink: port to GNU/Hurd
80247         * tests/test-symlink.h (test_symlink): Relax expected errno.
80249         doc: tweak more cygwin information
80250         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
80251         now compatible with glibc.
80252         * doc/posix-functions/getopt.texi (getopt): Likewise.
80254         getopt-gnu: add another test
80255         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
80256         guarantee behavior relied on by m4.
80257         * tests/test-getopt.c (main): Use it.
80258         * modules/getopt-posix-tests (Depends-on): Add setenv.
80259         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
80261         getopt: fix compilation on darwin
80262         * lib/getopt.in.h (includes): Leave breadcrumbs during system
80263         include.
80264         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
80265         Reported by Ludovic Courtès.
80267 2009-10-06  Bruno Haible  <bruno@clisp.org>
80269         * modules/size_max (Description): Discourage its use.
80270         Reported by Simon Josefsson.
80272 2009-10-06  Jim Meyering  <meyering@redhat.com>
80274         linkat: avoid compilation failure
80275         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
80277 2009-10-05  Eric Blake  <ebb9@byu.net>
80279         linkat: support Linux 2.6.17
80280         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
80281         linkat on Linux, but allow cache variable override.
80282         * lib/linkat.c (rpl_linkat): Define override.
80283         * modules/linkat (Depends-on): Add symlinkat.
80284         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
80285         * modules/unistd (Makefile.am): Substitute it.
80286         * lib/unistd.in.h (linkat): Declare replacement.
80287         Reported by Pádraig Brady.
80289         quotearg: port test to systems with C.UTF-8 locale
80290         * tests/test-quotearg.c (struct result_strings): Add another
80291         member, differentiating between C.ASCII and C.UTF-8 handling.
80292         (compare_strings): Add parameter.
80293         (main): Adjust all callers.
80295         getopt: avoid clash with FreeBSD _getopt_internal
80296         * lib/getopt.in.h (_getopt_internal): Override the name.
80297         * lib/getopt_int.h (includes): Pick up any overrides.
80298         Reported by Reuben Thomas.
80300         hash: allow C89 compilation
80301         * lib/hash.c (check_tuning): Move declaration before statement.
80302         Reported by Reuben Thomas.
80304 2009-10-05  Karl Berry  <karl@gnu.org>
80306         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
80308 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
80309             Bruno Haible  <bruno@clisp.org>
80311         * lib/uname.c (uname): Use a table-driven algorithm to compute
80312         Windows NT versions.
80314 2009-10-04  Bruno Haible  <bruno@clisp.org>
80316         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
80317         program_invocation_short_name.
80318         * modules/progname (configure.ac): Test for presence of
80319         program_invocation_short_name.
80320         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
80322 2009-10-04  Bruno Haible  <bruno@clisp.org>
80324         * lib/progname.c (set_program_name): Fix comment.
80325         Reported by Jim Meyering.
80327 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
80328             Bruno Haible  <bruno@clisp.org>
80330         * lib/uname.c: Include <string.h>.
80331         (uname): Do only one call to GetVersionEx in the common case.
80333 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
80334             Bruno Haible  <bruno@clisp.org>
80336         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
80337         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
80338         (uname): Add support for Windows CE and various non-x86 CPU types.
80340 2009-10-03  Bruno Haible  <bruno@clisp.org>
80342         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
80343         invocation to tests/configure.ac.
80344         Reported by Ian Beckwith <ianb@erislabs.net>.
80346 2009-10-02  Eric Blake  <ebb9@byu.net>
80348         fchdir: avoid compiler warning
80349         * lib/fchdir.c (canonicalize_file_name)
80350         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
80352         test-open: support mingw errno values
80353         * tests/test-open.h (test_open): Relax test.
80354         * tests/test-fopen.h (test_fopen): Likewise.
80355         * tests/test-openat-safer.c (main): Likewise.
80357         open: fix opening directory on mingw
80358         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
80360         test-open: on GNU/Hurd, /dev/null is a directory
80361         * tests/test-fopen.h (main): Rename...
80362         (test_fopen): ...to this.  Use a guaranteed non-directory when
80363         confirming open behavior on trailing slash.
80364         * tests/test-openat-safer.c (main): Likewise.
80365         * tests/test-open.h (main): Likewise....
80366         (test_open): ...to this.
80367         * tests/test-fopen.c (main): Adjust caller.
80368         * tests/test-fopen-safer.c (main): Likewise.
80369         * tests/test-open.c (main): Likewise.
80370         * tests/test-fcntl-safer.c (main): Likewise.
80371         Reported by Samuel Thibault.
80373         rename, fchdir: don't ignore chdir failure
80374         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
80375         * lib/rename.c (rpl_rename) [W32]: Likewise.
80376         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
80377         an empty destination directory if source cannot be renamed,
80378         although there is still possibility for failure.
80379         * doc/posix-functions/rename.texi (rename): Document the race.
80380         Reported by Jim Meyering.
80382         maint: cleanup whitespace in recent commits
80383         * lib/rename.c (rpl_rename): Remove tabs.
80384         * tests/test-link.h (test_link): Likewise.
80385         * lib/fchdir.c (get_name): Likewise.
80386         Reported by Jim Meyering.
80388 2009-10-02  Ben Pfaff  <blp@gnu.org>
80390         relocatable-prog-wrapper: Add missing dependency on
80391         double-slash-root.
80392         * modules/relocatable-prog-wrapper: Add dependency.
80393         Reported by Ian Beckwith <ianb@erislabs.net>.
80395 2009-10-02  Eric Blake  <ebb9@byu.net>
80397         renameat: fix Solaris bugs
80398         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
80399         needed fixing.
80400         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
80401         * modules/stdio (Makefile.am): Substitute it.
80402         * lib/stdio.in.h (renameat): Declare replacement.
80403         * lib/renameat.c (rpl_renameat): Implement fix.
80405         renameat: new module
80406         * modules/renameat: New file.
80407         * lib/renameat.c (renameat): Likewise.
80408         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
80409         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
80410         * modules/stdio (Makefile.am): Substitute them.
80411         * lib/stdio.in.h (renameat): Declare it.
80412         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80413         * doc/posix-functions/renameat.texi (renameat): Likewise.
80414         * modules/renameat-tests: New test.
80415         * tests/test-renameat.c: Likewise.
80417         rename: fix mingw bugs
80418         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
80419         directory overwrite bugs.
80421         rename: fix another cygwin 1.5 bug
80422         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
80423         checks.
80424         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
80425         unnecessary cygwin workarounds.  Also work around bug with moving
80426         full directory onto an empty one.
80427         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
80429         rename-dest-slash: merge into rename module
80430         * modules/rename-dest-slash (Status): Mark obsolete.
80431         (Depends-on): Add rename.
80432         (Files): Let rename do it all.
80433         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
80434         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
80435         * m4/rename-dest-slash.m4: ...so this file can be deleted.
80436         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
80437         * lib/rename.c (rpl_rename): Update comments.
80439         rename: fix cygwin 1.5.x bugs
80440         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
80441         * lib/rename.c (rpl_rename): Work around them.
80442         * modules/rename (Depends-on): Add same-inode.
80444         rename: fix Solaris 10 bug
80445         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
80446         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
80447         was the only bug.
80449         rename: fix Solaris 9 bug
80450         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
80451         on non-directory.  Avoid calling exit.
80452         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
80453         strdup.
80454         * modules/rename-tests (Depends-on): Drop lstat.
80455         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
80456         (gl_PREREQ_RENAME): Delete unused macro.
80458         rename-dest-slash: fix NetBSD bug
80459         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
80460         links.
80461         * modules/rename-dest-slash (Depends-on): Add same-inode.
80463         rename-tests: new test, exposes several platform bugs
80464         * modules/rename-tests: New file.
80465         * tests/test-rename.h: Likewise.
80466         * tests/test-rename.c: Likewise.
80467         * doc/posix-functions/rename.texi (rename): Improve documentation,
80468         including bugs that will eventually be fixed in gnulib.
80470 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
80472         * lib/uname.c: Include <stdlib.h>
80473         (uname): Assume version info is available.
80475 2009-10-02  Jim Meyering  <meyering@redhat.com>
80477         gnu-web-doc-update: correct --help output
80478         * build-aux/gnu-web-doc-update: Make --help output relevant.
80480         gnu-web-doc-update: add standard options
80481         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
80483         gnu-web-doc-update: New module.
80484         Use this script to automatically update the on-line web documentation
80485         for your GNU project at http://www.gnu.org/software/$pkg/manual/
80486         * modules/gnu-web-doc-update: New file, from coreutils.
80487         * build-aux/gnu-web-doc-update: New script.
80489 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
80491         link: LoadLibrary is not needed.
80492         * lib/link.c: Use GetModuleHandle.
80494 2009-10-01  Eric Blake  <ebb9@byu.net>
80496         getopt: bump serial number
80497         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
80498         change.
80500         tests: tighten link, rmdir, and remove tests
80501         * tests/test-link.h (includes): No need to use <config.h> here.
80502         Clean up if directory hard link was created, otherwise test for
80503         trailing '.'.
80504         * tests/test-linkat.c (main): Simplify.
80505         * tests/test-remove.c (main): Enhance test for trailing '.'.
80506         * tests/test-rmdir.h (test_rmdir_func): Likewise.
80508 2009-10-01  Jim Meyering  <meyering@redhat.com>
80510         maint.mk: requiring "make major" was annoying, for a "minor" release.
80511         What is intended is "stable", to contrast with alpha and beta,
80512         so require "make stable", not "make major".
80513         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
80514         (get_tool_versions): Likewise.
80515         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
80517 2009-09-30  Ben Pfaff  <blp@gnu.org>
80519         Fix broken build of replacement for Windows tmpfile().
80520         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
80521         flags argument added along with the 'mkostemp' module.
80523 2009-09-28  Bruno Haible  <bruno@clisp.org>
80525         Avoid identifier clash with POSIX function 'remove' defined as a macro.
80526         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
80527         to 'remove_elt'.
80528         (gl_list_remove): Update.
80529         * lib/gl_list.c (gl_list_remove): Update.
80530         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
80531         to 'remove_elt'.
80532         (gl_oset_remove): Update.
80533         * lib/gl_list.c (gl_oset_remove): Update.
80534         Reported by Eric Blake.
80536 2009-09-28  Eric Blake  <ebb9@byu.net>
80538         doc: mention yet more cygwin 1.7 status
80539         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
80540         cygwin.
80541         * doc/glibc-functions/execvpe.texi (execvpe): New file.
80542         * doc/gnulib.texi (Glibc unistd.h): Mention it.
80544         argp: fix test failure
80545         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
80546         that are not upper-case.  Pass correct range to tolower.
80548 2009-09-27  Jim Meyering  <meyering@redhat.com>
80550         test-yesno: work around sparc-dash here-document infelicity
80551         Without this change, the literal \177 byte in a here document
80552         would make dash 0.5.5.1-3 access uninitialized memory.
80553         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
80554         Instead, use a marker, "@", and filter through tr to create the desired
80555         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
80557 2009-09-27  Bruno Haible  <bruno@clisp.org>
80559         Disable untested support for new flavours of ACLs on AIX.
80560         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
80561         progress.
80562         * lib/set-mode-acl.c (qset_acl): Likewise.
80564 2008-12-07  Bruno Haible  <bruno@clisp.org>
80566         Add support for new flavours of ACLs on AIX. (Untested.)
80567         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
80568         (file_has_acl): Add support for newer AIX.
80569         * lib/set-mode-acl.c (qset_acl): Likewise.
80570         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
80571         Rainer Tammer <tammer@tammer.net>.
80573 2009-09-26  Eric Blake  <ebb9@byu.net>
80575         argp: fix compilation of getopt
80576         * lib/getopt.in.h (includes): Use different guard than glibc.
80577         Reported by Sergey Poznyakoff.
80579         doc: mention more cygwin 1.7 status
80580         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
80581         bug.
80582         * doc/posix-functions/execl.texi (execl): Likewise.
80583         * doc/posix-functions/execle.texi (execle): Likewise.
80584         * doc/posix-functions/execlp.texi (execlp): Likewise.
80585         * doc/posix-functions/execv.texi (execv): Likewise.
80586         * doc/posix-functions/execve.texi (execve): Likewise.
80587         * doc/posix-functions/execvp.texi (execvp): Likewise.
80588         * doc/glibc-functions/canonicalize_file_name.texi
80589         (canonicalize_file_name): Cygwin 1.7 now provides this.
80590         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
80591         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
80592         on AT_SYMLINK_NOFOLLOW.
80594 2009-09-24  Eric Blake  <ebb9@byu.net>
80596         test-linkat: make test more robust
80597         * tests/test-linkat.c (main): Avoid collision with EEXIST.
80599         getopt: fix inclusion guards for cygwin
80600         * modules/getopt-posix (Depends-on): Add include-next.
80601         (Makefile.am): Substitute more items in replacement header.
80602         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
80603         <getopt.h>.
80604         * lib/getopt.in.h (includes): Use split inclusion guard, and
80605         prefer <getopt.h> over include <unistd.h> when one is present.
80606         (option): Also override name of 'struct option'.
80608         same-inode: revert prior change; it is not yet ready
80609         * NEWS: Undo mention of this change.
80610         * lib/same-inode.h (same-inode.h): Undo tri-state change.
80611         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
80612         * lib/cycle-check.c (cycle_check): Likewise.
80613         * lib/same.c (same_name): Likewise.
80614         * lib/at-func2.c (at_func2): Likewise.
80616 2009-09-23  Eric Blake  <ebb9@byu.net>
80618         linkat: new module
80619         * modules/linkat: New file.
80620         * lib/at-func2.c (at_func2): Likewise.
80621         * lib/linkat.c (linkat): Likewise.
80622         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
80623         * lib/openat-priv.h (at_func2): Add declaration.
80624         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80625         * modules/unistd (Makefile.am): Substitute them.
80626         * lib/unistd.in.h (linkat): Declare it.
80627         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80628         * doc/posix-functions/linkat.texi (linkat): Likewise.
80629         * doc/posix-functions/link.texi (link): Tweak wording.
80630         * tests/test-link.c (main): Move guts...
80631         * tests/test-link.h (test_link): ...into new file.
80632         * modules/linkat-tests: New test.
80633         * tests/test-linkat.c: Likewise.
80634         * modules/link-tests (Files): Ship new file.
80635         (Depends-on): Add stdbool.
80637         dirname: add library-safe mdir_name
80638         * lib/dirname.h (mdir_name): New prototype.
80639         * lib/dirname.c (dir_name): Move guts...
80640         (mdir_name): ...to new function that avoids xalloc_die.
80642         fchdir: another mingw fix
80643         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
80644         * lib/fchdir.c (get_name): New helper method; skips canonicalize
80645         on mingw (where it has not yet been ported), and make it optional
80646         elsewhere.
80647         (_gl_register_fd): Use it.
80649         same-inode: make SAME_INODE tri-state, to port to mingw
80650         * NEWS: Mention this change.
80651         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
80652         st_ino always being 0.
80653         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
80654         * lib/cycle-check.c (cycle_check): Likewise.
80655         * lib/same.c (same_name): Likewise.
80657         lstat: avoid mingw compilation error
80658         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
80659         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
80660         lstat ourselves.
80661         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
80662         was adequate.
80663         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
80664         the checks for lstat.
80665         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
80667         link: fix test failure on Solaris 9
80668         * lib/link.c (rpl_link): Don't assume link will catch bogus
80669         trailing slash on source.
80671         test-symlinkat: enhance test
80672         * tests/test-readlink.c (main): Move guts...
80673         * tests/test-readlink.h (test_readlink): ...into new file.
80674         * tests/test-symlink.c (main): Move guts...
80675         * tests/test-symlink.h (test_symlink): ...into new file.
80676         * tests/test-symlinkat.c (main): Use new files for further
80677         coverage.
80678         (do_symlink, do_readlink): New helper functions.
80679         * modules/symlink-tests (Files): Ship new file.
80680         (Depends-on): Add stdbool.
80681         * modules/readlink-tests (Files): Ship new file.
80682         (Depends-on): Add stdbool.
80683         * modules/symlinkat-tests (Files): Use new files.
80685 2009-09-23  Eric Blake  <ebb9@byu.net>
80687         readlink: document portability issue with symlink length
80688         * doc/posix-functions/lstat.texi (lstat): Mention that some file
80689         systems have bogus st_size on symlinks, and mention the
80690         areadlink-with-size module.
80691         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
80692         * doc/posix-functions/readlink.texi (readlink): Mention the
80693         areadlink module, and ERANGE failure.
80694         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
80695         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
80697         readlink: fix Solaris 9 bug with trailing slash
80698         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
80699         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
80700         * doc/posix-functions/readlink.texi (readlink): Document this.
80701         * modules/readlink-tests: New test.
80702         * tests/test-readlink.c: Likewise.
80704         readlink: fix cygwin 1.5.x bug with return type
80705         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
80706         * lib/unistd.in.h (readlink): Use ssize_t.
80707         * lib/readlink.c (readlink): Likewise.
80708         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80709         * modules/unistd (Makefile.am): Substitute it.
80710         * lib/unistd.in.h (readlink): Declare replacement.
80711         * doc/posix-functions/readlink.texi (readlink): Document this.
80713         symlink: use throughout gnulib
80714         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
80715         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
80716         symlink is not used.
80717         * modules/symlinkat (Depends-on): Add symlink.
80718         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
80719         * modules/canonicalize-tests (Depends-on): Likewise.
80720         * modules/lstat-tests (Depends-on): Likewise.
80721         * modules/openat-tests (Depends-on): Likewise.
80722         * modules/remove-tests (Depends-on): Likewise.
80723         * modules/rmdir-tests (Depends-on): Likewise.
80724         * modules/unlink-tests (Depends-on): Likewise.
80725         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
80726         * tests/test-canonicalize.c (symlink): Likewise.
80727         * tests/test-fstatat.c (symlink): Likewise.
80728         * tests/test-lstat.c (symlink): Likewise.
80729         * tests/test-remove.c (symlink): Likewise.
80730         * tests/test-rmdir.c (symlink): Likewise.
80731         * tests/test-unlink.c (symlink): Likewise.
80732         * tests/test-unlinkat.c (symlink): Likewise.
80734         symlink: new module, for Solaris 9 bug
80735         * modules/symlink: New file.
80736         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
80737         * lib/symlink.c: Likewise.
80738         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
80739         * modules/unistd (Makefile.am): Substitute them.
80740         * lib/unistd.in.h (symlink): Declare replacement.
80741         * MODULES.html.sh (File system functions): Mention it.
80742         * doc/posix-functions/symlink.texi (symlink): Likewise.
80743         * modules/symlink-tests: New test.
80744         * tests/test-symlink.c: Likewise.
80746 2009-09-23  Bruno Haible  <bruno@clisp.org>
80748         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
80749         when needed.
80750         Test case: gnulib-tool --import --with-tests atexit inttypes.
80751         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
80753 2009-09-23  Bruno Haible  <bruno@clisp.org>
80755         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
80756         subcommand, not in a subshell.
80758 2009-09-22  Eric Blake  <ebb9@byu.net>
80760         unistd: sort replacement declarations
80761         * lib/unistd.in.h: Sort declarations.
80763         open, openat: minor optimization
80764         * lib/open.c (open): If open succeeded, len is non-zero.
80765         * lib/openat.c (rpl_openat): Likewise.
80767         link-follow: ensure correct result
80768         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
80769         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
80770         distinguish between possible failures.
80772 2009-09-21  Eric Blake  <ebb9@byu.net>
80774         fts: avoid compiler warning
80775         * lib/fts.c (dirent_inode_sort_may_be_useful)
80776         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
80778 2009-09-19  Bruno Haible  <bruno@clisp.org>
80780         * lib/progreloc.c (canonicalize_file_name): New declaration.
80782 2009-09-19  Eric Blake  <ebb9@byu.net>
80784         link: fix quoting
80785         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
80787         openat: fix openat bugs on Solaris 9
80788         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
80789         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
80790         * modules/openat (Depends-on): Add open.
80791         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
80792         * modules/fcntl-h (Makefile.am): Substitute it.
80793         * lib/fcntl.in.h (openat): Declare replacement.
80794         * doc/posix-functions/openat.texi (openat): Document this.
80796         openat: move fstatat and unlinkat into correct files
80797         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
80798         compiled.
80799         * lib/openat.c (fstatat, unlinkat): Move...
80800         * lib/fstatat.c (fstatat): ...into correct files.
80801         * lib/unlinkat.c (unlinkat): Likewise.
80803         openat: fix unlinkat bugs on Solaris 9
80804         * lib/unlinkat.c (unlinkat): New file.
80805         * modules/openat (Depends-on): Add unlink.
80806         (Files): Distribute it.
80807         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
80808         trailing slash behavior is broken.
80809         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80810         * modules/unistd (Makefile.am): Substitute it.
80811         * lib/unistd.in.h (unlinkat): Declare replacement.
80812         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
80814         openat: fix fstatat bugs on Solaris 9
80815         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
80816         stat.
80817         * doc/posix-functions/fstatat.texi (fstatat): Document this.
80819         test-unlinkat: enhance test, to expose Solaris 9 bug
80820         * tests/test-unlink.c (main): Factor guts...
80821         * tests/test-unlink.h (test_rmdir_func): ...into new file.
80822         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
80823         * tests/test-rmdir.c (main): Adjust caller.
80824         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
80825         (unlinker): New helper function.
80826         (rmdirat): Enhance check.
80827         * modules/rmdir-tests (Depends-on): Add stdbool.
80828         * modules/unlink-tests (Depends-on): Likewise.
80829         (Files): Add test-unlink.h.
80830         * modules/openat-tests (Files): Likewise.
80831         (Depends-on): Add unlinkdir.
80833         test-fstatat: new test, to expose Solaris 9 bugs
80834         * tests/test-stat.c (main): Factor guts...
80835         * tests/test-stat.h (test_stat_func): ...into new file.
80836         * tests/test-lstat.c (main): Factor guts...
80837         * tests/test-lstat.h (test_lstat_func): ...into new file.
80838         * tests/test-fstatat.c: New file.
80839         * modules/stat-tests (Files): Add test-stat.h.
80840         * modules/lstat-tests (Files): Add test-lstat.h.
80841         (Depends-on): Add stdbool.
80842         * modules/openat-tests (Depends-on): Add pathmax.
80843         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
80844         (Makefile.am): Run new test.
80846         remove: new module, for mingw and Solaris 9 bugs
80847         * modules/remove: New file.
80848         * lib/remove.c: Likewise.
80849         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
80850         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
80851         * modules/stdio (Makefile.am): Use them.
80852         * lib/stdio.in.h (remove): Declare replacement.
80853         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80854         * doc/posix-functions/remove.texi (remove): Likewise.
80855         * modules/remove-tests: New test.
80856         * tests/test-remove.c: Likewise.
80858         unlink: new module, for Solaris 9 bug
80859         * modules/unlink: New file.
80860         * lib/unlink.c: Likewise.
80861         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
80862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80863         * modules/unistd (Makefile.am): Use them.
80864         * lib/unistd.in.h (stat): Declare replacement.
80865         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80866         * doc/posix-functions/unlink.texi (unlink): Likewise.
80867         * modules/unlink-tests: New test.
80868         * tests/test-unlink.c: Likewise.
80870         lstat: fix Solaris 9 bug
80871         * lib/lstat.c (lstat): Also check for trailing slash on
80872         non-symlink, non-directories.  Use stat module to simplify logic.
80873         * doc/posix-functions/lstat.texi (lstat): Document it.
80874         * modules/lstat-tests (Depends-on): Add errno, same-inode.
80875         (configure.ac): Check for symlink.
80876         * tests/test-lstat.c (main): Add more tests.
80878         stat: add as dependency to other modules
80879         * modules/chown (Depends-on): Add stat.
80880         * modules/euidaccess (Depends-on): Likewise.
80881         * modules/fchdir (Depends-on): Likewise.
80882         * modules/isdir (Depends-on): Likewise.
80883         * modules/link (Depends-on): Likewise.
80884         * modules/lstat (Depends-on): Likewise.
80885         * modules/mkdir-p (Depends-on): Likewise.
80886         * modules/modechange (Depends-on): Likewise.
80887         * modules/open (Depends-on): Likewise.
80888         * modules/readlink (Depends-on): Likewise.
80889         * modules/same (Depends-on): Likewise.
80891         stat: fix Solaris 9 bug
80892         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
80893         slash.
80894         * lib/stat.c (rpl_stat): Work around it.
80895         * doc/posix-functions/stat.texi (stat): Update documentation.
80897         stat: new module, for mingw bug
80898         * modules/stat: New file.
80899         * lib/stat.c: Likewise.
80900         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
80901         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
80902         * modules/sys_stat (Makefile.am): Use them.
80903         * lib/sys_stat.in.h (stat): Declare replacement.
80904         * lib/openat.c (fstatat): Deal with lstat and stat being function
80905         macros.
80906         * modules/openat (Depends-on): Add inline.
80907         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80908         * doc/posix-functions/stat.texi (stat): Likewise.
80909         * modules/stat-tests: New test.
80910         * tests/test-stat.c: Likewise.
80912 2009-09-19  Jim Meyering  <meyering@redhat.com>
80914         syntax-check: detect unnecessary inclusion of canonicalize.h
80915         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
80917 2009-09-19  Eric Blake  <ebb9@byu.net>
80919         canonicalize-lgpl: adjust clients to use correct header
80920         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
80921         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
80922         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
80923         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
80924         * lib/progreloc.c (includes): Likewise.
80926 2009-09-19  Jim Meyering  <meyering@redhat.com>
80928         test-posixtm.c: correct a comment
80929         * tests/test-posixtm.c: Correct first-line comment.
80930         Spotted by Eric Blake.
80932 2009-09-16  Jim Meyering  <meyering@redhat.com>
80934         posixtm-tests: make T const-correct; add a test case
80935         * tests/test-posixtm.c (T): Declare const.
80936         Add a test for -(2^31+1).
80937         Remove useless can-succeed-only-in-2002 test.
80939         posixtm-tests: adjust the sole failing test
80940         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
80941         expected output matches what mktime now produces.  Cross-checked via
80942         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
80944         posixtm: move #ifdef'd tests into a new module
80945         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
80946         * tests/test-posixtm.c: ... this new file.
80947         * modules/posixtm-tests: New module.
80949 2009-09-19  Eric Blake  <ebb9@byu.net>
80951         openat: simplify use of at-func.c
80952         * lib/at-func.c (includes): Include prerequisites here, to
80953         simplify requirements on client files.
80954         * lib/openat-priv.h: Add double-inclusion guard.
80955         * lib/faccessat.c (includes): Simplify.
80956         * lib/fchmodat.c (includes): Likewise.
80957         * lib/fchownat.c (includes): Likewise.
80958         * lib/mkdirat.c (includes): Likewise.
80959         * lib/mkfifoat.c (includes): Likewise.
80960         * lib/symlinkat.c (includes): Likewise.
80962         openat: allow return of fd 0
80963         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
80964         * modules/save-cwd (Depends-on): Replace fcntl-safer with
80965         unistd-safer.
80966         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
80967         <fcntl.h>; this module does not leak fds.
80968         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
80969         must be allowed to return 0, leaving openat_safer to add the
80970         safety.
80971         (openat_permissive): Avoid writing to just-opened fd 2 if
80972         restoring the current directory fails.
80973         * lib/openat-die.c (openat_restore_fail): Add comment.
80974         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
80975         (save_cwd): Guarantee safe fd, but without use of open_safer.
80976         * tests/test-openat.c: New test.
80977         * modules/openat-tests (Files, Makefile.am): Distribute and build
80978         new file.
80980         relocatable-prog-wrapper: fix build
80981         * modules/relocatable-prog-wrapper (Files): Update name of
80982         canonicalize m4 file, broken on 2009-09-17.
80983         Reported by emad hajjar <aleppos@hotmail.com>.
80985 2009-09-19  Bruno Haible  <bruno@clisp.org>
80987         * lib/safe-alloc.h: Use the standard header with GPL copyright.
80988         * lib/safe-alloc.c: Likewise.
80989         Reported by Ian Beckwith <ianb@erislabs.net>.
80991 2009-09-18  Bruno Haible  <bruno@clisp.org>
80993         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
80994         Reported by <erobles@sensacd.com.mx>.
80996 2009-09-17  Eric Blake  <ebb9@byu.net>
80998         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
80999         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
81000         slashes when checking if last component is missing.
81001         * tests/test-canonicalize.c (main): Test this.
81003         canonicalize, canonicalize-lgpl: honor // if distinct from /
81004         * modules/canonicalize (Files): Add double-slash-root.m4.
81005         * modules/canonicalize-lgpl (Files): Likewise.
81006         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
81007         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
81008         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
81009         fallback definition.
81010         (canonicalize_filename_mode): Use it to protect //.
81011         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
81012         (__realpath): Likewise.
81013         * tests/test-canonicalize.c (main): Test this.
81014         * tests/test-canonicalize-lgpl.c (main): Likewise.
81015         * modules/canonicalize-tests (Depends-on): Add same-inode.
81016         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
81018         canonicalize-lgpl: fix glibc bug with trailing slash
81019         * m4/canonicalize-lgpl.m4: Move contents...
81020         * m4/canonicalize.m4: ...here.
81021         (gl_CANONICALIZE_LGPL): Factor realpath check...
81022         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
81023         glibc 2.3.5 bug, fixed 2005-04-27.
81024         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
81025         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
81026         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
81027         * modules/canonicalize-lgpl (Files): Manage file rename.
81028         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
81029         * modules/stdlib (Makefile.am): Substitute witness.
81030         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
81031         is needed.
81032         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
81033         replacement is required.
81034         * lib/canonicalize.c (canonicalize_file_name): Likewise.
81035         * doc/glibc-functions/canonicalize_file_name.texi
81036         (canonicalize_file_name): Document this.
81037         * doc/posix-functions/realpath.texi (realpath): Likewise.
81039         canonicalize-lgpl: reject non-directory with trailing slash
81040         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
81041         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
81042         catches failures in glibc 2.3.5.
81043         * tests/test-canonicalize.c (main): Likewise.
81045         canonicalize-lgpl: use native realpath if it works
81046         * lib/canonicalize-lgpl.c (realpath): Guard with
81047         FUNC_REALPATH_WORKS.
81048         * lib/stdlib.in.h (realpath): Make declaration optional based on
81049         HAVE_REALPATH.
81050         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
81051         native realpath works.
81052         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
81053         * modules/stdlib (Makefile.am): Substitute witness.
81055         canonicalize, canonicalize-lgpl: use <stdlib.h>
81056         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
81057         (Include): Mention <stdlib.h>.
81058         (configure.ac): Mention functions we provide.
81059         * modules/canonicalize (configure.ac): Likewise.
81060         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
81061         realpath if canonicalize_file_name is missing.
81062         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
81063         * modules/stdlib (Makefile.am): Substitute witnesses.
81064         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
81065         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
81066         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
81067         * NEWS: Document this.
81068         * doc/glibc-functions/canonicalize_file_name.texi
81069         (canonicalize_file_name): Likewise.
81070         * doc/posix-functions/realpath.texi (realpath): Likewise.
81071         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
81073         test-canonicalize: consolidate into single C program
81074         * tests/test-canonicalize.sh: Delete; move setup into...
81075         * tests/test-canonicalize.c (main): ...the program, making it
81076         easier to run in debugger.  Add some tests.
81077         * modules/canonicalize-tests (Files): Remove unused file.
81078         (Depends-on): Add progname.
81079         (configure.ac, Makefile.am): Simplify.
81081         test-canonicalize-lgpl: consolidate into single C program
81082         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
81083         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
81084         easier to run in debugger.  Add some tests.
81085         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
81086         (configure.ac, Makefile.am): Simplify.
81088         canonicalize: avoid resolvepath
81089         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
81090         unnecessary checks.
81091         * lib/canonicalize.c (includes): Simplify.
81092         (canonicalize_file_name): Drop resolvepath implementation.
81093         * modules/canonicalize (Depends-on): Drop filenamecat.
81095         canonicalize: don't lose errno
81096         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
81097         over calls to free.
81099         canonicalize: simplify errno handling
81100         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
81101         assignment.
81103         canonicalize, canonicalize-lgpl: update module dependencies
81104         * modules/canonicalize (Depends-on): Add extensions, lstat,
81105         pathmax, stdlib.
81106         (Files): Drop pathmax.h.
81107         (configure.ac): Adjust macro name.
81108         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
81109         lstat, stdlib, sys_stat.
81110         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
81111         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
81112         extensions.
81113         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
81114         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
81115         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
81116         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
81117         declaration, if available.
81118         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
81119         we can rely on the readlink module.
81120         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
81121         (includes): Use <unistd.h> unconditionally.
81123 2009-09-17  Eric Blake  <ebb9@byu.net>
81125         maint: make Include sections of modules consistent
81126         * modules/alloca: Use only header name; no need to list #include.
81127         * modules/alloca-opt: Likewise.
81128         * modules/arpa_inet: Likewise.
81129         * modules/canon-host: Likewise.
81130         * modules/configmake: Likewise.
81131         * modules/dirent: Likewise.
81132         * modules/eealloc: Likewise.
81133         * modules/environ: Likewise.
81134         * modules/fchdir: Likewise.
81135         * modules/fcntl: Likewise.
81136         * modules/fcntl-h: Likewise.
81137         * modules/gethrxtime: Likewise.
81138         * modules/gettime: Likewise.
81139         * modules/ignore-value: Likewise.
81140         * modules/inet_ntop: Likewise.
81141         * modules/inet_pton: Likewise.
81142         * modules/inttypes: Likewise.
81143         * modules/isnand-nolibm: Likewise.
81144         * modules/isnanf-nolibm: Likewise.
81145         * modules/mbchar: Likewise.
81146         * modules/mbfile: Likewise.
81147         * modules/mbiter: Likewise.
81148         * modules/mbuiter: Likewise.
81149         * modules/netdb: Likewise.
81150         * modules/netinet_in: Likewise.
81151         * modules/nproc: Likewise.
81152         * modules/pagealign_alloc: Likewise.
81153         * modules/poll: Likewise.
81154         * modules/printf-frexp: Likewise.
81155         * modules/pthread: Likewise.
81156         * modules/putenv: Likewise.
81157         * modules/random_r: Likewise.
81158         * modules/relocatable-prog: Likewise.
81159         * modules/search: Likewise.
81160         * modules/select: Likewise.
81161         * modules/selinux-h: Likewise.
81162         * modules/settime: Likewise.
81163         * modules/signal: Likewise.
81164         * modules/size_max: Likewise.
81165         * modules/socklen: Likewise.
81166         * modules/ssize_t: Likewise.
81167         * modules/stdarg: Likewise.
81168         * modules/stdbool: Likewise.
81169         * modules/stddef: Likewise.
81170         * modules/stdint: Likewise.
81171         * modules/stdio: Likewise.
81172         * modules/stdlib: Likewise.
81173         * modules/string: Likewise.
81174         * modules/strings: Likewise.
81175         * modules/sys_file: Likewise.
81176         * modules/sys_ioctl: Likewise.
81177         * modules/sys_select: Likewise.
81178         * modules/sys_socket: Likewise.
81179         * modules/sys_stat: Likewise.
81180         * modules/sys_time: Likewise.
81181         * modules/sys_times: Likewise.
81182         * modules/sys_utsname: Likewise.
81183         * modules/sys_wait: Likewise.
81184         * modules/sysexits: Likewise.
81185         * modules/time: Likewise.
81186         * modules/times: Likewise.
81187         * modules/tmpfile: Likewise.
81188         * modules/trim: Likewise.
81189         * modules/unistd: Likewise.
81190         * modules/wchar: Likewise.
81191         * modules/wctype: Likewise.
81193 2009-09-17  Bruno Haible  <bruno@clisp.org>
81195         Make getdate.y compile on QNX and NetBSD 5 / i386.
81196         * m4/getdate.m4 (gl_GETDATE): Conditionally define
81197         TIME_T_FITS_IN_LONG_INT.
81198         * lib/getdate.y (long_time_t): New type.
81199         (relative_time): Change type of 'seconds' field to long_time_t.
81200         (get_date): Update types of local variables. Check against overflow
81201         during conversion from long_time_t to time_t.
81202         Reported by Matt Kraai <kraai@ftbfs.org>
81203         and Hasso Tepper <hasso@netbsd.org>.
81205 2009-09-17  Bruno Haible  <bruno@clisp.org>
81207         * modules/COPYING: Update copyright years.
81208         * modules/README: Likeiwse.
81209         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
81210         Reported by Ian Beckwith <ianb@erislabs.net>.
81212 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
81214         * users.txt: Update references for gnuit package.
81216 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
81218         * m4/getdelim.m4: Fix typo in copyright line.
81220 2009-09-17  Bruno Haible  <bruno@clisp.org>
81222         * lib/atoll.c: Use the standard header with GPL copyright.
81223         * lib/argz.in.h: Likewise.
81224         * lib/glob.c: Likewise.
81225         * lib/glob-libc.h: Likewise.
81226         * lib/random_r.c: Likewise.
81227         * lib/siglist.h: Likewise.
81228         * lib/strsignal.c: Likewise.
81229         Reported by Ian Beckwith <ianb@erislabs.net>.
81231 2009-09-17  Eric Blake  <ebb9@byu.net>
81233         rmdir: ensure correct dependency order
81234         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
81236 2009-09-17  Bruno Haible  <bruno@clisp.org>
81238         Disable assertion that fails on NetBSD 5 / i386.
81239         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
81240         Reported by Sam Steingold <sds@gnu.org>
81241         and Hasso Tepper <hasso@netbsd.org>.
81243 2009-09-16  Eric Blake  <ebb9@byu.net>
81245         unlinkdir: port to mingw
81246         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
81247         on which no one can unlink a directory.
81249         stdlib: sort witness names
81250         * modules/stdlib (Makefile.am): Sort replacements.
81251         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
81252         * lib/stdlib.in.h: Likewise.
81254         parse-duration-tests: avoid link failure
81255         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
81256         LIBINTL.
81257         Reported by Tom G. Christensen.
81259         openat-tests: ensure unlinkat behaves like rmdir
81260         * tests/test-rmdir.c (main): Factor guts...
81261         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
81262         * modules/rmdir-tests (Files): Ship new file.
81263         * modules/openat-tests: New test.
81264         * tests/test-unlinkat.c: Likewise.
81266         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
81267         * modules/rmdir-errno (Status, Notice): Now obsolete.
81269         rmdir: work around cygwin 1.5.x and mingw bugs
81270         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
81271         * lib/rmdir.c (rmdir): Work around it.
81272         * modules/rmdir (Status, Notice): No longer obsolete.
81273         (Files): Add dos.m4.
81274         (Depends-on): Add unistd.
81275         (configure.ac): Set witnesses.
81276         (License): Relax to LGPLv2+.
81277         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
81278         * modules/unistd (Makefile.am): Substitute witnesses.
81279         * lib/unistd.in.h (rmdir): Declare replacement.
81280         * doc/posix-functions/rmdir.texi (rmdir): Document this.
81281         * modules/rmdir-tests: New tests.
81282         * tests/test-rmdir.c: Likewise.
81284 2009-09-15  Eric Blake  <ebb9@byu.net>
81286         fchdir: improve use of replacement functions
81287         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
81288         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
81289         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
81290         REPLACE_CLOSEDIR.
81291         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
81292         * modules/sys_stat (Makefile.am): Substitute correct witness.
81293         * modules/dirent (Makefile.am): Likewise.
81294         * modules/unistd (Makefile.am): Likewise.
81295         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
81296         * lib/unistd.in.h (dup): Likewise.
81297         * lib/sys_stat.in.h (fstat): Likewise.
81299         maint: ignore gnulib-tool temp files
81300         * .gitignore: Ignore files created during gnulib-tool --test.
81302 2009-09-13  Jim Meyering  <meyering@redhat.com>
81304         posixtm: don't reject a time that specify "60" as the number of seconds
81305         * lib/posixtm.c (posixtime): The code to reject invalid dates
81306         would also reject a time specified with the .60 suffix.
81307         But POSIX allows that, in order to accommodate leap seconds.
81308         So don't reject it.
81309         (main): Adjust tests accordingly.
81310         * modules/posixtm (Depends-on): Add stpcpy.
81312 2009-09-11  Jim Meyering  <meyering@redhat.com>
81314         announce-gen: include [$release_type] in emitted Subject:
81315         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
81316         e.g., [stable] in the emitted Subject: line.
81318 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81320         Remove obsolete macros from several modules.
81321         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
81322         obsolete Autoconf macros with their modern counterparts.
81323         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
81324         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
81325         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
81326         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
81327         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
81328         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
81329         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
81330         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
81331         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
81332         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
81333         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
81334         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
81335         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
81336         * m4/sockets.m4 (gl_SOCKETS): Likewise.
81337         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
81338         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
81339         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
81340         * m4/time_r.m4 (gl_TIME_R): Likewise.
81341         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
81342         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
81343         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
81345         Fix copyright header in build-aux scripts.
81346         * build-aux/git-version-gen: Fix copyright header to match GPLv3
81347         recommendation.
81348         * build-aux/ncftpput-ftp: Likewise.
81349         * build-aux/update-copyright: Likewise.
81351 2009-09-09  Eric Blake  <ebb9@byu.net>
81353         test-link: allow Linux choice of errno
81354         * tests/test-link.c (main): Relax test for alternate error.
81356         strndup: fix improper m4 caching
81357         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
81358         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
81359         (gl_PREREQ_STRNDUP): Delete.
81360         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
81361         * modules/string (Makefile.am): Substitute it.
81362         * lib/string.in.h (strndup): Modernize prototype.
81364         getcwd: port to mingw
81365         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
81366         different from the POSIX assumptions made throughout the getcwd
81367         module; fortunately, the mingw getcwd does not need replacement.
81368         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
81369         * modules/getcwd-tests: New test.
81370         * tests/test-getcwd.c: Likewise.
81372         link: fix platform bugs
81373         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
81374         * lib/link.c (link): Work around them.  Fix related mingw bug.
81375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
81376         * modules/unistd (Makefile.am): Substitute it.
81377         * lib/unistd.in.h (link): Declare replacement.
81378         * doc/posix-functions/link.texi (link): Document this.
81379         * modules/link (Depends-on): Add strdup-posix, sys_stat.
81381         test-link: consolidate into single C program, test more cases
81382         * tests/test-link.sh: Delete.
81383         * tests/test-link.c: Test more error conditions.  Exposes bugs on
81384         at least Cygwin and Solaris.
81385         * modules/link-tests (Files): Remove unused file.
81386         (Depends-on): Add errno, sys_stat.
81387         (Makefile.am): Simplify.
81389 2009-09-08  Bruno Haible  <bruno@clisp.org>
81391         Work around towlower, towupper bug on mingw.
81392         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
81393         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
81394         * doc/posix-functions/towlower.texi: Mention the mingw bug.
81395         * doc/posix-functions/towupper.texi: Likewise.
81396         Reported by Eric Blake.
81398 2009-09-08  Jim Meyering  <meyering@redhat.com>
81400         build: don't try to run autoheader if we don't use it
81401         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
81402         is not used in configure.ac.
81404 2009-09-08  Eric Blake  <ebb9@byu.net>
81406         euidaccess: fix compilation error
81407         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
81409         rawmemchr: relax license
81410         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
81411         okay.
81412         Reported by Jim Meyering.
81414         mkfifoat: new module
81415         * modules/mkfifoat: New file.
81416         * lib/mkfifoat.c: Likewise.
81417         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
81418         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
81419         * modules/sys_stat (Makefile.am): Use them.
81420         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
81421         * MODULES.html.sh (File system functions): Mention module.
81422         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
81423         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
81424         * modules/mkfifoat-tests: New test.
81425         * tests/test-mkfifoat.c: Likewise.
81427         strchrnul: relax license
81428         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
81429         okay.
81430         Reported by Jim Meyering.
81432 2009-09-08  Eric Blake  <ebb9@byu.net>
81434         fstatat: fix compilation on Solaris
81435         * lib/fstatat.c (includes): Add fcntl.h.
81436         Reported by Pádraig Brady.
81438 2009-09-07  Eric Blake  <ebb9@byu.net>
81440         rename: modernize replacement
81441         * modules/rename (Depends-on): Add stdio.
81442         (configure.ac): Declare witness.
81443         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
81444         stdio take care of replacement.
81445         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
81446         * modules/stdio (Makefile.am): Substitute them.
81447         * lib/stdio.in.h (rename): Declare replacement.
81448         * lib/rename.c (includes): Allow cross-compilation to non-windows
81449         machines.
81450         * doc/posix-functions/rename.texi (rename): Improve
81451         documentation.
81453         stdio: sort witness names
81454         * modules/stdio (Makefile.am): Sort replacements.
81455         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
81456         * lib/stdio.in.h: Likewise.
81458         getcwd: minor cleanups
81459         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
81460         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
81462         openat: provide more convenience names
81463         * modules/faccessat (configure.ac): Add C witness.
81464         * lib/unistd.in.h (readlinkat): Fix typo.
81465         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
81466         convenience wrappers.
81467         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
81468         wrappers in syntax checks.
81470 2009-09-06  Eric Blake  <ebb9@byu.net>
81472         doc: fix comments in recent patches
81473         * lib/faccessat.c: Mention correct function.
81474         * lib/fchmodat.c: Likewise.
81475         * lib/fchownat.c: Likewise.
81476         * lib/symlinkat.c: Likewise.
81477         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
81478         constants.
81480         faccessat, symlinkat: continue cleanup of previous patch
81481         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
81482         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
81483         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
81484         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
81485         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
81486         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
81487         set.
81489 2009-09-06  Bruno Haible  <bruno@clisp.org>
81491         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
81492         (fstatat): Declare if GNULIB_FSTATAT is set.
81493         (mkdirat): Declare if GNULIB_MKDIRAT is set.
81494         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
81495         (unlinkat): Declare if GNULIB_UNLINKAT is set.
81496         * modules/fcntl-h (Files): Remove m4/openat.m4.
81497         * modules/sys_stat (Files): Remove m4/openat.m4.
81498         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
81499         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
81500         * modules/unistd (Files): Remove m4/openat.m4.
81501         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
81502         GNULIB_OPENAT.
81503         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
81504         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
81505         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
81506         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
81507         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
81508         gl_OPENAT_DEFAULTS.
81509         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
81510         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
81511         Don't require gl_OPENAT_DEFAULTS.
81512         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
81513         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
81514         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
81515         (gl_OPENAT_DEFAULTS): Remove macro.
81517 2009-09-06  Bruno Haible  <bruno@clisp.org>
81519         * modules/openat (configure.ac): Remove unneeded witness.
81521 2009-09-06  Bruno Haible  <bruno@clisp.org>
81523         Set errno to ENOSYS when a function is entirely unsupported.
81524         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
81525         EOPNOTSUPP.
81526         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
81527         * modules/chown (Depends-on): Remove errno.
81529 2009-09-06  Bruno Haible  <bruno@clisp.org>
81531         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
81533 2009-09-06  Bruno Haible  <bruno@clisp.org>
81535         * lib/sys_stat.in.h: Fix preprocessor command indentation.
81537 2009-09-06  Ben Pfaff  <blp@gnu.org>
81538             Bruno Haible  <bruno@clisp.org>
81540         Work around a glibc bug in strtok_r.
81541         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
81542         Undefine if UNDEFINE_STRTOK_R is set.
81543         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
81544         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
81545         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
81546         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
81547         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
81548         UNDEFINE_STRTOK_R.
81549         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
81551 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
81553         exclude: minor fix
81554         * lib/exclude.c: Include wctype.h
81556 2009-09-06  Akim Demaille  <demaille@gostai.com>
81558         bootstrap: improve error message
81559         * build-aux/bootstrap (find_tool): Upon failure, report the list
81560         of candidates.
81561         Honor the initial value of the envvar.
81563 2009-09-05  Eric Blake  <ebb9@byu.net>
81565         symlinkat: new module
81566         * modules/symlinkat: New file.
81567         * lib/symlinkat.c: Likewise.
81568         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
81569         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
81570         * modules/unistd (Makefile.am): Use them.
81571         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
81572         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
81573         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
81574         * MODULES.html.sh (File system functions): Mention module.
81575         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
81576         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
81577         * modules/symlinkat-tests: New test.
81578         * tests/test-symlinkat.c: Likewise.
81580         test-openat-safer: add more checks
81581         * tests/test-openat-safer.c (main): Check more code paths.
81583 2009-09-05  Jim Meyering  <meyering@redhat.com>
81585         syntax-check: detect unnecessary inclusion of openat.h
81586         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
81588 2009-09-05  Bruno Haible  <bruno@clisp.org>
81590         Support towlower, towupper.
81591         * doc/posix-functions/towlower.texi: Mention module wctype.
81592         * doc/posix-functions/towupper.texi: Likewise.
81593         * lib/wctype.in.h (towlower, towupper): New functions.
81594         * tests/test-wctype.c: Include stdio.h, stdlib.h.
81595         (ASSERT): New macro.
81596         (e): New variable.
81597         (main): Test also towlower, towupper. Test WEOF argument.
81598         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
81600 2009-09-05  Bruno Haible  <bruno@clisp.org>
81602         Fix conversion behaviour when the input is invalid.
81603         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
81604         mark occurring in first pass of indirect conversion.
81605         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
81606         input.
81607         Found by clang's static analyzer.
81609 2009-09-05  Bruno Haible  <bruno@clisp.org>
81611         * tests/test-striconveh.c (main): Test indirect conversion on platforms
81612         where direct conversion is possible.
81614 2009-09-04  Eric Blake  <ebb9@byu.net>
81616         openat: fail with ENOENT on empty name
81617         * lib/openat-proc.c (openat_proc_name): Special-case the empty
81618         buffer.
81620         link-follow: fix logic bug in prior patch
81621         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
81622         reversed sense of yes and no in prior patch.  Avoid confusing
81623         compilation failure with desired semantics.
81625         link-follow: accommodate mingw and cross-compilation
81626         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
81627         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
81628         cross-compilation results to -1, to make linkat easier to
81629         implement when cross-compiling.  Trivially support mingw.
81630         * modules/link-follow (configure.ac): Call new name.
81631         * NEWS: Mention this.
81633 2009-09-03  Eric Blake  <ebb9@byu.net>
81635         faccessat: compile replacement
81636         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
81637         needed.
81639         fts: fix compilation error
81640         * lib/fts.c (includes): Re-add "openat.h", for
81641         openat_needs_fchdir.
81643         faccessat: new module
81644         * modules/faccessat: New file.
81645         * lib/faccessat.c: Likewise.
81646         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
81647         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
81648         * modules/unistd (Makefile.am): Use it.
81649         * lib/unistd.in.h (faccessat): Declare it.
81650         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
81651         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
81652         * MODULES.html.sh (File system functions): Mention it.
81653         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
81654         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
81656         euidaccess: prefer POSIX over non-standard implementation
81657         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
81658         * lib/euidaccess.c (euidaccess): Use it if available.
81660         openat: make template easier to use
81661         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
81662         AT_FUNC_F2 to be undefined.
81663         (VALIDATE_FLAG): New macro; use it to reject bad flags.
81664         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
81665         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
81666         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
81667         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
81668         Likewise.
81669         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
81670         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
81671         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
81672         Likewise.
81674         openat: declare in POSIX headers
81675         * NEWS: Mention this.
81676         * modules/openat (configure.ac): Declare witnesses.
81677         (Depends-on): Add fcntl-h, sys_stat, unistd.
81678         (Include): Mention correct headers.
81679         * modules/fcntl-h (Depends-on): Add link-warning.
81680         (Files): Add openat.m4.
81681         (Makefile.am): Substitute witnesses.
81682         * modules/sys_stat (Files, Makefile.am): Likewise.
81683         * modules/unistd (Files, Makefile.am): Likewise.
81684         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
81685         (gl_OPENAT_DEFAULTS): New macro.
81686         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
81687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
81688         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
81689         (SYS_STAT_H): Remove unused variable.
81690         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
81691         * lib/fcntl--.h (includes): Remove unneeded header.
81692         * lib/openat-safer.c (includes): Likewise.
81693         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
81694         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
81695         appropriate headers.
81696         (__OPENAT_PREFIX): Delete.
81697         * lib/fcntl.in.h (openat): Provide declaration.
81698         (AT_FDCWD): Fix Solaris bug.
81699         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
81700         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
81701         * lib/fchmodat.c (includes):  Adjust to find declaration.
81702         * lib/fchownat.c (includes): Likewise.
81703         * lib/mkdirat.c (includes): Likewise.
81704         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
81705         still visible.
81707 2009-09-02  Eric Blake  <ebb9@byu.net>
81709         errno: use consistently
81710         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
81711         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
81712         * lib/canonicalize.c (ELOOP): Likewise.
81713         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
81714         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
81715         * lib/lchown.c (EOPNOTSUPP): Likewise.
81716         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
81717         * lib/savewd.c (ESTALE): Likewise.
81718         * lib/settime.c (ENOSYS): Likewise.
81719         * lib/utimens.c (ENOSYS): Likewise.
81720         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
81721         * lib/chdir-safer.c (ELOOP): Likewise.
81722         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
81723         * modules/c-stack (Depends-on): Add errno.
81724         * modules/canonicalize (Depends-on): Likewise.
81725         * modules/chdir-safer (Depends-on): Likewise.
81726         * modules/fdopendir (Depends-on): Likewise.
81727         * modules/inet_ntop (Depends-on): Likewise.
81728         * modules/inet_pton (Depends-on): Likewise.
81729         * modules/lchown (Depends-on): Likewise.
81730         * modules/openat (Depends-on): Likewise.
81731         * modules/savewd (Depends-on): Likewise.
81732         * modules/settime (Depends-on): Likewise.
81733         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
81735         fts: avoid leaking fds
81736         * modules/fts (Depends-on): Add cloexec.
81737         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
81738         flag.
81740         fts: make directory fds more robust
81741         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
81742         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
81744         backupfile, chdir-long, fts, savedir: make safer
81745         * lib/backupfile.c (includes): Use "dirent--.h", since
81746         numbered_backup can write to stderr during readdir.
81747         * lib/savedir.c (includes): Likewise.
81748         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
81749         emulation can write to stderr on failure.
81750         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
81751         * lib/getcwd.c: Document why opendir_safer is unused.
81752         * lib/glob.c: Likewise.
81753         * lib/scandir.c: Likewise.
81754         * lib/openat-proc.c: Likewise, for open_safer.
81755         * modules/backupfile (Depends-on): Add dirent-safer.
81756         * modules/savedir (Depends-on): Likewise.
81757         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
81758         * modules/chdir-long (Depends-on): Add openat-safer.
81760         openat-safer: new module
81761         * modules/openat-safer: New file.
81762         * lib/openat-safer.c: Likewise.
81763         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
81764         * lib/fcntl-safer.h (openat_safer): Declare.
81765         * lib/fcntl--.h (openat): Override.
81766         * MODULES.html.sh (File descriptor based I/O): Mention it.
81767         * lib/openat.h: Add double-inclusion guards.
81768         * lib/openat.c (includes): Only include "fcntl-safer.h", not
81769         "fcntl--.h", so we can implement openat.
81770         * modules/openat-safer-tests: New test.
81771         * tests/test-openat-safer.c: New file.
81773         dirent-safer: new module
81774         * modules/dirent-safer: New file.
81775         * lib/dirent--.h: Likewise.
81776         * lib/dirent-safer.h: Likewise.
81777         * lib/opendir-safer.c: Likewise.
81778         * m4/dirent-safer.m4: Likewise.
81779         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
81780         * modules/dirent-safer-tests: New test.
81781         * tests/test-dirent-safer.c: New file.
81782         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
81784         fdopendir: optimize on mingw
81785         * lib/unistd.in.h (_gl_directory_name): New prototype.
81786         * lib/fchdir.c (_gl_directory_name): Implement it.
81787         (fchdir): Use it to simplify implementation.
81788         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
81789         fchdir, when available, to avoid calling [f]chdir().
81791         fdopendir: split into its own module
81792         * lib/openat.c (fdopendir): Move...
81793         * lib/fdopendir.c: ...into new file.
81794         * modules/fdopendir: New module.
81795         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
81796         * modules/openat (Depends-on): Add fdopendir.
81797         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
81798         fdopendir here.
81799         * modules/savedir (Depends-on): Only need fdopendir, not full
81800         openat.
81801         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
81802         * lib/openat.h (fdopendir): Drop prototype.
81803         * lib/dirent.in.h (fdopendir): Provide prototype.
81804         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
81805         * modules/dirent (Makefile.am): Substitute them.
81806         * MODULES.html.sh (File system functions): Mention it.
81807         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
81808         * modules/fdopendir-tests: New file.
81809         * tests/test-fdopendir.c: Likewise.
81811         fchdir: use more consistent macro convention
81812         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
81813         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
81814         REPLACE_FCHDIR, rather than relying on config.h macros.
81815         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
81816         inside a single make-time REPLACE_FCHDIR block, rather than using
81817         the config.h FCHDIR_REPLACEMENT.
81818         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
81819         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
81820         Manage fstat replacement.
81821         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
81822         REPLACE_FCHDIR.
81823         * modules/sys_stat (Files): Add m4/unistd_h.m4.
81824         (Makefile.am): Substitute REPLACE_FCHDIR.
81825         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
81826         FCHDIR_REPLACEMENT.
81827         * lib/dup-safer.c (dup_safer): Likewise.
81828         * lib/dup2.c (rpl_dup2): Likewise.
81829         * lib/dup3.c (rpl_dup3): Likewise.
81830         * lib/open.c (rpl_open): Likewise.
81832         fchdir: simplify error handling, and support dup3
81833         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
81834         stdbool, malloc-posix, realloc-posix.
81835         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
81836         (ensure_dirs_slot): Return false on allocation failure.
81837         (rpl_dup2): Delete.
81838         (_gl_register_dup): New function.
81839         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
81840         (_gl_register_fd): Close fd on allocation failure.
81841         * lib/fcntl.in.h (_gl_register_fd): Update signature.
81842         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
81843         prototype.
81844         (rpl_dup2_fchdir): Delete prototype.
81845         * lib/open.c (open): Update caller.
81846         * lib/dup2.c (dup2): Track fchdir metadata.
81847         * lib/dup3.c (dup3): Likewise.
81848         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
81849         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
81851 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81853         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
81854         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
81855         don't pass arguments to AC_OUTPUT.
81857 2009-09-02  Bruno Haible  <bruno@clisp.org>
81859         * modules/mkdtemp (License): Relicense under LGPLv2+.
81860         Reported by Paolo Bonzini.
81862 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81864         Replace uses of obsolete autoconf macros in Jim's modules.
81865         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
81866         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
81867         can evoke a warning from autoconf when run with -Wobsolete
81868         enabled.  They were declared obsolete for good reasons (see
81869         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
81870         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
81871         should not continue using the deprecated macros.
81872         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
81873         obsolete Autoconf macros with modern counterparts.
81874         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
81875         * m4/dos.m4 (gl_AC_DOS): Likewise.
81876         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
81877         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
81878         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
81879         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
81880         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
81881         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
81882         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
81883         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
81884         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
81885         Likewise.
81886         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
81887         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81888         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
81889         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
81890         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
81891         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81893 2009-09-01  Eric Blake  <ebb9@byu.net>
81895         fchdir: fix off-by-one bug in previous patch
81896         * lib/fchdir.c (rpl_fstat): Use correct bounds.
81897         (_gl_unregister_fd): Delete useless if.
81899 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
81901         maint.mk: sort the list of syntax-check rules
81902         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
81903         easier to get a sense of progress when the rules are run sequentially
81904         and take a long time.
81906 2009-09-01  Simon Josefsson  <simon@josefsson.org>
81908         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
81909         * modules/netinet_in: Likewise.
81910         * modules/sys_file: Likewise.
81911         * modules/sys_ioctl: Likewise.
81912         * modules/sys_select: Likewise.
81913         * modules/sys_socket: Likewise.
81914         * modules/sys_stat: Likewise.
81915         * modules/sys_time: Likewise.
81916         * modules/sys_times: Likewise.
81917         * modules/sys_utsname: Likewise.
81918         * modules/sys_wait: Likewise.
81920 2009-09-01  Jim Meyering  <meyering@redhat.com>
81922         fts: help ensure that return values are not ignored
81923         * lib/fts_.h (__GNUC_PREREQ): Define.
81924         (__attribute_warn_unused_result__): Define.
81925         (fts_children, fts_close, fts_open, fts_read): Declare with
81926         __attribute_warn_unused_result__.
81928         fts: fts_close now fails also when closing a dir file descriptor fails
81929         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
81930         and propagate to caller, along with errno.
81932         announce-gen: correct formatting in --help output
81933         * build-aux/announce-gen (usage): Move the one-line description in
81934         --help output "up", to where it belongs, just after Usage:.
81936 2009-08-31  Eric Blake  <ebb9@byu.net>
81938         fchdir: port to mingw
81939         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
81940         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
81941         opened, then use a substitute.
81942         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
81943         replacement.
81944         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
81945         (_gl_register_fd): No need to check stat if open already filters
81946         all directories.
81947         (fchdir): Fix error condition to match POSIX.
81948         * modules/fchdir (Depends-on): Add sys_stat.
81949         * doc/posix-functions/open.texi (open): Document the limitation.
81950         * modules/fchdir-tests: New file.
81951         * tests/test-fchdir.c: Likewise.
81953         canonicalize: allow cross-testing from cygwin to mingw
81954         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
81955         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
81956         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
81957         Likewise.
81958         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
81959         target does not support symlinks.
81960         * tests/test-canonicalize-lgpl.sh: Likewise.
81962         chown: avoid compilation warning on mingw
81963         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
81964         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
81965         mingw.
81966         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
81967         * modules/chown (Depends-on): Add errno.
81969 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
81971         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
81972         command.
81974 2009-08-31  Jim Meyering  <meyering@redhat.com>
81976         canonicalize: remove useless initialization
81977         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
81978         initialization of local, "end".
81980 2009-08-30  Bruno Haible  <bruno@clisp.org>
81982         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
81983         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
81984         ENOSYS.
81986 2009-08-30  Bruno Haible  <bruno@clisp.org>
81988         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
81989         /usr/xpg4/bin/tr when it exists.
81990         * tests/test-pipe-filter-gi1.sh: Likewise.
81992 2009-08-30  Bruno Haible  <bruno@clisp.org>
81994         Work around deficient /usr/bin/id program on Solaris.
81995         * tests/test-file-has-acl.sh (ID): New variable.
81996         * tests/test-set-mode-acl.sh (ID): Likewise.
81997         * tests/test-copy-acl.sh (ID): Likewise.
81998         * tests/test-copy-file.sh (ID): Likewise.
82000 2009-08-30  Bruno Haible  <bruno@clisp.org>
82002         New module 'xstriconveh'.
82003         * lib/xstriconveh.h: New file.
82004         * lib/xstriconveh.c: New file.
82005         * modules/xstriconveh: New file.
82007 2009-08-30  Bruno Haible  <bruno@clisp.org>
82009         Make it easier to use mem_cd_iconveh.
82010         * lib/striconveh.h (iconveh_t): New type.
82011         (iconveh_open, iconveh_close): New declarations.
82012         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
82013         with a single 'const iconveh_t *' argument.
82014         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
82015         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
82016         with a single 'const iconveh_t *' argument.
82017         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
82018         * tests/test-striconveh.c (main): Update.
82019         * NEWS: Mention the change.
82021 2009-08-30  Bruno Haible  <bruno@clisp.org>
82023         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
82024         problem.
82026 2009-08-30  Bruno Haible  <bruno@clisp.org>
82028         Work around iconv_open problem on Solaris.
82029         * lib/iconv_open-solaris.gperf: New file.
82030         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
82031         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
82032         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
82033         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
82034         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
82035         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
82037 2009-08-29  Jim Meyering  <meyering@redhat.com>
82039         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
82040         * top/maint.mk (cvs-check): Remove target; it was just an alias
82041         to the better-named vc-diff-check.
82042         (maintainer-distcheck): Remove rule.  It was used only from
82043         the (alpha/beta/major) target, and all of its commands but one
82044         were coreutils-specific.
82045         (vc-dist): Remove rule.
82046         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
82047         Run vc-diff-check, not vc-dist.
82048         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
82050 2009-08-27  Bruno Haible  <bruno@clisp.org>
82052         * tests/test-bitrotate.c (main): Remove test that uses a shift count
82053         of 0.
82055 2009-08-27  Bruno Haible  <bruno@clisp.org>
82057         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
82058         compilers.
82059         * doc/func.texi: Document the SunPRO C bug.
82061 2009-08-27  Bruno Haible  <bruno@clisp.org>
82063         Fix link error on Solaris.
82064         * tests/test-parse-duration.c (xstrdup): Remove function.
82066 2009-08-26  Pádraig Brady  <P@draigbrady.com>
82068         ignore-value: handle pointer types, too
82069         * lib/ignore-value.h (__attribute__): Remove definition.
82070         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
82071         of a more concise and more-often effective "(void) i" statement.
82072         (ignore_ptr): New function to suppress warnings from functions that
82073         return pointers, and to make it explicit that one function doesn't
82074         handle all cases.
82076 2009-08-25  Bruno Haible  <bruno@clisp.org>
82078         dup2: work around a Linux bug.
82079         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
82080         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
82081         * doc/posix-functions/dup2.texi: Mention the Linux bug.
82082         Reported by Simon Josefsson.
82084 2009-08-25  Jim Meyering  <meyering@redhat.com>
82086         libguestfs uses gnulib
82087         * users.txt: Add libguestfs.
82089 2009-08-24  Eric Blake  <ebb9@byu.net>
82091         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
82092         * lib/pipe2.c (includes): Add binary-io.h.
82093         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
82095 2009-08-24  Bruno Haible  <bruno@clisp.org>
82097         Tolerate declared but missing accept4 syscall.
82098         * lib/accept4.c (accept4): Invoke original accept4 function first, if
82099         available.
82100         * lib/sys_socket.in.h (accept4): If the function is already present,
82101         override it.
82102         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
82103         * modules/accept4 (Makefile.am): Compile accept4.c always.
82104         Reported by Paolo Bonzini and Eric Blake.
82106 2009-08-23  Bruno Haible  <bruno@clisp.org>
82108         New module 'accept4'.
82109         * lib/sys_socket.in.h (accept4): New declaration.
82110         * lib/accept4.c: New file.
82111         * m4/accept4.m4: New file.
82112         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
82113         GNULIB_ACCEPT4, HAVE_ACCEPT4.
82114         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
82115         HAVE_ACCEPT4.
82116         * modules/accept4: New file.
82117         * doc/glibc-functions/accept4.texi: Mention the new module.
82119 2009-08-24  Jim Meyering  <meyering@redhat.com>
82121         progname: also set global program_invocation_name, when possible
82122         Before this change, a libtool-enabled program that calls glibc's
82123         error function would report the program name as
82124         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
82125         * modules/progname (configure.ac): Check for a declaration of
82126         program_invocation_name.
82127         * lib/progname.c:  Include <errno.h>.
82128         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
82129         Set program_invocation_name.
82131 2009-08-23  Bruno Haible  <bruno@clisp.org>
82133         * lib/dup3.c: Include <string.h>.
82135 2009-08-23  Bruno Haible  <bruno@clisp.org>
82137         * lib/dup3.c (dup3): Test only once whether the system actually exists.
82138         * lib/pipe2.c (pipe2): Likewise.
82139         Suggested by Eric Blake.
82141 2009-08-23  Bruno Haible  <bruno@clisp.org>
82143         Tolerate declared but missing dup3 syscall.
82144         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
82145         * lib/unistd.in.h (dup3): If the function is already present,
82146         override it.
82147         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
82148         * modules/dup3 (Makefile.am): Compile dup3.c always.
82149         Reported by Paolo Bonzini.
82151 2009-08-23  Bruno Haible  <bruno@clisp.org>
82153         Tolerate declared but missing pipe2 syscall.
82154         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
82155         available.
82156         * lib/unistd.in.h (pipe2): If the function is already present,
82157         override it.
82158         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
82159         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
82160         Reported by Paolo Bonzini.
82162 2009-08-23  Bruno Haible  <bruno@clisp.org>
82164         * lib/pipe2.c (pipe2): Move #ifs inside function.
82166 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
82168         quotearg: document limitations of quote_these_too
82169         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
82170         those limitations are created.
82171         * lib/quotearg.h (set_char_quoting): Document that digits and
82172         letters that are special after backslash are not permitted.
82173         (quotearg_char): Cross-reference set_char_quoting documentation.
82175 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
82177         quotearg: implement custom_quoting_style
82178         * lib/quotearg.c: (struct quoting_options): Add left_quote and
82179         right_quote fields.
82180         (set_custom_quoting): New public function.
82181         (quotearg_buffer_restyled): Add left_quote and right_quote
82182         arguments, handle them very much like locale quoting, and update
82183         all uses.
82184         (quotearg_n_custom): New public function.
82185         (quotearg_n_custom_mem): New public function.
82186         (quotearg_custom): New public function.
82187         (quotearg_custom_mem): New public function.
82188         * lib/quotearg.h: Prototype and document new public functions.
82189         (enum quoting_style): For escape_quoting_style and
82190         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
82191         ignored even though they're otherwise like c_quoting_style.
82192         Add custom_quoting_style member and document with comparison to
82193         clocale_quoting_style.
82194         * tests/test-quotearg.c (custom_quotes): New array.
82195         (custom_results): New array.
82196         (main): Extend to test custom quoting.
82198 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
82200         quotearg: fix right quote escaping when it's in quote_these_too
82201         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
82202         quote, be sure to prepend only one backslash.
82203         * tests/test-quotearg.c (use_quote_double_quotes): New function.
82204         (main): Test it.
82206 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
82208         quotearg-tests: test escaping of embedded locale quotes
82209         * tests/test-quotearg.c (struct result_strings): Add member for
82210         new input.
82211         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
82212         (inputs): Add new input.
82213         (results_g): Add expected results.
82214         (flag_results): Likewise.
82215         (locale_results): Likewise.
82216         (compare_strings): Check those.
82218 2009-08-23  Bruno Haible  <bruno@clisp.org>
82220         Tests for module 'dup3'.
82221         * modules/dup3-tests: New file.
82222         * tests/test-dup3.c: New file.
82224         New module 'dup3'.
82225         * lib/unistd.in.h (dup3): New declaration.
82226         * lib/dup3.c: New file.
82227         * m4/dup3.m4: New file.
82228         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
82229         HAVE_DUP3.
82230         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
82231         * modules/dup3: New file.
82232         * doc/glibc-functions/dup3.texi: Mention the new module.
82234 2009-08-23  Bruno Haible  <bruno@clisp.org>
82236         Tweak the dup2 test.
82237         * tests/test-dup2.c (main): Create the test file empty. Verify that an
82238         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
82239         the test file is still empty. Fix argument order of lseek.
82241 2009-08-23  Bruno Haible  <bruno@clisp.org>
82243         Avoid test link errors when the modules getopt-gnu, gettext are used.
82244         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
82245         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82247 2009-08-23  Bruno Haible  <bruno@clisp.org>
82249         Fix getdtablesize() on mingw.
82250         * lib/getdtablesize.c (getdtablesize): Implement differently.
82251         * lib/unistd.in.h (getdtablesize): Improve comment.
82253 2009-08-23  Bruno Haible  <bruno@clisp.org>
82255         New module 'mkostemp'.
82256         Based on Ulrich Drepper's 2007-08-10 change in glibc.
82257         * lib/stdlib.in.h (mksotemp): New declaration.
82258         * lib/mkostemp.c: New file, from glibc with modifications.
82259         * lib/tempname.h (GT_FILE): Remove outdated comment.
82260         (gen_tempname): Add flags argument.
82261         * lib/tempname.c (__GT_BIGFILE): Remove macro.
82262         (__GT_FILE): Map to 1.
82263         (small_open, large_open): Remove macros.
82264         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
82265         * lib/mkstemp.c (mkstemp): Update.
82266         * lib/mkdtemp.c (mkdtemp): Likewise.
82267         * m4/mkostemp.m4: New file.
82268         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
82269         HAVE_MKOSTEMP.
82270         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
82271         HAVE_MKOSTEMP.
82272         * modules/mkostemp: New file, based on modules/mkstemp.
82273         * doc/glibc-functions/mkostemp.texi: Mention the new module.
82274         * NEWS: Mention the change.
82276 2009-08-23  Bruno Haible  <bruno@clisp.org>
82278         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
82279         Reported by Eric Blake.
82281 2009-08-23  Bruno Haible  <bruno@clisp.org>
82283         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
82284         Reported by Eric Blake.
82286 2009-08-23  Bruno Haible  <bruno@clisp.org>
82288         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
82289         * modules/pipe2 (Depends-on): Likewise.
82291 2009-08-23  Eric Blake  <ebb9@byu.net>
82293         fcntl-h: add O_TTY_INIT support
82294         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
82295         * tests/test-fcntl-h.c (o): Test it.
82296         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
82298         fcntl-h: rename from fcntl, in preparation for fcntl(2)
82299         * modules/fcntl: Move <fcntl.h> header replacement...
82300         * modules/fcntl-h: ...to new name, so as not to collide with
82301         like-named function.
82302         * tests/test-fcntl.c: Rename...
82303         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
82304         * modules/fcntl-tests: Rename...
82305         * modules/fcntl-h-tests: ...to this.  Update test file name.
82306         * modules/chdir-long (Depends-on): Update clients.
82307         * modules/chdir-safer (Depends-on): Likewise.
82308         * modules/fcntl-safer (Depends-on): Likewise.
82309         * modules/fts (Depends-on): Likewise.
82310         * modules/mkancesdirs (Depends-on): Likewise.
82311         * modules/mkdir-p (Depends-on): Likewise.
82312         * modules/open (Depends-on): Likewise.
82313         * modules/savewd (Depends-on): Likewise.
82314         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
82315         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
82317 2009-08-22  Bruno Haible  <bruno@clisp.org>
82319         * modules/binary-io (License): Relicense under LGPL.
82320         * modules/pipe2 (License): Likewise.
82322 2009-08-22  Bruno Haible  <bruno@clisp.org>
82324         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
82325         return value.
82326         * lib/pipe-filter-gi.c (filter_init): Likewise.
82327         Reported by Eric Blake.
82329 2009-08-22  Bruno Haible  <bruno@clisp.org>
82331         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
82332         * modules/pipe (Depends-on): Add pipe2.
82334 2009-08-22  Bruno Haible  <bruno@clisp.org>
82336         Tests for module 'pipe2'.
82337         * modules/pipe2-tests: New file.
82338         * tests/test-pipe2.c: New file.
82340         New module 'pipe2'.
82341         * lib/unistd.in.h (pipe2): New declaration.
82342         * lib/pipe2.c: New file.
82343         * m4/pipe2.m4: New file.
82344         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
82345         HAVE_PIPE2.
82346         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
82347         * modules/pipe2: New file.
82348         * doc/glibc-functions/pipe2.texi: Mention the new module.
82350 2009-08-22  Bruno Haible  <bruno@clisp.org>
82352         Reference some new glibc functions.
82353         * doc/glibc-functions/accept4.texi: New file.
82354         * doc/glibc-functions/dup3.texi: New file.
82355         * doc/glibc-functions/mkostemp.texi: New file.
82356         * doc/glibc-functions/pipe2.texi: New file.
82357         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
82358         (Glibc sys/socket.h): Refer to accept4.
82359         (Glibc unistd.h): Refer to dup3, pipe2.
82360         Reported by Eric Blake.
82362 2009-08-22  Jim Meyering  <meyering@redhat.com>
82363             Bruno Haible  <bruno@clisp.org>
82365         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
82366         This makes it so packages using automake-1.11's silent-rules option
82367         can print e.g., a single "GEN    configmake.h" line, rather than
82368         the 30+ statements that perform the job.  If you want to see the
82369         actual commands, you can still run "make V=1".
82370         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
82371         so that make output is abbreviated when those variables are defined
82372         appropriately.
82373         * modules/argz: Likewise.
82374         * modules/arpa_inet: Likewise.
82375         * modules/byteswap: Likewise.
82376         * modules/configmake: Likewise.
82377         * modules/dirent: Likewise.
82378         * modules/errno: Likewise.
82379         * modules/fcntl: Likewise.
82380         * modules/float: Likewise.
82381         * modules/fnmatch: Likewise.
82382         * modules/getopt-posix: Likewise.
82383         * modules/glob: Likewise.
82384         * modules/iconv_open: Likewise.
82385         * modules/inttypes: Likewise.
82386         * modules/localcharset: Likewise.
82387         * modules/locale: Likewise.
82388         * modules/math: Likewise.
82389         * modules/netdb: Likewise.
82390         * modules/netinet_in: Likewise.
82391         * modules/poll: Likewise.
82392         * modules/posix_spawnp-tests: Likewise.
82393         * modules/sched: Likewise.
82394         * modules/search: Likewise.
82395         * modules/selinux-h: Likewise.
82396         * modules/signal: Likewise.
82397         * modules/spawn: Likewise.
82398         * modules/stdarg: Likewise.
82399         * modules/stdbool: Likewise.
82400         * modules/stddef: Likewise.
82401         * modules/stdint: Likewise.
82402         * modules/stdio: Likewise.
82403         * modules/stdlib: Likewise.
82404         * modules/string: Likewise.
82405         * modules/strings: Likewise.
82406         * modules/sys_file: Likewise.
82407         * modules/sys_ioctl: Likewise.
82408         * modules/sys_select: Likewise.
82409         * modules/sys_socket: Likewise.
82410         * modules/sys_stat: Likewise.
82411         * modules/sys_time: Likewise.
82412         * modules/sys_times: Likewise.
82413         * modules/sys_utsname: Likewise.
82414         * modules/sys_wait: Likewise.
82415         * modules/sysexits: Likewise.
82416         * modules/time: Likewise.
82417         * modules/unistd: Likewise.
82418         * modules/wchar: Likewise.
82419         * modules/wctype: Likewise.
82421 2009-08-22  Jim Meyering  <meyering@redhat.com>
82423         announce-gen: detect write failure
82424         * build-aux/announce-gen: Add Coda at end.
82425         Remove equivalent-but-more-verbose block at top.
82427 2009-08-19  Akim Demaille  <demaille@gostai.com>
82429         bootstrap: --help to stdout.
82430         * bootstrap (usage): Don't send --help to stderr.
82431         Use a here doc instead of a long string.
82433 2009-08-21  Eric Blake  <ebb9@byu.net>
82435         test-popen-safer: split from test-popen
82436         * tests/test-popen.c (main): Move...
82437         * tests/test-popen.h: ...into new file.
82438         * tests/test-popen-safer2.c: New file.
82439         * modules/popen-tests (Files): Add test-popen.h.
82440         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
82441         Suggested by Bruno Haible.
82443         test-fcntl-safer: split from test-open
82444         * tests/test-open.c (main): Move...
82445         * tests/test-open.h: ...into new file.
82446         * tests/test-fcntl-safer.c: New file.
82447         * modules/open-tests (Files): Add test-open.h.
82448         * modules/fcntl-safer-tests: New file.
82449         Suggested by Bruno Haible.
82451         test-fopen-safer: split from test-fopen
82452         * tests/test-fopen.c (main): Move...
82453         * tests/test-fopen.h: ...into new file.
82454         * tests/test-fopen-safer.c: New file.
82455         * modules/fopen-tests (Files): Add test-fopen.h.
82456         * modules/fopen-safer-tests: New file.
82457         Suggested by Bruno Haible.
82459 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
82461         popen-safer: test O_CLOEXEC at run-time.
82462         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
82464 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
82466         fcntl: move more flags to the header
82467         * lib/cloexec.c: Do not define FD_CLOEXEC here.
82468         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
82469         * lib/fcntl.in.h: Do both things here.
82471 2009-08-21  Jim Meyering  <meyering@redhat.com>
82473         consistently remove $@-t before redirecting to it
82474         * modules/argz: Remove $@-t and $@ before redirecting to the former.
82475         * modules/alloca-opt: Likewise.
82476         * modules/byteswap: Likewise.
82477         * modules/fnmatch: Likewise.
82478         * modules/getopt-posix: Likewise.
82479         * modules/glob: Likewise.
82480         * modules/poll: Likewise.
82481         * modules/posix_spawnp-tests: Likewise.
82482         * modules/sys_socket: Likewise.
82483         * modules/sysexits: Likewise.
82485 2009-08-21  Eric Blake  <ebb9@byu.net>
82487         popen: simplify access to original popen
82488         * lib/popen.c (rpl_popen): No need to worry about popen being a
82489         macro.
82490         Reported by Bruno Haible.
82492 2009-08-20  Eric Blake  <ebb9@byu.net>
82494         build: avoid some compiler warnings
82495         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
82496         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
82497         type.
82498         (new_exclude_segment, excluded_file_pattern_p)
82499         (excluded_file_name_p): Reduce scope.
82500         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
82501         old-style declaration.
82503 2009-08-20  Simon Josefsson  <simon@josefsson.org>
82505         * tests/test-exclude1.sh: Handle Windows EOL.
82506         * tests/test-exclude2.sh: Likewise.
82507         * tests/test-exclude3.sh: Likewise.
82508         * tests/test-exclude4.sh: Likewise.
82509         * tests/test-exclude5.sh: Likewise.
82510         * tests/test-exclude6.sh: Likewise.
82511         * tests/test-exclude7.sh: Likewise.
82513 2009-08-19  Akim Demaille  <demaille@gostai.com>
82515         bootstrap: find sha1sum when named gsha1sum.
82516         * bootstrap (find_tool): New.
82517         ($SHA1SUM): New.
82518         Use it.
82520 2009-08-20  Jim Meyering  <meyering@redhat.com>
82522         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
82523         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
82524         expression that converts "." in a file name to "\." in the resulting
82525         regexp.  Start with a dummy statement, so that prior shell variable
82526         definitions are expanded portably.  Reported by Simon Josefsson.
82528 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
82530         Fix polling for writeability of a screen buffer.
82531         * lib/poll.c: Distinguish input and screen buffers for the
82532         Win32 implementation.
82533         * lib/select.c: Likewise.
82535 2009-08-19  Eric Blake  <ebb9@byu.net>
82537         popen-safer: prevent popen from clobbering std descriptors
82538         * modules/popen-safer: New file.
82539         * lib/popen-safer.c: Likewise.
82540         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
82541         * lib/stdio--.h (popen): Provide override.
82542         * lib/stdio-safer.h (popen_safer): Provide declaration.
82543         * tests/test-popen.c (includes): Partially test this.
82544         * modules/popen-safer-tests: New file, for more tests.
82545         * tests/test-popen-safer.c: Likewise.
82546         * MODULES.html.sh (file stream based Input/Output): Mention it.
82548         tests: test some of the *-safer modules
82549         * modules/fopen-safer (Depends-on): Add fopen.
82550         * modules/fcntl-safer (Depends-on): Add fcntl.
82551         * modules/stdlib-safer (Depends-on): Add stdlib.
82552         (configure.ac): Set indicator.
82553         * modules/unistd-safer (configure.ac): Likewise.
82554         * modules/tmpfile-safer (configure.ac): Likewise.
82555         (Depends-on): Add tmpfile.
82556         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
82557         active.
82558         * tests/test-fopen.c (includes): Test safer versions when they are
82559         in use.
82560         * tests/test-open.c (includes): Likewise.
82562         popen: fix cygwin 1.5 bug when stdin closed
82563         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
82564         * modules/popen: New file.
82565         * modules/popen-tests: Likewise.
82566         * tests/test-popen.c: Likewise.
82567         * m4/popen.m4: Likewise.
82568         * lib/popen.c: Likewise.
82569         * lib/stdio.in.h (popen): New declaration.
82570         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
82571         * modules/stdio (Makefile.am): Likewise.
82572         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
82574 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
82576         maint.mk: give full control over update-copyright exclusions
82577         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
82578         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
82579         (update-copyright): Don't force inclusion of top-level
82580         ChangeLog.  Don't force exclusion of all COPYING files, but make
82581         them the default exclusion instead.
82583 2009-08-16  Bruno Haible  <bruno@clisp.org>
82585         Fix test failures on Solaris 10.
82586         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
82587         tests when Solaris iconv() is used.
82588         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
82589         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
82590         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
82591         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
82592         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
82594 2009-08-16  Bruno Haible  <bruno@clisp.org>
82596         Fix test failures on Solaris 10.
82597         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
82598         'tr' program and pass it as first argument.
82599         * tests/test-pipe-filter-gi1.sh: Likewise.
82600         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
82601         program as first argument.
82602         * tests/test-pipe-filter-gi1.c (main): Likewise.
82604 2009-08-16  Eric Blake  <ebb9@byu.net>
82606         fpurge: fix previous commits
82607         * modules/fpurge (Makefile.am): Make replacement conditional,
82608         partially reverting 2007-04-29 change; missed in previous
82609         attempt.
82610         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
82611         is missing.
82613 2009-08-16  Bruno Haible  <bruno@clisp.org>
82615         Clarify fpurge's effect on the file position.
82616         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
82617         * tests/test-fpurge.c (main): Make a second pass for checking the file
82618         position.
82620 2009-08-16  Bruno Haible  <bruno@clisp.org>
82622         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
82623         declaration of fpurge is missing.
82624         * tests/test-fpurge.c (main): Check that the file has not more contents
82625         than expected. Close the file before removing it.
82627 2009-08-15  Eric Blake  <ebb9@byu.net>
82629         fpurge: don't wrap working cygwin implementation
82630         * lib/fpurge.c (fpurge): Fix comment typo.
82631         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
82632         1.7 to avoid replacement.
82633         * tests/test-fpurge.c (main): Enhance test.
82635 2009-08-15  Eric Blake  <ebb9@byu.net>
82636         and Jim Meyering  <meyering@redhat.com>
82638         test-update-copyright: skip if perl is insufficient
82639         * tests/test-update-copyright.sh: Failure to run maintainer tool
82640         should not cause testsuite failure on cygwin 1.5.
82642 2009-08-14  Eric Blake  <ebb9@byu.net>
82644         doc: mention more functions added in cygwin 1.7.0
82645         * doc/posix-headers/limits.texi (limits.h): Update for recent
82646         cygwin additions.
82647         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
82648         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
82649         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
82650         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
82651         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
82653 2009-08-14  Eric Blake  <ebb9@byu.net>
82655         maint.mk: simplify update-copyright rule
82656         * top/maint.mk (update-copyright-local): Delete, and document how
82657         to do it in cfg.mk instead.
82658         (update-copyright-exclude-regexp): Delete, and document how to do
82659         it in .x-update-copyright instead.
82660         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
82661         exclude ChangeLog.
82663 2009-08-14  Bruno Haible  <bruno@clisp.org>
82665         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
82667 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82669         maint.mk: support update-copyright-env
82670         * top/maint.mk (update-copyright-env): Define place-holder.
82671         (update-copyright): Expand $(update-copyright-env) before
82672         invoking update-copyright.
82674 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82676         update-copyright: implement forced reformatting
82677         * build-aux/update-copyright: Implement and document
82678         UPDATE_COPYRIGHT_FORCE.
82679         * tests/test-update-copyright.sh: Test it.
82681 2009-08-14  Eric Blake  <ebb9@byu.net>
82682         and Bruno Haible  <bruno@clisp.org>
82684         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
82685         * tests/test-locale.c: Revert previous patch related to NULL.
82686         * tests/test-stdio.c: Likewise.
82687         * tests/test-stdlib.c: Likewise.
82688         * tests/test-string.c: Likewise.
82689         * tests/test-unistd.c: Likewise.
82690         * modules/time-tests (Depends-on): Add verify.
82691         * modules/wchar-tests (Depends-on): Likewise.
82692         * tests/test-time.c: Test for NULL compliance.
82693         * tests/test-wchar.c: Likewise.
82694         * modules/locale (Depends-on): Add stddef.
82695         * modules/stdio (Depends-on): Likewise.
82696         * modules/stdlib (Depends-on): Likewise.
82697         * modules/string (Depends-on): Likewise.
82698         * modules/time (Depends-on): Likewise.
82699         * modules/unistd (Depends-on): Likewise.
82700         * modules/wchar (Depends-on): Likewise.
82701         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
82702         * lib/stdlib.in.h (includes): Likewise.
82703         * lib/string.in.h (includes): Likewise.
82704         * lib/time.in.h (includes): Likewise.
82705         * lib/unistd.in.h (includes): Likewise.
82706         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
82707         replaced.
82708         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
82709         * m4/stddef_h.m4: New file.
82710         * modules/stddef: Likewise.
82711         * lib/stddef.in.h: Likewise.
82712         * modules/stddef-tests: Likewise.
82713         * tests/test-stddef.c: Likewise.
82714         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
82715         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
82716         * doc/posix-headers/locale.texi (locale.h): Likewise.
82717         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
82718         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
82719         * doc/posix-headers/string.texi (string.h): Likewise.
82720         * doc/posix-headers/time.texi (time.h): Likewise.
82721         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
82722         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
82724 2009-08-14  Eric Blake  <ebb9@byu.net>
82726         doc: improve git diff of texinfo files
82727         * .gitattributes: Add rule for *.texi files, with hint on how to
82728         use it.
82729         Copied from m4, and based on a report by Bruno Haible.
82731 2009-08-14  Bruno Haible  <bruno@clisp.org>
82733         Disable multithread support by default on Cygwin 1.5.x for real.
82734         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
82736 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82738         update-copyright: much ado about intervals
82739         * build-aux/update-copyright: Implement and document
82740         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
82741         of copyright year intervals.
82742         Also, document UPDATE_COPYRIGHT_YEAR.
82743         * tests/test-update-copyright.sh: Test it.
82745         update-copyright: convert 2-digit to 4-digit years
82746         * build-aux/update-copyright: Implement and document.
82747         * tests/test-update-copyright.sh: Update.
82749 2009-08-14  Jim Meyering  <meyering@redhat.com>
82751         test-exclude: avoid coreutils "make check" failure
82752         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
82753         just as in test-argmatch.c.
82755 2009-08-13  Eric Blake  <ebb9@byu.net>
82757         test-dup2: fix bad assumption
82758         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
82759         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
82761         test-version-etc: fix CRLF portability issue
82762         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
82763         recognize \r.
82764         * tests/test-argp-version-etc-1.sh: Likewise.
82766         getopt: update client modules
82767         * modules/argp (Depends-on): Use getopt-gnu.
82768         * modules/git-merge-changelog (Depends-on): Likewise.
82769         * modules/long-options (Depends-on): Likewise.
82770         * modules/xstrtol (Depends-on): Likewise.
82772 2009-08-13  Simon Josefsson  <simon@josefsson.org>
82774         * tests/test-version-etc.sh: Don't fail on different
82775         project/version.  Don't fail on CRLF differences.  Rewrite to use
82776         multiple -e instead of multiple sed forks, suggested by Eric Blake
82777         <ebb9@byu.net>.
82778         * tests/test-argp-version-etc-1.sh: Likewise.
82780 2009-08-13  Simon Josefsson  <simon@josefsson.org>
82782         * tests/test-version-etc.sh: Don't fail on different
82783         project/version.
82785 2009-08-12  Bruno Haible  <bruno@clisp.org>
82787         Tests for modules 'getopt-posix', 'getopt-gnu'.
82788         * modules/getopt-posix-tests: New file.
82789         * tests/test-getopt.c: New file.
82790         * tests/test-getopt.h: New file.
82791         * tests/test-getopt_long.h: New file.
82793         New modules 'getopt-posix', 'getopt-gnu'.
82794         * modules/getopt-gnu: New file, renamed from modules/getopt.
82795         * modules/getopt-posix: New file.
82796         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
82797         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
82798         (gl_GETOPT): Remove macro.
82799         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
82800         Disable the test against BSD systems that declare optreset. Test
82801         against mingw bug. Test against lack of support of optional arguments
82802         on many platforms.
82803         * doc/glibc-headers/getopt.texi: Update module name and list of
82804         relevant platforms.
82805         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
82806         'getopt-gnu' and more portability problems.
82807         * NEWS: Mention the changes.
82809 2009-08-12  Bruno Haible  <bruno@clisp.org>
82811         Ensure that optarg etc. get declared by <unistd.h>.
82812         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
82813         AC_USE_SYSTEM_EXTENSIONS.
82814         * modules/getopt (Depends-on): Add 'extensions'.
82816 2009-08-12  Bruno Haible  <bruno@clisp.org>
82818         Avoid test link errors.
82819         * modules/pipe-filter-ii-tests (Makefile.am): Define
82820         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
82821         * modules/pipe-filter-gi-tests (Makefile.am): Define
82822         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
82823         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82825 2009-08-12  Bruno Haible  <bruno@clisp.org>
82827         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
82828         gl_GETOPT_SUBSTITUTE before.
82829         (gl_GETOPT): Use it.
82830         * m4/argp.m4 (gl_ARGP): Update.
82831         Reported by Sergey Poznyakoff.
82833         * m4/getopt.m4: Reorder macros.
82834         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
82835         (gl_GETOPT_SUBSTITUTE): Remove macro.
82837 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
82839         Minor improvement in gitlog-to-changelog
82841         * build-aux/gitlog-to-changelog: New option `--format' makes
82842         output format string configurable.
82844 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
82846         Optimize exclude: use hash tables for non-wildcard patterns.
82848         * lib/exclude.c: Include hash.h and mbuiter.h
82849         (struct exclude_pattern, exclude_segment): New data types.
82850         (struct exclude): Rewrite.
82851         (fnmatch_pattern_has_wildcards): New function.
82852         (new_exclude_segment, free_exclude_segment): New functions.
82853         (excluded_file_pattern_p, excluded_file_name_p): New functions.
82854         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
82855         * lib/exclude.h (is_fnmatch_pattern): New prototype.
82856         * modules/exclude: Depend on hash and mbuiter.
82858         * modules/exclude-tests: New file.
82859         * tests/test-exclude.c: New file.
82860         * tests/test-exclude1.sh: New file.
82861         * tests/test-exclude2.sh: New file.
82862         * tests/test-exclude3.sh: New file.
82863         * tests/test-exclude4.sh: New file.
82864         * tests/test-exclude5.sh: New file.
82865         * tests/test-exclude6.sh: New file.
82866         * tests/test-exclude7.sh: New file.
82868 2009-08-12  Bruno Haible  <bruno@clisp.org>
82870         Ensure that getopt() gets declared by <unistd.h>.
82871         * lib/unistd.in.h: Conditionally include getopt.h.
82872         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
82873         Set GNULIB_UNISTD_H_GETOPT.
82874         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
82875         GNULIB_UNISTD_H_GETOPT.
82876         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
82878 2009-08-12  Bruno Haible  <bruno@clisp.org>
82880         Clarify logic.
82881         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
82882         gl_replace_getopt instead of GETOPT_H.
82884 2009-08-12  Bruno Haible  <bruno@clisp.org>
82886         * m4/getopt.m4: Add comments.
82888 2009-08-12  Bruno Haible  <bruno@clisp.org>
82890         Disable multithread support by default on Cygwin 1.5.x.
82891         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
82892         set gl_use_threads=no if not specified otherwise.
82894 2009-08-11  Bruno Haible  <bruno@clisp.org>
82896         Avoid compilation error on NetBSD 5.0.
82897         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
82898         * tests/test-stdio.c: Likewise.
82899         * tests/test-stdlib.c: Likewise.
82900         * tests/test-string.c: Likewise.
82901         * tests/test-unistd.c: Likewise.
82902         Reported by Greg Troxel <gdt@ir.bbn.com>
82903         at <https://savannah.gnu.org/support/?106973>.
82905 2009-08-11  Bruno Haible  <bruno@clisp.org>
82907         * modules/dup2-tests (Depends-on): Remove close.
82909         Undo 2009-07-19 commit.
82910         * modules/acl-tests (Depends-on): Remove close.
82911         * modules/binary-io-tests (Depends-on): Likewise.
82912         * modules/closein-tests (Depends-on): Likewise.
82913         * modules/flock-tests (Depends-on): Likewise.
82914         * modules/fsync-tests (Depends-on): Likewise.
82915         * modules/lseek-tests (Depends-on): Likewise.
82916         * modules/pipe-tests (Depends-on): Likewise.
82917         * modules/posix_spawn-tests (Depends-on): Likewise.
82918         * modules/posix_spawnp-tests (Depends-on): Likewise.
82919         * modules/stat-time-tests (Depends-on): Likewise.
82920         * modules/yesno-tests (Depends-on): Likewise.
82922 2009-08-10  Bruno Haible  <bruno@clisp.org>
82924         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
82926 2009-08-10  Bruno Haible  <bruno@clisp.org>
82928         Fix a gcc warning.
82929         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
82931 2009-08-10  Bruno Haible  <bruno@clisp.org>
82933         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
82934         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
82935         not only the first time.
82936         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
82937         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
82938         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
82939         is 1, not only the first time.
82941 2009-08-10  Bruno Haible  <bruno@clisp.org>
82943         Make it possible to use module 'gethostname' without module 'close'.
82944         * lib/unistd.in.h (close): Evoke a link error only if
82945         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
82946         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
82947         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82948         * modules/unistd (Makefile.am): Substitute
82949         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82950         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
82951         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
82952         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
82953         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82954         * modules/sys_ioctl (Makefile.am): Substitute
82955         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82956         * modules/socket (configure.ac): On native Windows, set
82957         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
82958         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82959         Reported by Sam Steingold <sds@gnu.org>.
82961 2009-08-10  Bruno Haible  <bruno@clisp.org>
82963         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
82964         * modules/ioctl (configure.ac): Likewise.
82966 2009-08-10  Bruno Haible  <bruno@clisp.org>
82968         Avoid collision between gnulib wrapper and libintl wrapper.
82969         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
82970         already defined in intl/printf.c.
82971         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
82972         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
82974 2009-08-09  Bruno Haible  <bruno@clisp.org>
82976         Make <sys/select.h> really self-contained, also on Solaris 10.
82977         * lib/sys_select.in.h: Include <string.h>.
82978         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
82979         Solaris 10 problem.
82980         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
82981         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
82982         Reported by Jim Meyering.
82984 2009-08-09  Bruno Haible  <bruno@clisp.org>
82986         Avoid warnings from 'aclocal' that are due to a use of macro name
82987         AM_XGETTEXT_OPTION that is not defined in automake.
82988         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
82989         automake.
82990         * modules/error (configure.ac): Likewise.
82991         * modules/propername (configure.ac): Likewise.
82992         * modules/vasprintf (configure.ac): Likewise.
82993         * modules/verror (configure.ac): Likewise.
82994         * modules/xprintf (configure.ac): Likewise.
82995         * modules/xvasprintf (configure.ac): Likewise.
82997 2009-08-08  Bruno Haible  <bruno@clisp.org>
82999         Avoid compilation error in C++ mode.
83000         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
83001         Reported by Sam Steingold <sds@gnu.org>.
83003 2009-08-08  Bruno Haible  <bruno@clisp.org>
83005         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
83006         for the various Unix platforms.
83007         * doc/posix-headers/limits.texi: Update platforms list regarding
83008         HOST_NAME_MAX.
83009         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
83011 2009-08-07  Jim Meyering  <meyering@redhat.com>
83013         selinux-at: fix typo in a comment
83014         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
83015         Spotted by Paolo Bonzini.
83017         selinux-at: remove redundant m4 code, add documentation
83018         * modules/selinux-at (configure.ac): Remove redundant code.
83019         LIB_SELINUX is already set via the dependent module, selinux-h.
83020         (Include): Add quotes around selinux-at.h.
83021         * lib/selinux-at.h: Add documentation.
83022         Reported by Bruno Haible in
83023         http://marc.info/?l=gnulib-bug&m=124958988300749
83025 2009-08-07  Bruno Haible  <bruno@clisp.org>
83027         Avoid link error on MacOS X 10.3 and 10.4.
83028         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
83029         on non-ELF systems.
83030         * lib/argp-pv.c (argp_program_version): Likewise.
83031         Reported by Simon Josefsson.
83033 2009-08-07  Simon Josefsson  <simon@josefsson.org>
83035         * tests/test-version-etc.sh: Use $EXEEXT.
83037 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
83039         update-copyright: update documentation to point to maint.mk
83040         * build-aux/update-copyright: Here.
83042 2009-08-06  Jim Meyering  <meyering@redhat.com>
83044         maint.mk: support update-copyright-local
83045         * top/maint.mk (update-copyright-local): Define place-holder.
83046         (update-copyright): Depend on $(update-copyright-local).
83048 2009-08-06  Jim Meyering  <meyering@redhat.com>
83050         selinux-at: new module
83051         Initially written for coreutils, this module will soon be
83052         used by findutils, too.
83053         * MODULES.html.sh [Misc]: Add selinux-at.
83054         * lib/selinux-at.h: New file, from coreutils.
83055         * lib/selinux-at.c: Likewise.
83056         * modules/selinux-at: Likewise.
83057         (License): Change from LGPL to GPL, since it depends
83058         on the GPL'd openat module.
83060         doc: update README
83061         * README: Remove references to cogito.
83062         Remove cvs-repo-updating instructions from 2007.
83063         Don't imply that CVS is better if you have limited disk space.
83065 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83067         update-copyright: support C-style comments
83068         * build-aux/update-copyright: Implement and document.
83069         * tests/test-update-copyright.sh: Test.
83071 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83073         update-copyright: support omitted "(C)"
83074         * build-aux/update-copyright: Implement and document.  Also,
83075         allow variable whitespace before "(C)".
83076         * tests/test-update-copyright.sh: Test.
83078 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83080         update-copyright: don't trip on non-FSF copyright statements
83081         * build-aux/update-copyright: Fix so that the first correctly
83082         formatted FSF copyright statement is recognized no matter what
83083         appears before it.  Update documentation.
83084         * tests/test-update-copyright.sh: Test that.
83086 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83088         update-copyright: clean up code a little
83089         * build-aux/update-copyright: Append "_re" to the name of any
83090         variable holding a regular expression.
83091         Replace "old" and "new" with "stmt" in variable names.
83092         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
83093         handled correctly.
83094         Format code more consistently.
83096 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
83098         update-copyright-tests: improve portability
83099         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
83100         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
83102 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
83104         update-copyright: support @copyright{} and &copy;
83105         * build-aux/update-copyright: Implement and document.
83106         * tests/test-update-copyright.sh: Test.
83108 2009-08-04  Jim Meyering  <meyering@redhat.com>
83110         update-copyright-tests: correctly test EOL=\r\n handling
83111         * tests/test-update-copyright.sh: Put \r at the end of some lines
83112         for the dos-eol tests.  Based on a patch by Joel E. Denny.
83114         maint.mk: make update-copyright exclusion list more configurable
83115         * top/maint.mk (update-copyright): Default to excluding COPYING,
83116         but allow an override, in case someone does want to update that file.
83118         maint.mk: don't update copyright date in COPYING
83119         * top/maint.mk (update-copyright): Exclude COPYING.
83121         maint.mk: add a copyright-updating rule
83122         * top/maint.mk (update-copyright): New rule.
83123         Derived from coreutils/Makefile.am.
83125         update-copyright: rename some variables
83126         * build-aux/update-copyright: Rename a few variables for clarity.
83127         Tweak syntax.  List Joel E. Denny as coauthor.
83129 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
83131         update-copyright: fix bug for 2-digit last year and add tests
83132         * build-aux/update-copyright: Fix bug.
83133         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
83134         specified.
83135         * modules/update-copyright-tests: New
83136         * tests/test-update-copyright.sh: New.
83138 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
83140         update-copyright: handle leading tabs in line prefix
83141         * build-aux/update-copyright: Count leading tabs as 8 spaces
83142         when computing margin.  This helps with the formatting of
83143         ChangeLogs, for example.
83144         Fix documentation a little.
83146 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
83148         update-copyright: support EOL=\r\n
83149         * build-aux/update-copyright: Implement that.
83151 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
83153         update-copyright: automatically format copyright statements
83154         * build-aux/update-copyright: Implement that.
83155         Also, be a little more predictable and safer by always failing
83156         when the full copyright format is not perfectly recognized as an
83157         unbroken whole.  Discussed at
83158         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
83159         Rewrite documentation.
83161 2009-08-03  Bruno Haible  <bruno@clisp.org>
83163         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
83165 2009-08-02  Bruno Haible  <bruno@clisp.org>
83167         Tests for module 'uname'.
83168         * modules/uname-tests: New file.
83169         * tests/test-uname.c: New file.
83171         New module 'uname'.
83172         * lib/uname.c: New file.
83173         * m4/uname.m4: New file.
83174         * modules/uname: New file.
83175         * doc/posix-functions/uname.texi: Mention the new module.
83177 2009-08-02  Bruno Haible  <bruno@clisp.org>
83179         Tests for module 'sys_utsname'.
83180         * modules/sys_utsname-tests: New file.
83181         * tests/test-sys_utsname.c: New file.
83183         New module 'sys_utsname'.
83184         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
83185         * m4/sys_utsname_h.m4: New file.
83186         * modules/sys_utsname: New file.
83187         * doc/posix-headers/sys_utsname.texi: Mention the new module.
83189 2009-08-02  Bruno Haible  <bruno@clisp.org>
83191         Implicitly initialize the sockets library.
83192         * lib/gethostname.c: Include sockets.h.
83193         (rpl_gethostname): Invoke gl_sockets_startup.
83194         * lib/socket.c: Include sockets.h.
83195         (rpl_socket): Invoke gl_sockets_startup.
83196         * modules/gethostname (Depends-on): Add sockets.
83197         * modules/socket (Depends-on): Likewise.
83198         * tests/test-poll.c: Don't include sockets.h.
83199         (main): Don't invoke gl_sockets_startup.
83200         * tests/test-select.c: Don't include sockets.h.
83201         (main): Don't invoke gl_sockets_startup.
83203 2009-08-02  Bruno Haible  <bruno@clisp.org>
83205         Allow multiple calls to gl_sockets_startup.
83206         * lib/sockets.c (initialized_sockets_version): New variable.
83207         (gl_sockets_startup): Do nothing if already called for this or a higher
83208         version.
83209         (gl_sockets_cleanup): Reset initialized_sockets_version.
83211 2009-08-03  Simon Josefsson  <simon@josefsson.org>
83213         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
83214         different project/version.
83216 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
83217             Bruno Haible  <bruno@clisp.org>
83219         Tests for module 'pipe-filter-gi'.
83220         * modules/pipe-filter-gi-tests: New file.
83221         * tests/test-pipe-filter-gi1.sh: New file.
83222         * tests/test-pipe-filter-gi1.c: New file.
83223         * tests/test-pipe-filter-gi2.sh: New file.
83224         * tests/test-pipe-filter-gi2-main.c: New file.
83225         * tests/test-pipe-filter-gi2-child.c: New file.
83227         New module 'pipe-filter-gi'.
83228         * lib/pipe-filter-gi.c: New file.
83229         * modules/pipe-filter-gi: New file.
83231 2009-08-02  Bruno Haible  <bruno@clisp.org>
83232             Paolo Bonzini  <bonzini@gnu.org>
83234         Tests for module 'pipe-filter-ii'.
83235         * modules/pipe-filter-ii-tests: New file.
83236         * tests/test-pipe-filter-ii1.sh: New file.
83237         * tests/test-pipe-filter-ii1.c: New file.
83238         * tests/test-pipe-filter-ii2.sh: New file.
83239         * tests/test-pipe-filter-ii2-main.c: New file.
83240         * tests/test-pipe-filter-ii2-child.c: New file.
83242         New module 'pipe-filter-ii'.
83243         * lib/pipe-filter.h: New file.
83244         * lib/pipe-filter-ii.c: New file.
83245         * lib/pipe-filter-aux.h: New file.
83246         * modules/pipe-filter-ii: New file.
83248 2009-08-02  Simon Josefsson  <simon@josefsson.org>
83250         * lib/gc-libgcrypt.c: Change copyright to FSF.
83251         * lib/gc-gnulib.c: Likewise.
83253 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
83255         * lib/gethostname.c: Include limits.h.
83257 2009-08-02  Simon Josefsson  <simon@josefsson.org>
83258             Bruno Haible  <bruno@clisp.org>
83260         Ensure HOST_NAME_MAX as part of the gethostname module.
83261         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
83262         define also HOST_NAME_MAX.
83263         * tests/test-gethostname.c: Include <limits.h>.
83264         (main): Check also HOST_NAME_MAX.
83265         * doc/posix-headers/limits.texi: Document the mingw problem.
83267 2009-08-02  Bruno Haible  <bruno@clisp.org>
83269         * lib/gethostname.c (gethostname): Fix handling of large len argument.
83270         Add comments.
83272 2009-03-31  Simon Josefsson  <simon@josefsson.org>
83274         * lib/gethostname.c: Add Windows wrapper.
83275         * m4/gethostname.m4: Look for gethostname in -lws2_32.
83276         * modules/gethostname: Depend on sys_socket & errno, for also
83277         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
83278         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
83280 2009-07-31  Jim Meyering  <meyering@redhat.com>
83282         getloadavg: fix symbol name in comment
83283         * lib/getloadavg.c: Correct a typo I introduced when adding
83284         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
83285         Matt Kraai spotted the problem.
83287 2009-07-29  Matt Kraai  <mkraai@beckman.com>
83289         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
83290         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
83291         code also if ! defined N_NAME_POINTER.
83292         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
83293         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
83294         but the n_name member is a 12-byte array.
83296 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
83298         update-copyright: generalize comment handling
83299         * build-aux/update-copyright: Handle copyright statements
83300         within more comment styles.
83301         Document usage.
83302         Report any file with an external copyright holder or parse failure.
83304 2009-07-29  Jim Meyering  <meyering@redhat.com>
83306         mktime: correct setting of REPLACE_MKTIME
83307         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
83309         update-copyright: new module
83310         * modules/update-copyright: New file.
83311         * build-aux/update-copyright: New file.
83312         * MODULES.html.sh (maint+release support): Add update-copyright.
83314 2009-07-27  Bruno Haible  <bruno@clisp.org>
83316         Fix compilation error when <ctime> is used and mktime is replaced.
83317         * lib/time.in.h (mktime): New declaration.
83318         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
83319         REPLACE_MKTIME instead of defining mktime in config.h.
83320         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
83321         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
83322         Reported by Ross McFarland <rwmcfa1@neces.com>.
83324 2009-07-27  Bruno Haible  <bruno@clisp.org>
83326         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
83327         Reported by Matt Kraai <mkraai@beckman.com>.
83329 2009-07-25  Jim Meyering  <meyering@redhat.com>
83331         maint.mk: avoid warnings about missing files
83332         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
83333         diagnostic when .prev-version does not exist.
83334         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
83335         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
83336         nonexistent cfg.mk.
83337         Suggestions from Simon Josefsson.
83339 2009-07-25  Bruno Haible  <bruno@clisp.org>
83341         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
83342         defined as macros. Needed on QNX 6.4.1.
83343         Reported by Matt Kraai <mkraai@beckman.com>.
83345 2009-07-23  Jim Meyering  <meyering@redhat.com>
83347         maint.mk: invoke "make dist" with a working value of XZ_OPT
83348         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
83350 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
83352         Make fseeko.c compile on QNX.
83353         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
83355 2009-07-22  Peter Simons  <simons@cryp.to>
83357         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
83358         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
83359         * lib/md4.h: Likewise.
83360         * lib/md5.h: Likewise.
83361         * lib/sha1.h: Likewise.
83362         * lib/sha256.h: Likewise.
83363         * lib/sha512.h: Likewise.
83365         tests-sha1: don't assign literal string to 'char *' variable
83366         * tests/test-sha1.c (main): Declare locals with "const" to match
83367         attributes of the right hand side.
83369 2009-07-21  Eric Blake  <ebb9@byu.net>
83371         dup2: fix more mingw problems
83372         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
83373         fd to itself.
83374         * doc/posix-functions/dup2.texi (dup2): Document the bug.
83375         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
83376         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
83377         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
83378         care of mingw bugs.
83380 2009-07-21  Jim Meyering  <meyering@redhat.com>
83382         vc-list-files: avoid failure when /bin/sh is dash
83383         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
83384         On some Debian based systems, /bin/sh is a symlink to dash, and running
83385         this command would omit the "/" following each 'tests' prefix:
83386           dash -x build-aux/vc-list-files -C . tests
83387         That is because bash and dash work differently:
83388           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
83389           bash ok
83390           dash odd
83392 2009-07-21  Eric Blake  <ebb9@byu.net>
83394         dup2-tests: test previous patch
83395         * modules/dup2-tests: New file.
83396         * tests/test-dup2.c: Likewise.
83397         * tests/test-open.c (main): Avoid unspecified behavior.
83398         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
83399         test.
83401         dup2: work around mingw and cygwin 1.5 bug
83402         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
83403         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
83404         * modules/unistd (Makefile.am): Substitute it.
83405         * lib/unistd.in.h (dup2): Declare the replacement.
83406         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
83407         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
83408         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
83409         * modules/execute (Depends-on): Add dup2.
83410         * modules/fseterr (Depends-on): Likewise.
83411         * modules/pipe (Depends-on): Likewise.
83412         * modules/posix_spawn-internal (Depends-on): Likewise.
83414 2009-07-21  Bruno Haible  <bruno@clisp.org>
83416         * modules/.gitattributes: New file.
83418 2009-07-20  Bruno Haible  <bruno@clisp.org>
83420         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
83421         (main): Use it.
83423 2009-07-20  Eric Blake  <ebb9@byu.net>
83425         test-pipe: make a bit more robust.
83426         * tests/test-pipe.c (myerr): Allow error messages regardless of
83427         what we do to stderr.
83428         (test_pipe): Rearrange to avoid deadlock.
83429         (child_main): Try a larger read, to ensure we avoided deadlock.
83430         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
83431         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
83432         if misused.
83434 2009-07-19  Jim Meyering  <meyering@redhat.com>
83436         fts: avoid false-positive cycle-detection
83437         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
83438         for each new command line argument.
83440 2009-07-19  Bruno Haible  <bruno@clisp.org>
83442         Fix build error on mingw with the modules sys_select and unistd.
83443         * modules/acl-tests (Depends-on): Add close.
83444         * modules/binary-io-tests (Depends-on): Likewise.
83445         * modules/closein-tests (Depends-on): Likewise.
83446         * modules/flock-tests (Depends-on): Likewise.
83447         * modules/fsync-tests (Depends-on): Likewise.
83448         * modules/lseek-tests (Depends-on): Likewise.
83449         * modules/pipe-tests (Depends-on): Likewise.
83450         * modules/posix_spawn-tests (Depends-on): Likewise.
83451         * modules/posix_spawnp-tests (Depends-on): Likewise.
83452         * modules/stat-time-tests (Depends-on): Likewise.
83453         * modules/yesno-tests (Depends-on): Likewise.
83455 2009-07-19  Bruno Haible  <bruno@clisp.org>
83457         Unify conditionals.
83458         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
83459         macros, not at the compiler macros.
83460         * lib/pipe.c: Likewise.
83461         * lib/execute.c: Likewise.
83462         * lib/spawni.c: Likewise.
83464 2009-07-19  Bruno Haible  <bruno@clisp.org>
83466         Fix handling of closed stdin/stdout/stderr on mingw.
83467         * lib/w32spawn.h: Include unistd.h.
83468         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
83469         file descriptor with O_NOINHERIT flag.
83470         (fd_safer_noinherit): New function, based on fd-safer.c.
83471         (dup_safer_noinherit): New function, based on dup-safer.c.
83472         (undup_safer_noinherit): New function.
83473         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
83474         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
83475         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
83476         instead of fd_safer.
83477         * tests/test-pipe.c: Include <windows.h>.
83478         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
83479         result.
83481         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
83482         from main.
83483         (test_pipe): Pass an extra argument for disambiguation.
83484         (main): Invoke parent_main or child_main.
83486         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
83487         consistently.
83489 2009-07-18  Eric Blake  <ebb9@byu.net>
83491         test-pipe: fix mingw build
83492         * tests/test-pipe.c (main): Avoid fcntl on mingw.
83494 2009-07-18  Bruno Haible  <bruno@clisp.org>
83496         * modules/pipe-tests (Makefile.am): Fix typo.
83498 2009-07-18  Eric Blake  <ebb9@byu.net>
83500         error: fix mingw build
83501         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
83502         Reported by Bruno Haible.
83504         error: avoid undefined use of stdout
83505         * lib/error.c (error, error_at_line): Check that fd 1 is open
83506         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
83507         is handling faults and the close_stdout module wants to report the
83508         detection of closed stdout as an error.
83510 2009-07-17  Eric Blake  <ebb9@byu.net>
83512         pipe: be robust in face of closed fds
83513         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
83514         should cause child to misbehave.
83515         * modules/pipe-tests: New module.
83516         * tests/test-pipe.c: New file.
83517         * tests/test-pipe.sh: New file.
83518         Reported by Akim Demaille.
83520 2009-07-14  Bruno Haible  <bruno@clisp.org>
83522         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
83523         Reported by anonymous kc.
83525 2009-07-07  Jim Meyering  <meyering@redhat.com>
83527         maint.mk: don't look for translatable strings in *.m4 or *.mk
83528         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
83529         when searching for translatable strings.
83531 2009-07-05  Jim Meyering  <meyering@redhat.com>
83533         remove superfluous parentheses in STREQ definition
83534         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
83535         * lib/getugroups.c (STREQ): Likewise.
83536         * lib/fnmatch.c (STREQ): Likewise.
83537         Spotted by Bruno Haible.
83539 2009-07-04  Jim Meyering  <meyering@redhat.com>
83541         argv-iter: new module
83542         * MODULES.html.sh: Add argv-iter.
83543         * lib/argv-iter.c, lib/argv-iter.h: New files.
83544         * modules/argv-iter: New file.
83545         * modules/argv-iter-tests: New file.
83546         * tests/test-argv-iter.c: Test it.
83548 2009-07-04  Bruno Haible  <bruno@clisp.org>
83550         Fix assertion.
83551         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
83552         contains more exact copies of a given entry than file2, leave the extra
83553         copies unpaired rather than aborting.
83554         Reported by Eric Blake.
83556 2009-07-02  Bruno Haible  <bruno@clisp.org>
83558         Speedup git-merge-changelog for git cherry-pick.
83559         * lib/git-merge-changelog.c (struct entries_mapping): New type.
83560         (entries_mapping_get): New function, extracted from compute_mapping.
83561         (entries_mapping_reverse_get): New function.
83562         (compute_mapping): Add a 'full' argument. Return the result in a
83563         'struct entries_mapping'.
83564         (main): Update. Access the mappings through entries_mapping_get.
83565         Reported by Eric Blake.
83567 2009-07-02  Bruno Haible  <bruno@clisp.org>
83569         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
83570         best_i.
83572 2009-07-02  Bruno Haible  <bruno@clisp.org>
83574         Speed up approximate search for matching ChangeLog entries.
83575         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
83576         argument. Call fstrcmp_bounded instead of fstrcmp.
83577         (compute_mapping, try_split_merged_entry, main): Update callers.
83579 2009-07-02  Bruno Haible  <bruno@clisp.org>
83581         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
83583 2009-06-30  Bruno Haible  <bruno@clisp.org>
83585         Reduce the number of uc_is_cased calls.
83586         * lib/unicase.h (casing_suffix_context_t): Add
83587         'first_char_except_ignorable' field.
83588         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
83589         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
83590         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
83591         Update initializer.
83592         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
83593         case-ignorable characters.
83594         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
83595         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
83596         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
83597         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
83598         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
83600 2009-06-30  Bruno Haible  <bruno@clisp.org>
83602         Tests for module 'unicase/ignorable'.
83603         * modules/unicase/ignorable-tests: New file.
83604         * tests/unicase/test-ignorable.c: New file, generated by
83605         gen-uni-tables.
83607         Tests for module 'unicase/cased'.
83608         * modules/unicase/cased-tests: New file.
83609         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
83610         * tests/unicase/test-predicate-part1.h: New file, derived from
83611         tests/unictype/test-predicate-part1.h.
83612         * tests/unicase/test-predicate-part2.h: New file, same as
83613         tests/unictype/test-predicate-part2.h.
83615         Fix evaluation of "Before C" condition of FINAL_SIGMA.
83616         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
83617         (output_casing_properties): New function.
83618         (main): Call it.
83619         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
83620         * lib/unicase/cased.c: Include unictype/bitmap.h.
83621         (uc_is_cased): Define through a bitmap lookup.
83622         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
83623         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
83624         (uc_is_case_ignorable): Define through a bitmap lookup.
83625         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
83626         lib/unictype/bitmap.h.
83627         (Depends-on): Add inline. Clean up.
83628         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
83629         lib/unictype/bitmap.h.
83630         (Depends-on): Add inline. Clean up.
83631         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
83632         recognition.
83633         * tests/unicase/test-u16-tolower.c (main): Likewise.
83634         * tests/unicase/test-u32-tolower.c (main): Likewise.
83636 2009-06-30  Bruno Haible  <bruno@clisp.org>
83638         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
83639         * lib/unicase/u16-casemap.c: Likewise.
83640         * lib/unicase/u32-casemap.c: Likewise.
83642 2009-06-29  Bruno Haible  <bruno@clisp.org>
83644         Define u32_casefold as a wrapper around u32_ct_casefold.
83645         * lib/unicase/u32-casefold.c: Update.
83646         * modules/unicase/u32-casefold (Depends-on): Add
83647         unicase/u32-ct-casefold, unicase/empty-prefix-context,
83648         unicase/empty-suffix-context. Clean up.
83650         Define u16_casefold as a wrapper around u16_ct_casefold.
83651         * lib/unicase/u16-casefold.c: Update.
83652         * modules/unicase/u16-casefold (Depends-on): Add
83653         unicase/u16-ct-casefold, unicase/empty-prefix-context,
83654         unicase/empty-suffix-context. Clean up.
83656         Define u8_casefold as a wrapper around u8_ct_casefold.
83657         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
83658         * lib/unicase/u8-casefold.c: Update.
83659         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
83660         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83662         Define u32_totitle as a wrapper around u32_ct_totitle.
83663         * lib/unicase/u32-totitle.c: Update.
83664         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
83665         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83667         Define u16_totitle as a wrapper around u16_ct_totitle.
83668         * lib/unicase/u16-totitle.c: Update.
83669         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
83670         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83672         Define u8_totitle as a wrapper around u8_ct_totitle.
83673         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
83674         functions.
83675         (FUNC): Delegate to U_CT_TOTITLE.
83676         * lib/unicase/u8-totitle.c: Update.
83677         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
83678         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83680         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
83681         invocation.
83682         * modules/unicase/u32-tolower (Depends-on): Add
83683         unicase/empty-prefix-context, unicase/empty-suffix-context.
83685         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
83686         invocation.
83687         * modules/unicase/u16-tolower (Depends-on): Add
83688         unicase/empty-prefix-context, unicase/empty-suffix-context.
83690         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
83691         * modules/unicase/u8-tolower (Depends-on): Add
83692         unicase/empty-prefix-context, unicase/empty-suffix-context.
83694         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
83695         invocation.
83696         * modules/unicase/u32-toupper (Depends-on): Add
83697         unicase/empty-prefix-context, unicase/empty-suffix-context.
83699         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
83700         invocation.
83701         * modules/unicase/u16-toupper (Depends-on): Add
83702         unicase/empty-prefix-context, unicase/empty-suffix-context.
83704         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
83705         * modules/unicase/u8-toupper (Depends-on): Add
83706         unicase/empty-prefix-context, unicase/empty-suffix-context.
83708         New module 'unicase/u32-ct-casefold'.
83709         * lib/unicase/u32-ct-casefold.c: New file.
83710         * modules/unicase/u32-ct-casefold: New file.
83712         New module 'unicase/u16-ct-casefold'.
83713         * lib/unicase/u16-ct-casefold.c: New file.
83714         * modules/unicase/u16-ct-casefold: New file.
83716         New module 'unicase/u8-ct-casefold'.
83717         * lib/unicase/u8-ct-casefold.c: New file.
83718         * lib/unicase/u-ct-casefold.h: New file, derived from
83719         lib/unicase/u-casefold.h.
83720         * modules/unicase/u8-ct-casefold: New file.
83722         New module 'unicase/u32-ct-totitle'.
83723         * lib/unicase/u32-ct-totitle.c: New file.
83724         * modules/unicase/u32-ct-totitle: New file.
83726         New module 'unicase/u16-ct-totitle'.
83727         * lib/unicase/u16-ct-totitle.c: New file.
83728         * modules/unicase/u16-ct-totitle: New file.
83730         New module 'unicase/u8-ct-totitle'.
83731         * lib/unicase/u8-ct-totitle.c: New file.
83732         * lib/unicase/u-ct-totitle.h: New file, derived from
83733         lib/unicase/u-totitle.h.
83734         * modules/unicase/u8-ct-totitle: New file.
83736         New module 'unicase/u32-ct-tolower'.
83737         * lib/unicase/u32-ct-tolower.c: New file.
83738         * modules/unicase/u32-ct-tolower: New file.
83740         New module 'unicase/u16-ct-tolower'.
83741         * lib/unicase/u16-ct-tolower.c: New file.
83742         * modules/unicase/u16-ct-tolower: New file.
83744         New module 'unicase/u8-ct-tolower'.
83745         * lib/unicase/u8-ct-tolower.c: New file.
83746         * modules/unicase/u8-ct-tolower: New file.
83748         New module 'unicase/u32-ct-toupper'.
83749         * lib/unicase/u32-ct-toupper.c: New file.
83750         * modules/unicase/u32-ct-toupper: New file.
83752         New module 'unicase/u16-ct-toupper'.
83753         * lib/unicase/u16-ct-toupper.c: New file.
83754         * modules/unicase/u16-ct-toupper: New file.
83756         New module 'unicase/u8-ct-toupper'.
83757         * lib/unicase/u8-ct-toupper.c: New file.
83758         * modules/unicase/u8-ct-toupper: New file.
83760         Add context arguments to u*_casemap functions.
83761         * lib/unicase/unicasemap.h: Include unicase.h.
83762         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
83763         suffix_context arguments.
83764         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
83765         functions.
83766         (FUNC): Add prefix_context and suffix_context arguments. Use
83767         uc_is_cased and uc_is_case_ignorable.
83768         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
83769         * lib/unicase/u16-casemap.c: Likewise.
83770         * lib/unicase/u32-casemap.c: Likewise.
83771         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
83772         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83773         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
83774         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83775         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
83776         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83778         New module 'unicase/u32-suffix-context'.
83779         * lib/unicase/u32-suffix-context.c: New file.
83780         * modules/unicase/u32-suffix-context: New file.
83782         New module 'unicase/u16-suffix-context'.
83783         * lib/unicase/u16-suffix-context.c: New file.
83784         * modules/unicase/u16-suffix-context: New file.
83786         New module 'unicase/u8-suffix-context'.
83787         * lib/unicase/u8-suffix-context.c: New file.
83788         * lib/unicase/u-suffix-context.h: New file.
83789         * modules/unicase/u8-suffix-context: New file.
83791         New module 'unicase/empty-suffix-context'.
83792         * lib/unicase/empty-suffix-context.c: New file.
83793         * modules/unicase/empty-suffix-context: New file.
83795         New module 'unicase/u32-prefix-context'.
83796         * lib/unicase/u32-prefix-context.c: New file.
83797         * modules/unicase/u32-prefix-context: New file.
83799         New module 'unicase/u16-prefix-context'.
83800         * lib/unicase/u16-prefix-context.c: New file.
83801         * modules/unicase/u16-prefix-context: New file.
83803         New module 'unicase/u8-prefix-context'.
83804         * lib/unicase/u8-prefix-context.c: New file.
83805         * lib/unicase/u-prefix-context.h: New file.
83806         * lib/unicase/context.h: New file.
83807         * modules/unicase/u8-prefix-context: New file.
83809         New module 'unicase/empty-prefix-context'.
83810         * lib/unicase/empty-prefix-context.c: New file.
83811         * modules/unicase/empty-prefix-context: New file.
83813         New module 'unicase/ignorable'.
83814         * lib/unicase/ignorable.c: New file.
83815         * modules/unicase/ignorable: New file.
83817         New module 'unicase/cased'.
83818         * lib/unicase/caseprop.h: New file.
83819         * lib/unicase/cased.c: New file.
83820         * modules/unicase/cased: New file.
83822         New functions for case mapping of substrings.
83823         * lib/unicase.h (casing_prefix_context_t): New type.
83824         (unicase_empty_prefix_context): New variable.
83825         (u8_casing_prefix_context, u16_casing_prefix_context,
83826         u32_casing_prefix_context, u8_casing_prefixes_context,
83827         u16_casing_prefixes_context, u32_casing_prefixes_context): New
83828         declarations.
83829         (casing_suffix_context_t): New type.
83830         (unicase_empty_suffix_context): New variable.
83831         (u8_casing_suffix_context, u16_casing_suffix_context,
83832         u32_casing_suffix_context, u8_casing_suffixes_context,
83833         u16_casing_suffixes_context, u32_casing_suffixes_context,
83834         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
83835         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
83836         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
83837         declarations.
83839 2009-06-28  Jim Meyering  <meyering@redhat.com>
83841         boostrap: indent only with spaces
83842         * build-aux/bootstrap: Indent only with spaces, never TABs.
83844         bootstrap: split long lines
83845         * build-aux/bootstrap: Keep line length < 80.
83847         bootstrap: sync from coreutils
83848         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
83849         just as autoreconf does.  Verify a list of prerequisite
83850         package-name,version-number pairs if defined in bootstrap.conf.
83851         Refer to README-prereq, if prerequisites are not satisfied.
83853 2009-06-27  Eric Blake  <ebb9@byu.net>
83855         tests: add test for bogus NULL definition
83856         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
83857         * tests/test-stdlib.c: Likewise.
83858         * tests/test-string.c: Likewise.
83859         * tests/test-locale.c: Likewise.
83860         * tests/test-unistd.c: Likewise.
83861         * modules/stdio-tests (Depends-on): Add verify.
83862         * modules/stdlib-tests (Depends-on): Likewise.
83863         * modules/string-tests (Depends-on): Likewise.
83864         * modules/locale-tests (Depends-on): Likewise.
83865         * modules/unistd-tests (Depends-on): Likewise.
83867 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
83869         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
83870         self-explaining comment.
83871         * m4/selinux-selinux-h: Update serial.
83872         (gl_LIBSELINUX): New macro, adding a warning for missing development
83873         packages to code extracted from...
83874         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
83875         Add warning for missing development packages here, too.
83877 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
83879         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
83881 2009-06-25  Eric Blake  <ebb9@byu.net>
83883         version-etc: fix regression
83884         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
83885         gcc.
83886         (version_etc): Use it, to catch bugs with trailing NULL.
83887         * lib/version-etc.c (version_etc_arn): Delete unused argument.
83888         (version_etc_va): Fix logic bug.
83889         * modules/version-etc-tests: Add test.
83890         * tests/test-version-etc.c: New file.
83891         * tests/test-version-etc.sh: Likewise.
83893 2009-06-25  Sam Steingold  <sds@gnu.org>
83895         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
83896         mbtowc declaration.
83898 2009-06-25  Eric Blake  <ebb9@byu.net>
83900         fpurge: migrate into <stdio.h>
83901         * lib/fpurge.h: Delete...
83902         * lib/stdio.in.h (fpurge): ...and declare here, instead.
83903         * lib/fpurge.c (fpurge): Change declaring header.
83904         * modules/fpurge (Files): Drop deleted file.
83905         (Depends-on): Add stdio.
83906         (configure.ac): Set witness.
83907         * modules/stdio (Makefile.am): Support fpurge macros.
83908         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
83909         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
83910         * lib/fflush.c: Update client.
83911         * tests/test-fpurge.c: Likewise.
83912         * NEWS: Mention the change.
83914 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83916         * lib/argp-version-etc.c (program_authors): Add const
83917         qualifier.
83918         * lib/version-etc.c: Fix typos in the comments.
83919         * modules/argp-version-etc: Depends on version-etc.
83921 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83923         argp-version-etc: new module.
83925         * lib/argp-version-etc.c: New file.
83926         * lib/argp-version-etc.h: New file.
83927         * modules/argp-version-etc: New file.
83928         * modules/argp-version-etc-tests: New file.
83929         * tests/test-argp-version-etc.c: New test.
83930         * tests/test-argp-version-etc-1.sh: New test.
83932 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83934         Provide additional interfaces and documentation for version-etc
83935         module.
83937         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
83938         interfaces.
83939         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
83940         prototypes.
83942 2009-06-24  Bruno Haible  <bruno@clisp.org>
83944         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
83945         HAVE_LIB${NAME} macro.
83946         Reported by Sam Steingold <sds@gnu.org>.
83948 2009-06-23  Simon Josefsson  <simon@josefsson.org>
83950         * modules/hash-tests (test_hash_LDADD): Link to libintl when
83951         needed.
83953 2009-06-21  Bruno Haible  <bruno@clisp.org>
83955         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
83956         work.
83957         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
83958         together with LIB${NAME}, LTLIB${NAME}.
83959         Reported by Sam Steingold <sds@gnu.org>.
83961 2009-06-20  Jim Meyering  <meyering@redhat.com>
83963         tests: make sc_require_test_exit_idiom more generic
83964         * top/maint.mk (Exit_witness_file): New overridable variable.
83965         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
83966         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
83968 2009-06-19  Jim Meyering  <meyering@redhat.com>
83970         hash: reverse order of src/dst parameters in an internal interface
83971         * lib/hash.c (transfer_entries): Reverse order of parameters to
83972         put DST before SRC.  Adjust callers.
83974         tests: test-hash: avoid wholesale duplication
83975         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
83976         Instead, use a loop and add a single conditional.
83978         tests: test-hash: allow seed selection via a command line argument
83979         * tests/test-hash.c (get_seed): New function.
83980         (main): Use it.
83982 2009-06-19  Eric Blake  <ebb9@byu.net>
83984         hash: avoid memory leak on allocation failure
83985         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
83986         failure.  Factor repeated algorithm...
83987         (transfer_entries): ...into new helper routine.
83988         (hash_delete): React to hash_rehash return value.
83990         hash: reduce memory pressure in hash_rehash no-op case
83991         * lib/hash.c (next_prime): Avoid overflow.
83992         (hash_initialize): Factor bucket size computation...
83993         (compute_bucket_size): ...into new helper function.
83994         (hash_rehash): Use new function and open coding to reduce memory
83995         pressure, and avoid a memory leak in USE_OBSTACK code.
83996         Reported by Jim Meyering.
83998 2009-06-18  Eric Blake  <ebb9@byu.net>
84000         hash: make rotation more obvious
84001         * modules/hash (Depends-on): Add bitrotate and stdint.
84002         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
84003         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
84004         (SIZE_MAX): Rely on headers for definition.
84005         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
84006         (raw_hasher): Use rotr_sz.
84007         Suggested by Jim Meyering.
84009         hash: fix memory leak in last patch
84010         * lib/hash.c (hash_rehash): Avoid memory leak.
84012         hash: avoid no-op rehashing
84013         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
84015         hash: provide default callback functions
84016         * lib/hash.c (raw_hasher, raw_comparator): New functions.
84017         (hash_initialize): Use them as defaults.
84018         * tests/test-hash.c (main): Test this.
84020         hash: minor optimization
84021         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
84022         when possible.
84023         (hash_initialize): Document this promise.
84024         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
84025         * tests/test-hash.c (hash_compare_strings): Test this.
84027 2009-06-18  Bruno Haible  <bruno@clisp.org>
84029         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
84030         going to be replaced anyway.
84032 2009-06-18  Bruno Haible  <bruno@clisp.org>
84034         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
84035         in one place.
84036         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
84037         be replaced anyway.
84039 2009-06-18  Eric Blake  <ebb9@byu.net>
84041         hash: check for resize before insertion
84042         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
84043         threshold before insertion, so that a pathological hash_rehash
84044         that fills every bucket can still trigger another rehash.
84046 2009-06-18  Jim Meyering  <meyering@redhat.com>
84048         hash-tests: add a loop around the small tests
84049         * tests/test-hash.c (main): Repeat small tests with selected
84050         small initial table sizes.
84052 2009-06-17  Eric Blake  <ebb9@byu.net>
84054         hash: minor cleanups
84055         * lib/hash.h (hash_entry): Make opaque, by moving...
84056         * lib/hash.c (hash_entry): ...here.
84057         (hash_insert): Clarify restrictions on what can be inserted.
84058         (hash_get_next): Clarify when it is safe to remove an element
84059         during traversal.
84060         (check_tuning): Skip verification when tuning is known safe.
84061         (hash_initialize): Clarify restrictions on tuning.
84063 2009-06-17  Jim Meyering  <jim@meyering.net>
84064         and Eric Blake  <ebb9@byu.net>
84066         hash-tests: new module
84067         * modules/hash-tests: New file.
84068         * tests/test-hash.c: New file.
84070 2009-06-17  Eric Blake  <ebb9@byu.net>
84072         strstr-simple: document new module
84073         * MODULES.html.sh: Document new module.
84075         strstr, strcasestr: replace on platforms with broken memchr
84076         * modules/strstr: Split into...
84077         * modules/strstr-simple: ...new module that does not care about
84078         performance, but does care about glibc bug.
84079         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
84080         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
84081         if platform memchr is broken, per Debian bug 521737.
84082         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
84083         memchr.
84084         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
84085         * doc/posix-functions/strstr.texi (strstr): Document the fix.
84086         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
84087         * modules/mountlist (Depends-on): Add strstr-simple.
84088         * modules/gen-uni-tables (Depends-on): Likewise.
84089         * modules/argz (Depends-on): Add strstr.
84091 2009-06-17  Bruno Haible  <bruno@clisp.org>
84093         * modules/posix_spawn-internal (Depends-on): Add errno.
84095 2009-06-17  Bruno Haible  <bruno@clisp.org>
84097         Define missing ESTALE on Interix 3.5.
84098         * lib/errno.in.h (ESTALE): Assign a value if missing.
84099         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
84100         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
84101         missing.
84102         * doc/posix-headers/errno.texi: Mention the Interix bug.
84103         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
84105 2009-06-15  Eric Blake  <ebb9@byu.net>
84107         memchr, memchr2: add valgrind exception
84108         * lib/memchr.valgrind: New file.
84109         * lib/memchr2.valgrind: New file.
84110         * modules/memchr (Files): Distribute valgrind file.
84111         * modules/memchr2 (Files): Likewise.
84113         docs: memchr is no longer obsolete
84114         * MODULES.html.sh: Move memchr from obsolete to string.h section.
84115         * lib/string.in.h (memchr): Simplify logic.
84117 2009-06-14  Jim Meyering  <meyering@redhat.com>
84119         link-follow: fix the "checking..." message to not mention trailing slash
84120         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
84121         never considered trailing slashes.
84123 2009-06-14  Bruno Haible  <bruno@clisp.org>
84125         * m4/memchr.m4: Mention also the bug on IA-64.
84126         * doc/posix-functions/memchr.texi: Likewise.
84128 2009-06-12  Eric Blake  <ebb9@byu.net>
84130         memchr: detect broken x86_64 and alpha implementations
84131         * modules/memchr-tests (Depends-on): Move mmap detection...
84132         * modules/memchr (Depends-on): ...here.
84133         (configure.ac): Set indicator.
84134         * lib/string.in.h (memchr): Declare replacement.
84135         * modules/string (Makefile.am): Trigger replacement.
84136         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
84137         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
84138         bugs.
84139         * doc/posix-functions/memchr.texi (memchr): Document the bug.
84140         * modules/getpagesize (License): Relax license.
84142 2009-06-11  Bruno Haible  <bruno@clisp.org>
84144         * lib/idpriv.h: Add more references.
84146 2009-06-08  Bruno Haible  <bruno@clisp.org>
84148         Tests for module 'idpriv-droptemp'.
84149         * modules/idpriv-droptemp-tests: New file.
84150         * tests/test-idpriv-droptemp.sh: New file.
84151         * tests/test-idpriv-droptemp.su.sh: New file.
84152         * tests/test-idpriv-droptemp.c: New file.
84154         New module 'idpriv-droptemp'.
84155         * lib/idpriv-droptemp.c: New file.
84156         * modules/idpriv-droptemp: New file.
84158 2009-06-08  Bruno Haible  <bruno@clisp.org>
84160         Tests for module 'idpriv-drop'.
84161         * modules/idpriv-drop-tests: New file.
84162         * tests/test-idpriv-drop.sh: New file.
84163         * tests/test-idpriv-drop.su.sh: New file.
84164         * tests/test-idpriv-drop.c: New file.
84166         New module 'idpriv-drop'.
84167         * lib/idpriv.h: New file.
84168         * lib-idpriv-drop.c: New file.
84169         * m4/idpriv.m4: New file.
84170         * modules/idpriv-drop: New file.
84172 2009-06-08  Bruno Haible  <bruno@clisp.org>
84174         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
84175         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
84176         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
84177         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
84178         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
84179         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
84180         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
84182 2009-06-08  Eric Blake  <ebb9@byu.net>
84184         test-strstr: use memory fence, when possible
84185         * tests/test-strstr.c (main): Use memory fence, in order to be
84186         more likely to trigger Debian bug 521737.
84187         * modules/strstr-tests (Files): Pull in additional files.
84189         memchr: no longer obsolete, for wider field testing
84190         * modules/memchr (Status, Notice): Delete, this module is no
84191         longer obsolete.
84192         * modules/vasnprintf (Depends-on): Add memchr.
84194 2009-06-07  Jim Meyering  <meyering@redhat.com>
84196         hash: declare some functions with the warn_unused_result attribute
84197         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
84199 2009-06-07  Bruno Haible  <bruno@clisp.org>
84201         * tests/test-alignof.c: Don't test int64_t if it does not exist.
84202         Reported by Eric Blake.
84204 2009-06-06  Eric Blake  <ebb9@byu.net>
84206         test-alignof: fix typo with long double
84207         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
84208         compiler error.
84210 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
84212         Escape non-texinfo { and }s.
84213         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
84214         markup error.
84216 2009-06-04  Jim Meyering  <meyering@redhat.com>
84218         gitlog-to-changelog: don't infloop on an empty commit log
84219         * build-aux/gitlog-to-changelog: Warn about an empty log message.
84220         Reported by Boris Petersen <transacid@centerim.org>.
84222 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
84224         version-etc: extend for packagers
84225         Add three new configure options, intended for packagers:
84226           --with-packager="packager name"
84227           --with-packager-version="packager-specific version"
84228           --with-packager-bug-reports="packager bug reporting"
84229         An example with coreutils:
84230           $ ./configure \
84231             --with-packager=Gentoo \
84232             --with-packager-bug-report=http://bugs.gentoo.org/ \
84233             --with-packager-version="patchset 1.6"
84234           $ ./src/ls --version | head -n2
84235           ls (GNU coreutils) 7.1-dirty
84236           Packaged by Gentoo (patchset 1.6)
84237         Note that the bug reporting info via --help doesn't show up because
84238         coreutils uses its own custom emit_bug_reporting_address() implementation
84239         in src/system.h.  If it didn't, it'd look like:
84240           $ ./src/ls --help | tail -n4
84241           Report bugs to <bug-coreutils@gnu.org>.
84242           Report Gentoo bugs to <http://bugs.gentoo.org/>.
84243           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
84244           General help using GNU software: <http://www.gnu.org/gethelp/>.
84245         * lib/version-etc.c: Print new information, if provided.
84246         * m4/version-etc.m4: New file.
84247         * modules/version-etc (Files): Add m4/version-etc.m4.
84248         (configure.ac): Add gl_VERSION_ETC.
84250 2009-05-31  Bruno Haible  <bruno@clisp.org>
84252         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
84253         and 'int64_t'.
84254         * modules/alignof-tests (Dependencies): Add stdint.
84255         Reported by Eric Blake.
84257 2009-05-31  Bruno Haible  <bruno@clisp.org>
84259         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
84260         restriction due to compiler bugs.
84261         Reported by Eric Blake.
84263 2009-05-31  Simon Josefsson  <simon@josefsson.org>
84264             Bruno Haible  <bruno@clisp.org>
84266         Fix test-alignof failure.
84267         * lib/alignof.h (alignof_slot): New macro.
84268         (alignof_type): New macro, with the same semantics as the previous
84269         'alignof'.
84270         (alignof): Alias to alignof_slot.
84271         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
84272         check that the results are usable as constant expressions.
84274 2009-05-31  Bruno Haible  <bruno@clisp.org>
84276         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
84277         * tests/test-memchr.c (main): Check that memchr does not read past the
84278         first occurrence of the byte.
84279         * tests/test-strstr.c (main): Update comment.
84280         Suggested by Eric Blake.
84282 2009-05-30  Bruno Haible  <bruno@clisp.org>
84284         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
84285         detail how to use dumpbin.
84286         Reported by David Byron <dbyron@dbyron.com>.
84288 2009-06-02  Simon Josefsson  <simon@josefsson.org>
84290         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
84292 2009-06-02  Simon Josefsson  <simon@josefsson.org>
84294         * m4/manywarnings.m4: Add GCC 4.4 warnings.
84296 2009-05-28  Bruno Haible  <bruno@clisp.org>
84298         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
84299         build-aux/ files.
84301 2009-05-28  Simon Josefsson  <simon@josefsson.org>
84303         * gnulib-tool (func_import): Transform license on build-aux/ files too.
84305 2009-05-27  Simon Josefsson  <simon@josefsson.org>
84307         * gnulib-tool (sed_transform_main_lib_file)
84308         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
84309         regexps.
84311 2009-05-26  Simon Josefsson  <simon@josefsson.org>
84313         * tests/test-strstr.c: Add another self-test.
84314         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
84315         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
84317 2009-05-23  Bruno Haible  <bruno@clisp.org>
84319         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
84320         change.
84322 2009-05-21  Bruno Haible  <bruno@clisp.org>
84324         Simplify use of mode_t varargs.
84325         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
84326         uses 'mode_t' or 'int'.
84327         * lib/openat.c (openat): Likewise.
84328         * lib/open-safer.c (open_safer): Likewise.
84329         * m4/mode_t.m4: New file.
84330         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
84331         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
84332         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
84333         * modules/open (Files): Add m4/mode_t.m4.
84334         * modules/openat (Files): Likewise.
84335         * modules/fcntl-safer (Files): Likewise.
84336         Suggested by Eric Blake.
84338 2009-05-21  Pádraig Brady  <P@draigbrady.com>
84340         * doc/glibc-functions/fallocate.texi: New file.
84341         * doc/gnulib.texi: Include it.
84343 2009-05-21  Eric Blake  <ebb9@byu.net>
84344             Bruno Haible  <bruno@clisp.org>
84346         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
84347         invocations.
84348         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
84350 2009-05-21  Eric Blake  <ebb9@byu.net>
84351             Bruno Haible  <bruno@clisp.org>
84353         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
84354         include_next. Fix of 2008-11-20 commit.
84355         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
84356         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
84357         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
84358         NEXT_MATH_H.
84359         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
84360         instead of NEXT_MATH_H.
84362 2009-05-21  Bruno Haible  <bruno@clisp.org>
84364         Avoid redefinition warnings for SIZE_MAX.
84365         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
84366         Reported by Simon Josefsson.
84368 2009-05-21  Bruno Haible  <bruno@clisp.org>
84370         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
84371         AC_CACHE_VAL.
84373 2009-05-20  Bruno Haible  <bruno@clisp.org>
84375         Make zeroptr.h work on mingw.
84376         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
84377         mprotect.
84378         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
84379         * modules/memchr2-tests (configure.ac): Likewise.
84380         * modules/memcmp-tests (configure.ac): Likewise.
84381         * modules/memmem-tests (configure.ac): Likewise.
84382         * modules/memrchr-tests (configure.ac): Likewise.
84383         Reported by Simon Josefsson.
84385 2009-05-20  Simon Josefsson  <simon@josefsson.org>
84387         * tests/test-glob.c: Include string.h for strcmp prototype.
84389 2009-05-20  Simon Josefsson  <simon@josefsson.org>
84391         * modules/getdelim (Depends-on): Add explicit stdint, although it
84392         was implicitly already pulled in via realloc-posix.
84393         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
84395 2009-05-20  Simon Josefsson  <simon@josefsson.org>
84397         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
84398         G. Christensen" <tgc@jupiterrise.com>.
84399         * m4/sys_socket_h.m4: Check for sa_family_t.
84400         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
84401         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
84402         * tests/test-sys_socket.c: Check that sa_family_t works.
84404 2009-05-18  Eric Blake  <ebb9@byu.net>
84406         maint.mk: allow gnulib_dir in VPATH build
84407         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
84409 2009-05-15  Jim Meyering  <meyering@redhat.com>
84411         maint.mk: Give gnulib_dir a default definition.
84412         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
84413         Thus, most packages no longer need to specify this variable in cfg.mk
84415 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
84417         rename.m4: fix typos that would make non-mingw cross-configure fail
84418         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
84420 2009-05-13  Eric Blake  <ebb9@byu.net>
84422         mmap-anon: avoid out-of-order autoconf expansion
84423         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
84424         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
84425         * modules/memchr-tests (Depends-on): Add extensions.
84426         * modules/memchr2-tests (Depends-on): Add extensions.
84427         * modules/memcmp-tests (Depends-on): Add extensions.
84428         * modules/memmem-tests (Depends-on): Add extensions.
84429         * modules/memrchr-tests (Depends-on): Add extensions.
84431 2009-05-13  Bruno Haible  <bruno@clisp.org>
84433         Make some tests ISO C 99 compliant.
84434         * tests/zerosize-ptr.h: New file.
84435         * tests/test-memchr.c: Include zerosize-ptr.h.
84436         (main): Use a zero-size object pointer instead of NULL.
84437         * tests/test-memchr2.c: Include zerosize-ptr.h.
84438         (main): Use a zero-size object pointer instead of NULL.
84439         * tests/test-memcmp.c: Include zerosize-ptr.h.
84440         (main): Use a zero-size object pointer instead of NULL.
84441         * tests/test-memmem.c: Include zerosize-ptr.h.
84442         (main): Use a zero-size object pointer instead of NULL.
84443         * tests/test-memrchr.c: Include zerosize-ptr.h.
84444         (main): Use a zero-size object pointer instead of NULL.
84445         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
84446         m4/mmap-anon.m4.
84447         (Depends-on): Add getpagesize.
84448         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84449         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
84450         m4/mmap-anon.m4.
84451         (Depends-on): Add getpagesize.
84452         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84453         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
84454         m4/mmap-anon.m4.
84455         (Depends-on): Add getpagesize.
84456         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84457         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
84458         m4/mmap-anon.m4.
84459         (Depends-on): Add getpagesize.
84460         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84461         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
84462         m4/mmap-anon.m4.
84463         (Depends-on): Add getpagesize.
84464         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84466 2009-05-12  Bruno Haible  <bruno@clisp.org>
84468         Tests for module 'alignof'.
84469         * modules/alignof-tests: New file.
84470         * tests/test-alignof.c: New file.
84472 2009-05-12  Bruno Haible  <bruno@clisp.org>
84474         Fix alignof macro.
84475         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
84476         vendor compilers that are always correct.
84478 2009-05-12  Bruno Haible  <bruno@clisp.org>
84480         Make the MAP_ANONYMOUS detection work on HP-UX 11.
84481         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
84482         not whether its fully works.
84484 2009-05-12  Bruno Haible  <bruno@clisp.org>
84486         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
84488 2009-05-12  Jim Meyering  <meyering@redhat.com>
84490         * top/maint.mk: Adjust backslash alignment.
84492 2009-05-11  Simon Josefsson  <simon@josefsson.org>
84494         * top/maint.mk: Make $(srcdir)/build-aux configurable.
84496 2009-05-11  Eric Blake  <ebb9@byu.net>
84498         argp: avoid undefined behavior
84499         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
84500         macros.
84502 2009-05-08  Simon Josefsson  <simon@josefsson.org>
84504         * tests/test-vc-list-files-git.sh: Do git config of user.email and
84505         user.name to prevent git commit from complaining.
84507 2009-05-10  Bruno Haible  <bruno@clisp.org>
84509         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
84510         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
84511         it rewrites every file name only once.
84512         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
84514 2009-05-08  Bruno Haible  <bruno@clisp.org>
84516         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
84517         instead of 'max'.
84519 2009-05-08  Simon Josefsson  <simon@josefsson.org>
84521         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
84522         sockaddr_storage test.
84524 2009-05-07  Simon Josefsson  <simon@josefsson.org>
84526         * modules/sys_socket (Makefile.am): Substitute
84527         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
84528         * m4/sys_socket_h.m4: Check for sockaddr_storage.
84529         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
84530         * tests/test-sys_socket.c: Check sockaddr_storage.
84532 2009-05-08  Bruno Haible  <bruno@clisp.org>
84534         New module 'alignof'.
84535         * lib/alignof.h: New file.
84536         * modules/alignof: New file.
84538 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84539             Bruno Haible  <bruno@clisp.org>
84541         Fix test-file-has-acl on FreeBSD.
84542         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
84543         mask is implicitly added.
84544         * tests/test-file-has-acl.c: Include <signal.h>.
84545         (main): Terminate the test after 5 seconds.
84546         * modules/acl-tests (configure.ac): Check for alarm function.
84548 2009-05-04  Bruno Haible  <bruno@clisp.org>
84550         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
84551         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
84552         * modules/errno (configure.ac): Drop AC_REQUIRE.
84553         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
84554         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
84556 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84558         * modules/glob-tests: New module.
84559         * tests/test-glob.c: Add.
84561 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84563         * modules/fnmatch-tests: New module.
84564         * tests/test-fnmatch.c: Add.
84566 2009-05-04  Eric Blake  <ebb9@byu.net>
84568         maint: make the new no-submodule-changes rule VPATH-safe
84569         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
84571 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84572             Bruno Haible  <bruno@clisp.org>
84574         acl: Fix infinite loop on FreeBSD.
84575         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
84576         of return value from acl_get_entry.
84577         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
84578         Likewise.
84580 2009-05-03  Bruno Haible  <bruno@clisp.org>
84582         * lib/acl-internal.h (acl_entries): Clarify return value.
84583         * lib/acl_entries.c (acl_entries): Likewise.
84585 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84587         Bug fix in acl module.
84588         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
84590 2009-05-03  Bruno Haible  <bruno@clisp.org>
84592         Create gperf-generated file in the source dir, not in the build dir.
84593         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
84594         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
84595         * modules/unicase/locale-language (unicase/locale-languages.h):
84596         Likewise.
84597         * modules/unicase/special-casing (unicase/special-casing-table.h):
84598         Likewise.
84599         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
84600         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
84601         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
84602         Reported by Ralf Wildenhues.
84604 2009-05-03  Bruno Haible  <bruno@clisp.org>
84606         * modules/fnmatch (Description, configure.ac): Taken from
84607         fnmatch-posix.
84608         * modules/fnmatch-posix: Turn into a symbolic reference to the
84609         'fnmatch' module, and deprecate.
84610         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
84612 2009-05-03  Bruno Haible  <bruno@clisp.org>
84614         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
84615         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
84616         Reported by Ralf Wildenhues.
84618 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84620         * m4/fnmatch.m4: Fix fnmatch re-define.
84622 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84624         priv-set: new module and tests; adapt write-any-file
84625         * lib/priv-set.c: New file.
84626         * lib/priv-set.h: New file.
84627         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
84628         * lib/write-any-file.c: Simplify by using priv-set module.
84629         * m4/priv-set.m4: New file.
84630         * modules/priv-set: New file.
84631         * modules/unlinkdir: Add dependency on priv-set module.
84632         * modules/write-any-file: Likewise.
84634         Tests for module 'priv-set'.
84635         * modules/priv-set-tests: New file.
84636         * tests/test-priv-set.c: New file.
84638 2009-05-03  Jim Meyering  <meyering@redhat.com>
84639             Bruno Haible  <bruno@clisp.org>
84641         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
84642         use the converted UTF-8 variant of the name instead.
84644 2009-05-03  Jim Meyering  <meyering@redhat.com>
84646         tests: tighten some getdate tests
84647         * tests/test-getdate.c (main): Tighten tests: require equality,
84648         not just greater than.  Set TZ envvar to UTC0.
84650 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
84652         getdate: correctly interpret "next monday" when run on a Monday
84653         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
84654         that e.g., "next tues" (when run on a tuesday) results in a date
84655         that is one week in the future, and not today's date.
84656         I.e., add a week when the wday is the same as the current one.
84657         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
84658         and earlier by Martin Bernreuther and Jan Minář.
84659         * tests/test-getdate.c (main): Check that "next DAY" is always in
84660         the future and that "last DAY" is always in the past.
84662 2009-05-02  Jim Meyering  <meyering@redhat.com>
84664         build: ensure that a release build fails when a submodule is unclean
84665         * top/maint.mk (no-submodule-changes): New rule.
84666         (alpha beta major): Depend on it.
84668 2009-05-02  Bruno Haible  <bruno@clisp.org>
84670         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
84671         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
84672         shell variable gl_fnmatch_required to detect which variant is
84673         requested.
84674         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
84675         gl_FUNC_FNMATCH_POSIX.
84676         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
84677         exclude fnmatch-posix.
84679 2009-05-02  Bruno Haible  <bruno@clisp.org>
84681         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
84682         * modules/mbsrtowcs (License): Change to LGPLv2+.
84683         * modules/strnlen1 (License): Likewise.
84684         Reported by Simon Josefsson.
84686 2009-05-02  Bruno Haible  <bruno@clisp.org>
84688         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
84689         "cross".
84690         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
84691         gnulib-tool was called with option --source-base=lib.
84693 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84695         Use automake *-local hooks without commands, for extensibility.
84696         * modules/localcharset (Makefile.am): Rename install-exec-local
84697         rule to install-exec-localcharset, and make it a prerequisite of
84698         install-exec-local.  Likewise, rename the uninstall-local rule to
84699         uninstall-localcharset, and make it a prerequisite of the former.
84701 2009-05-01  Bruno Haible  <bruno@clisp.org>
84703         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
84704         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
84705         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
84706         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
84707         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
84708         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
84709         m4/locale-zh.m4, m4/codeset.m4.
84711         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
84712         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
84713         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
84714         m4/locale-zh.m4.
84716         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
84717         REPLACE_WCRTOMB if mbstate_t must be replaced.
84718         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
84719         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
84721 2009-05-01  Bruno Haible  <bruno@clisp.org>
84723         Avoid compiler warnings when redefining macros defined by <libintl.h>.
84724         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
84725         dngettext, dcngettext, textdomain, bindtextdomain,
84726         bind_textdomain_codeset): Undefine before redefining.
84728 2009-04-30  Bruno Haible  <bruno@clisp.org>
84730         Fix bug introduced on 2009-04-25.
84731         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
84732         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
84733         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
84734         is defined.
84735         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
84736         is defined.
84737         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
84738         is defined.
84739         Reported by Elbert_Pol <elbert.pol@gmail.com>.
84741 2009-04-28  Bruno Haible  <bruno@clisp.org>
84743         Comment tweaks.
84744         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
84745         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
84746         * lib/unicase.h (u*_casexfrm): Likewise.
84747         Reported by Paolo Bonzini.
84749 2009-04-28  Bruno Haible  <bruno@clisp.org>
84751         Fix a compilation error.
84752         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
84753         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
84754         Reported by Jim Meyering.
84756 2009-04-27  Bruno Haible  <bruno@clisp.org>
84758         New module 'libunistring'.
84759         * modules/libunistring: New file.
84760         * m4/libunistring.m4: New file.
84761         * MODULES.html.sh (Unicode string functions): Add it.
84763 2009-04-27  Eric Blake  <ebb9@byu.net>
84765         maint.mk: allow package-specific header to provide <config.h>
84766         * top/maint.mk (sc_require_config_h): New variable.
84767         (sc_require_config_h, sc_require_config_h_first): Use it.
84769 2009-04-27  Simon Josefsson  <simon@josefsson.org>
84771         * top/maint.mk (sc_avoid_if_before_free): Except
84772         useless-if-before-free script.
84774 2009-04-27  Eric Blake  <ebb9@byu.net>
84776         maintainer-makefile: depend on all required helper scripts
84777         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
84778         useless-if-before-free.
84779         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
84780         version, rather than assuming gnulib checkout is available.
84781         Reported by Simen Josefsson.
84783 2009-04-26  Bruno Haible  <bruno@clisp.org>
84785         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
84786         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
84787         "../" or "..".
84789 2009-04-26  Bruno Haible  <bruno@clisp.org>
84791         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
84792         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
84793         AC_LIB_HAVE_LINKFLAGS.
84795 2009-04-26  Bruno Haible  <bruno@clisp.org>
84797         Simplify calling convention of u*_conv_from_encoding.
84798         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
84799         u32_conv_from_encoding): Expect a resultbuf argument and return the
84800         result directly as a pointer.
84801         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
84802         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
84803         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
84804         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
84805         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
84806         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
84807         Update.
84808         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
84809         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
84810         * lib/vasnprintf.c (VASNPRINTF): Update.
84811         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
84812         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
84813         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
84814         * NEWS: Mention the change.
84816 2009-04-26  Bruno Haible  <bruno@clisp.org>
84818         Simplify calling convention of u*_conv_to_encoding.
84819         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
84820         u32_conv_to_encoding): Expect a resultbuf argument and return the
84821         result directly as a pointer.
84822         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
84823         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
84824         freeing scaled_offsets if mem_iconveha failed.
84825         * lib/unicase/u-casexfrm.h (FUNC): Update.
84826         * lib/uninorm/u-normxfrm.h (FUNC): Update.
84827         * lib/vasnprintf.c (VASNPRINTF): Update.
84828         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
84829         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
84830         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
84831         * NEWS: Mention the change.
84833 2009-04-26  Bruno Haible  <bruno@clisp.org>
84835         Avoid test failures on AIX and OSF/1.
84836         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
84837         malloc(0).
84838         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
84839         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
84840         Likewise.
84841         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
84842         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
84843         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
84844         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
84845         * doc/posix-functions/malloc.texi: Document the portability problem
84846         related to malloc(0).
84848 2009-04-26  Bruno Haible  <bruno@clisp.org>
84850         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
84851         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
84852         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
84854 2009-04-25  Bruno Haible  <bruno@clisp.org>
84856         Avoid link error when creating a namespace clean library.
84857         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
84858         as macro with arguments if already defined as an alias.
84859         * lib/signbitf.c (gl_signbitf): Don't undefine.
84860         * lib/signbitd.c (gl_signbitd): Don't undefine.
84861         * lib/signbitl.c (gl_signbitl): Don't undefine.
84863 2009-04-25  Jim Meyering  <meyering@redhat.com>
84865         vc-list-files: fix another quoting bug
84866         * build-aux/vc-list-files: Avoid sed backslash expansion
84867         of pathological directory names.
84869 2009-04-25  Eric Blake  <ebb9@byu.net>
84871         vc-list-files: fix shell quoting error
84872         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
84873         timestamp.
84875 2009-04-25  Jim Meyering  <meyering@redhat.com>
84877         vc-list-files: restore lost functionality with subdir argument
84878         * build-aux/vc-list-files: When given a non-"." sub-directory
84879         argument, substitute the $dir/ prefix back onto each resulting name.
84880         Otherwise, coreutils' root_tests check would fail.
84882 2009-04-24  Eric Blake  <ebb9@byu.net>
84884         vc-list-files: ignore git symlinks
84885         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
84886         than ls-files, to ignore git symlinks.
84888         maint.mk: import improvements from m4
84889         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
84890         (move_if_change): Delete unused macro.
84891         (news-date-check, vc-diff-check): Support VPATH builds.
84892         (announcement): Likewise.  Split --bootstrap-tools list...
84893         (boostrap-tools): ...into separate list, which can be overridden
84894         in cfg.mk.
84895         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
84896         requiring dependency on useless-if-before-free module.
84897         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
84898         Support VPATH builds.
84900 2009-04-24  Jim Meyering  <meyering@redhat.com>
84902         maint.mk: remove coreutils-specific rules and variables
84903         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
84904         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
84905         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
84907         maint.mk: remove obsolete rule
84908         * top/maint.mk (rel-check): Remove rule.
84909         (WGET, WGETFLAGS): Remove now-unused variables.
84911 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84913         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
84914         consistency.
84916         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
84917         '$(PATH_SEPARATOR)' instead of ':'.
84919 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84921         * lib/getopt1.c (main): Use 'const' for static array.
84923 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84925         * top/maint.mk: Sync with coreutils.
84926         * NEWS: Explain incompatibilities.
84928 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84929             Bruno Haible  <bruno@clisp.org>
84931         Fix cross-compilation results.
84932         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
84933         statement, as third argument of AC_TRY_RUN.
84934         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
84935         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
84936         Likewise.
84937         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
84938         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
84939         Likewise.
84940         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
84941         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
84942         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
84944 2009-04-20  Bruno Haible  <bruno@clisp.org>
84946         Avoid test failure on mingw.
84947         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
84949 2009-04-20  Bruno Haible  <bruno@clisp.org>
84951         Avoid compilation error on mingw.
84952         * modules/localename-tests (Depends-on): Add locale.
84954 2009-04-19  Bruno Haible  <bruno@clisp.org>
84956         Support for building a shared library on Windows platforms.
84957         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
84958         (main): Test the presence of UNINORM_NFC here.
84959         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
84960         (main): Test the presence of UNINORM_NFD here.
84961         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
84962         (main): Test the presence of UNINORM_NFKC here.
84963         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
84964         (main): Test the presence of UNINORM_NFKD here.
84966 2009-04-19  Bruno Haible  <bruno@clisp.org>
84968         Avoid a compiler warning.
84969         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
84970         Change type of variable 'sequence'.
84972 2009-04-19  Bruno Haible  <bruno@clisp.org>
84974         * modules/configmake (Makefile.am): When the contents of configmake.h
84975         does not change, arrange to preserve its modification time.
84977 2009-04-17  Simon Josefsson  <simon@josefsson.org>
84979         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
84980         gettext domain.
84982 2009-04-16  Jim Meyering  <meyering@redhat.com>
84984         useless-if-before-free: improve conversion code
84985         * build-aux/useless-if-before-free: Adjust code-in-comment to match
84986         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
84988 2009-04-14  Bruno Haible  <bruno@clisp.org>
84990         * modules/fcntl (Depends-on): Add extensions.
84991         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
84993 2009-04-12  Ben Pfaff  <blp@gnu.org>
84995         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
84996         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
84998 2009-03-20  Ben Pfaff  <blp@gnu.org>
85000         Make rename replace existing destinations on Windows.
85001         * m4/rename.m4: Add test for Mingw.
85002         * lib/rename.c: Add rename replacement that uses MoveFileEx with
85003         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
85004         * doc/posix-functions/rename.texi: Document.
85006 2009-04-10  Bruno Haible  <bruno@clisp.org>
85008         New include file "iconveh.h".
85009         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
85010         * lib/striconveh.h: Include it.
85011         (enum iconv_ilseq_handler): Remove definition.
85012         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
85013         striconveh.h.
85014         * lib/striconveha.c: Include striconveh.h.
85015         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
85016         * modules/striconveh (Files): Add lib/iconveh.h.
85017         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
85018         lib/striconveh.h.
85020 2009-04-10  Bruno Haible  <bruno@clisp.org>
85022         * lib/uniconv.h: Update comment.
85024 2009-04-10  Bruno Haible  <bruno@clisp.org>
85026         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
85027         always.
85028         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
85029         * lib/unistr/u16-mbtouc-aux.c: Likewise.
85030         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
85031         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
85032         "unistring-notinline.h", so that the function gets defined always.
85033         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
85034         * lib/unistr/u8-uctomb.c: Likewise.
85035         * lib/unistr/u16-mbtouc.c: Likewise.
85036         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
85037         * lib/unistr/u16-uctomb.c: Likewise.
85038         * lib/unistr/u32-mbtouc.c: Likewise.
85039         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
85040         * lib/unistr/u32-uctomb.c: Likewise.
85042 2009-04-10  Bruno Haible  <bruno@clisp.org>
85044         Mark 'utime' obsolete.
85045         * modules/utime (Status, Notice): New sections.
85046         Suggested by Jim Meyering.
85048         Fix cross-compile guess for utime test.
85049         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
85050         autoconf.
85051         * doc/posix-functions/utime.texi: Give more precisions.
85052         Reported by Jan <ipif@ymail.com>.
85054 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
85056         filevercmp: correct today's change
85057         * lib/filevercmp.c: Also handle coreutils' test inputs.
85058         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
85060         Fix regression in 'filevercmp' module. Thanks Sven Joachim
85061         for reporting it.
85062         * lib/filevercmp.c: Special handle for "", "." and "..".
85063         * tests/test-filevercmp.c: Enlarge the set suite.
85065 2009-04-07  Jim Meyering  <meyering@redhat.com>
85067         useless-if-before-free: show how to remove braced useless free, too
85068         * build-aux/useless-if-before-free: still only in a comment, though.
85070 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
85072         maint.mk: import changes to syntax-check macros from coreutils
85073         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
85074         Use them in the relevant macros.
85076 2009-04-06  Bruno Haible  <bruno@clisp.org>
85078         Fix unportable use of bit-fields.
85079         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
85080         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
85081         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
85083 2009-04-06  Bruno Haible  <bruno@clisp.org>
85085         Avoid test failures on AIX and OSF/1.
85086         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
85087         that malloc(0) = NULL.
85088         * tests/unicase/test-u8-tolower.c (check): Likewise.
85089         * tests/unicase/test-u8-totitle.c (check): Likewise.
85090         * tests/unicase/test-u8-toupper.c (check): Likewise.
85091         * tests/unicase/test-u16-casefold.c (check): Likewise.
85092         * tests/unicase/test-u16-tolower.c (check): Likewise.
85093         * tests/unicase/test-u16-totitle.c (check): Likewise.
85094         * tests/unicase/test-u16-toupper.c (check): Likewise.
85095         * tests/unicase/test-u32-casefold.c (check): Likewise.
85096         * tests/unicase/test-u32-tolower.c (check): Likewise.
85097         * tests/unicase/test-u32-totitle.c (check): Likewise.
85098         * tests/unicase/test-u32-toupper.c (check): Likewise.
85099         * tests/uninorm/test-u8-nfc.c (check): Likewise.
85100         * tests/uninorm/test-u8-nfd.c (check): Likewise.
85101         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
85102         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
85103         * tests/uninorm/test-u16-nfc.c (check): Likewise.
85104         * tests/uninorm/test-u16-nfd.c (check): Likewise.
85105         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
85106         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
85107         * tests/uninorm/test-u32-nfc.c (check): Likewise.
85108         * tests/uninorm/test-u32-nfd.c (check): Likewise.
85109         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
85110         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
85112 2009-04-05  Bruno Haible  <bruno@clisp.org>
85114         Work around an autoconf limitation.
85115         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
85116         comment line if it would be longer than 3 KB.
85118 2009-04-05  Bruno Haible  <bruno@clisp.org>
85120         Avoid test failure with libiconv-1.13.
85121         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
85122         of the expected test results.
85124 2009-04-05  Bruno Haible  <bruno@clisp.org>
85126         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
85127         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
85128         that it should be installed.
85130 2009-04-05  Bruno Haible  <bruno@clisp.org>
85132         * gnulib-tool: New option --copy-file.
85133         (func_usage): Document it.
85134         (func_dest_tmpfilename): Moved out of func_import.
85135         (func_add_file, func_update_file): New functions, extracted from
85136         func_import.
85137         (func_import): Update.
85139 2009-04-05  Karl Berry  <karl@gnu.org>
85141         * README: prominently mention gnulib-tool.
85142         Rearrange sections so getting the code is near the top.
85144 2009-04-05  Bruno Haible  <bruno@clisp.org>
85146         * lib/unicase.h: Mention u*_cmp2.
85147         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
85148         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
85149         * lib/unicase/ulc-casecmp.c: Likewise.
85150         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
85151         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
85152         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
85153         unistr/u8-cmp.
85154         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
85155         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
85156         unistr/u16-cmp.
85157         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
85158         unistr/u32-cmp.
85160         * lib/uninorm.h: Mention u*_cmp2.
85161         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
85162         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
85163         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
85164         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
85165         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
85166         unistr/u8-cmp.
85167         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
85168         unistr/u16-cmp.
85169         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
85170         unistr/u32-cmp.
85172         New module 'unistr/u32-cmp2'.
85173         * lib/unistr/u32-cmp2.c: New file.
85174         * modules/unistr/u32-cmp2: New file.
85176         New module 'unistr/u16-cmp2'.
85177         * lib/unistr/u16-cmp2.c: New file.
85178         * modules/unistr/u16-cmp2: New file.
85180         New module 'unistr/u8-cmp2'.
85181         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
85182         * lib/unistr/u8-cmp2.c: New file.
85183         * lib/unistr/u-cmp2.h: New file.
85184         * modules/unistr/u8-cmp2: New file.
85186 2009-04-05  Bruno Haible  <bruno@clisp.org>
85188         * lib/unictype.h (uc_property_is_valid): New macro.
85189         * tests/unictype/test-pr_byname.c (main): Use it.
85191         * lib/unistr.h: Doc fixes.
85192         * lib/uniconv.h: Doc fixes.
85193         * lib/unictype.h: Doc fixes.
85195 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
85197         Port coreutils 7.2 to Solaris 8.
85199         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
85200         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
85201         for Solaris 8.  This is a bit of a hack, as it means it's the
85202         caller's responsibility to add -lnsl if needed, but most likely it
85203         won't be needed since only getaddrinfo uses this and getaddrinfo
85204         isn't needed on Solaris 8.
85206         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
85207         problem to Solaris 8 encountered with coreutils 7.2, which
85208         resulted in a message "fnmatch.c:292: warning: passing argument 4
85209         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
85210         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
85212 2009-04-03  Simon Josefsson  <simon@josefsson.org>
85214         * m4/ld-version-script.m4: Add FIXME comment.
85216 2009-04-02  Simon Josefsson  <simon@josefsson.org>
85218         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
85219         SOVERSION variable.
85221 2009-04-02  Bruno Haible  <bruno@clisp.org>
85223         * Makefile (info, html, dvi, pdf): Combine the rules.
85224         Suggested by Jim Meyering.
85226 2009-04-01  Bruno Haible  <bruno@clisp.org>
85228         * Makefile (info, html, dvi, pdf): New targets.
85229         Reported by Reuben Thomas <rrt@sc3d.org>.
85231 2009-04-01  Bruno Haible  <bruno@clisp.org>
85233         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
85234         can be put into PATH.
85235         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
85237 2009-04-01  Bruno Haible  <bruno@clisp.org>
85239         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
85241 2009-04-01  Bruno Haible  <bruno@clisp.org>
85243         Rename module 'visibility'.
85244         * modules/lib-symbol-visibility: Renamed from modules/visibility.
85245         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
85246         * doc/gnulib.texi: Update.
85247         * MODULES.html.sh (Misc): Update.
85248         * NEWS: Mention the change.
85250 2009-04-01  Simon Josefsson  <simon@josefsson.org>
85252         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
85253         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
85254         Eric Blake <ebb9@byu.net> for review.
85255         * MODULES.html.sh: Add lib-msvc-compat.
85256         * doc/gnulib.texi: Link to new section.
85257         * m4/ld-output-def.m4: New file.
85258         * doc/ld-output-def.texi: New file.
85260 2009-04-01  Simon Josefsson  <simon@josefsson.org>
85262         Rename ld-version-script to lib-symbol-versions.  Suggested by
85263         Bruno Haible <bruno@clisp.org>.
85264         * modules/ld-version-script: Renamed to lib-symbol-versions.
85265         * doc/ld-version-script.texi: Fix module name.
85266         * MODULES.html.sh: Add lib-symbol-versions.
85268 2009-03-31  Simon Josefsson  <simon@josefsson.org>
85270         * modules/u64-tests: New file.
85271         * tests/test-u64.c: New file.
85273 2009-03-04  Simon Josefsson  <simon@josefsson.org>
85275         * MODULES.html.sh: Mention u64.
85276         * modules/u64: New module.
85277         * modules/crypto/sha512: Depend on u64 module instead of providing
85278         u64.h.
85280 2009-03-27  Eric Blake  <ebb9@byu.net>
85282         test-strerror: make debugging EAI_SYSTEM easier
85283         * modules/getaddrinfo-tests (Depends-on): Add strerror.
85284         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
85285         failure was EAI_SYSTEM.
85287 2009-03-25  Bruno Haible  <bruno@clisp.org>
85289         Fix a problem with --enable-relocatable on Solaris 7.
85290         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
85291         since 2008-02-24.
85293 2009-03-25  Eric Blake  <ebb9@byu.net>
85295         test-sockets: avoid gcc warning
85296         * tests/test-sockets.c (main): Silence compiler warning.
85298 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
85300         New modules nproc, pthread, contributed by Glen Lenker.
85302         * MODULES.html.sh: Add pthread, nproc.
85303         * lib/nproc.c: New file.
85304         * lib/nproc.h: New file.
85305         * lib/pthread.in.h: New file.
85306         * m4/pthread.m4: New file.
85307         * modules/nproc: New file.
85308         * modules/pthread: New file.
85310 2009-03-24  Simon Josefsson  <simon@josefsson.org>
85312         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
85313         New variable.
85315 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
85317         filevercmp: handle simple~ and numbered.~3~ backup suffixes
85318         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
85319         * tests/test-filevercmp.c: Add tests for backup suffixes.
85321 2009-03-24  Simon Josefsson  <simon@josefsson.org>
85323         * modules/stdlib (Depends-on): Add stdint, needed when defining
85324         struct random_data on, for example, HP-UX 10.20.  Reported by
85325         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
85327 2009-03-24  Simon Josefsson  <simon@josefsson.org>
85329         * lib/readline.c (readline): Call fflush on stdout after printing
85330         prompt.
85332 2009-03-20  Bruno Haible  <bruno@clisp.org>
85334         Remove dependency from 'close' module to -lws2_32 on native Windows.
85335         * lib/close-hook.h: New file.
85336         * lib/close-hook.c: New file.
85337         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
85338         w32sock.h.
85339         (_gl_close_fd_maybe_socket): Remove function.
85340         (rpl_close): Invoke execute_all_close_hooks instead of
85341         _gl_close_fd_maybe_socket.
85342         * lib/sockets.c: Include close-hook.h, w32sock.h.
85343         (close_fd_maybe_socket): New function, essentially from lib/close.c.
85344         (close_sockets_hook): New variable.
85345         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
85346         (gl_sockets_cleanup): Unregister it.
85347         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
85348         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
85349         * modules/close-hook: New file.
85350         * modules/close (Files): Remove lib/w32sock.h.
85351         (Depends-on): Add close-hook.
85352         (Link): Remove section.
85353         * modules/sockets (Files): Add lib/w32sock.h.
85354         (Depends-on): Add close-hook.
85355         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
85356         invocation.
85357         * NEWS: Mention that LIB_CLOSE is gone.
85359 2009-03-23  Eric Blake  <ebb9@byu.net>
85361         signal-tests: test previous patch
85362         * tests/test-signal.c: New file.
85363         * modules/signal-tests: Likewise.
85365         signal.h: always support 'volatile sig_atomic_t'
85366         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
85367         (gl_SIGNAL_H_DEFAULTS): Add a default.
85368         * modules/signal (Makefile.am): Substitute if needed.
85369         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
85370         users can blindly add volatile.
85371         * doc/posix-headers/signal.texi (signal.h): Document it.
85372         Reported by Matthew Woehlke.
85374 2009-03-23  Jim Meyering  <meyering@redhat.com>
85376         pathmax: PATH_MAX: use pathconf only when available
85377         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
85378         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
85379         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
85380         This avoids a link failure in a PSP cross-compilation environment
85381         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
85383         * lib/vasnprintf.c (divide): Fix typo in comment.
85385 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85387         * gnulib-tool (func_filter_filelist): Fix comment.
85389 2009-03-20  Bruno Haible  <bruno@clisp.org>
85391         Make sockets.h self-contained.
85392         * lib/sockets.c: Include sockets.h first.
85393         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
85395 2009-03-19  Eric Blake  <ebb9@byu.net>
85397         doc: mention more functions added in cygwin 1.7.0
85398         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
85399         addition.
85400         * doc/posix-functions/log2f.texi: Likewise.
85402 2009-03-19  Jim Meyering  <meyering@redhat.com>
85404         fsusage: avoid syntax error due to statement-before-declaration
85405         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
85406         after all declarations.  Reported by Matthew Woehlke in
85407         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
85409 2009-03-18  Eric Blake  <ebb9@byu.net>
85411         build-aux/compile: sync from automake
85412         * build-aux/compile: New file, from automake.
85413         * config/srclist.txt: Mention build-aux/compile.
85415 2009-03-17  Bruno Haible  <bruno@clisp.org>
85417         * lib/git-merge-changelog.c: Fix typo in comment.
85418         Reported by Reuben Thomas <rrt@sc3d.org>.
85420 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
85422         * m4/regex.m4: update and improve help for
85423         --without-included-regex.
85425 2009-03-17  Simon Josefsson  <simon@josefsson.org>
85427         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
85428         failure on missing include files.
85430 2009-03-17  Eric Blake  <ebb9@byu.net>
85432         doc: mention more functions added in cygwin 1.7.0
85433         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
85434         addition.
85435         * doc/posix-functions/fwscanf.texi: Likewise.
85436         * doc/posix-functions/swprintf.texi: Likewise.
85437         * doc/posix-functions/swscanf.texi: Likewise.
85438         * doc/posix-functions/vfwprintf.texi: Likewise.
85439         * doc/posix-functions/vfwscanf.texi: Likewise.
85440         * doc/posix-functions/vswprintf.texi: Likewise.
85441         * doc/posix-functions/vswscanf.texi: Likewise.
85442         * doc/posix-functions/vwprintf.texi: Likewise.
85443         * doc/posix-functions/vwscanf.texi: Likewise.
85444         * doc/posix-functions/wcscasecmp.texi: Likewise.
85445         * doc/posix-functions/wcsdup.texi: Likewise.
85446         * doc/posix-functions/wcsftime.texi: Likewise.
85447         * doc/posix-functions/wcsncasecmp.texi: Likewise.
85448         * doc/posix-functions/wprintf.texi: Likewise.
85449         * doc/posix-functions/wscanf.texi: Likewise.
85450         * doc/glibc-functions/gethostbyname2.texi: Likewise.
85452 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85454         maint.mk: really add $(AM_MAKEFLAGS)
85455         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
85456         was inadvertently omitted in the last commit.
85457         Spotted by Bruno Haible.
85459         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
85460         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
85461         $(AM_MAKEFLAGS)' rather than plain `make'.
85463         gnulib-tool: execute $MAKE not make
85464         * gnulib-tool: Default $MAKE to 'make'.
85465         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
85466         than make.  Initialize $MAKE in the do-autobuild script.
85468         gnulib-tool: use $MAKE not make in generated files
85469         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
85470         make, in generated files.  Initialize $MAKE in the do-autobuild
85471         script.
85473         * top/GNUmakefile (_have-git-version-gen): Fix typo.
85475         GNUmakefile: disable parallelism only for multiple, recursive targets
85476         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
85477         additions in the Makefile.
85478         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
85479         by Automake.
85480         (.NOTPARALLEL): Only disable parallel builds if multiple targets
85481         are listed on the command line and at least one of them is
85482         listed in $(ALL_RECURSIVE_TARGETS).
85484 2009-03-14  Bruno Haible  <bruno@clisp.org>
85486         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
85487         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
85488         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
85489         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
85490         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
85491         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
85492         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
85493         unistr/u8-uctomb.
85494         * modules/unistr/u8-strchr (Depends-on): Likewise.
85495         * modules/unistr/u8-strrchr (Depends-on): Likewise.
85496         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
85497         unistr/u16-uctomb.
85498         * modules/unistr/u16-strchr (Depends-on): Likewise.
85499         * modules/unistr/u16-strrchr (Depends-on): Likewise.
85501 2009-03-12  Bruno Haible  <bruno@clisp.org>
85503         Work around select() bug on Interix 3.5.
85504         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
85505         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
85506         * m4/select.m4: New file.
85507         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
85508         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
85509         * modules/select (Files): Add m4/select.m4.
85510         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
85511         * modules/nanosleep (Depends-on): Add select.
85512         * modules/poll (Depends-on): Likewise.
85513         * doc/posix-functions/select.texi: Mention the Interix bug.
85514         Reported by Markus Duft <mduft@gentoo.org>.
85516         * lib/select.c: Renamed from lib/winsock-select.c.
85517         * modules/select (Files): Add lib/select.c, remove
85518         lib/winsock-select.c.
85519         (configure.ac): Update.
85521 2009-03-12  Jim Meyering  <meyering@redhat.com>
85523         avoid gcc warnings about unused macro definitions
85524         * lib/readtokens.c (STREQ): Remove unused definition.
85525         * lib/xmalloc.c (SIZE_MAX): Likewise.
85526         * lib/openat-die.c (N_): Likewise.
85527         * lib/mountlist.c (SIZE_MAX): Remove definition.
85528         Instead, include <stdint.h>.
85529         * lib/readutmp.c: Likewise.
85530         * modules/readutmp (Depends-on): Add stdint.
85531         * modules/mountlist (Depends-on): Add stdint.
85532         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
85534 2009-03-10  Bruno Haible  <bruno@clisp.org>
85536         Tests for module 'mbmemcasecoll'.
85537         * modules/mbmemcasecoll-tests: New file.
85538         * tests/test-mbmemcasecoll1.sh: New file.
85539         * tests/test-mbmemcasecoll2.sh: New file.
85540         * tests/test-mbmemcasecoll3.sh: New file.
85541         * tests/test-mbmemcasecoll.c: New file.
85543         New module 'mbmemcasecoll'.
85544         * lib/mbmemcasecoll.h: New file.
85545         * lib/mbmemcasecoll.c: New file.
85546         * modules/mbmemcasecoll: New file.
85548         * tests/test-mbmemcasecmp.h: New file, extracted from
85549         tests/test-mbmemcasecmp.c.
85550         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
85551         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
85552         (main): Update.
85553         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
85555 2009-03-09  Bruno Haible  <bruno@clisp.org>
85557         Tests for module 'mbmemcasecmp'.
85558         * modules/mbmemcasecmp-tests: New file.
85559         * tests/test-mbmemcasecmp1.sh: New file.
85560         * tests/test-mbmemcasecmp2.sh: New file.
85561         * tests/test-mbmemcasecmp3.sh: New file.
85562         * tests/test-mbmemcasecmp.c: New file.
85564         New module 'mbmemcasecmp'.
85565         * lib/mbmemcasecmp.h: New file.
85566         * lib/mbmemcasecmp.c: New file.
85567         * modules/mbmemcasecmp: New file.
85569 2009-03-09  Bruno Haible  <bruno@clisp.org>
85571         Tests for module 'unicase/ulc-casecoll'.
85572         * modules/unicase/ulc-casecoll-tests: New file.
85573         * tests/unicase/test-ulc-casecoll1.sh: New file.
85574         * tests/unicase/test-ulc-casecoll2.sh: New file.
85575         * tests/unicase/test-ulc-casecoll.c: New file.
85577         New module 'unicase/ulc-casecoll'.
85578         * lib/unicase.h (ulc_casecoll): New declaration.
85579         * lib/unicase/ulc-casecoll.c: New file.
85580         * modules/unicase/ulc-casecoll: New file.
85582         New module 'unicase/ulc-casexfrm'.
85583         * lib/unicase.h (ulc_casexfrm): New declaration.
85584         * lib/unicase/ulc-casexfrm.c: New file.
85585         * modules/unicase/ulc-casexfrm: New file.
85587 2009-03-09  Bruno Haible  <bruno@clisp.org>
85589         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
85590         invocations.
85592         * m4/mbscasecmp.m4: Remove file.
85593         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
85594         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
85596         * m4/mbscasestr.m4: Remove file.
85597         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
85598         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
85600         * m4/mbschr.m4: Remove file.
85601         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
85602         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
85604         * m4/mbscspn.m4: Remove file.
85605         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
85606         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
85608         * m4/mbslen.m4: Remove file.
85609         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
85610         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
85612         * m4/mbsncasecmp.m4: Remove file.
85613         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
85614         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
85616         * m4/mbsnlen.m4: Remove file.
85617         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
85618         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
85620         * m4/mbspbrk.m4: Remove file.
85621         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
85622         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
85624         * m4/mbspcasecmp.m4: Remove file.
85625         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
85626         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
85628         * m4/mbsrchr.m4: Remove file.
85629         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
85630         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
85632         * m4/mbssep.m4: Remove file.
85633         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
85634         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
85636         * m4/mbsspn.m4: Remove file.
85637         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
85638         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
85640         * m4/mbsstr.m4: Remove file.
85641         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
85642         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
85644         * m4/mbstok_r.m4: Remove file.
85645         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
85646         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
85648         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
85650         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
85651         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
85653         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
85655 2009-03-08  Bruno Haible  <bruno@clisp.org>
85657         Tests for module 'unicase/ulc-casecmp'.
85658         * modules/unicase/ulc-casecmp-tests: New file.
85659         * tests/unicase/test-ulc-casecmp1.sh: New file.
85660         * tests/unicase/test-ulc-casecmp2.sh: New file.
85661         * tests/unicase/test-ulc-casecmp.c: New file.
85663         New module 'unicase/ulc-casecmp'.
85664         * lib/unicase.h (ulc_casecmp): New declaration.
85665         * lib/unicase/ulc-casecmp.c: New file.
85666         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
85667         'const SRC_UNIT *'.
85668         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
85669         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
85670         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
85671         * modules/unicase/ulc-casecmp: New file.
85673         Tests for module 'unicase/u32-is-cased'.
85674         * modules/unicase/u32-is-cased-tests: New file.
85675         * tests/unicase/test-u32-is-cased.c: New file.
85677         Tests for module 'unicase/u16-is-cased'.
85678         * modules/unicase/u16-is-cased-tests: New file.
85679         * tests/unicase/test-u16-is-cased.c: New file.
85681         Tests for module 'unicase/u8-is-cased'.
85682         * modules/unicase/u8-is-cased-tests: New file.
85683         * tests/unicase/test-u8-is-cased.c: New file.
85684         * tests/unicase/test-is-cased.h: New file.
85686         New module 'unicase/u32-is-cased'.
85687         * lib/unicase/u32-is-cased.c: New file.
85688         * modules/unicase/u32-is-cased: New file.
85690         New module 'unicase/u16-is-cased'.
85691         * lib/unicase/u16-is-cased.c: New file.
85692         * modules/unicase/u16-is-cased: New file.
85694         New module 'unicase/u8-is-cased'.
85695         * lib/unicase/u8-is-cased.c: New file.
85696         * lib/unicase/u-is-cased.h: New file.
85697         * modules/unicase/u8-is-cased: New file.
85699         Tests for module 'unicase/u32-is-casefolded'.
85700         * modules/unicase/u32-is-casefolded-tests: New file.
85701         * tests/unicase/test-u32-is-casefolded.c: New file.
85703         Tests for module 'unicase/u16-is-casefolded'.
85704         * modules/unicase/u16-is-casefolded-tests: New file.
85705         * tests/unicase/test-u16-is-casefolded.c: New file.
85707         Tests for module 'unicase/u8-is-casefolded'.
85708         * modules/unicase/u8-is-casefolded-tests: New file.
85709         * tests/unicase/test-u8-is-casefolded.c: New file.
85710         * tests/unicase/test-is-casefolded.h: New file.
85712         New module 'unicase/u32-is-casefolded'.
85713         * lib/unicase/u32-is-casefolded.c: New file.
85714         * modules/unicase/u32-is-casefolded: New file.
85716         New module 'unicase/u16-is-casefolded'.
85717         * lib/unicase/u16-is-casefolded.c: New file.
85718         * modules/unicase/u16-is-casefolded: New file.
85720         New module 'unicase/u8-is-casefolded'.
85721         * lib/unicase/u8-is-casefolded.c: New file.
85722         * modules/unicase/u8-is-casefolded: New file.
85724         Tests for module 'unicase/u32-is-titlecase'.
85725         * modules/unicase/u32-is-titlecase-tests: New file.
85726         * tests/unicase/test-u32-is-titlecase.c: New file.
85728         Tests for module 'unicase/u16-is-titlecase'.
85729         * modules/unicase/u16-is-titlecase-tests: New file.
85730         * tests/unicase/test-u16-is-titlecase.c: New file.
85732         Tests for module 'unicase/u8-is-titlecase'.
85733         * modules/unicase/u8-is-titlecase-tests: New file.
85734         * tests/unicase/test-u8-is-titlecase.c: New file.
85735         * tests/unicase/test-is-titlecase.h: New file.
85737         New module 'unicase/u32-is-titlecase'.
85738         * lib/unicase/u32-is-titlecase.c: New file.
85739         * modules/unicase/u32-is-titlecase: New file.
85741         New module 'unicase/u16-is-titlecase'.
85742         * lib/unicase/u16-is-titlecase.c: New file.
85743         * modules/unicase/u16-is-titlecase: New file.
85745         New module 'unicase/u8-is-titlecase'.
85746         * lib/unicase/u8-is-titlecase.c: New file.
85747         * modules/unicase/u8-is-titlecase: New file.
85749         Tests for module 'unicase/u32-is-lowercase'.
85750         * modules/unicase/u32-is-lowercase-tests: New file.
85751         * tests/unicase/test-u32-is-lowercase.c: New file.
85753         Tests for module 'unicase/u16-is-lowercase'.
85754         * modules/unicase/u16-is-lowercase-tests: New file.
85755         * tests/unicase/test-u16-is-lowercase.c: New file.
85757         Tests for module 'unicase/u8-is-lowercase'.
85758         * modules/unicase/u8-is-lowercase-tests: New file.
85759         * tests/unicase/test-u8-is-lowercase.c: New file.
85760         * tests/unicase/test-is-lowercase.h: New file.
85762         New module 'unicase/u32-is-lowercase'.
85763         * lib/unicase/u32-is-lowercase.c: New file.
85764         * modules/unicase/u32-is-lowercase: New file.
85766         New module 'unicase/u16-is-lowercase'.
85767         * lib/unicase/u16-is-lowercase.c: New file.
85768         * modules/unicase/u16-is-lowercase: New file.
85770         New module 'unicase/u8-is-lowercase'.
85771         * lib/unicase/u8-is-lowercase.c: New file.
85772         * modules/unicase/u8-is-lowercase: New file.
85774         Tests for module 'unicase/u32-is-uppercase'.
85775         * modules/unicase/u32-is-uppercase-tests: New file.
85776         * tests/unicase/test-u32-is-uppercase.c: New file.
85778         Tests for module 'unicase/u16-is-uppercase'.
85779         * modules/unicase/u16-is-uppercase-tests: New file.
85780         * tests/unicase/test-u16-is-uppercase.c: New file.
85782         Tests for module 'unicase/u8-is-uppercase'.
85783         * modules/unicase/u8-is-uppercase-tests: New file.
85784         * tests/unicase/test-u8-is-uppercase.c: New file.
85785         * tests/unicase/test-is-uppercase.h: New file.
85787         New module 'unicase/u32-is-uppercase'.
85788         * lib/unicase/u32-is-uppercase.c: New file.
85789         * modules/unicase/u32-is-uppercase: New file.
85791         New module 'unicase/u16-is-uppercase'.
85792         * lib/unicase/u16-is-uppercase.c: New file.
85793         * modules/unicase/u16-is-uppercase: New file.
85795         New module 'unicase/u8-is-uppercase'.
85796         * lib/unicase/u8-is-uppercase.c: New file.
85797         * modules/unicase/u8-is-uppercase: New file.
85799         New module 'unicase/u32-is-invariant'.
85800         * lib/unicase/u32-is-invariant.c: New file.
85801         * modules/unicase/u32-is-invariant: New file.
85803         New module 'unicase/u16-is-invariant'.
85804         * lib/unicase/u16-is-invariant.c: New file.
85805         * modules/unicase/u16-is-invariant: New file.
85807         New module 'unicase/u8-is-invariant'.
85808         * lib/unicase/u8-is-invariant.c: New file.
85809         * lib/unicase/invariant.h: New file.
85810         * lib/unicase/u-is-invariant.h: New file.
85811         * modules/unicase/u8-is-invariant: New file.
85813         Tests for module 'unicase/u32-casecoll'.
85814         * modules/unicase/u32-casecoll-tests: New file.
85815         * tests/unicase/test-u32-casecoll.c: New file.
85817         Tests for module 'unicase/u16-casecoll'.
85818         * modules/unicase/u16-casecoll-tests: New file.
85819         * tests/unicase/test-u16-casecoll.c: New file.
85821         Tests for module 'unicase/u8-casecoll'.
85822         * modules/unicase/u8-casecoll-tests: New file.
85823         * tests/unicase/test-u8-casecoll.c: New file.
85825         New module 'unicase/u32-casecoll'.
85826         * lib/unicase/u32-casecoll.c: New file.
85827         * modules/unicase/u32-casecoll: New file.
85829         New module 'unicase/u16-casecoll'.
85830         * lib/unicase/u16-casecoll.c: New file.
85831         * modules/unicase/u16-casecoll: New file.
85833         New module 'unicase/u8-casecoll'.
85834         * lib/unicase/u8-casecoll.c: New file.
85835         * lib/unicase/u-casecoll.h: New file.
85836         * modules/unicase/u8-casecoll: New file.
85838         New module 'unicase/u32-casexfrm'.
85839         * lib/unicase/u32-casexfrm.c: New file.
85840         * modules/unicase/u32-casexfrm: New file.
85842         New module 'unicase/u16-casexfrm'.
85843         * lib/unicase/u16-casexfrm.c: New file.
85844         * modules/unicase/u16-casexfrm: New file.
85846         New module 'unicase/u8-casexfrm'.
85847         * lib/unicase/u8-casexfrm.c: New file.
85848         * lib/unicase/u-casexfrm.h: New file.
85849         * modules/unicase/u8-casexfrm: New file.
85851         Tests for module 'unicase/u32-casecmp'.
85852         * modules/unicase/u32-casecmp-tests: New file.
85853         * tests/unicase/test-u32-casecmp.c: New file.
85855         Tests for module 'unicase/u16-casecmp'.
85856         * modules/unicase/u16-casecmp-tests: New file.
85857         * tests/unicase/test-u16-casecmp.c: New file.
85859         Tests for module 'unicase/u8-casecmp'.
85860         * modules/unicase/u8-casecmp-tests: New file.
85861         * tests/unicase/test-u8-casecmp.c: New file.
85862         * tests/unicase/test-casecmp.h: New file.
85864         New module 'unicase/u32-casecmp'.
85865         * lib/unicase/u32-casecmp.c: New file.
85866         * modules/unicase/u32-casecmp: New file.
85868         New module 'unicase/u16-casecmp'.
85869         * lib/unicase/u16-casecmp.c: New file.
85870         * modules/unicase/u16-casecmp: New file.
85872         New module 'unicase/u8-casecmp'.
85873         * lib/unicase/u8-casecmp.c: New file.
85874         * lib/unicase/u-casecmp.h: New file.
85875         * modules/unicase/u8-casecmp: New file.
85877         Tests for module 'unicase/u32-casefold'.
85878         * modules/unicase/u32-casefold-tests: New file.
85879         * tests/unicase/test-u32-casefold.c: New file.
85881         Tests for module 'unicase/u16-casefold'.
85882         * modules/unicase/u16-casefold-tests: New file.
85883         * tests/unicase/test-u16-casefold.c: New file.
85885         Tests for module 'unicase/u8-casefold'.
85886         * modules/unicase/u8-casefold-tests: New file.
85887         * tests/unicase/test-u8-casefold.c: New file.
85889         New module 'unicase/u32-casefold'.
85890         * lib/unicase/u32-casefold.c: New file.
85891         * modules/unicase/u32-casefold: New file.
85893         New module 'unicase/u16-casefold'.
85894         * lib/unicase/u16-casefold.c: New file.
85895         * modules/unicase/u16-casefold: New file.
85897         New module 'unicase/u8-casefold'.
85898         * lib/unicase/u8-casefold.c: New file.
85899         * lib/unicase/u-casefold.h: New file.
85900         * modules/unicase/u8-casefold: New file.
85902         New module 'unicase/tocasefold'.
85903         * lib/unicase/casefold.h: New file.
85904         * lib/unicase/tocasefold.c: New file.
85905         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
85906         * modules/unicase/tocasefold: New file.
85908         Tests for module 'unicase/u32-totitle'.
85909         * modules/unicase/u32-totitle-tests: New file.
85910         * tests/unicase/test-u32-totitle.c: New file.
85912         Tests for module 'unicase/u16-totitle'.
85913         * modules/unicase/u16-totitle-tests: New file.
85914         * tests/unicase/test-u16-totitle.c: New file.
85916         Tests for module 'unicase/u8-totitle'.
85917         * modules/unicase/u8-totitle-tests: New file.
85918         * tests/unicase/test-u8-totitle.c: New file.
85920         New module 'unicase/u32-totitle'.
85921         * lib/unicase/u32-totitle.c: New file.
85922         * modules/unicase/u32-totitle: New file.
85924         New module 'unicase/u16-totitle'.
85925         * lib/unicase/u16-totitle.c: New file.
85926         * modules/unicase/u16-totitle: New file.
85928         New module 'unicase/u8-totitle'.
85929         * lib/unicase/u8-totitle.c: New file.
85930         * lib/unicase/u-totitle.h: New file.
85931         * modules/unicase/u8-totitle: New file.
85933         Tests for module 'unicase/u32-tolower'.
85934         * modules/unicase/u32-tolower-tests: New file.
85935         * tests/unicase/test-u32-tolower.c: New file.
85937         Tests for module 'unicase/u16-tolower'.
85938         * modules/unicase/u16-tolower-tests: New file.
85939         * tests/unicase/test-u16-tolower.c: New file.
85941         Tests for module 'unicase/u8-tolower'.
85942         * modules/unicase/u8-tolower-tests: New file.
85943         * tests/unicase/test-u8-tolower.c: New file.
85945         New module 'unicase/u32-tolower'.
85946         * lib/unicase/u32-tolower.c: New file.
85947         * modules/unicase/u32-tolower: New file.
85949         New module 'unicase/u16-tolower'.
85950         * lib/unicase/u16-tolower.c: New file.
85951         * modules/unicase/u16-tolower: New file.
85953         New module 'unicase/u8-tolower'.
85954         * lib/unicase/u8-tolower.c: New file.
85955         * modules/unicase/u8-tolower: New file.
85957         Tests for module 'unicase/u32-toupper'.
85958         * modules/unicase/u32-toupper-tests: New file.
85959         * tests/unicase/test-u32-toupper.c: New file.
85961         Tests for module 'unicase/u16-toupper'.
85962         * modules/unicase/u16-toupper-tests: New file.
85963         * tests/unicase/test-u16-toupper.c: New file.
85965         Tests for module 'unicase/u8-toupper'.
85966         * modules/unicase/u8-toupper-tests: New file.
85967         * tests/unicase/test-u8-toupper.c: New file.
85969         New module 'unicase/u32-toupper'.
85970         * lib/unicase/u32-toupper.c: New file.
85971         * modules/unicase/u32-toupper: New file.
85973         New module 'unicase/u16-toupper'.
85974         * lib/unicase/u16-toupper.c: New file.
85975         * modules/unicase/u16-toupper: New file.
85977         New module 'unicase/u8-toupper'.
85978         * lib/unicase/u8-toupper.c: New file.
85979         * modules/unicase/u8-toupper: New file.
85981         New module 'unicase/u32-casemap'.
85982         * lib/unicase/u32-casemap.c: New file.
85983         * modules/unicase/u32-casemap: New file.
85985         New module 'unicase/u16-casemap'.
85986         * lib/unicase/u16-casemap.c: New file.
85987         * modules/unicase/u16-casemap: New file.
85989         New module 'unicase/u8-casemap'.
85990         * lib/unicase/unicasemap.h: New file.
85991         * lib/unicase/u8-casemap.c: New file.
85992         * lib/unicase/u-casemap.h: New file.
85993         * modules/unicase/u8-casemap: New file.
85995         New module 'unicase/special-casing'.
85996         * lib/unicase/special-casing.h: New file.
85997         * lib/unicase/special-casing.c: New file.
85998         * lib/unicase/special-casing-table.gperf: New file, generated by
85999         gen-uni-tables.c.
86000         * modules/unicase/special-casing: New file.
86002         Tests for module 'unicase/locale-language'.
86003         * modules/unicase/locale-language-tests: New file.
86004         * tests/unicase/test-locale-language.sh: New file.
86005         * tests/unicase/test-locale-language.c: New file.
86007         New module 'unicase/locale-language'.
86008         * lib/unicase/locale-language.c: New file.
86009         * lib/unicase/locale-languages.gperf: New file.
86010         * modules/unicase/locale-language: New file.
86012         Generate more tables for case conversion and case folding.
86013         * lib/gen-uni-tables.c (SCC_*): New enum items.
86014         (struct special_casing_rule): New type.
86015         (casing_rules, num_casing_rules, allocated_casing_rules): New
86016         variables.
86017         (add_casing_rule, fill_casing_rules): New functions.
86018         (struct casefold_rule): New type.
86019         (casefolding_rules, num_casefolding_rules,
86020         allocated_casefolding_rules): New variables.
86021         (fill_casefolding_rules): New function.
86022         (unicode_casefold): New variable.
86023         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
86024         sort_casing_rules, output_casing_rules): New functions.
86025         (main): Accept to more arguments: SpecialCasing.txt and
86026         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
86027         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
86028         Output mapping for casefolding.
86030         * lib/unicase.h: Include stdbool.h, uninorm.h.
86031         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
86032         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
86033         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
86034         arguments.
86035         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
86036         resultp arguments.
86037         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
86038         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
86039         resultp arguments.
86040         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
86041         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
86042         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
86043         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
86044         declarations.
86045         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
86047 2009-03-08  Bruno Haible  <bruno@clisp.org>
86049         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
86050         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
86051         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
86052         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
86054 2009-03-07  Bruno Haible  <bruno@clisp.org>
86056         Adjust u*_normcmp, u*_normcoll API.
86057         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
86058         u16_normcoll, u32_normcoll): Change failure conventions.
86059         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
86060         errno and return -1.
86061         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
86063 2009-03-07  Bruno Haible  <bruno@clisp.org>
86065         Tests for module 'uninorm/u32-normcoll'.
86066         * modules/uninorm/u32-normcoll-tests: New file.
86067         * tests/uninorm/test-u32-normcoll.c: New file.
86069         Tests for module 'uninorm/u16-normcoll'.
86070         * modules/uninorm/u16-normcoll-tests: New file.
86071         * tests/uninorm/test-u16-normcoll.c: New file.
86073         Tests for module 'uninorm/u8-normcoll'.
86074         * modules/uninorm/u8-normcoll-tests: New file.
86075         * tests/uninorm/test-u8-normcoll.c: New file.
86077 2009-03-07  Bruno Haible  <bruno@clisp.org>
86079         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
86080         tests/uninorm/test-u32-normcmp.c.
86081         * tests/uninorm/test-u32-normcmp.c: Include it.
86082         (test_nonascii): New function, extracted from main. Add some more
86083         tests.
86084         (main): Invoke test_ascii and test_nonascii.
86085         * modules/uninorm/u32-normcmp-tests (Files): Add
86086         tests/uninorm/test-u32-normcmp.h.
86087         (Depends-on): Remove uninorm/u32-normcmp.
86089         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
86090         tests/uninorm/test-u16-normcmp.c.
86091         * tests/uninorm/test-u16-normcmp.c: Include it.
86092         (test_nonascii): New function, extracted from main. Add some more
86093         tests.
86094         (main): Invoke test_ascii and test_nonascii.
86095         * modules/uninorm/u16-normcmp-tests (Files): Add
86096         tests/uninorm/test-u16-normcmp.h.
86097         (Depends-on): Remove uninorm/u16-normcmp.
86099         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
86100         tests/uninorm/test-u8-normcmp.c.
86101         * tests/uninorm/test-u8-normcmp.c: Include it.
86102         (test_nonascii): New function, extracted from main. Add some more
86103         tests.
86104         (main): Invoke test_ascii and test_nonascii.
86105         * modules/uninorm/u8-normcmp-tests (Files): Add
86106         tests/uninorm/test-u8-normcmp.h.
86107         (Depends-on): Remove uninorm/u8-normcmp.
86109 2009-03-07  Bruno Haible  <bruno@clisp.org>
86111         New module 'uninorm/u32-normcoll'.
86112         * lib/uninorm/u32-normcoll.c: New file.
86113         * modules/uninorm/u32-normcoll: New file.
86115         New module 'uninorm/u16-normcoll'.
86116         * lib/uninorm/u16-normcoll.c: New file.
86117         * modules/uninorm/u16-normcoll: New file.
86119         New module 'uninorm/u8-normcoll'.
86120         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
86121         declarations.
86122         * lib/uninorm/u8-normcoll.c: New file.
86123         * lib/uninorm/u-normcoll.h: New file.
86124         * modules/uninorm/u8-normcoll: New file.
86126         New module 'uninorm/u32-normxfrm'.
86127         * lib/uninorm/u32-normxfrm.c: New file.
86128         * modules/uninorm/u32-normxfrm: New file.
86130         New module 'uninorm/u16-normxfrm'.
86131         * lib/uninorm/u16-normxfrm.c: New file.
86132         * modules/uninorm/u16-normxfrm: New file.
86134         New module 'uninorm/u8-normxfrm'.
86135         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
86136         declarations.
86137         * lib/uninorm/u8-normxfrm.c: New file.
86138         * lib/uninorm/u-normxfrm.h: New file.
86139         * modules/uninorm/u8-normxfrm: New file.
86141 2009-03-07  Bruno Haible  <bruno@clisp.org>
86143         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
86144         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
86145         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
86147 2009-03-07  Bruno Haible  <bruno@clisp.org>
86149         New module 'memxfrm'.
86150         * lib/memxfrm.h: New file.
86151         * lib/memxfrm.c: New file.
86152         * modules/memxfrm: New file.
86154 2009-03-07  Bruno Haible  <bruno@clisp.org>
86156         New module 'memcmp2'.
86157         * lib/memcmp2.h: New file.
86158         * lib/memcmp2.c: New file.
86159         * modules/memcmp2: New file.
86161 2009-03-07  Bruno Haible  <bruno@clisp.org>
86163         Tests for module 'uninorm/decomposing-form'.
86164         * modules/uninorm/decomposing-form-tests: New file.
86165         * tests/uninorm/test-decomposing-form.c: New file.
86167         New module 'uninorm/decomposing-form'.
86168         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
86169         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
86170         Add 'decomposing_variant' field.
86171         * lib/uninorm/decomposing-form.c: New file.
86172         * lib/uninorm/nfc.c (uninorm_nfc): Update.
86173         * lib/uninorm/nfd.c (uninorm_nfd): Update.
86174         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
86175         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
86176         * modules/uninorm/decomposing-form: New file.
86177         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
86178         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
86180 2009-03-07  Bruno Haible  <bruno@clisp.org>
86182         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
86183         strings.
86185 2009-03-06  Bruno Haible  <bruno@clisp.org>
86187         Tests for module 'uninorm/u32-normcmp'.
86188         * tests/uninorm/test-u32-normcmp.c: New file.
86189         * modules/uninorm/u32-normcmp-tests: New file.
86191         Tests for module 'uninorm/u16-normcmp'.
86192         * tests/uninorm/test-u16-normcmp.c: New file.
86193         * modules/uninorm/u16-normcmp-tests: New file.
86195         Tests for module 'uninorm/u8-normcmp'.
86196         * tests/uninorm/test-u8-normcmp.c: New file.
86197         * modules/uninorm/u8-normcmp-tests: New file.
86199         New module 'uninorm/u32-normcmp'.
86200         * lib/uninorm/u32-normcmp.c: New file.
86201         * modules/uninorm/u32-normcmp: New file.
86203         New module 'uninorm/u16-normcmp'.
86204         * lib/uninorm/u16-normcmp.c: New file.
86205         * modules/uninorm/u16-normcmp: New file.
86207         New module 'uninorm/u8-normcmp'.
86208         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
86209         declarations.
86210         * lib/uninorm/u8-normcmp.c: New file.
86211         * lib/uninorm/u-normcmp.h: New file.
86212         * modules/uninorm/u8-normcmp: New file.
86214 2009-03-06  Bruno Haible  <bruno@clisp.org>
86216         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
86217         Reported by Eric Blake.
86219 2009-03-06  Eric Blake  <ebb9@byu.net>
86220             Bruno Haible  <bruno@clisp.org>
86222         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
86223         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
86224         condition.
86225         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
86226         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
86227         condition.
86228         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
86230 2009-03-06  Eric Blake  <ebb9@byu.net>
86232         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
86233         to avoid compiler warnings.
86234         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
86236 2009-03-05  Bruno Haible  <bruno@clisp.org>
86238         * tests/test-ftell.c (main): Disable test beyond end of file on
86239         FreeMiNT.
86240         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
86242 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
86244         * lib/filevercmp.c: Move hidden files up in ordering.
86245         * tests/test-filevercmp.c: Add tests for hidden files.
86247 2009-03-04  Bruno Haible  <bruno@clisp.org>
86249         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
86250         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
86251         AM_CFLAGS.
86252         Reported by Simon Josefsson.
86254 2009-03-03  Bruno Haible  <bruno@clisp.org>
86256         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
86257         Reported by Simon Josefsson.
86259         * doc/ld-version-script.texi: Update node reference.
86261 2009-03-03  Bruno Haible  <bruno@clisp.org>
86263         * modules/visibility (License): Change to 'unlimited'.
86264         Suggested by Simon Josefsson.
86266 2009-03-03  Jim Meyering  <meyering@redhat.com>
86268         unlinkdir: cannot_unlink_dir may modify process state
86269         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
86270         it's neither thread-safe nor appropriate for use in a library.
86272 2009-03-03  Eric Blake  <ebb9@byu.net>
86274         test-closein: silence test under Darwin
86275         * tests/test-closein.sh: Ignore stderr from cat, since we don't
86276         care if it dies from EPIPE or EBADF.
86278 2009-03-03  Bruno Haible  <bruno@clisp.org>
86280         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
86281         earlier.
86282         * doc/visibility.texi: Fix @node and @section.
86284 2009-03-03  Simon Josefsson  <simon@josefsson.org>
86286         * doc/gnulib.texi: Link to sections for ld version script and
86287         visibility.
86288         * doc/visibility.texi: Add @node and @section.
86289         * modules/ld-version-script: New module.
86290         * m4/ld-version-script.m4: New file.
86291         * doc/ld-version-script.texi: New file.
86293 2009-03-02  David Lutterkort  <lutter@redhat.com>
86295         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
86296         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86298 2009-03-02  Bruno Haible  <bruno@clisp.org>
86300         * doc/visibility.texi: Mention libtool's -export-symbols option.
86302 2009-03-02  Jim Meyering  <meyering@redhat.com>
86304         announce-gen: new option: --no-print-checksums
86305         * build-aux/announce-gen (usage): Describe it.
86306         (print_checksums): Print a newline here, not in the [*] footnote.
86307         (main): Honor it.
86309 2009-03-01  Bruno Haible  <bruno@clisp.org>
86311         Use socklen_t in the native Windows replacements prototypes.
86312         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
86313         instead of 'int'.
86314         * lib/getsockopt.c (rpl_getsockopt): Likewise.
86315         * lib/setsockopt.c (rpl_setsockopt): Likewise.
86316         * modules/getsockopt (Depends-on): Add socklen.
86317         * modules/setsockopt (Depends-on): Add socklen.
86319 2009-03-01  Bruno Haible  <bruno@clisp.org>
86321         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
86322         least 4.2.
86324 2009-03-01  Eric Blake  <ebb9@byu.net>
86325             Bruno Haible  <bruno@clisp.org>
86327         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
86328         error messages.
86329         * lib/wait-process.c (wait_subprocess): Omit error message about
86330         deadly signal sent to the child of termsigp != NULL.
86332 2009-03-01  Eric Blake  <ebb9@byu.net>
86334         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
86336 2009-03-01  Bruno Haible  <bruno@clisp.org>
86338         Avoid a gcc warning.
86339         * tests/test-sched.c (b): Make global.
86340         Reported by Eric Blake.
86342 2009-01-19  Martin Lambers  <marlam@marlam.de>
86344         Provide POSIX semantics for socket timeout options on W32.
86345         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
86346         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
86347         * modules/setsockopt: Depend on sys_time module for struct timeval.
86348         * modules/getsockopt: Depend on sys_time module for struct timeval.
86350 2009-03-01  Simon Josefsson  <simon@josefsson.org>
86352         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
86353         __USE_GNU, for consistency with netdb.in.h.
86354         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86356 2009-03-01  Bruno Haible  <bruno@clisp.org>
86358         More support for FreeMiNT.
86359         * lib/fseeko.c (rpl_fseeko): Complete last commit.
86360         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86362 2009-03-01  Bruno Haible  <bruno@clisp.org>
86364         More support for FreeMiNT.
86365         * lib/fpurge.c (fpurge): Correct last commit.
86366         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86368 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86370         Fix unportable awk script in vc-list-files.
86371         * build-aux/vc-list-files: In the replacement awk script, use
86372         substr with a second argument of 1, not zero.
86373         Report by Simon Josefsson.
86375 2009-02-28  Bruno Haible  <bruno@clisp.org>
86377         More support for FreeMiNT.
86378         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
86379         to FreeMiNT today.
86380         * lib/fwriting.c (fwriting): Likewise.
86381         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
86383 2009-02-28  Bruno Haible  <bruno@clisp.org>
86385         * tests/test-freadseek.c (main): Disable test beyond end of file on
86386         FreeMiNT.
86387         * tests/test-ftello.c (main): Likewise.
86388         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
86390 2009-02-28  Bruno Haible  <bruno@clisp.org>
86392         Add tentative support for FreeMiNT.
86393         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
86394         * lib/fpurge.c (fpurge): Likewise.
86395         * lib/freadable.c (freadable): Likewise.
86396         * lib/freading.c (freading): Likewise.
86397         * lib/freadptr.c (freadptr): Likewise.
86398         * lib/freadseek.c (freadptrinc): Likewise.
86399         * lib/fseeko.c (rpl_fseeko): Likewise.
86400         * lib/fseterr.c (fseterr): Likewise.
86401         * lib/fwritable.c (fwritable): Likewise.
86402         * lib/fwriting.c (fwriting): Likewise.
86403         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
86404         Hourihane.
86405         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86407 2009-02-28  Bruno Haible  <bruno@clisp.org>
86409         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
86410         SIGCHLD.
86411         Reported by Jim Meyering.
86413 2009-02-28  Bruno Haible  <bruno@clisp.org>
86415         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
86416         Mention the results of these tests on various platforms.
86417         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
86418         order.
86419         * doc/posix-functions/printf.texi: Likewise.
86420         * doc/posix-functions/snprintf.texi: Likewise.
86421         * doc/posix-functions/sprintf.texi: Likewise.
86422         * doc/posix-functions/vfprintf.texi: Likewise.
86423         * doc/posix-functions/vprintf.texi: Likewise.
86424         * doc/posix-functions/vsnprintf.texi: Likewise.
86425         * doc/posix-functions/vsprintf.texi: Likewise.
86426         * doc/glibc-functions/obstack_printf.texi: Likewise.
86427         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
86429 2009-02-28  Bruno Haible  <bruno@clisp.org>
86431         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
86432         Reported by Loïc Minier <lool@dooz.org>.
86434 2009-02-27  Bruno Haible  <bruno@clisp.org>
86436         * gnulib-tool (func_import): Make the sed expression used to create the
86437         sed script for updating the .gitignore file POSIX compliant.
86438         Reported by Eric Blake.
86440 2009-02-27  Bruno Haible  <bruno@clisp.org>
86442         * gnulib-tool (sed): Don't alias as "sed --posix".
86443         Reported by Eric Blake.
86445 2009-02-27  Bruno Haible  <bruno@clisp.org>
86447         Avoid test link errors.
86448         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
86449         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
86450         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
86451         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
86452         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86454 2009-02-27  Bruno Haible  <bruno@clisp.org>
86456         Avoid spurious "(cached)" in configure output.
86457         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
86458         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
86459         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
86460         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
86461         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
86462         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
86463         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
86464         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
86465         Reported by Eric Blake.
86467 2009-02-27  Eric Blake  <ebb9@byu.net>
86469         printf: fix regression in previous patch
86470         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
86472 2009-02-27  Bruno Haible  <bruno@clisp.org>
86474         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
86475         value.
86476         * lib/stdint.in.h: Likewise.
86477         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
86479 2009-02-27  Eric Blake  <ebb9@byu.net>
86481         doc: mention more functions added in cygwin 1.7.0
86482         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
86483         addition.
86484         * doc/posix-functions/open_wmemstream.texi: Likewise.
86485         * doc/posix-functions/wcsnlen.texi: Likewise.
86486         * doc/posix-functions/wcsnrtombs.texi: Likewise.
86487         * doc/posix-functions/wcstod.texi: Likewise.
86488         * doc/posix-functions/wcstof.texi: Likewise.
86489         * doc/posix-functions/wcstoimax.texi: Likewise.
86490         * doc/posix-functions/wcstok.texi: Likewise.
86491         * doc/posix-functions/wcstoumax.texi: Likewise.
86493         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
86494         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
86495         * doc/posix-functions/fprintf.texi: Update.
86496         * doc/posix-functions/printf.texi: Update.
86497         * doc/posix-functions/snprintf.texi: Update.
86498         * doc/posix-functions/sprintf.texi: Update.
86499         * doc/posix-functions/vfprintf.texi: Update.
86500         * doc/posix-functions/vprintf.texi: Update.
86501         * doc/posix-functions/vsnprintf.texi: Update.
86502         * doc/posix-functions/vsprintf.texi: Update.
86503         * doc/glibc-functions/obstack_printf.texi: Update.
86504         * doc/glibc-functions/obstack_vprintf.texi: Update.
86506 2009-02-26  Eric Blake  <ebb9@byu.net>
86508         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
86509         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
86510         compilation bug by using runtime conversion.
86511         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
86512         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
86513         * modules/ceill-tests (Files): Use nan.h.
86514         * modules/floorl-tests (Files): Likewise.
86515         * modules/frexpl-tests (Files): Likewise.
86516         * modules/isnanl-tests (Files): Likewise.
86517         * modules/ldexpl-tests (Files): Likewise.
86518         * modules/roundl-tests (Files): Likewise.
86519         * modules/truncl-tests (Files): Likewise.
86520         * tests/test-ceill.c (main): Use a working NaN.
86521         * tests/test-floorl.c (main): Likewise.
86522         * tests/test-frexpl.c (main): Likewise.
86523         * tests/test-isnan.c (test_long_double): Likewise.
86524         * tests/test-isnanl.h (main): Likewise.
86525         * tests/test-ldexpl.h (main): Likewise.
86526         * tests/test-roundl.h (main): Likewise.
86527         * tests/test-truncl.h (main): Likewise.
86528         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
86530 2009-02-26  Eric Blake  <ebb9@byu.net>
86531             Bruno Haible  <bruno@clisp.org>
86533         Work around a *printf bug with %ls on Solaris.
86534         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
86535         precision is specified, sprintf stops converting the wide string
86536         argument when the number of bytes that have been produced by this
86537         conversion equals or exceeds the precision.
86538         * doc/posix-functions/fprintf.texi: Update.
86539         * doc/posix-functions/printf.texi: Update.
86540         * doc/posix-functions/snprintf.texi: Update.
86541         * doc/posix-functions/sprintf.texi: Update.
86542         * doc/posix-functions/vfprintf.texi: Update.
86543         * doc/posix-functions/vprintf.texi: Update.
86544         * doc/posix-functions/vsnprintf.texi: Update.
86545         * doc/posix-functions/vsprintf.texi: Update.
86546         * doc/glibc-functions/obstack_printf.texi: Update.
86547         * doc/glibc-functions/obstack_vprintf.texi: Update.
86549 2009-02-26  Eric Blake  <ebb9@byu.net>
86551         stdlib: favor compiler check of random.h
86552         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
86553         to avoid an ObjC random.h installed by Swarm.
86555 2009-02-26  Bruno Haible  <bruno@clisp.org>
86557         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
86558         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
86559         Reported by Gary V. Vaughan <gary@gnu.org>.
86561 2009-02-26  Bruno Haible  <bruno@clisp.org>
86563         Fix *printf behaviour regarding the %ls directive.
86564         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
86565         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
86566         NEED_PRINTF_DIRECTIVE_LS.
86567         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
86568         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
86569         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
86570         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
86571         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
86572         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
86573         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
86574         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
86575         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
86576         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
86577         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
86578         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
86579         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
86580         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
86581         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
86582         * doc/posix-functions/fprintf.texi: Update.
86583         * doc/posix-functions/printf.texi: Update.
86584         * doc/posix-functions/snprintf.texi: Update.
86585         * doc/posix-functions/sprintf.texi: Update.
86586         * doc/posix-functions/vfprintf.texi: Update.
86587         * doc/posix-functions/vprintf.texi: Update.
86588         * doc/posix-functions/vsnprintf.texi: Update.
86589         * doc/posix-functions/vsprintf.texi: Update.
86590         * doc/glibc-functions/obstack_printf.texi: Update.
86591         * doc/glibc-functions/obstack_vprintf.texi: Update.
86592         Reported by Eric Blake.
86594 2009-02-25  Bruno Haible  <bruno@clisp.org>
86596         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
86597         with known value.
86598         Reported by Gary V. Vaughan <gary@gnu.org>.
86600 2009-02-25  Bruno Haible  <bruno@clisp.org>
86602         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
86603         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
86604         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
86605         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
86606         Reported by Gary V. Vaughan <gary@gnu.org>.
86608 2009-02-25  Bruno Haible  <bruno@clisp.org>
86610         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
86611         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
86612         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
86613         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
86614         Reported by Gary V. Vaughan <gary@gnu.org>.
86616 2009-02-25  Eric Blake  <ebb9@byu.net>
86618         tests: skip fseek/ftell tests if ungetc is broken
86619         * m4/ungetc.m4: New file.
86620         * modules/fseek-tests: Split test, so ungetc dependency is
86621         separate from rest of test.
86622         * modules/fseeko-tests: Likewise.
86623         * modules/ftell-tests: Likewise.
86624         * modules/ftello-tests: Likewise.
86625         * tests/test-fseek.c (main): Isolate ungetc dependency.
86626         * tests/test-fseeko.c (main): Likewise.
86627         * tests/test-ftell.c (main): Likewise.
86628         * tests/test-ftello.c (main): Likewise.
86629         * tests/test-fseek2.sh: New file.
86630         * tests/test-fseeko2.sh: Likewise.
86631         * tests/test-ftell2.sh: Likewise.
86632         * tests/test-ftello2.sh: Likewise.
86634 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
86636         test-getaddrinfo: fix usage of skip return code 77
86637         * tests/test-gettaddrinfo.c: Return skip code 77 only
86638         for first occurrence of skip (4x77 is not 77)
86640 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
86642         strtod: avoid C99 decl-after-statement
86643         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
86645 2009-02-24  Eric Blake  <ebb9@byu.net>
86647         strtod: detect HP-UX 11.31 bug
86648         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
86649         Reported by Gary V. Vaughan.
86651 2009-02-23  Bruno Haible  <bruno@clisp.org>
86653         Fix invalid read past end of memory block.
86654         * lib/vasnprintf.c (DCHAR_SET): Define.
86655         (local_wcslen): Define only when needed.
86656         (local_strnlen, local_wcsnlen): New functions.
86657         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
86658         directives that involve a conversion ourselves.
86659         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
86660         wcsnlen, mbrtowc, wcrtomb.
86661         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
86662         * tests/test-vasprintf-posix.c (test_function): Likewise.
86663         * tests/test-snprintf-posix.h (test_function): Likewise.
86664         * tests/test-sprintf-posix.h (test_function): Likewise.
86665         Reported by Ben Pfaff <blp@cs.stanford.edu>.
86667 2009-02-22  Bruno Haible  <bruno@clisp.org>
86669         Implement new clarified decomposition of Hangul syllables.
86670         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
86671         of type LTV, return only a pairwise decomposition.
86672         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
86673         Likewise.
86674         * tests/uninorm/test-decomposition.c (main): Updated expected result.
86675         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
86676         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
86678 2009-02-22  Bruno Haible  <bruno@clisp.org>
86680         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
86681         zero-length results and shrink excess allocated memory.
86682         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
86683         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
86684         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
86685         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
86686         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
86687         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
86688         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
86689         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
86690         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
86691         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
86692         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
86693         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
86695 2009-02-21  Bruno Haible  <bruno@clisp.org>
86697         * doc/gnulib.texi: Include safe-alloc.texi earlier.
86698         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
86699         spaces after a period. Put a space between a macro name and its
86700         argument list. Trivial rewordings.
86701         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
86702         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
86703         (main): Return 0 explicitly.
86705 2009-02-21  Bruno Haible  <bruno@clisp.org>
86707         Tests for module 'uninorm/filter'.
86708         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
86709         * modules/uninorm/filter-tests: New file.
86711         New module 'uninorm/filter'.
86712         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
86713         uninorm_filter_flush, uninorm_filter_free): New declarations.
86714         * lib/uninorm/uninorm-filter.c: New file.
86715         * modules/uninorm/filter: New file.
86717 2009-02-21  Bruno Haible  <bruno@clisp.org>
86719         Tests for module 'uninorm/nfkc'.
86720         * tests/uninorm/test-nfkc.c: New file.
86721         * tests/uninorm/test-u8-nfkc.c: New file.
86722         * tests/uninorm/test-u16-nfkc.c: New file.
86723         * tests/uninorm/test-u32-nfkc.c: New file.
86724         * tests/uninorm/test-u32-nfkc-big.sh: New file.
86725         * tests/uninorm/test-u32-nfkc-big.c: New file.
86726         * modules/uninorm/nfkc-tests: New file.
86728         New module 'uninorm/nfkc'.
86729         * lib/uninorm/nfkc.c: New file.
86730         * modules/uninorm/nfkc: New file.
86732         Tests for module 'uninorm/nfkd'.
86733         * tests/uninorm/test-nfkd.c: New file.
86734         * tests/uninorm/test-u8-nfkd.c: New file.
86735         * tests/uninorm/test-u16-nfkd.c: New file.
86736         * tests/uninorm/test-u32-nfkd.c: New file.
86737         * tests/uninorm/test-u32-nfkd-big.sh: New file.
86738         * tests/uninorm/test-u32-nfkd-big.c: New file.
86739         * modules/uninorm/nfkd-tests: New file.
86741         New module 'uninorm/nfkd'.
86742         * lib/uninorm/nfkd.c: New file.
86743         * modules/uninorm/nfkd: New file.
86745         Tests for module 'uninorm/nfc'.
86746         * tests/uninorm/test-nfc.c: New file.
86747         * tests/uninorm/test-u8-nfc.c: New file.
86748         * tests/uninorm/test-u16-nfc.c: New file.
86749         * tests/uninorm/test-u32-nfc.c: New file.
86750         * tests/uninorm/test-u32-nfc-big.sh: New file.
86751         * tests/uninorm/test-u32-nfc-big.c: New file.
86752         * modules/uninorm/nfc-tests: New file.
86754         New module 'uninorm/nfc'.
86755         * lib/uninorm/nfc.c: New file.
86756         * modules/uninorm/nfc: New file.
86758         Tests for module 'uninorm/nfd'.
86759         * tests/uninorm/test-nfd.c: New file.
86760         * tests/uninorm/test-u8-nfd.c: New file.
86761         * tests/uninorm/test-u16-nfd.c: New file.
86762         * tests/uninorm/test-u32-nfd.c: New file.
86763         * tests/uninorm/test-u32-nfd-big.sh: New file.
86764         * tests/uninorm/test-u32-nfd-big.c: New file.
86765         * tests/uninorm/test-u32-normalize-big.h: New file.
86766         * tests/uninorm/test-u32-normalize-big.c: New file.
86767         * tests/uninorm/NormalizationTest.txt: New file, created from
86768         Unicode 5.1.0 NormalizationTest.txt.
86769         * modules/uninorm/nfd-tests: New file.
86771         New module 'uninorm/nfd'.
86772         * lib/uninorm/nfd.c: New file.
86773         * modules/uninorm/nfd: New file.
86775         New module 'uninorm/u32-normalize'.
86776         * lib/uninorm/u32-normalize.c: New file.
86777         * modules/uninorm/u32-normalize: New file.
86779         New module 'uninorm/u16-normalize'.
86780         * lib/uninorm/u16-normalize.c: New file.
86781         * modules/uninorm/u16-normalize: New file.
86783         New module 'uninorm/u8-normalize'.
86784         * lib/uninorm/u8-normalize.c: New file.
86785         * lib/uninorm/normalize-internal.h: New file.
86786         * lib/uninorm/u-normalize-internal.h: New file.
86787         * modules/uninorm/u8-normalize: New file.
86789         New module 'uninorm/decompose-internal'.
86790         * lib/uninorm/decompose-internal.c: New file.
86791         * modules/uninorm/decompose-internal: New file.
86793         Tests for module 'uninorm/composition'.
86794         * tests/uninorm/test-composition.c: New file.
86795         * modules/uninorm/composition-tests: New file.
86797         New module 'uninorm/composition'.
86798         * lib/uninorm/composition.c: New file.
86799         * lib/uninorm/composition-table.gperf: New file, generated by
86800         gen-uni-tables.
86801         * modules/uninorm/composition: New file.
86803         Tests for module 'uninorm/compat-decomposition'.
86804         * tests/uninorm/test-compat-decomposition.c: New file.
86805         * modules/uninorm/compat-decomposition-tests: New file.
86807         New module 'uninorm/compat-decomposition'.
86808         * lib/uninorm/decompose-internal.h: New file.
86809         * lib/uninorm/compat-decomposition.c: New file.
86810         * modules/uninorm/compat-decomposition: New file.
86812         Tests for module 'uninorm/canonical-decomposition'.
86813         * tests/uninorm/test-canonical-decomposition.c: New file.
86814         * modules/uninorm/canonical-decomposition-tests: New file.
86816         New module 'uninorm/canonical-decomposition'.
86817         * lib/uninorm/canonical-decomposition.c: New file.
86818         * modules/uninorm/canonical-decomposition: New file.
86820         Tests for module 'uninorm/decomposition'.
86821         * tests/uninorm/test-decomposition.c: New file.
86822         * modules/uninorm/decomposition-tests: New file.
86824         New module 'uninorm/decomposition'.
86825         * lib/uninorm/decomposition.c: New file.
86826         * modules/uninorm/decomposition: New file.
86828         New module 'uninorm/decomposition-table'.
86829         * lib/uninorm/decomposition-table.h: New file.
86830         * lib/uninorm/decomposition-table.c: New file.
86831         * lib/uninorm/decomposition-table1.h: New file, generated by
86832         gen-uni-tables.
86833         * lib/uninorm/decomposition-table2.h: New file, generated by
86834         gen-uni-tables.
86835         * modules/uninorm/decomposition-table: New file.
86837         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
86838         (UC_DECOMP_*): New enumeration items.
86839         (get_decomposition): New function.
86840         (struct decomp_table): New type.
86841         (output_decomposition, output_decomposition_tables): New functions.
86842         (unicode_composition_exclusions): New variable.
86843         (fill_composition_exclusions, debug_output_composition_tables): New
86844         functions.
86845         (main): Accept one more argument. Invoke fill_composition_exclusions.
86846         Output decomposition and composition tables.
86848         New module 'uninorm/base'.
86849         * lib/uninorm.h: New file.
86850         * lib/unictype.h: Update comment.
86851         * modules/uninorm/base: New file.
86853 2009-02-21  David Lutterkort  <lutter@redhat.com>
86855         Tests for module 'safe-alloc'.
86856         * tests/test-safe-alloc.c: New file.
86857         * modules/safe-alloc-tests: New file.
86859         New module 'safe-alloc'.
86860         * lib/safe-alloc.h: New file.
86861         * lib/safe-alloc.c: New file.
86862         * m4/safe-alloc.m4: New file.
86863         * modules/safe-alloc: New file.
86864         * doc/safe-alloc.texi: New file.
86865         * doc/gnulib.texi: Include it.
86866         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
86867         safe-alloc.
86869 2009-02-18  Bruno Haible  <bruno@clisp.org>
86871         Fix link error on non-glibc systems.
86872         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
86873         variable.
86874         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86876 2009-02-18  Jim Meyering  <meyering@redhat.com>
86878         fts: avoid used-uninitialized error due to recent change
86879         * lib/fts.c (fts_read): Guard uses of the new member,
86880         parent->fts_n_dirs_remaining, since it's not relevant for
86881         the parent of a directory specified on the command-line.
86883 2009-02-17  James Youngman  <jay@gnu.org>
86884             Bruno Haible  <bruno@clisp.org>
86886         * m4/include_next.m4: Reformulate comment.
86888 2009-02-16  Jim Meyering  <meyering@redhat.com>
86890         fts: add #if guards so that the fts_lgpl module still builds
86891         * lib/fts.c: Guard just-added hash-table-using parts with
86892         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
86893         Reported by Simon Josefsson.
86895 2009-02-15  Bruno Haible  <bruno@clisp.org>
86897         * modules/array-mergesort-tests: New file.
86898         * tests/test-array-mergesort.c: New file.
86900         New module 'array-mergesort'.
86901         * modules/array-mergesort: New file.
86902         * lib/array-mergesort.h: New file.
86904 2009-02-15  Bruno Haible  <bruno@clisp.org>
86906         Fix 2009-02-07 commit.
86907         * lib/gen-uni-tables.c (output_predicate, output_category,
86908         output_combclass, output_bidi_category, output_decimal_digit,
86909         output_digit, output_numeric, output_mirror, output_scripts,
86910         output_ident_category, output_simple_mapping): Fix format directives.
86911         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
86913 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
86915         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
86916         fixes are available from IBM.
86918 2009-02-13  Jim Meyering  <meyering@redhat.com>
86920         fts: arrange not to stat non-directories in more cases
86921         This makes GNU find (when it doesn't need to stat each file)
86922         *much* more efficient at traversing reiserfs file systems.
86923         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
86924         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
86925         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
86926         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
86927         (leaf_optimization_applies): New function.
86928         (LCO_hash, LCO_compare): New helper functions.
86929         (link_count_optimize_ok): New function.
86930         (fts_stat): Initialize new member (if dir).
86931         (fts_read): Decrement parent's fts_n_dirs_remaining count if
86932         we've just stat'ed a directory.  Skip the stat call when possible.
86933         ---
86934         Note this AFS-related exchange:
86935         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
86936         and note find's pioctl call in find/fstype.c.
86937         But that is necessary only if you want to enable the
86938         optimization for AFS, and for now, I don't.
86940         fts: move a function definition "up" (no semantic change)
86941         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
86942         "up" to precede upcoming use of a related function.
86944 2009-02-11  Jim Meyering  <meyering@redhat.com>
86946         fts: correct internal computation of nlinks (optimization-related)
86947         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
86948         whether the current entry is a directory, so don't test it.
86950 2009-02-10  Bruno Haible  <bruno@clisp.org>
86952         Tests for module 'uniwbrk/ulc-wordbreaks'.
86953         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
86954         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
86955         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
86957         Tests for module 'uniwbrk/u32-wordbreaks'.
86958         * modules/uniwbrk/u32-wordbreaks-tests: New file.
86959         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
86961         Tests for module 'uniwbrk/u16-wordbreaks'.
86962         * modules/uniwbrk/u16-wordbreaks-tests: New file.
86963         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
86965         Tests for module 'uniwbrk/u8-wordbreaks'.
86966         * modules/uniwbrk/u8-wordbreaks-tests: New file.
86967         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
86969 2009-02-10  Bruno Haible  <bruno@clisp.org>
86971         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
86972         property.
86973         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
86974         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
86975         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
86977 2009-02-10  Simon Josefsson  <simon@josefsson.org>
86979         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
86980         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
86982 2009-02-10  Bruno Haible  <bruno@clisp.org>
86984         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
86985         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
86986         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
86987         * lib/unilbrk/u8-possible-linebreaks.c: Update.
86988         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
86989         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
86991 2009-02-09  Simon Josefsson  <simon@josefsson.org>
86993         * lib/sockets.h (gl_fd_to_handle): New function.
86995         * tests/test-sockets.c: Call gl_fd_to_handle.
86997 2009-02-09  Bruno Haible  <bruno@clisp.org>
86999         * doc/havelib.texi: Document the conventions on bi-arch systems.
87001 2009-02-08  Bruno Haible  <bruno@clisp.org>
87003         Document the AC_LIB_LINKFLAGS macro.
87004         * doc/havelib.texi: New file, mostly written on 2005-05-24.
87005         * doc/gnulib.texi: Include it.
87007 2009-02-08  Bruno Haible  <bruno@clisp.org>
87009         Fix wrong order of sections, compared to TOC.
87010         * doc/gnulib.texi: Include relocatable-maint.texi after the
87011         "Regular expressions" node, not before.
87013 2009-02-08  Bruno Haible  <bruno@clisp.org>
87015         Tests for module 'unicase/totitle'.
87016         * modules/unicase/totitle-tests: New file.
87018         Tests for module 'unicase/tolower'.
87019         * modules/unicase/tolower-tests: New file.
87021         Tests for module 'unicase/toupper'.
87022         * modules/unicase/toupper-tests: New file.
87023         * tests/unicase/test-mapping-part1.h: New file.
87024         * tests/unicase/test-mapping-part2.h: New file.
87026         New module 'unicase/totitle'.
87027         * modules/unicase/totitle: New file.
87028         * lib/unicase/totitle.c: New file.
87030         New module 'unicase/tolower'.
87031         * modules/unicase/tolower: New file.
87032         * lib/unicase/tolower.c: New file.
87034         New module 'unicase/toupper'.
87035         * modules/unicase/toupper: New file.
87036         * lib/unicase/toupper.c: New file.
87037         * lib/unicase/simple-mapping.h: New file.
87039         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
87040         (mapping_table): New structure.
87041         (output_simple_mapping): New function.
87042         (main): Invoke output_simple_mapping_test and output_simple_mapping.
87043         * modules/gen-uni-tables (Description): Update.
87044         * lib/unicase/toupper.h: New file, automatically generated by
87045         gen-uni-tables.
87046         * lib/unicase/tolower.h: New file, automatically generated by
87047         gen-uni-tables.
87048         * lib/unicase/totitle.h: New file, automatically generated by
87049         gen-uni-tables.
87050         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
87051         gen-uni-tables.
87052         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
87053         gen-uni-tables.
87054         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
87055         gen-uni-tables.
87057         New module 'unicase/base'.
87058         * modules/unicase/base: New file.
87059         * lib/unicase.h: New file.
87061 2009-02-08  Bruno Haible  <bruno@clisp.org>
87063         New module 'uniwbrk/ulc-wordbreaks'.
87064         * modules/uniwbrk/ulc-wordbreaks: New file.
87065         * lib/uniwbrk/ulc-wordbreaks.c: New file.
87067         New module 'uniwbrk/u32-wordbreaks'.
87068         * modules/uniwbrk/u32-wordbreaks: New file.
87069         * lib/uniwbrk/u32-wordbreaks.c: New file.
87071         New module 'uniwbrk/u16-wordbreaks'.
87072         * modules/uniwbrk/u16-wordbreaks: New file.
87073         * lib/uniwbrk/u16-wordbreaks.c: New file.
87075         New module 'uniwbrk/u8-wordbreaks'.
87076         * modules/uniwbrk/u8-wordbreaks: New file.
87077         * lib/uniwbrk/u8-wordbreaks.c: New file.
87078         * lib/uniwbrk/u-wordbreaks.h: New file.
87080         New module 'uniwbrk/table'.
87081         * modules/uniwbrk/table: New file.
87082         * lib/uniwbrk/wbrktable.h: New file.
87083         * lib/uniwbrk/wbrktable.c: New file.
87085         New module 'uniwbrk/wordbreak-property'.
87086         * modules/uniwbrk/wordbreak-property: New file.
87087         * lib/uniwbrk/wordbreak-property.c: New file.
87089         * lib/gen-uni-tables.c (WBP_*): New enum items.
87090         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
87091         (unicode_org_wbp): New variable.
87092         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
87093         New functions.
87094         (wbp_table): New structure.
87095         (output_wbp, output_wbrk_tables): New functions.
87096         (main): Accept additional argument. Invoke fill_org_wbp,
87097         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
87098         output_wbrk_tables.
87099         * modules/gen-uni-tables (Description): Update.
87100         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
87101         gen-uni-tables.
87103         New module 'uniwbrk/base'.
87104         * modules/uniwbrk/base: New file.
87105         * lib/uniwbrk.h: New file.
87107 2009-02-08  Bruno Haible  <bruno@clisp.org>
87109         Update to Unicode 5.1.0.
87110         * lib/gen-uni-tables.c (is_property_alphabetic): Include
87111         U+2185..U+2188.
87112         (is_property_default_ignorable_code_point): Don't include characters
87113         of category Cc or Cs and not-a-characters.
87114         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
87115         U+0D79, U+109E, U+109F, U+A60C.
87116         * lib/unictype/bidi_of.h: Regenerated.
87117         * lib/unictype/blocks.h: Regenerated.
87118         * lib/unictype/categ_C.h: Regenerated.
87119         * lib/unictype/categ_Cf.h: Regenerated.
87120         * lib/unictype/categ_Cn.h: Regenerated.
87121         * lib/unictype/categ_L.h: Regenerated.
87122         * lib/unictype/categ_Ll.h: Regenerated.
87123         * lib/unictype/categ_Lm.h: Regenerated.
87124         * lib/unictype/categ_Lo.h: Regenerated.
87125         * lib/unictype/categ_Lu.h: Regenerated.
87126         * lib/unictype/categ_M.h: Regenerated.
87127         * lib/unictype/categ_Mc.h: Regenerated.
87128         * lib/unictype/categ_Me.h: Regenerated.
87129         * lib/unictype/categ_Mn.h: Regenerated.
87130         * lib/unictype/categ_N.h: Regenerated.
87131         * lib/unictype/categ_Nd.h: Regenerated.
87132         * lib/unictype/categ_Nl.h: Regenerated.
87133         * lib/unictype/categ_No.h: Regenerated.
87134         * lib/unictype/categ_P.h: Regenerated.
87135         * lib/unictype/categ_Pd.h: Regenerated.
87136         * lib/unictype/categ_Pe.h: Regenerated.
87137         * lib/unictype/categ_Pf.h: Regenerated.
87138         * lib/unictype/categ_Pi.h: Regenerated.
87139         * lib/unictype/categ_Po.h: Regenerated.
87140         * lib/unictype/categ_Ps.h: Regenerated.
87141         * lib/unictype/categ_S.h: Regenerated.
87142         * lib/unictype/categ_Sk.h: Regenerated.
87143         * lib/unictype/categ_Sm.h: Regenerated.
87144         * lib/unictype/categ_So.h: Regenerated.
87145         * lib/unictype/categ_of.h: Regenerated.
87146         * lib/unictype/combining.h: Regenerated.
87147         * lib/unictype/ctype_alnum.h: Regenerated.
87148         * lib/unictype/ctype_alpha.h: Regenerated.
87149         * lib/unictype/ctype_graph.h: Regenerated.
87150         * lib/unictype/ctype_lower.h: Regenerated.
87151         * lib/unictype/ctype_print.h: Regenerated.
87152         * lib/unictype/ctype_punct.h: Regenerated.
87153         * lib/unictype/ctype_upper.h: Regenerated.
87154         * lib/unictype/decdigit.h: Regenerated.
87155         * lib/unictype/digit.h: Regenerated.
87156         * lib/unictype/mirror.h: Regenerated.
87157         * lib/unictype/numeric.h: Regenerated.
87158         * lib/unictype/pr_alphabetic.h: Regenerated.
87159         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
87160         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
87161         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
87162         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
87163         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
87164         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
87165         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
87166         * lib/unictype/pr_combining.h: Regenerated.
87167         * lib/unictype/pr_dash.h: Regenerated.
87168         * lib/unictype/pr_decimal_digit.h: Regenerated.
87169         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
87170         * lib/unictype/pr_deprecated.h: Regenerated.
87171         * lib/unictype/pr_diacritic.h: Regenerated.
87172         * lib/unictype/pr_extender.h: Regenerated.
87173         * lib/unictype/pr_format_control.h: Regenerated.
87174         * lib/unictype/pr_grapheme_base.h: Regenerated.
87175         * lib/unictype/pr_grapheme_extend.h: Regenerated.
87176         * lib/unictype/pr_grapheme_link.h: Regenerated.
87177         * lib/unictype/pr_id_continue.h: Regenerated.
87178         * lib/unictype/pr_id_start.h: Regenerated.
87179         * lib/unictype/pr_ideographic.h: Regenerated.
87180         * lib/unictype/pr_ignorable_control.h: Regenerated.
87181         * lib/unictype/pr_lowercase.h: Regenerated.
87182         * lib/unictype/pr_math.h: Regenerated.
87183         * lib/unictype/pr_numeric.h: Regenerated.
87184         * lib/unictype/pr_other_alphabetic.h: Regenerated.
87185         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
87186         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
87187         * lib/unictype/pr_other_id_continue.h: Regenerated.
87188         * lib/unictype/pr_other_lowercase.h: Regenerated.
87189         * lib/unictype/pr_other_math.h: Regenerated.
87190         * lib/unictype/pr_punctuation.h: Regenerated.
87191         * lib/unictype/pr_sentence_terminal.h: Regenerated.
87192         * lib/unictype/pr_soft_dotted.h: Regenerated.
87193         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
87194         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
87195         * lib/unictype/pr_unified_ideograph.h: Regenerated.
87196         * lib/unictype/pr_uppercase.h: Regenerated.
87197         * lib/unictype/pr_xid_continue.h: Regenerated.
87198         * lib/unictype/pr_xid_start.h: Regenerated.
87199         * lib/unictype/pr_zero_width.h: Regenerated.
87200         * lib/unictype/scripts.h: Regenerated.
87201         * lib/unictype/scripts_byname.gperf: Regenerated.
87202         * lib/unictype/sy_java_ident.h: Regenerated.
87203         * lib/unilbrk/lbrkprop1.h: Regenerated.
87204         * lib/unilbrk/lbrkprop2.h: Regenerated.
87205         * tests/unictype/test-categ_C.c: Regenerated.
87206         * tests/unictype/test-categ_Cf.c: Regenerated.
87207         * tests/unictype/test-categ_Cn.c: Regenerated.
87208         * tests/unictype/test-categ_L.c: Regenerated.
87209         * tests/unictype/test-categ_Ll.c: Regenerated.
87210         * tests/unictype/test-categ_Lm.c: Regenerated.
87211         * tests/unictype/test-categ_Lo.c: Regenerated.
87212         * tests/unictype/test-categ_Lu.c: Regenerated.
87213         * tests/unictype/test-categ_M.c: Regenerated.
87214         * tests/unictype/test-categ_Mc.c: Regenerated.
87215         * tests/unictype/test-categ_Me.c: Regenerated.
87216         * tests/unictype/test-categ_Mn.c: Regenerated.
87217         * tests/unictype/test-categ_N.c: Regenerated.
87218         * tests/unictype/test-categ_Nd.c: Regenerated.
87219         * tests/unictype/test-categ_Nl.c: Regenerated.
87220         * tests/unictype/test-categ_No.c: Regenerated.
87221         * tests/unictype/test-categ_P.c: Regenerated.
87222         * tests/unictype/test-categ_Pd.c: Regenerated.
87223         * tests/unictype/test-categ_Pe.c: Regenerated.
87224         * tests/unictype/test-categ_Pf.c: Regenerated.
87225         * tests/unictype/test-categ_Pi.c: Regenerated.
87226         * tests/unictype/test-categ_Po.c: Regenerated.
87227         * tests/unictype/test-categ_Ps.c: Regenerated.
87228         * tests/unictype/test-categ_S.c: Regenerated.
87229         * tests/unictype/test-categ_Sk.c: Regenerated.
87230         * tests/unictype/test-categ_Sm.c: Regenerated.
87231         * tests/unictype/test-categ_So.c: Regenerated.
87232         * tests/unictype/test-ctype_alnum.c: Regenerated.
87233         * tests/unictype/test-ctype_alpha.c: Regenerated.
87234         * tests/unictype/test-ctype_graph.c: Regenerated.
87235         * tests/unictype/test-ctype_lower.c: Regenerated.
87236         * tests/unictype/test-ctype_print.c: Regenerated.
87237         * tests/unictype/test-ctype_punct.c: Regenerated.
87238         * tests/unictype/test-ctype_upper.c: Regenerated.
87239         * tests/unictype/test-decdigit.h: Regenerated.
87240         * tests/unictype/test-digit.h: Regenerated.
87241         * tests/unictype/test-numeric.h: Regenerated.
87242         * tests/unictype/test-pr_alphabetic.c: Regenerated.
87243         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
87244         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
87245         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
87246         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
87247         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
87248         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
87249         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
87250         * tests/unictype/test-pr_combining.c: Regenerated.
87251         * tests/unictype/test-pr_dash.c: Regenerated.
87252         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
87253         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
87254         * tests/unictype/test-pr_deprecated.c: Regenerated.
87255         * tests/unictype/test-pr_diacritic.c: Regenerated.
87256         * tests/unictype/test-pr_extender.c: Regenerated.
87257         * tests/unictype/test-pr_format_control.c: Regenerated.
87258         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
87259         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
87260         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
87261         * tests/unictype/test-pr_id_continue.c: Regenerated.
87262         * tests/unictype/test-pr_id_start.c: Regenerated.
87263         * tests/unictype/test-pr_ideographic.c: Regenerated.
87264         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
87265         * tests/unictype/test-pr_lowercase.c: Regenerated.
87266         * tests/unictype/test-pr_math.c: Regenerated.
87267         * tests/unictype/test-pr_numeric.c: Regenerated.
87268         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
87269         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
87270         Regenerated.
87271         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
87272         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
87273         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
87274         * tests/unictype/test-pr_other_math.c: Regenerated.
87275         * tests/unictype/test-pr_punctuation.c: Regenerated.
87276         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
87277         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
87278         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
87279         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
87280         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
87281         * tests/unictype/test-pr_uppercase.c: Regenerated.
87282         * tests/unictype/test-pr_xid_continue.c: Regenerated.
87283         * tests/unictype/test-pr_xid_start.c: Regenerated.
87284         * tests/unictype/test-pr_zero_width.c: Regenerated.
87286         Update to Unicode 5.1.0.
87287         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
87288         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
87289         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
87290         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
87291         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
87292         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
87293         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
87294         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
87295         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
87296         (nonspacing_table_ind): Update.
87297         * tests/uniwidth/test-uc_width2.sh: Update expected result.
87299         Update to Unicode 5.1.0.
87300         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
87301         code transform.
87302         * lib/uniname/uniname.c (unicode_character_name,
87303         unicode_name_character): Add the range 0x1Fxxx to the code transform.
87304         * lib/uniname/uninames.h: Regenerated.
87305         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
87307 2009-02-07  Bruno Haible  <bruno@clisp.org>
87309         Merge gen-ctype and gen-lbrk into a single program.
87310         * lib/gen-uni-tables.c: New file, incorporating
87311         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
87312         Add directory prefixes to the names of the generated files.
87313         * lib/unictype/gen-ctype.c: Remove file.
87314         * lib/unilbrk/gen-lbrk.c: Remove file.
87315         * modules/gen-uni-tables: New file.
87316         * modules/unictype/gen-ctype: Remove file.
87317         * modules/unilbrk/gen-lbrk: Remove file.
87319 2009-02-07  Bruno Haible  <bruno@clisp.org>
87321         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
87323         New module 'unistr/u32-strcoll'.
87324         * modules/unistr/u32-strcoll: New file.
87325         * lib/unistr/u32-strcoll.c: New file.
87327         New module 'unistr/u16-strcoll'.
87328         * modules/unistr/u16-strcoll: New file.
87329         * lib/unistr/u16-strcoll.c: New file.
87331         New module 'unistr/u8-strcoll'.
87332         * modules/unistr/u8-strcoll: New file.
87333         * lib/unistr/u8-strcoll.c: New file.
87334         * lib/unistr/u-strcoll.h: New file.
87336 2009-02-07  Bruno Haible  <bruno@clisp.org>
87338         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
87339         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
87340         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
87341         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
87342         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
87343         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
87345 2009-02-07  Bruno Haible  <bruno@clisp.org>
87347         Make 64-bit clean.
87348         * lib/unictype/gen-ctype.c (output_predicate, output_category,
87349         output_combclass, output_bidi_category, output_decimal_digit,
87350         output_digit, output_numeric, output_mirror, output_scripts,
87351         output_ident_category): Use proper width specifier in format strings.
87353 2009-02-07  Bruno Haible  <bruno@clisp.org>
87355         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
87356         failure behaviour.
87358 2009-02-07  Jim Meyering  <meyering@redhat.com>
87360         regex: avoid compilation failure with upcoming gcc-4.4
87361         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
87362         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
87363         "... error: integer overflow in preprocessor expression".
87365 2009-02-05  Ben Pfaff  <blp@gnu.org>
87367         Fix link errors on Windows when close module is used.
87368         * modules/close: Add $(LIB_CLOSE) to Link section.
87369         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
87370         $(LIB_CLOSE) on Windows.
87372 2009-02-05  Jim Meyering  <meyering@redhat.com>
87374         still avoid unused-parameter warnings, but do it cleanly
87375         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
87376         (get_fs_usage): Cast to void instead.
87377         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
87378         (dev_from_mount_options, read_file_system_list): Cast to void.
87379         Prompted by Bruno Haible.
87381 2009-02-04  Jim Meyering  <meyering@redhat.com>
87383         fsusage.c: correct copyright year
87384         * lib/fsusage.c: Reflect year in which the change is pushed into
87386         avoid misc. warnings
87387         * lib/fsusage.c (UNUSED_PARAM): Define.
87388         (get_fs_usage): Mark parameter "disk" as unused.
87389         * lib/getugroups.c (getgrent): Use "void" in prototype.
87390         * lib/mountlist.c: Mark unused parameters.
87391         (read_file_system_list): Declare a local with "const".
87392         * lib/nanosleep.c (getnow): Declare static.
87393         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
87395         dirfd: set errno upon failure
87396         * lib/dirfd.c: Include <errno.h>.
87397         Set errno to ENOTSUP when returning -1.
87398         * modules/dirfd (Depends-on): Add errno.
87399         Suggested by John Kodis <kodis@comcast.net>.
87401 2009-02-01  Bruno Haible  <bruno@clisp.org>
87403         Don't assume sizeof (long) >= sizeof (void *).
87404         * lib/memcmp.c: Include stdint.h.
87405         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
87406         srcp2 to 'const byte *'.
87407         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
87408         types to uintptr_t.
87409         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
87410         * modules/memcmp (Depends-on): Add stdint.
87411         Reported by Ozkan Sezer <sezeroz@gmail.com>.
87413 2009-01-30  Eric Blake  <ebb9@byu.net>
87415         fix more require-before-expand issues
87416         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
87417         expand, AC_PROG_AWK.
87418         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
87420 2009-01-28  Eric Blake  <ebb9@byu.net>
87422         version-etc: use consistent URL formatting
87423         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
87424         Improve formatting.  Use fputs for string without %.
87426 2009-01-28  Jim Meyering  <meyering@redhat.com>
87428         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
87429         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
87430         "underquoted definition of NAME" from autoconf-2.59.
87432 2009-01-28  Bruno Haible  <bruno@clisp.org>
87434         * doc/gnulib.texi: Add "Obsolete modules" to index.
87436 2009-01-28  Jim Meyering  <meyering@redhat.com>
87438         useless-if-before-free: recognize more variants
87439         * build-aux/useless-if-before-free: Also recognize e.g.,
87440         if (NULL != p) free (p);
87442 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
87444         test-getaddrinfo: skip (don't fail) this test when there's no network
87445         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
87446         on the presumption that it means you lack network access.
87448 2009-01-26  Jim Meyering  <meyering@redhat.com>
87450         fflush: avoid warnings on modern systems
87451         * lib/fflush.c (rpl_fflush): Move declarations of locals,
87452         pos and result, into scopes where they're used.
87454 2009-01-26  Eric Blake  <ebb9@byu.net>
87456         Silence warning reintroduced by recent extensions patch.
87457         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
87458         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
87459         autoconf.
87461         Backport improved autoconf semantics of AC_DEFUN_ONCE.
87462         * m4/00gnulib.m4: New file.
87463         * gnulib-tool (func_get_filelist): Always use it.
87464         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
87465         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
87467 2009-01-25  Bruno Haible  <bruno@clisp.org>
87469         Make test-quotearg work on MacOS X and AIX.
87470         * tests/test-quotearg.sh: New file.
87471         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
87472         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
87473         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
87474         include <libintl.h>.
87475         (fake_locale): Remove variable.
87476         (gettext, dgettext, dcgettext): Remove functions.
87477         (main): Instead of setting a fake locale, set a real locale. Call
87478         textdomain and bindtextdomain.
87479         * modules/quotearg-tests (Files): Add the new files.
87480         (Depends-on): Add gettext, setenv, unsetenv.
87481         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
87482         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
87483         Augment TESTS_ENVIRONMENT.
87485 2009-01-25  Bruno Haible  <bruno@clisp.org>
87487         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
87488         fr_FR.ISO8859-1 locale on MacOS X.
87489         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
87490         ja_JP.eucJP locale on MacOS X.
87491         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
87492         zh_CN.GB18030 locale on MacOS X.
87494 2009-01-25  Bruno Haible  <bruno@clisp.org>
87496         Avoid link errors on MacOS X 10.3.
87497         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
87498         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
87500 2009-01-25  Bruno Haible  <bruno@clisp.org>
87502         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
87503         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
87504         * modules/pipe (Files): Remove m4/posix_spawn.m4.
87505         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
87506         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
87507         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
87508         posix_spawnattr_init, posix_spawnattr_setsigmask,
87509         posix_spawnattr_setflags, posix_spawnattr_destroy.
87511         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
87512         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
87513         * modules/execute (Files): Remove m4/posix_spawn.m4.
87514         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
87515         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
87516         posix_spawnattr_init, posix_spawnattr_setsigmask,
87517         posix_spawnattr_setflags, posix_spawnattr_destroy.
87519 2009-01-25  Bruno Haible  <bruno@clisp.org>
87521         * lib/glthread/threadlib.c: Include <stdlib.h>.
87523 2009-01-25  Bruno Haible  <bruno@clisp.org>
87525         * lib/glthread/threadlib.c (dummy): New declaration.
87527 2009-01-25  Bruno Haible  <bruno@clisp.org>
87529         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
87530         multibyte characters also for the GB18030 encoding. Don't crash when
87531         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
87533 2009-01-25  Bruno Haible  <bruno@clisp.org>
87535         Avoid redefining 'struct random_data' on OSF/1 5.1.
87536         * lib/stdlib.in.h: Include <random.h> if it exists.
87537         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
87538         HAVE_RANDOM_H. Include <random.h> when testing whether
87539         'struct random_data' exists.
87540         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
87542 2009-01-25  Bruno Haible  <bruno@clisp.org>
87544         Don't install charset.alias on MacOS X >= 10.3.
87545         * lib/localcharset.c (DARWIN7): New macro.
87546         (get_charset_aliases): Hardcode the result for Darwin7.
87547         * modules/localcharset (install-exec-local): Don't install
87548         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
87550 2009-01-25  Bruno Haible  <bruno@clisp.org>
87552         Don't install charset.alias on mingw and Cygwin.
87553         * modules/localcharset (install-exec-local): Don't install
87554         charset.alias on mingw and Cygwin, if the file does not yet exist.
87555         The result for these platforms is hardcoded in localcharset.c.
87557 2009-01-25  Bruno Haible  <bruno@clisp.org>
87559         Make it possible again to use AC_GNU_SOURCE together with gnulib.
87560         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
87561         before requiring AC_USE_SYSTEM_EXTENSIONS.
87563 2009-01-25  Jim Meyering  <meyering@redhat.com>
87565         c-strtod: avoid warnings
87566         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
87567         "assignment discards qualifiers from pointer target type" warnings.
87569 2009-01-24  Bruno Haible  <bruno@clisp.org>
87571         Add support for non-UTF-8 locales on MacOS X.
87572         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
87573         canonical encodings. For Darwin 7 and newer, don't map traditional
87574         encodings to UTF-8.
87575         Reported by Vincent Lefevre <vincent@vinc17.org>
87576         at <http://savannah.gnu.org/bugs/?25235>.
87578 2009-01-24  Bruno Haible  <bruno@clisp.org>
87580         * doc/gnulib.texi (Obsolete modules): New section.
87581         Reported by Mike Frysinger <vapier@gentoo.org>.
87583 2009-01-24  Bruno Haible  <bruno@clisp.org>
87585         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
87586         (%.dvi): New rule.
87588 2009-01-24  Bruno Haible  <bruno@clisp.org>
87590         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
87591         Reported by Eric Blake.
87593 2009-01-24  Bruno Haible  <bruno@clisp.org>
87595         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
87596         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
87597         Reported by Gary V. Vaughan <gary@gnu.org>.
87599 2009-01-24  Bruno Haible  <bruno@clisp.org>
87601         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
87603 2009-01-23  Bruno Haible  <bruno@clisp.org>
87605         Make c-strtod, c-strtold usable in libraries.
87606         * lib/c-strtod.c: Include string.h instead of xalloc.h.
87607         (C_STRTOD): Call strdup instead of xstrdup.
87608         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
87609         * modules/c-strtold (Depends-on): Likewise.
87610         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
87611         * NEWS: Mention the change.
87612         Reported by Michael Gold <mgold@ncf.ca>.
87614 2009-01-23  Jim Meyering  <meyering@redhat.com>
87616         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
87617         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
87618         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
87620 2009-01-23  Simon Josefsson  <simon@josefsson.org>
87622         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
87623         GNU CoreUtils.
87624         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
87625         * modules/version-etc (Description): Update.
87627 2009-01-22  Bruno Haible  <bruno@clisp.org>
87629         Cache the C locale object.
87630         * lib/c-strtod.c (c_locale_cache): New variable.
87631         (c_locale): New function.
87632         (C_STRTOD): Use it, and don't call freelocale.
87633         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
87634         Suggested by Paolo Bonzini.
87636 2009-01-21  Bruno Haible  <bruno@clisp.org>
87638         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
87639         conditions other than overflow.
87641 2009-01-21  Bruno Haible  <bruno@clisp.org>
87643         * lib/c-strtod.c: Include errno.h.
87644         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
87645         value from STRTOD_L and STRTOD.
87647 2009-01-21  Bruno Haible  <bruno@clisp.org>
87648         and Jim Meyering  <meyering@redhat.com>
87650         nanosleep: skip configure test (fail it) for apple universal builds
87651         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
87652         universal builds, assume that nanosleep does not work.
87653         * modules/nanosleep (Depends-on): Add multiarch.
87655         mktime: skip configure test (fail it) for apple universal builds
87656         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
87657         universal builds, assume that mktime does not work.
87658         * modules/mktime (Depends-on): Add multiarch.
87660 2009-01-21  Eric Blake  <ebb9@byu.net>
87662         multiarch: avoid expand-before-require warning
87663         * modules/multiarch (configure.ac): Require, rather than expand,
87664         gl_MULTIARCH.
87665         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
87666         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
87667         enforce that all clients require it.  Partial reversion of
87668         2008-12-29 patch.
87670         error: avoid expand-before-require warning
87671         * modules/errno (configure.ac): Require, rather than expand,
87672         gl_HEADER_ERRNO_H.
87673         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
87674         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
87675         enforce that all clients require it.
87677         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
87678         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
87679         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
87680         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
87682 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
87684         Revert:
87685         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
87687         regex: do not depend on obsolete modules.
87688         * modules/regex: Remove memcmp and memmove.
87690 2009-01-20  Bruno Haible  <bruno@clisp.org>
87692         Make the 'link' module link on Windows NT 4.
87693         * lib/link.c (_WIN32_WINNT): Don't define.
87694         (CreateHardLinkFuncType): New type.
87695         (CreateHardLinkFunc, initialized): New variables.
87696         (initialize): New function.
87697         (link): Invoke CreateHardLink indirectly through the function pointer.
87699 2009-01-20  Bruno Haible  <bruno@clisp.org>
87701         Fix compilation failure on mingw.
87702         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
87704 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
87706         * doc/c-strtod.texi: Mention a couple of restrictions.
87708 2009-01-20  Jim Meyering  <meyering@redhat.com>
87710         gettimeofday: move more declarations out of functions
87711         * lib/gettimeofday.c: Move extern declarations of tzset and
87712         gmtime out of containing functions.  Prompted by Bruno Haible.
87714 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
87716         regex: do not depend on obsolete modules.
87717         * modules/regex: Remove memcmp and memmove.
87719 2009-01-19  Bruno Haible  <bruno@clisp.org>
87721         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
87722         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
87723         gl_BIGENDIAN, not AC_C_BIGENDIAN.
87724         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
87725         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
87727 2009-01-19  Bruno Haible  <bruno@clisp.org>
87729         * tests/test-link.c: Include <errno.h>.
87730         (main): Exit with code 77 when a hard link cannot be created due to
87731         the file system.
87732         * tests/test-link.sh: Skip test when a hard link cannot be created due
87733         to the file system.
87734         Suggested by Eric Blake.
87736 2009-01-19  Martin Lambers  <marlam@marlam.de>
87738         * modules/link-tests: New file.
87739         * tests/test-link.sh: New file.
87740         * tests/test-link.c: New file.
87742 2009-01-19  Eric Blake  <ebb9@byu.net>
87744         doc: mention another function added in cygwin 1.7.0
87745         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
87746         Another new function in cygwin 1.7.
87748 2009-01-19  Bruno Haible  <bruno@clisp.org>
87750         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
87751         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
87752         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
87753         gl_BIGENDIAN, not AC_C_BIGENDIAN.
87754         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
87755         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
87756         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
87757         * m4/md4.m4 (gl_MD4): Likewise.
87758         * m4/md5.m4 (gl_MD5): Likewise.
87759         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
87760         * m4/sha1.m4 (gl_SHA1): Likewise.
87761         * m4/sha256.m4 (gl_SHA256): Likewise.
87762         * m4/sha512.m4 (gl_SHA512): Likewise.
87764 2009-01-19  Bruno Haible  <bruno@clisp.org>
87766         * modules/uniname/uniname-tests (Depends-on): Add progname.
87767         * tests/uniname/test-uninames.c: Include progname.h.
87768         (main): Call set_program_name.
87770         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
87771         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
87772         (main): Call set_program_name.
87774         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
87775         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
87776         (main): Call set_program_name.
87778         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
87779         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
87780         (main): Call set_program_name.
87782         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
87783         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
87784         (main): Call set_program_name.
87786         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
87787         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
87788         (main): Call set_program_name.
87790         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
87791         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
87792         (main): Call set_program_name.
87794         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
87795         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
87796         (main): Call set_program_name.
87798         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
87799         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
87800         (main): Call set_program_name.
87802 2009-01-19  Eric Blake  <ebb9@byu.net>
87804         test-unistd: test previous patch
87805         * tests/test-unistd.c: Test *_FILENO macros.
87807         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
87808         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87809         Guarantee a definition.
87810         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
87811         * modules/unistd-safer (Depends-on): Add dependency on unistd.
87812         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
87813         * lib/dup-safer.c (STDERR_FILENO): Likewise.
87814         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87815         Likewise.
87816         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
87817         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
87818         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87819         Likewise.
87820         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
87821         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
87822         (STDERR_FILENO): Likewise.
87823         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
87824         (STDERR_FILENO): Likewise.
87825         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
87826         (STDERR_FILENO): Likewise.
87827         Reported by Elbert Pol.
87829 2009-01-19  Eric Blake  <ebb9@byu.net>
87831         doc: mention more functions added in cygwin 1.7.0
87832         * doc/posix-functions/abort.texi (abort): Update wording related
87833         to cygwin.
87834         * doc/posix-functions/daylight.texi (daylight): Likewise.
87835         * doc/posix-functions/optarg.texi (optarg): Likewise.
87836         * doc/posix-functions/optarg.texi (opterr): Likewise.
87837         * doc/posix-functions/optarg.texi (optind): Likewise.
87838         * doc/posix-functions/optarg.texi (optopt): Likewise.
87839         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
87840         worked in 1.5.x, and was withdrawn in 1.7.
87841         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
87842         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
87843         cygwin versions.
87844         * doc/posix-functions/perror.texi (perror): Likewise.
87845         * doc/posix-functions/printf.texi (printf): Likewise.
87846         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
87847         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
87848         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
87849         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
87850         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
87851         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
87852         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
87853         Likewise.
87854         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
87855         Likewise.
87856         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
87857         this function.
87858         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
87859         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
87860         Likewise.
87861         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
87862         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
87863         * doc/posix-functions/confstr.texi (confstr): Likewise.
87864         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
87865         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
87866         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
87867         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
87868         * doc/posix-functions/fputws.texi (fputws): Likewise.
87869         * doc/posix-functions/fwide.texi (fwide): Likewise.
87870         * doc/posix-functions/getwc.texi (getwc): Likewise.
87871         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
87872         * doc/posix-functions/putwc.texi (putwc): Likewise.
87873         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
87874         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
87875         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
87876         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
87877         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
87878         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
87879         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
87880         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
87881         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
87882         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
87883         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
87885 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
87887         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
87888         * lib/ioctl.c: Include <sys/ioctl.h>.
87890 2009-01-19  Simon Josefsson  <simon@josefsson.org>
87892         * modules/getdate-tests (Depends-on): Add progname.
87893         * tests/test-getdate.c: Use progname module, to avoid link errors
87894         on non-glibc systems.
87896 2009-01-18  Simon Josefsson  <simon@josefsson.org>
87898         * modules/filenamecat-tests (Depends-on): Add progname.
87899         * modules/fstrcmp-tests (Depends-on): Likewise.
87901         * tests/test-filenamecat.c: Use progname module, to avoid link
87902         errors on non-glibc systems.
87903         * tests/test-fstrcmp.c: Likewise.
87905 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
87907         gettimeofday: avoid warning: nested extern declaration of 'localtime'
87908         * lib/gettimeofday.c: Move extern declaration out of function.
87910 2009-01-18  Bruno Haible  <bruno@clisp.org>
87912         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
87913         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
87914         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
87916 2009-01-18  Bruno Haible  <bruno@clisp.org>
87918         * lib/strftime.c (MEMPCPY): Remove unused macro.
87919         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
87921 2009-01-18  Martin Lambers  <marlam@marlam.de>
87923         New module 'link'.
87924         * lib/unistd.in.h (link): New declaration.
87925         * lib/link.c: New file.
87926         * m4/link.m4: New file.
87927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
87928         HAVE_LINK.
87929         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
87930         * modules/link: New file.
87931         * doc/posix-functions/link.texi: Mention the new module.
87933 2009-01-18  Bruno Haible  <bruno@clisp.org>
87935         * tests/test-avltree_list.c (main): Call set_program_name.
87936         * tests/test-avltree_oset.c (main): Likewise.
87937         * tests/test-obstack-printf.c: Include progname.h.
87938         (main): Call set_program_name.
87939         * tests/test-quotearg.c: Include progname.h.
87940         (main): Call set_program_name.
87941         * tests/test-xmemdup0.c: Include progname.h.
87942         (main): Call set_program_name.
87944 2009-01-18  Bruno Haible  <bruno@clisp.org>
87946         New module 'alphasort'.
87947         * lib/dirent.in.h (alphasort): New declaration.
87948         * lib/alphasort.c: New file, from glibc with modifications.
87949         * m4/alphasort.m4: New file.
87950         * modules/alphasort: New file.
87951         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
87952         HAVE_ALPHASORT.
87953         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
87954         HAVE_ALPHASORT.
87955         * doc/posix-functions/alphasort.texi: Mention the new module and the
87956         portability problems.
87958 2009-01-18  Bruno Haible  <bruno@clisp.org>
87960         New module 'scandir'.
87961         * lib/dirent.in.h (scandir): New declaration.
87962         * lib/scandir.c: New file, from glibc with modifications.
87963         * m4/scandir.m4: New file.
87964         * modules/scandir: New file.
87965         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
87966         HAVE_SCANDIR.
87967         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
87968         HAVE_SCANDIR.
87969         * doc/posix-functions/scandir.texi: Mention the new module and the
87970         portability problems.
87972 2009-01-17  Bruno Haible  <bruno@clisp.org>
87974         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
87975         Update documentation.
87976         (func_remove_suffix): Escape all dots in the suffix. Update
87977         documentation.
87978         (func_filter_filelist): Update documentation.
87979         Reported by Ralf Wildenhues.
87981 2009-01-17  Bruno Haible  <bruno@clisp.org>
87983         * modules/dprintf-posix-tests: New file.
87984         * tests/test-dprintf-posix.sh: New file.
87985         * tests/test-dprintf-posix.c: New file.
87987         New modules 'dprintf', 'dprintf-posix'.
87988         * lib/stdio.in.h (dprintf): New declaration.
87989         * lib/dprintf.c: New file.
87990         * m4/dprintf.m4: New file.
87991         * m4/dprintf-posix.m4: New file.
87992         * modules/dprintf: New file.
87993         * modules/dprintf-posix: New file.
87994         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
87995         HAVE_DPRINTF, REPLACE_DPRINTF.
87996         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
87997         HAVE_DPRINTF, REPLACE_DPRINTF.
87998         * doc/posix-functions/dprintf.texi: Mention the new modules.
88000 2009-01-17  Bruno Haible  <bruno@clisp.org>
88002         * modules/vdprintf-posix-tests: New file.
88003         * tests/test-vdprintf-posix.sh: New file.
88004         * tests/test-vdprintf-posix.c: New file.
88006         New modules 'vdprintf', 'vdprintf-posix'.
88007         * lib/stdio.in.h (vdprintf): New declaration.
88008         * lib/vdprintf.c: New file.
88009         * m4/vdprintf.m4: New file.
88010         * m4/vdprintf-posix.m4: New file.
88011         * modules/vdprintf: New file.
88012         * modules/vdprintf-posix: New file.
88013         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
88014         HAVE_VDPRINTF, REPLACE_VDPRINTF.
88015         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
88016         HAVE_VDPRINTF, REPLACE_VDPRINTF.
88017         * doc/posix-functions/vdprintf.texi: Mention the new modules.
88019 2009-01-17  Bruno Haible  <bruno@clisp.org>
88021         Fix replacement of fopen on mingw.
88022         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
88023         mingw.
88025 2009-01-17  Bruno Haible  <bruno@clisp.org>
88027         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
88028         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
88030 2009-01-17  Bruno Haible  <bruno@clisp.org>
88032         Avoid test-fflush2.sh failure on mingw.
88033         * tests/test-fflush2.c: Include binary-io.h.
88034         (main): Put standard input into binary mode.
88035         * modules/fflush-tests (Depends-on): Add binary-io.
88037 2009-01-17  Bruno Haible  <bruno@clisp.org>
88039         * lib/wchar.in.h: In another particular situation, include only the
88040         system's <wchar.h> file.
88041         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
88042         Reported by Albert Chin-A-Young <china@thewrittenword.com>
88043         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
88045 2009-01-17  Bruno Haible  <bruno@clisp.org>
88047         Support for stripping executables in --enable-relocatable.
88048         * build-aux/install-reloc: Expect one more argument, or an environment
88049         variable RELOC_STRIP_PROG. If set, strip the destination program and
88050         its wrapper.
88051         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
88052         RELOC_STRIP_PROG.
88053         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
88054         to set RELOCATABLE_STRIP.
88055         * NEWS: Mention the new Makefile requirement.
88057 2009-01-17  Bruno Haible  <bruno@clisp.org>
88059         * build-aux/install-reloc: Remove debugging information left over by
88060         C compiler on MacOS X.
88062 2009-01-17  Bruno Haible  <bruno@clisp.org>
88064         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
88065         * lib/progreloc.c (find_executable): Fix type of pointer passed to
88066         _NSGetExecutablePath.
88068 2009-01-16  Jim Meyering  <meyering@redhat.com>
88070         strerror: avoid warnings about discarding "const"
88071         * lib/strerror.c (rpl_strerror): Instead of returning a const
88072         string from each and every "case", use a variable, and add a single
88073         cast after the switch.
88075 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
88077         * lib/arpa_inet.in.h: Add extern "C" block for C++.
88079 2009-01-16  Bruno Haible  <bruno@clisp.org>
88081         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
88082         array initializer syntax that also works in C++ mode.
88083         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
88085 2009-01-16  Jim Meyering  <meyering@redhat.com>
88087         poll: suppress a warning
88088         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
88089         to ignore "...unsigned expression < 0 is always false" warnings.
88091 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
88093         poll: remove declarations of unused variables
88094         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
88095         sockbuf and optlen.
88097 2009-01-15  Bruno Haible  <bruno@clisp.org>
88099         Make fflush-after-ungetc POSIX compliant on BSD systems.
88100         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
88101         (clear_ungetc_buffer): Implement also for other systems.
88102         (rpl_fflush): On glibc systems, invoke
88103         clear_ungetc_buffer_preserving_position. Otherwise, invoke
88104         clear_ungetc_buffer after fetching the stream's position, not before.
88106 2009-01-15  Bruno Haible  <bruno@clisp.org>
88108         Make fflush-after-ungetc POSIX compliant on glibc systems.
88109         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
88110         after ungetc.
88111         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
88112         (rpl_fflush): On glibc systems, simply call the system's fflush
88113         function after clearing the ungetc buffer.
88114         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
88115         Instead, lseek only to the end of file, then use the system's fseeko
88116         for the rest. On glibc systems, reset the EOF indicator bit.
88118 2009-01-15  Jim Meyering  <meyering@redhat.com>
88120         openmp.m4: revert quote-adding change, for portability to older autoconf
88121         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
88122         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
88123         Simon Josefsson noticed the problem when using autoconf-2.61.
88125 2009-01-15  Bruno Haible  <bruno@clisp.org>
88127         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
88128         * tests/test-fflush2.c (ASSERT): Always fail.
88129         (main): Add two tests for fflush() after ungetc(), taking into account
88130         the Austin Group's clarification.
88131         Suggested by Eric Blake.
88133 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
88135         mktime.m4: remove K&R-style function prototypes
88136         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
88137         for the Sun C++ compiler.
88139 2009-01-14  Bruno Haible  <bruno@clisp.org>
88141         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
88142         while including <wchar.h>.
88143         * lib/wchar.in.h: In two particular situations on HP-UX, include only
88144         the system's <wchar.h> file.
88145         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
88147 2009-01-14  Bruno Haible  <bruno@clisp.org>
88149         * m4/csharp.m4: Don't mention gettext on the serial number line.
88150         * m4/csharpexec.m4: Likewise.
88151         * m4/eaccess.m4: Likewise.
88152         * m4/javaexec.m4: Likewise.
88153         * m4/sig_atomic_t.m4: Likewise.
88154         * m4/tmpdir.m4: Likewise.
88155         * m4/intldir.m4: Bump gettext version.
88156         * m4/lib-ld.m4: Likewise.
88158 2009-01-14  Bruno Haible  <bruno@clisp.org>
88160         * lib/progname.c (set_program_name): Add more comments.
88161         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
88163 2009-01-14  Simon Josefsson  <simon@josefsson.org>
88165         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
88166         were sys/stat.h does not define it.
88168 2009-01-14  Jim Meyering  <meyering@redhat.com>
88170         many *.m4 files: improve m4 quoting
88171         99% of this change was performed by running the following commands:
88172         git ls-files | grep '\.m4$' | xargs perl -pi \
88173           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
88174           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
88175           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
88176           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
88177         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
88178         The remainder were to add Copyright dates, increment serial numbers,
88179         undo some changes in comments, exclude m4/intl.m4, and add quotes
88180         around the "1" in ",1" where the unusual spacing prohibited the
88181         above regexps from doing the job.  For more details, see
88182         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
88183         * m4/acl.m4: Modified.
88184         * m4/afs.m4: Likewise.
88185         * m4/alloca.m4: Likewise.
88186         * m4/argp.m4: Likewise.
88187         * m4/argz.m4: Likewise.
88188         * m4/atexit.m4: Likewise.
88189         * m4/bison-i18n.m4: Likewise.
88190         * m4/bison.m4: Likewise.
88191         * m4/byteswap.m4: Likewise.
88192         * m4/c-stack.m4: Likewise.
88193         * m4/c-strtod.m4: Likewise.
88194         * m4/calloc.m4: Likewise.
88195         * m4/canonicalize-lgpl.m4: Likewise.
88196         * m4/chown.m4: Likewise.
88197         * m4/clock_time.m4: Likewise.
88198         * m4/codeset.m4: Likewise.
88199         * m4/copy-file.m4: Likewise.
88200         * m4/csharp.m4: Likewise.
88201         * m4/csharpcomp.m4: Likewise.
88202         * m4/csharpexec.m4: Likewise.
88203         * m4/d-ino.m4: Likewise.
88204         * m4/d-type.m4: Likewise.
88205         * m4/dirfd.m4: Likewise.
88206         * m4/double-slash-root.m4: Likewise.
88207         * m4/eaccess.m4: Likewise.
88208         * m4/eealloc.m4: Likewise.
88209         * m4/environ.m4: Likewise.
88210         * m4/errno_h.m4: Likewise.
88211         * m4/euidaccess.m4: Likewise.
88212         * m4/execute.m4: Likewise.
88213         * m4/fatal-signal.m4: Likewise.
88214         * m4/fchdir.m4: Likewise.
88215         * m4/fcntl_h.m4: Likewise.
88216         * m4/fileblocks.m4: Likewise.
88217         * m4/filenamecat.m4: Likewise.
88218         * m4/findprog.m4: Likewise.
88219         * m4/flexmember.m4: Likewise.
88220         * m4/fnmatch.m4: Likewise.
88221         * m4/fopen.m4: Likewise.
88222         * m4/fpending.m4: Likewise.
88223         * m4/fprintf-posix.m4: Likewise.
88224         * m4/free.m4: Likewise.
88225         * m4/frexp.m4: Likewise.
88226         * m4/frexpl.m4: Likewise.
88227         * m4/fsusage.m4: Likewise.
88228         * m4/ftruncate.m4: Likewise.
88229         * m4/gc-camellia.m4: Likewise.
88230         * m4/gc-random.m4: Likewise.
88231         * m4/gc.m4: Likewise.
88232         * m4/getaddrinfo.m4: Likewise.
88233         * m4/getcwd-abort-bug.m4: Likewise.
88234         * m4/getcwd-path-max.m4: Likewise.
88235         * m4/getdate.m4: Likewise.
88236         * m4/getdomainname.m4: Likewise.
88237         * m4/getgroups.m4: Likewise.
88238         * m4/gethostname.m4: Likewise.
88239         * m4/gethrxtime.m4: Likewise.
88240         * m4/getline.m4: Likewise.
88241         * m4/getloadavg.m4: Likewise.
88242         * m4/getndelim2.m4: Likewise.
88243         * m4/getpass.m4: Likewise.
88244         * m4/gettext.m4: Likewise.
88245         * m4/gettime.m4: Likewise.
88246         * m4/gettimeofday.m4: Likewise.
88247         * m4/gnulib-common.m4: Likewise.
88248         * m4/group-member.m4: Likewise.
88249         * m4/host-os.m4: Likewise.
88250         * m4/iconv.m4: Likewise.
88251         * m4/iconv_open.m4: Likewise.
88252         * m4/inet_ntop.m4: Likewise.
88253         * m4/inet_pton.m4: Likewise.
88254         * m4/inline.m4: Likewise.
88255         * m4/intldir.m4: Likewise.
88256         * m4/intlmacosx.m4: Likewise.
88257         * m4/intmax.m4: Likewise.
88258         * m4/intmax_t.m4: Likewise.
88259         * m4/inttypes.m4: Likewise.
88260         * m4/inttypes_h.m4: Likewise.
88261         * m4/inttypes-pri.m4: Likewise.
88262         * m4/isapipe.m4: Likewise.
88263         * m4/isnand.m4: Likewise.
88264         * m4/isnanf.m4: Likewise.
88265         * m4/isnanl.m4: Likewise.
88266         * m4/javacomp.m4: Likewise.
88267         * m4/javaexec.m4: Likewise.
88268         * m4/jm-winsz1.m4: Likewise.
88269         * m4/jm-winsz2.m4: Likewise.
88270         * m4/lchown.m4: Likewise.
88271         * m4/lcmessage.m4: Likewise.
88272         * m4/ldexpl.m4: Likewise.
88273         * m4/lib-ld.m4: Likewise.
88274         * m4/lib-link.m4: Likewise.
88275         * m4/libsigsegv.m4: Likewise.
88276         * m4/link-follow.m4: Likewise.
88277         * m4/localcharset.m4: Likewise.
88278         * m4/locale-fr.m4: Likewise.
88279         * m4/locale-ja.m4: Likewise.
88280         * m4/locale-tr.m4: Likewise.
88281         * m4/locale-zh.m4: Likewise.
88282         * m4/lock.m4: Likewise.
88283         * m4/longlong.m4: Likewise.
88284         * m4/ls-mntd-fs.m4: Likewise.
88285         * m4/lstat.m4: Likewise.
88286         * m4/malloc.m4: Likewise.
88287         * m4/mathl.m4: Likewise.
88288         * m4/mbrtowc.m4: Likewise.
88289         * m4/mbstate_t.m4: Likewise.
88290         * m4/mbswidth.m4: Likewise.
88291         * m4/memchr.m4: Likewise.
88292         * m4/memcmp.m4: Likewise.
88293         * m4/memcpy.m4: Likewise.
88294         * m4/memmem.m4: Likewise.
88295         * m4/memmove.m4: Likewise.
88296         * m4/mempcpy.m4: Likewise.
88297         * m4/memrchr.m4: Likewise.
88298         * m4/memset.m4: Likewise.
88299         * m4/minmax.m4: Likewise.
88300         * m4/mkdir-slash.m4: Likewise.
88301         * m4/mkdtemp.m4: Likewise.
88302         * m4/mktime.m4: Likewise.
88303         * m4/mmap-anon.m4: Likewise.
88304         * m4/mountlist.m4: Likewise.
88305         * m4/nanosleep.m4: Likewise.
88306         * m4/nls.m4: Likewise.
88307         * m4/nocrash.m4: Likewise.
88308         * m4/open.m4: Likewise.
88309         * m4/openat.m4: Likewise.
88310         * m4/openmp.m4: Likewise.
88311         * m4/pathmax.m4: Likewise.
88312         * m4/perl.m4: Likewise.
88313         * m4/physmem.m4: Likewise.
88314         * m4/pipe.m4: Likewise.
88315         * m4/po.m4: Likewise.
88316         * m4/poll.m4: Likewise.
88317         * m4/posixtm.m4: Likewise.
88318         * m4/posixver.m4: Likewise.
88319         * m4/printf-frexp.m4: Likewise.
88320         * m4/printf-frexpl.m4: Likewise.
88321         * m4/printf-posix.m4: Likewise.
88322         * m4/printf-posix-rpl.m4: Likewise.
88323         * m4/printf.m4: Likewise.
88324         * m4/progtest.m4: Likewise.
88325         * m4/putenv.m4: Likewise.
88326         * m4/readline.m4: Likewise.
88327         * m4/readlink.m4: Likewise.
88328         * m4/readutmp.m4: Likewise.
88329         * m4/realloc.m4: Likewise.
88330         * m4/regex.m4: Likewise.
88331         * m4/relocatable.m4: Likewise.
88332         * m4/relocatable-lib.m4: Likewise.
88333         * m4/rename-dest-slash.m4: Likewise.
88334         * m4/rename.m4: Likewise.
88335         * m4/rmdir-errno.m4: Likewise.
88336         * m4/rmdir.m4: Likewise.
88337         * m4/roundf.m4: Likewise.
88338         * m4/roundl.m4: Likewise.
88339         * m4/rpmatch.m4: Likewise.
88340         * m4/save-cwd.m4: Likewise.
88341         * m4/selinux-selinux-h.m4: Likewise.
88342         * m4/setenv.m4: Likewise.
88343         * m4/settime.m4: Likewise.
88344         * m4/sig2str.m4: Likewise.
88345         * m4/sig_atomic_t.m4: Likewise.
88346         * m4/signalblocking.m4: Likewise.
88347         * m4/signbit.m4: Likewise.
88348         * m4/sigpipe.m4: Likewise.
88349         * m4/sockets.m4: Likewise.
88350         * m4/sockpfaf.m4: Likewise.
88351         * m4/st_dm_mode.m4: Likewise.
88352         * m4/stat-time.m4: Likewise.
88353         * m4/stdbool.m4: Likewise.
88354         * m4/stdint.m4: Likewise.
88355         * m4/stdint_h.m4: Likewise.
88356         * m4/stpcpy.m4: Likewise.
88357         * m4/stpncpy.m4: Likewise.
88358         * m4/strcase.m4: Likewise.
88359         * m4/strchrnul.m4: Likewise.
88360         * m4/strcspn.m4: Likewise.
88361         * m4/strdup.m4: Likewise.
88362         * m4/strftime.m4: Likewise.
88363         * m4/strndup.m4: Likewise.
88364         * m4/strnlen.m4: Likewise.
88365         * m4/strpbrk.m4: Likewise.
88366         * m4/strptime.m4: Likewise.
88367         * m4/strsep.m4: Likewise.
88368         * m4/strtod.m4: Likewise.
88369         * m4/strtoimax.m4: Likewise.
88370         * m4/strtok_r.m4: Likewise.
88371         * m4/strtol.m4: Likewise.
88372         * m4/strtoll.m4: Likewise.
88373         * m4/strtoul.m4: Likewise.
88374         * m4/strtoull.m4: Likewise.
88375         * m4/strtoumax.m4: Likewise.
88376         * m4/strverscmp.m4: Likewise.
88377         * m4/threadlib.m4: Likewise.
88378         * m4/timegm.m4: Likewise.
88379         * m4/tm_gmtoff.m4: Likewise.
88380         * m4/tmpdir.m4: Likewise.
88381         * m4/tmpfile.m4: Likewise.
88382         * m4/tzset.m4: Likewise.
88383         * m4/uintmax_t.m4: Likewise.
88384         * m4/unlinkdir.m4: Likewise.
88385         * m4/unlocked-io.m4: Likewise.
88386         * m4/uptime.m4: Likewise.
88387         * m4/userspec.m4: Likewise.
88388         * m4/utimbuf.m4: Likewise.
88389         * m4/utime.m4: Likewise.
88390         * m4/utimes-null.m4: Likewise.
88391         * m4/utimes.m4: Likewise.
88392         * m4/vararrays.m4: Likewise.
88393         * m4/vasnprintf.m4: Likewise.
88394         * m4/vfprintf-posix.m4: Likewise.
88395         * m4/vprintf-posix.m4: Likewise.
88396         * m4/wait-process.m4: Likewise.
88397         * m4/wchar_t.m4: Likewise.
88398         * m4/wint_t.m4: Likewise.
88399         * m4/write-any-file.m4: Likewise.
88400         * m4/yield.m4: Likewise.
88402 2009-01-13  Bruno Haible  <bruno@clisp.org>
88404         Avoid test-copy-file.sh failures when ACL support insufficient.
88405         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
88406         TESTS_ENVIRONMENT.
88407         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
88408         Reported by Jim Meyering.
88410 2009-01-13  Bruno Haible  <bruno@clisp.org>
88412         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
88413         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
88414         * modules/unistdio/u8-printf-parse (Files): Likewise.
88415         * modules/unistdio/u32-printf-parse (Files): Likewise.
88416         * modules/unistdio/ulc-printf-parse (Files): Likewise.
88418 2009-01-13  Simon Josefsson  <simon@josefsson.org>
88420         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
88421         and m4/inttypes_h.m4 too.
88423 2009-01-12  Eric Blake  <ebb9@byu.net>
88425         tests: IRIX 6.2 cc can't compile -0.0 into .data
88426         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
88427         rather than at compile-time.
88428         * tests/test-floorl.c (minus_zero): Likewise.
88429         * tests/test-frexpl.c (minus_zero): Likewise.
88430         * tests/test-isnan.c (minus_zerol): Likewise.
88431         * tests/test-isnanl.h (minus_zero): Likewise.
88432         * tests/test-ldexpl.c (minus_zero): Likewise.
88433         * tests/test-roundl.c (minus_zero): Likewise.
88434         * tests/test-signbit.c (minus_zerol): Likewise.
88435         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
88436         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
88437         * tests/test-truncl.c (minus_zero): Likewise.
88438         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
88439         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
88440         Reported by Tom G. Christensen and Nelson H. F. Beebe.
88442 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
88444         regex: fix glibc bug 9697
88445         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
88446         handling.
88448 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
88450         regex: fix glibc bug 697
88451         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
88452         being NULL also if there are no backreferences.
88454 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
88456         regex: merge glibc changes
88457         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
88458         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
88459         re_string_skip_chars, re_string_reconstruct): Likewise.
88460         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
88462 2009-01-07  Jim Meyering  <meyering@redhat.com>
88464         poll: filter through cppi
88465         * lib/poll.c: Indent cpp directives to reflect nesting.
88467 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
88469         poll: don't return uninitialized
88470         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
88472 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
88474         avoid compile failure on AIX 6.1
88475         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
88476         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
88478 2009-01-04  Jim Meyering  <meyering@redhat.com>
88480         remove duplicate inclusion of <stdio.h>
88481         * tests/test-fprintf-posix.c: Likewise.
88482         * tests/test-printf-posix.c: Likewise.
88483         * tests/test-snprintf-posix.c: Likewise.
88484         * tests/test-sprintf-posix.c: Likewise.
88485         * tests/test-vasprintf-posix.c: Likewise.
88486         * tests/test-vfprintf-posix.c: Likewise.
88487         * tests/test-vprintf-posix.c: Likewise.
88488         * tests/test-vsnprintf-posix.c: Likewise.
88489         * tests/test-vsprintf-posix.c: Likewise.
88491 2009-01-03  Jim Meyering  <meyering@redhat.com>
88493         gnulib-tool: fix sed-based filtering
88494         * gnulib-tool (func_filter_filelist): Remove extra backslash
88495         in sed_fff_filter definition.
88497 2009-01-02  Jim Meyering  <meyering@redhat.com>
88499         strftime: avoid compilation failure on Solaris 2.6
88500         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
88501         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
88502         Don't #define mbrlen or mbsinit, since now they're guaranteed to
88503         be available.  Reported by Tom G. Christensen.  Details in
88504         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
88506 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88507             Bruno Haible  <bruno@clisp.org>
88509         Speed up gnulib-tool by doing more string processing through shell
88510         built-ins.
88511         * gnulib-tool (fast_func_append): New variable.
88512         (func_remove_prefix, func_remove_suffix): New functions.
88513         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
88514         (func_filter_filelist): New function.
88515         (func_get_dependencies): Use func_remove_suffix instead of sed.
88516         (func_get_automake_snippet): Use func_filter_filelist instead of a
88517         subshell and sed invocation.
88519 2009-01-01  Bruno Haible  <bruno@clisp.org>
88521         Fix a security bug.
88522         * gnulib-tool (func_import, import, update): Don't allow the characters
88523         '"', '$', '`', '\' in macro arguments that become part of commands that
88524         are evaluated.
88526 2009-01-01  Bruno Haible  <bruno@clisp.org>
88528         * gnulib-tool (func_reset_sigpipe): Add more comments.
88530 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88532         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
88533         func_emit_tests_Makefile_am, func_import): Abort loops early if we
88534         already know the answer.
88536 2009-01-01  Jim Meyering  <meyering@redhat.com>
88538         * lib/version-etc.c (version_etc_va): Update copyright year.
88540 2008-12-30  Bruno Haible  <bruno@clisp.org>
88542         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
88543         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
88544         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
88546 2008-12-29  Eric Blake  <ebb9@byu.net>
88548         multiarch: avoid autoconf AC_REQUIRE bug
88549         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
88550         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
88551         2.63 and older.
88552         Reported by Bruno Haible, and analyzed in
88553         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
88555 2008-12-29  Bruno Haible  <bruno@clisp.org>
88557         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
88558         files in subdirectories correctly.
88559         Reported by Ralf Wildenhues.
88561 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88563         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
88564         rather than 'join FILE -', for Solaris join.
88566 2008-12-29  Bruno Haible  <bruno@clisp.org>
88568         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
88569         quoting.
88570         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88571         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
88572         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
88573         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
88574         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
88575         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
88576         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
88577         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
88578         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
88579         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
88580         * m4/nls.m4 (AM_NLS): Likewise.
88581         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
88582         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
88583         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
88584         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
88585         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
88586         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
88587         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
88588         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
88589         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
88590         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
88591         * m4/xsize.m4 (gl_XSIZE): Likewise.
88592         Suggested by Jim Meyering.
88594 2008-11-17  Bruce Korb  <bkorb@gnu.org>
88596         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
88597         * lib/parse-duration.c: use a switch instead of cascading if's.
88599 2008-12-29  Eric Blake  <ebb9@byu.net>
88601         wchar.h: supply WEOF on Irix 5.3
88602         * lib/wchar.in.h (wint_t): Also supply WEOF.
88603         * lib/wctype.in.h (wint_t): Likewise.
88604         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
88605         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
88606         Reported by Tom G. Christensen.
88608 2008-12-26  Bruno Haible  <bruno@clisp.org>
88610         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
88611         i486, i586, i686.
88613 2008-12-26  Bruno Haible  <bruno@clisp.org>
88615         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
88617 2008-12-26  Bruno Haible  <bruno@clisp.org>
88619         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
88620         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
88621         not __STDC_CONSTANT_MACROS.
88622         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
88624 2008-12-25  Bruno Haible  <bruno@clisp.org>
88626         Add support for universal builds to vasnprintf.
88627         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
88628         universal builds, guess no.
88629         * modules/vasnprintf-posix (Depends-on): Add multiarch.
88630         * modules/vasprintf-posix (Depends-on): Likewise.
88631         * modules/fprintf-posix (Depends-on): Likewise.
88632         * modules/vfprintf-posix (Depends-on): Likewise.
88633         * modules/snprintf-posix (Depends-on): Likewise.
88634         * modules/vsnprintf-posix (Depends-on): Likewise.
88635         * modules/sprintf-posix (Depends-on): Likewise.
88636         * modules/vsprintf-posix (Depends-on): Likewise.
88637         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
88638         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
88639         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
88640         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
88641         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
88642         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
88643         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
88645         Add support for universal builds to <inttypes.h>.
88646         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
88647         _SCNu64_PREFIX): In Apple
88648         universal builds, define directly, using _LP64.
88649         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
88650         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
88651         * modules/inttypes (Depends-on): Add multiarch.
88652         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
88654         Add support for universal builds to <stdint.h>.
88655         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
88656         universal builds, define directly, using _LP64.
88657         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
88658         Apple universal builds, don't test for the size and suffix of ptrdiff_t
88659         and size_t.
88660         * modules/stdint (Depends-on): Add multiarch.
88661         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
88663         New module 'multiarch'.
88664         * modules/multiarch: New file.
88665         * m4/multiarch.m4: New file.
88667 2008-12-25  Bruno Haible  <bruno@clisp.org>
88669         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
88671 2008-12-25  Bruno Haible  <bruno@clisp.org>
88673         * modules/btowc (License): Relicense under LGPLv2+.
88674         * modules/mbsinit (License): Likewise.
88675         * modules/mbrtowc (License): Likewise.
88676         * modules/wcrtomb (License): Likewise.
88677         * modules/streq (License): Likewise.
88678         Reported by David Lutterkort <lutter@redhat.com>.
88680 2008-12-23  Bruno Haible  <bruno@clisp.org>
88682         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
88684 2008-12-23  Bruno Haible  <bruno@clisp.org>
88686         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
88687         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
88688         GETADDRINFO_LIB, not in LIBS.
88689         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
88690         * modules/canon-host (Link): Likewise.
88691         * NEWS: Mention the change.
88692         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
88693         GETADDRINFO_LIB.
88695 2008-12-22  Bruno Haible  <bruno@clisp.org>
88697         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
88698         * doc/posix-functions/iswalpha_l.texi: Likewise.
88699         * doc/posix-functions/iswblank_l.texi: Likewise.
88700         * doc/posix-functions/iswcntrl_l.texi: Likewise.
88701         * doc/posix-functions/iswctype_l.texi: Likewise.
88702         * doc/posix-functions/iswdigit_l.texi: Likewise.
88703         * doc/posix-functions/iswgraph_l.texi: Likewise.
88704         * doc/posix-functions/iswlower_l.texi: Likewise.
88705         * doc/posix-functions/iswprint_l.texi: Likewise.
88706         * doc/posix-functions/iswpunct_l.texi: Likewise.
88707         * doc/posix-functions/iswspace_l.texi: Likewise.
88708         * doc/posix-functions/iswupper_l.texi: Likewise.
88709         * doc/posix-functions/iswxdigit_l.texi: Likewise.
88710         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
88711         * doc/posix-functions/open_wmemstream.texi: Likewise.
88712         * doc/posix-functions/swscanf.texi: Likewise.
88713         * doc/posix-functions/towctrans_l.texi: Likewise.
88714         * doc/posix-functions/towlower.texi: Likewise.
88715         * doc/posix-functions/towlower_l.texi: Likewise.
88716         * doc/posix-functions/towupper.texi: Likewise.
88717         * doc/posix-functions/towupper_l.texi: Likewise.
88718         * doc/posix-functions/vfwprintf.texi: Likewise.
88719         * doc/posix-functions/vfwscanf.texi: Likewise.
88720         * doc/posix-functions/vswscanf.texi: Likewise.
88721         * doc/posix-functions/vwprintf.texi: Likewise.
88722         * doc/posix-functions/vwscanf.texi: Likewise.
88723         * doc/posix-functions/wcpcpy.texi: Likewise.
88724         * doc/posix-functions/wcpncpy.texi: Likewise.
88725         * doc/posix-functions/wcscasecmp.texi: Likewise.
88726         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
88727         * doc/posix-functions/wcscoll_l.texi: Likewise.
88728         * doc/posix-functions/wcsdup.texi: Likewise.
88729         * doc/posix-functions/wcsncasecmp.texi: Likewise.
88730         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
88731         * doc/posix-functions/wcsnlen.texi: Likewise.
88732         * doc/posix-functions/wcsnrtombs.texi: Likewise.
88733         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
88734         * doc/posix-functions/wctrans_l.texi: Likewise.
88735         * doc/posix-functions/wctype_l.texi: Likewise.
88736         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
88737         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
88738         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
88739         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
88740         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
88741         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
88742         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
88743         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
88744         * doc/glibc-functions/wcschrnul.texi: Likewise.
88745         * doc/glibc-functions/wcsftime_l.texi: Likewise.
88746         * doc/glibc-functions/wcstod_l.texi: Likewise.
88747         * doc/glibc-functions/wcstof_l.texi: Likewise.
88748         * doc/glibc-functions/wcstol_l.texi: Likewise.
88749         * doc/glibc-functions/wcstold_l.texi: Likewise.
88750         * doc/glibc-functions/wcstoll_l.texi: Likewise.
88751         * doc/glibc-functions/wcstoq.texi: Likewise.
88752         * doc/glibc-functions/wcstoul_l.texi: Likewise.
88753         * doc/glibc-functions/wcstoull_l.texi: Likewise.
88754         * doc/glibc-functions/wcstouq.texi: Likewise.
88755         * doc/glibc-functions/wmempcpy.texi: Likewise.
88757 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
88758             Eric Blake  <ebb9@byu.net>
88759             Paolo Bonzini  <bonzini@gnu.org>
88760             Bruno Haible  <bruno@clisp.org>
88762         Make c-stack work on Haiku.
88763         * lib/c-stack.c (SA_ONSTACK): Define fallback.
88764         (c_stack_action): Use SA_ONSTACK flag.
88766 2008-12-22  Bruno Haible  <bruno@clisp.org>
88768         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
88770 2008-12-22  Bruno Haible  <bruno@clisp.org>
88772         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
88773         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
88774         being overridden.
88775         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
88776         New macros.
88777         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
88778         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
88779         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
88780         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
88782 2008-12-22  Bruno Haible  <bruno@clisp.org>
88784         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
88785         from test code.
88787 2008-12-22  Eric Blake  <ebb9@byu.net>
88789         Avoid gcc warnings on cygwin.
88790         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
88791         Avoid unused variable.
88792         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
88793         Likewise.
88795 2008-12-22  Bruno Haible  <bruno@clisp.org>
88797         Remove HAVE_MBRTOWC conditionals.
88798         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
88799         (mbscasecmp): Assume mbrtowc function.
88800         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
88801         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
88802         * lib/mbschr.c: Include mbuiter.h unconditionally.
88803         (mbschr): Assume mbrtowc function.
88804         * lib/mbscspn.c: Include mbuiter.h unconditionally.
88805         (mbscspn): Assume mbrtowc function.
88806         * lib/mbslen.c: Include mbuiter.h unconditionally.
88807         (mbslen): Assume mbrtowc function.
88808         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
88809         (mbsncasecmp): Assume mbrtowc function.
88810         * lib/mbsnlen.c: Include mbiter.h unconditionally.
88811         (mbsnlen): Assume mbrtowc function.
88812         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
88813         (mbspbrk): Assume mbrtowc function.
88814         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
88815         (mbspcasecmp): Assume mbrtowc function.
88816         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
88817         (mbsrchr): Assume mbrtowc function.
88818         * lib/mbssep.c: Include mbuiter.h unconditionally.
88819         (mbssep): Assume mbrtowc function.
88820         * lib/mbsspn.c: Include mbuiter.h unconditionally.
88821         (mbsspn): Assume mbrtowc function.
88822         * lib/mbsstr.c: Include mbuiter.h unconditionally.
88823         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
88824         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
88825         (mbstok_r): Assume mbrtowc function.
88826         * lib/propername.c: Include mbuiter.h unconditionally.
88827         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
88828         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
88829         (trim2): Assume mbrtowc function.
88830         * lib/mbswidth.c (mbsinit): Remove fallback definition.
88831         (mbsnwidth): Assume mbrtowc function.
88832         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
88833         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
88834         fallback definitions.
88835         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
88837 2008-12-22  Bruno Haible  <bruno@clisp.org>
88839         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
88841 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
88843         * modules/regex: Request emulations for the mb*/wc* functions we need.
88844         * m4/regex.m4: Don't look for those functions here.
88845         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
88847 2008-12-22  Bruno Haible  <bruno@clisp.org>
88849         * modules/fnmatch (Depends-on): Remove duplicated dependency.
88851 2008-12-21  Bruno Haible  <bruno@clisp.org>
88853         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
88854         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
88855         (Include): Remove conditionalization.
88856         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
88857         (Include): Remove conditionalization.
88858         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
88859         (Include): Remove conditionalization.
88860         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
88861         * m4/mbfile.m4 (gl_MBFILE): Likewise.
88862         * NEWS: Mention the change.
88863         Reported by Alan Hourihane <alanh@fairlite.co.uk>
88864         via Sergey Poznyakoff <gray@gnu.org.ua>.
88866 2008-12-21  Bruno Haible  <bruno@clisp.org>
88868         * MODULES.html.sh (Extended multibyte and wide character utilities
88869         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
88870         wcrtomb, wcsrtombs.
88871         (Support for systems lacking POSIX:2008): Add accept, bind, close,
88872         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
88873         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
88874         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
88876 2008-12-21  Bruno Haible  <bruno@clisp.org>
88878         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
88880 2008-12-21  Bruno Haible  <bruno@clisp.org>
88882         * modules/wcsnrtombs-tests: New file.
88883         * tests/test-wcsnrtombs1.sh: New file.
88884         * tests/test-wcsnrtombs2.sh: New file.
88885         * tests/test-wcsnrtombs3.sh: New file.
88886         * tests/test-wcsnrtombs4.sh: New file.
88887         * tests/test-wcsnrtombs.c: New file.
88889         New module 'wcsnrtombs'.
88890         * lib/wchar.in.h (wcsnrtombs): New declaration.
88891         * lib/wcsnrtombs.c: New file.
88892         * lib/wcsrtombs-state.c: New file.
88893         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
88894         (internal_state): Remove variable.
88895         * m4/wcsnrtombs.m4: New file.
88896         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
88897         compilation units.
88898         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
88899         HAVE_WCSNRTOMBS.
88900         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
88901         HAVE_WCSNRTOMBS.
88902         * modules/wcsnrtombs: New file.
88903         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
88904         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
88906 2008-12-21  Bruno Haible  <bruno@clisp.org>
88908         * modules/wcsrtombs-tests: New file.
88909         * tests/test-wcsrtombs1.sh: New file.
88910         * tests/test-wcsrtombs2.sh: New file.
88911         * tests/test-wcsrtombs3.sh: New file.
88912         * tests/test-wcsrtombs4.sh: New file.
88913         * tests/test-wcsrtombs.c: New file.
88915         New module 'wcsrtombs'.
88916         * lib/wchar.in.h (wcsrtombs): New declaration.
88917         * lib/wcsrtombs.c: New file.
88918         * m4/wcsrtombs.m4: New file.
88919         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
88920         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
88921         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
88922         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
88923         * modules/wcsrtombs: New file.
88924         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
88925         bugs.
88927 2008-12-21  Bruno Haible  <bruno@clisp.org>
88929         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
88930         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
88931         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
88932         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
88933         if not correct.
88934         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
88935         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
88936         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
88937         m4/locale-zh.m4, m4/codeset.m4.
88938         * doc/posix-functions/wcrtomb.texi: Document the bug.
88940 2008-12-21  Bruno Haible  <bruno@clisp.org>
88942         Work around a btowc() bug on IRIX 6.5.
88943         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
88944         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
88945         REPLACE_WTOBC if not.
88946         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
88947         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
88948         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
88950 2008-12-21  Bruno Haible  <bruno@clisp.org>
88952         * modules/wcrtomb-tests: New file.
88953         * tests/test-wcrtomb.sh: New file.
88954         * tests/test-wcrtomb.c: New file.
88956         New module 'wcrtomb'.
88957         * lib/wchar.in.h (wcrtomb): New declaration.
88958         * lib/wcrtomb.c: New file.
88959         * m4/wcrtomb.m4: New file.
88960         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
88961         HAVE_WCRTOMB.
88962         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
88963         HAVE_WCRTOMB.
88964         * modules/wcrtomb: New file.
88965         * doc/posix-functions/wcrtomb.texi: Mention the new module.
88967 2008-12-21  Bruno Haible  <bruno@clisp.org>
88969         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
88970         * modules/mbsrtowcs (Files): Likewise.
88971         * modules/wctob (Files): Likewise.
88972         * modules/c-strcase-tests (Files): Likewise.
88973         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
88974         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
88975         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
88976         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
88977         * modules/vasnprintf-posix-tests (Files): Likewise.
88979 2008-12-21  William Pursell  <bill.pursell@gmail.com>
88981         gitlog-to-changelog: pass all command-line arguments to git-log
88982         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
88983         it is sometimes convenient to filter the commits in various ways.
88984         gitlog-to-changelog only allows --since to specify a start date,
88985         but git-log itself supports many other filtering mechanisms.
88986         At the moment, I want to filter by branch name.  Rather than
88987         adding a --branch option to gitlog-to-changelog, it seems more
88988         flexible to simply pass all options directly to git-log and let
88989         git do the work.  Notice that this effectively makes --since a
88990         redundant option for gitlog-to-changelog, but removing it would
88991         require current usage to change since calls would then require
88992         an additional '--'.
88994 2008-12-21  Bruno Haible  <bruno@clisp.org>
88996         * modules/mbsnrtowcs-tests: New file.
88997         * tests/test-mbsnrtowcs1.sh: New file.
88998         * tests/test-mbsnrtowcs2.sh: New file.
88999         * tests/test-mbsnrtowcs3.sh: New file.
89000         * tests/test-mbsnrtowcs4.sh: New file.
89001         * tests/test-mbsnrtowcs.c: New file.
89003         New module 'mbsnrtowcs'.
89004         * lib/wchar.in.h (mbsnrtowcs): New declaration.
89005         * lib/mbsnrtowcs.c: New file.
89006         * lib/mbsrtowcs-state.c: New file.
89007         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
89008         (internal_state): Remove variable.
89009         * m4/mbsnrtowcs.m4: New file.
89010         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
89011         compilation units.
89012         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
89013         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
89014         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
89015         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
89016         * modules/mbsnrtowcs: New file.
89017         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
89018         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
89019         portability problem.
89021 2008-12-21  Bruno Haible  <bruno@clisp.org>
89023         Work around mbsrtowcs bug.
89024         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
89025         (gl_FUNC_MBSRTOWCS): Invoke it.
89026         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
89027         m4/locale-zh.m4.
89028         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
89030 2008-12-21  Bruno Haible  <bruno@clisp.org>
89032         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
89034 2008-12-21  Bruno Haible  <bruno@clisp.org>
89036         Update doc for AIX.
89037         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
89038         16-bit wchar_t type.
89039         * doc/posix-functions/btowc.texi: Likewise.
89040         * doc/posix-functions/fgetwc.texi: Likewise.
89041         * doc/posix-functions/fgetws.texi: Likewise.
89042         * doc/posix-functions/fputwc.texi: Likewise.
89043         * doc/posix-functions/fputws.texi: Likewise.
89044         * doc/posix-functions/fwide.texi: Likewise.
89045         * doc/posix-functions/fwprintf.texi: Likewise.
89046         * doc/posix-functions/fwscanf.texi: Likewise.
89047         * doc/posix-functions/getwchar.texi: Likewise.
89048         * doc/posix-functions/getwc.texi: Likewise.
89049         * doc/posix-functions/iswalnum.texi: Likewise.
89050         * doc/posix-functions/iswalpha.texi: Likewise.
89051         * doc/posix-functions/iswblank.texi: Likewise.
89052         * doc/posix-functions/iswcntrl.texi: Likewise.
89053         * doc/posix-functions/iswctype.texi: Likewise.
89054         * doc/posix-functions/iswdigit.texi: Likewise.
89055         * doc/posix-functions/iswgraph.texi: Likewise.
89056         * doc/posix-functions/iswlower.texi: Likewise.
89057         * doc/posix-functions/iswprint.texi: Likewise.
89058         * doc/posix-functions/iswpunct.texi: Likewise.
89059         * doc/posix-functions/iswspace.texi: Likewise.
89060         * doc/posix-functions/iswupper.texi: Likewise.
89061         * doc/posix-functions/iswxdigit.texi: Likewise.
89062         * doc/posix-functions/mbrtowc.texi: Likewise.
89063         * doc/posix-functions/mbsrtowcs.texi: Likewise.
89064         * doc/posix-functions/mbstowcs.texi: Likewise.
89065         * doc/posix-functions/mbtowc.texi: Likewise.
89066         * doc/posix-functions/putwchar.texi: Likewise.
89067         * doc/posix-functions/putwc.texi: Likewise.
89068         * doc/posix-functions/swprintf.texi: Likewise.
89069         * doc/posix-functions/tolower.texi: Likewise.
89070         * doc/posix-functions/toupper.texi: Likewise.
89071         * doc/posix-functions/towctrans.texi: Likewise.
89072         * doc/posix-functions/ungetwc.texi: Likewise.
89073         * doc/posix-functions/vswprintf.texi: Likewise.
89074         * doc/posix-functions/wcrtomb.texi: Likewise.
89075         * doc/posix-functions/wcscat.texi: Likewise.
89076         * doc/posix-functions/wcschr.texi: Likewise.
89077         * doc/posix-functions/wcscmp.texi: Likewise.
89078         * doc/posix-functions/wcscoll.texi: Likewise.
89079         * doc/posix-functions/wcscpy.texi: Likewise.
89080         * doc/posix-functions/wcscspn.texi: Likewise.
89081         * doc/posix-functions/wcsftime.texi: Likewise.
89082         * doc/posix-functions/wcslen.texi: Likewise.
89083         * doc/posix-functions/wcsncat.texi: Likewise.
89084         * doc/posix-functions/wcsncmp.texi: Likewise.
89085         * doc/posix-functions/wcsncpy.texi: Likewise.
89086         * doc/posix-functions/wcspbrk.texi: Likewise.
89087         * doc/posix-functions/wcsrchr.texi: Likewise.
89088         * doc/posix-functions/wcsrtombs.texi: Likewise.
89089         * doc/posix-functions/wcsspn.texi: Likewise.
89090         * doc/posix-functions/wcsstr.texi: Likewise.
89091         * doc/posix-functions/wcstod.texi: Likewise.
89092         * doc/posix-functions/wcstof.texi: Likewise.
89093         * doc/posix-functions/wcstoimax.texi: Likewise.
89094         * doc/posix-functions/wcstok.texi: Likewise.
89095         * doc/posix-functions/wcstold.texi: Likewise.
89096         * doc/posix-functions/wcstoll.texi: Likewise.
89097         * doc/posix-functions/wcstol.texi: Likewise.
89098         * doc/posix-functions/wcstombs.texi: Likewise.
89099         * doc/posix-functions/wcstoull.texi: Likewise.
89100         * doc/posix-functions/wcstoul.texi: Likewise.
89101         * doc/posix-functions/wcstoumax.texi: Likewise.
89102         * doc/posix-functions/wcswidth.texi: Likewise.
89103         * doc/posix-functions/wcsxfrm.texi: Likewise.
89104         * doc/posix-functions/wctob.texi: Likewise.
89105         * doc/posix-functions/wctomb.texi: Likewise.
89106         * doc/posix-functions/wctrans.texi: Likewise.
89107         * doc/posix-functions/wctype.texi: Likewise.
89108         * doc/posix-functions/wcwidth.texi: Likewise.
89109         * doc/posix-functions/wmemchr.texi: Likewise.
89110         * doc/posix-functions/wmemcmp.texi: Likewise.
89111         * doc/posix-functions/wmemcpy.texi: Likewise.
89112         * doc/posix-functions/wmemmove.texi: Likewise.
89113         * doc/posix-functions/wmemset.texi: Likewise.
89114         * doc/posix-functions/wprintf.texi: Likewise.
89115         * doc/posix-functions/wscanf.texi: Likewise.
89117 2008-12-21  Bruno Haible  <bruno@clisp.org>
89119         Update doc for HP-UX 11.11.
89120         * doc/posix-functions/btowc.texi: Clarify that the function is missing
89121         in HP-UX version 11.00, not in all versions of HP-UX 11.
89122         * doc/posix-functions/fwide.texi: Likewise.
89123         * doc/posix-functions/fwprintf.texi: Likewise.
89124         * doc/posix-functions/fwscanf.texi: Likewise.
89125         * doc/posix-functions/inet_ntop.texi: Likewise.
89126         * doc/posix-functions/inet_pton.texi: Likewise.
89127         * doc/posix-functions/mbrlen.texi: Likewise.
89128         * doc/posix-functions/mbrtowc.texi: Likewise.
89129         * doc/posix-functions/mbsinit.texi: Likewise.
89130         * doc/posix-functions/mbsrtowcs.texi: Likewise.
89131         * doc/posix-functions/swprintf.texi: Likewise.
89132         * doc/posix-functions/swscanf.texi: Likewise.
89133         * doc/posix-functions/towctrans.texi: Likewise.
89134         * doc/posix-functions/vfwprintf.texi: Likewise.
89135         * doc/posix-functions/vswprintf.texi: Likewise.
89136         * doc/posix-functions/vwprintf.texi: Likewise.
89137         * doc/posix-functions/wcrtomb.texi: Likewise.
89138         * doc/posix-functions/wcsrtombs.texi: Likewise.
89139         * doc/posix-functions/wcsstr.texi: Likewise.
89140         * doc/posix-functions/wctob.texi: Likewise.
89141         * doc/posix-functions/wctrans.texi: Likewise.
89142         * doc/posix-functions/wmemchr.texi: Likewise.
89143         * doc/posix-functions/wmemcmp.texi: Likewise.
89144         * doc/posix-functions/wmemcpy.texi: Likewise.
89145         * doc/posix-functions/wmemmove.texi: Likewise.
89146         * doc/posix-functions/wmemset.texi: Likewise.
89147         * doc/posix-functions/wprintf.texi: Likewise.
89148         * doc/posix-functions/wscanf.texi: Likewise.
89150 2008-12-21  Bruno Haible  <bruno@clisp.org>
89152         Work around a portability problem.
89153         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
89154         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
89156 2008-12-20  Bruno Haible  <bruno@clisp.org>
89158         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
89159         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
89160         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
89161         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
89162         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
89164         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
89165         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
89166         set.
89167         (GNULIB_defined_mbstate_t): New macro.
89168         (mbsinit): Redefine if REPLACE_MBSINIT is set.
89169         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
89170         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
89171         reuses the system's mbrtowc function but works around the bugs.
89172         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
89173         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
89174         macros.
89175         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
89176         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
89177         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
89178         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
89179         REPLACE_MBSINIT if mbsinit needs to be overridden.
89180         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
89181         REPLACE_MBSINIT, REPLACE_MBRTOWC.
89182         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
89183         REPLACE_MBSINIT, REPLACE_MBRTOWC.
89184         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
89185         m4/locale-zh.m4.
89186         (Depends): Add mbsinit.
89187         * modules/mbsinit (Depends): Add mbrtowc.
89188         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
89190 2008-12-20  Bruno Haible  <bruno@clisp.org>
89192         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
89193         so that there are no conversion errors on AIX.
89194         * tests/test-mbsrtowcs.c (main): LIkewise.
89196 2008-12-20  Bruno Haible  <bruno@clisp.org>
89198         Work around wctob bug on Solaris <= 9.
89199         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
89200         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
89201         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
89202         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
89203         * modules/wctob (Files): Add m4/locale-fr.m4.
89204         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
89206 2008-12-20  Bruno Haible  <bruno@clisp.org>
89208         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
89209         /dev/null.
89210         * tests/test-select-in.sh: Likewise.
89211         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
89213 2008-12-20  Bruno Haible  <bruno@clisp.org>
89215         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
89216         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
89217         Cygwin 1.5.x.
89219 2008-12-20  Bruno Haible  <bruno@clisp.org>
89221         Ensure mbstate_t is defined on HP-UX 11.11.
89222         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
89223         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
89224         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
89225         AC_USE_SYSTEM_EXTENSIONS.
89226         * modules/fnmatch (Depends-on): Add extensions.
89227         * modules/mbrlen (Depends-on): Likewise.
89228         * modules/mbrtowc (Depends-on): Likewise.
89229         * modules/mbsinit (Depends-on): Likewise.
89230         * modules/mbsrtowcs (Depends-on): Likewise.
89231         * modules/mbswidth (Depends-on): Likewise.
89232         * modules/quotearg (Depends-on): Likewise.
89233         * modules/strftime (Depends-on): Likewise.
89235 2008-12-20  Bruno Haible  <bruno@clisp.org>
89237         Ensure wctob is declared on IRIX 6.5.
89238         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
89239         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
89240         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
89241         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
89242         of HAVE_WCTOB.
89243         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
89244         HAVE_WCTOB.
89245         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
89247 2008-12-19  Bruno Haible  <bruno@clisp.org>
89249         * modules/mbsrtowcs-tests: New file.
89250         * tests/test-mbsrtowcs1.sh: New file.
89251         * tests/test-mbsrtowcs2.sh: New file.
89252         * tests/test-mbsrtowcs3.sh: New file.
89253         * tests/test-mbsrtowcs4.sh: New file.
89254         * tests/test-mbsrtowcs.c: New file.
89256         New module 'mbsrtowcs'.
89257         * lib/wchar.in.h (mbsrtowcs): New declaration.
89258         * lib/mbsrtowcs.c: New file.
89259         * m4/mbsrtowcs.m4: New file.
89260         * modules/mbsrtowcs: New file.
89261         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
89262         HAVE_MBSRTOWCS.
89263         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
89264         HAVE_MBSRTOWCS.
89265         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
89267 2008-12-19  Bruno Haible  <bruno@clisp.org>
89269         New module 'mbrlen'.
89270         * lib/wchar.in.h (mbrlen): New declaration.
89271         * lib/mbrlen.c: New file.
89272         * m4/mbrlen.m4: New file.
89273         * modules/mbrlen: New file.
89274         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
89275         HAVE_MBRLEN.
89276         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
89277         HAVE_MBRLEN.
89278         * doc/posix-functions/mbrlen.texi: Document the new module.
89280 2008-12-19  Bruno Haible  <bruno@clisp.org>
89282         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
89283         * modules/mbrtowc (Depends-on): Add verify.
89284         Suggested by Paul Eggert.
89286 2008-12-18  Bruno Haible  <bruno@clisp.org>
89288         * modules/mbsinit-tests: New file.
89289         * tests/test-mbsinit.sh: New file.
89290         * tests/test-mbsinit.c: New file.
89292 2008-12-18  Bruno Haible  <bruno@clisp.org>
89294         * modules/mbrtowc-tests: New file.
89295         * tests/test-mbrtowc1.sh: New file.
89296         * tests/test-mbrtowc2.sh: New file.
89297         * tests/test-mbrtowc3.sh: New file.
89298         * tests/test-mbrtowc4.sh: New file.
89299         * tests/test-mbrtowc.c: New file.
89301         New module 'mbrtowc'.
89302         * lib/wchar.in.h (mbstate_t): Override when the system does not have
89303         mbsinit and mbrtowc.
89304         (mbrtowc): New declaration.
89305         * lib/mbrtowc.c: New file.
89306         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
89307         * modules/mbrtowc: New file.
89308         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
89309         HAVE_MBRTOWC.
89310         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
89311         HAVE_MBRTOWC.
89312         * doc/posix-functions/mbrtowc.texi: Document the new module.
89314 2008-12-18  Bruno Haible  <bruno@clisp.org>
89316         New module 'wctob'.
89317         * lib/wchar.in.h (wctob): New declaration.
89318         * lib/wctob.c: New file.
89319         * m4/wctob.m4: New file.
89320         * modules/wctob: New file.
89321         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
89322         HAVE_WCTOB.
89323         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
89324         * doc/posix-functions/wctob.texi: Document the new module.
89326 2008-12-18  Bruno Haible  <bruno@clisp.org>
89328         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
89329         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
89331 2008-12-18  Simon Josefsson  <simon@josefsson.org>
89333         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
89334         G. Christensen" <tgc@jupiterrise.com>.
89336         * lib/flock.c: Need to include errno.h.  Reported by "Tom
89337         G. Christensen" <tgc@jupiterrise.com>.
89339         * lib/flock.c: Need to include string.h.  Reported by "Tom
89340         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
89341         <ebb9@byu.net>.
89343 2008-12-18  Bruno Haible  <bruno@clisp.org>
89345         * m4/locale-ja.m4: New file, from GNU gettext.
89347 2008-12-17  Bruno Haible  <bruno@clisp.org>
89349         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
89350         Suggested by Eric Blake.
89352 2008-12-17  Bruno Haible  <bruno@clisp.org>
89354         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
89356 2008-12-17  Bruno Haible  <bruno@clisp.org>
89358         * lib/mbsinit.c: Include verify.h. Verify an assumption.
89359         * modules/mbsinit (Depends-on): Add verify.
89360         Suggested by Paul Eggert.
89362 2008-12-17  Bruno Haible  <bruno@clisp.org>
89364         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
89365         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
89366         gl_FUNC_MBRTOWC.
89367         * m4/mbiter.m4 (gl_MBITER): LIkewise.
89368         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
89369         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
89370         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
89371         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
89372         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
89373         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
89374         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
89375         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
89376         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
89377         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
89378         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
89379         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
89380         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
89381         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
89382         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
89383         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
89384         * modules/trim (configure.ac): Likewise.
89386 2008-12-17  Bruno Haible  <bruno@clisp.org>
89388         * modules/btowc-tests: New file.
89389         * tests/test-btowc1.sh: New file.
89390         * tests/test-btowc2.sh: New file.
89391         * tests/test-btowc.c: New file.
89393         New module 'btowc'.
89394         * lib/wchar.in.h (btowc): New declaration.
89395         * lib/btowc.c: New file.
89396         * m4/btowc.m4: New file.
89397         * modules/btowc: New file.
89398         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
89399         HAVE_BTOWC.
89400         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
89401         * doc/posix-functions/btowc.texi: Document the new module.
89403 2008-12-17  Bruno Haible  <bruno@clisp.org>
89405         New module 'mbsinit'.
89406         * lib/wchar.in.h (mbsinit): New declaration.
89407         * lib/mbsinit.c: New file.
89408         * m4/mbsinit.m4: New file.
89409         * modules/mbsinit: New file.
89410         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
89411         HAVE_MBSINIT.
89412         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
89413         HAVE_MBSINIT.
89414         * doc/posix-functions/mbsinit.texi: Document the new module.
89416 2008-12-16  Bruno Haible  <bruno@clisp.org>
89418         * lib/unistd.in.h: Add comment.
89419         * tests/test-environ.c: Don't include <stdlib.h>.
89421 2008-12-16  Bruno Haible  <bruno@clisp.org>
89423         * lib/parse-duration.h (parse_duration): Document return value
89424         convention.
89425         * lib/parse-duration.c: Include specification header first. Add
89426         comments.
89427         (_): Remove macro.
89428         (parse_year_month_day, parse_hour_minute_second): Move side effects
89429         outside of strchr call.
89430         (parse_non_iso8601): Move side effects outside of isspace call.
89431         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
89432         call.
89434 2008-12-16  Bruno Haible  <bruno@clisp.org>
89436         * tests/test-parse-duration.sh: Produce no output when the test
89437         succeeds.
89439 2008-12-16  Bruno Haible  <bruno@clisp.org>
89441         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
89442         expressions.
89444 2008-12-15  Bruno Haible  <bruno@clisp.org>
89446         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
89447         * doc/glibc-functions/flistxattr.texi: Likewise.
89448         * doc/glibc-functions/fopencookie.texi: Likewise.
89449         * doc/glibc-functions/fremovexattr.texi: Likewise.
89450         * doc/glibc-functions/fsetxattr.texi: Likewise.
89451         * doc/glibc-functions/getxattr.texi: Likewise.
89452         * doc/glibc-functions/lgetxattr.texi: Likewise.
89453         * doc/glibc-functions/listxattr.texi: Likewise.
89454         * doc/glibc-functions/llistxattr.texi: Likewise.
89455         * doc/glibc-functions/lremovexattr.texi: Likewise.
89456         * doc/glibc-functions/lsetxattr.texi: Likewise.
89457         * doc/glibc-functions/removexattr.texi: Likewise.
89458         * doc/glibc-functions/setxattr.texi: Likewise.
89459         * doc/posix-functions/open_memstream.texi: Likewise.
89461 2008-12-15  Eric Blake  <ebb9@byu.net>
89463         Update doc for cygwin 1.7.
89464         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
89465         functions.
89466         * doc/posix-functions/fchmodat.texi: Likewise.
89467         * doc/posix-functions/fchownat.texi: Likewise.
89468         * doc/posix-functions/fdopendir.texi: Likewise.
89469         * doc/posix-functions/fmemopen.texi: Likewise.
89470         * doc/posix-functions/freeaddrinfo.texi: Likewise.
89471         * doc/posix-functions/fstatat.texi: Likewise.
89472         * doc/posix-functions/futimens.texi: Likewise.
89473         * doc/posix-functions/gai_strerror.texi: Likewise.
89474         * doc/posix-functions/getaddrinfo.texi: Likewise.
89475         * doc/posix-functions/getnameinfo.texi: Likewise.
89476         * doc/posix-functions/if_freenameindex.texi: Likewise.
89477         * doc/posix-functions/if_indextoname.texi: Likewise.
89478         * doc/posix-functions/if_nameindex.texi: Likewise.
89479         * doc/posix-functions/if_nametoindex.texi: Likewise.
89480         * doc/posix-functions/insque.texi: Likewise.
89481         * doc/posix-functions/linkat.texi: Likewise.
89482         * doc/posix-functions/llrint.texi: Likewise.
89483         * doc/posix-functions/llrintf.texi: Likewise.
89484         * doc/posix-functions/llrintl.texi: Likewise.
89485         * doc/posix-functions/lockf.texi: Likewise.
89486         * doc/posix-functions/lrintl.texi: Likewise.
89487         * doc/posix-functions/mkdirat.texi: Likewise.
89488         * doc/posix-functions/mkfifoat.texi: Likewise.
89489         * doc/posix-functions/mknodat.texi: Likewise.
89490         * doc/posix-functions/mq_close.texi: Likewise.
89491         * doc/posix-functions/mq_getattr.texi: Likewise.
89492         * doc/posix-functions/mq_notify.texi: Likewise.
89493         * doc/posix-functions/mq_open.texi: Likewise.
89494         * doc/posix-functions/mq_receive.texi: Likewise.
89495         * doc/posix-functions/mq_send.texi: Likewise.
89496         * doc/posix-functions/mq_setattr.texi: Likewise.
89497         * doc/posix-functions/mq_timedreceive.texi: Likewise.
89498         * doc/posix-functions/mq_timedsend.texi: Likewise.
89499         * doc/posix-functions/mq_unlink.texi: Likewise.
89500         * doc/posix-functions/open_memstream.texi: Likewise.
89501         * doc/posix-functions/openat.texi: Likewise.
89502         * doc/posix-functions/posix_fadvise.texi: Likewise.
89503         * doc/posix-functions/posix_fallocate.texi: Likewise.
89504         * doc/posix-functions/posix_madvise.texi: Likewise.
89505         * doc/posix-functions/posix_memalign.texi: Likewise.
89506         * doc/posix-functions/posix_openpt.texi: Likewise.
89507         * doc/posix-functions/readlinkat.texi: Likewise.
89508         * doc/posix-functions/remque.texi: Likewise.
89509         * doc/posix-functions/renameat.texi: Likewise.
89510         * doc/posix-functions/rintl.texi: Likewise.
89511         * doc/posix-functions/sem_unlink.texi: Likewise.
89512         * doc/posix-functions/shm_open.texi: Likewise.
89513         * doc/posix-functions/shm_unlink.texi: Likewise.
89514         * doc/posix-functions/signgam.texi: Likewise.
89515         * doc/posix-functions/sigset.texi: Likewise.
89516         * doc/posix-functions/stpcpy.texi: Likewise.
89517         * doc/posix-functions/stpncpy.texi: Likewise.
89518         * doc/posix-functions/strerror.texi: Likewise.
89519         * doc/posix-functions/strtod.texi: Likewise.
89520         * doc/posix-functions/symlinkat.texi: Likewise.
89521         * doc/posix-functions/unlinkat.texi: Likewise.
89522         * doc/posix-functions/utimensat.texi: Likewise.
89523         * doc/glibc-functions/bindresvport.texi: Likewise.
89524         * doc/glibc-functions/dn_expand.texi: Likewise.
89525         * doc/glibc-functions/exp10.texi: Likewise.
89526         * doc/glibc-functions/exp10f.texi: Likewise.
89527         * doc/glibc-functions/fgetxattr.texi: Likewise.
89528         * doc/glibc-functions/flistxattr.texi: Likewise.
89529         * doc/glibc-functions/fopencookie.texi: Likewise.
89530         * doc/glibc-functions/freeifaddrs.texi: Likewise.
89531         * doc/glibc-functions/fremovexattr.texi: Likewise.
89532         * doc/glibc-functions/fsetxattr.texi: Likewise.
89533         * doc/glibc-functions/getifaddrs.texi: Likewise.
89534         * doc/glibc-functions/getxattr.texi: Likewise.
89535         * doc/glibc-functions/lgetxattr.texi: Likewise.
89536         * doc/glibc-functions/listxattr.texi: Likewise.
89537         * doc/glibc-functions/llistxattr.texi: Likewise.
89538         * doc/glibc-functions/lremovexattr.texi: Likewise.
89539         * doc/glibc-functions/lsetxattr.texi: Likewise.
89540         * doc/glibc-functions/pow10.texi: Likewise.
89541         * doc/glibc-functions/pow10f.texi: Likewise.
89542         * doc/glibc-functions/rcmd_af.texi: Likewise.
89543         * doc/glibc-functions/removexattr.texi: Likewise.
89544         * doc/glibc-functions/res_init.texi: Likewise.
89545         * doc/glibc-functions/res_mkquery.texi: Likewise.
89546         * doc/glibc-functions/res_query.texi: Likewise.
89547         * doc/glibc-functions/res_querydomain.texi: Likewise.
89548         * doc/glibc-functions/res_send.texi: Likewise.
89549         * doc/glibc-functions/rresvport_af.texi: Likewise.
89550         * doc/glibc-functions/setxattr.texi: Likewise.
89551         * doc/glibc-functions/strcasestr.texi: Likewise.
89553 2008-12-15  Bruno Haible  <bruno@clisp.org>
89555         Fix compilation error on OSF/1 4.0.
89556         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
89557         <sys/time.h>, simply delegate to the system header.
89558         Reported by Daniel Richard G. <oss@teragram.com>.
89560 2008-12-15  Bruno Haible  <bruno@clisp.org>
89562         * doc/posix-functions/openat.texi: Mention the 'openat' module.
89563         * doc/posix-functions/fchmodat.texi: Likewise.
89564         * doc/posix-functions/fchownat.texi: Likewise.
89565         * doc/posix-functions/fdopendir.texi: Likewise.
89566         * doc/posix-functions/fstatat.texi: Likewise.
89567         * doc/posix-functions/mkdirat.texi: Likewise.
89568         * doc/posix-functions/unlinkat.texi: Likewise.
89570 2008-12-14  Bruno Haible  <bruno@clisp.org>
89572         Update doc for POSIX:2008.
89573         * doc/posix-functions/faccessat.texi: New file.
89574         * doc/posix-functions/fchmodat.texi: New file.
89575         * doc/posix-functions/fchownat.texi: New file.
89576         * doc/posix-functions/fdopendir.texi: New file.
89577         * doc/posix-functions/fstatat.texi: New file.
89578         * doc/posix-functions/futimens.texi: New file.
89579         * doc/posix-functions/linkat.texi: New file.
89580         * doc/posix-functions/mkdirat.texi: New file.
89581         * doc/posix-functions/mkfifoat.texi: New file.
89582         * doc/posix-functions/mknodat.texi: New file.
89583         * doc/posix-functions/open_wmemstream.texi: New file.
89584         * doc/posix-functions/openat.texi: New file.
89585         * doc/posix-functions/psiginfo.texi: New file.
89586         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
89587         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
89588         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
89589         * doc/posix-functions/readlinkat.texi: New file.
89590         * doc/posix-functions/renameat.texi: New file.
89591         * doc/posix-functions/strerror_l.texi: New file.
89592         * doc/posix-functions/symlinkat.texi: New file.
89593         * doc/posix-functions/unlinkat.texi: New file.
89594         * doc/posix-functions/utimensat.texi: New file.
89595         * doc/gnulib.texi (Function Substitutes): Add these subsections.
89597 2008-12-14  Bruno Haible  <bruno@clisp.org>
89599         Update doc for POSIX:2008.
89600         * doc/posix-functions/alphasort.texi: Renamed from
89601         doc/glibc-functions/alphasort.texi.
89602         * doc/posix-functions/dirfd.texi: Renamed from
89603         doc/glibc-functions/dirfd.texi.
89604         * doc/posix-functions/dprintf.texi: Renamed from
89605         doc/glibc-functions/dprintf.texi.
89606         * doc/posix-functions/duplocale.texi: Renamed from
89607         doc/glibc-functions/duplocale.texi.
89608         * doc/posix-functions/fexecve.texi: Renamed from
89609         doc/glibc-functions/fexecve.texi.
89610         * doc/posix-functions/fmemopen.texi: Renamed from
89611         doc/glibc-functions/fmemopen.texi.
89612         * doc/posix-functions/freelocale.texi: Renamed from
89613         doc/glibc-functions/freelocale.texi.
89614         * doc/posix-functions/getdate_err.texi: Renamed from
89615         doc/glibc-functions/getdate_err.texi.
89616         * doc/posix-functions/isalnum_l.texi: Renamed from
89617         doc/glibc-functions/isalnum_l.texi.
89618         * doc/posix-functions/isalpha_l.texi: Renamed from
89619         doc/glibc-functions/isalpha_l.texi.
89620         * doc/posix-functions/isblank_l.texi: Renamed from
89621         doc/glibc-functions/isblank_l.texi.
89622         * doc/posix-functions/iscntrl_l.texi: Renamed from
89623         doc/glibc-functions/iscntrl_l.texi.
89624         * doc/posix-functions/isdigit_l.texi: Renamed from
89625         doc/glibc-functions/isdigit_l.texi.
89626         * doc/posix-functions/isgraph_l.texi: Renamed from
89627         doc/glibc-functions/isgraph_l.texi.
89628         * doc/posix-functions/islower_l.texi: Renamed from
89629         doc/glibc-functions/islower_l.texi.
89630         * doc/posix-functions/isprint_l.texi: Renamed from
89631         doc/glibc-functions/isprint_l.texi.
89632         * doc/posix-functions/ispunct_l.texi: Renamed from
89633         doc/glibc-functions/ispunct_l.texi.
89634         * doc/posix-functions/isspace_l.texi: Renamed from
89635         doc/glibc-functions/isspace_l.texi.
89636         * doc/posix-functions/isupper_l.texi: Renamed from
89637         doc/glibc-functions/isupper_l.texi.
89638         * doc/posix-functions/iswalnum_l.texi: Renamed from
89639         doc/glibc-functions/iswalnum_l.texi.
89640         * doc/posix-functions/iswalpha_l.texi: Renamed from
89641         doc/glibc-functions/iswalpha_l.texi.
89642         * doc/posix-functions/iswblank_l.texi: Renamed from
89643         doc/glibc-functions/iswblank_l.texi.
89644         * doc/posix-functions/iswcntrl_l.texi: Renamed from
89645         doc/glibc-functions/iswcntrl_l.texi.
89646         * doc/posix-functions/iswctype_l.texi: Renamed from
89647         doc/glibc-functions/iswctype_l.texi.
89648         * doc/posix-functions/iswdigit_l.texi: Renamed from
89649         doc/glibc-functions/iswdigit_l.texi.
89650         * doc/posix-functions/iswgraph_l.texi: Renamed from
89651         doc/glibc-functions/iswgraph_l.texi.
89652         * doc/posix-functions/iswlower_l.texi: Renamed from
89653         doc/glibc-functions/iswlower_l.texi.
89654         * doc/posix-functions/iswprint_l.texi: Renamed from
89655         doc/glibc-functions/iswprint_l.texi.
89656         * doc/posix-functions/iswpunct_l.texi: Renamed from
89657         doc/glibc-functions/iswpunct_l.texi.
89658         * doc/posix-functions/iswspace_l.texi: Renamed from
89659         doc/glibc-functions/iswspace_l.texi.
89660         * doc/posix-functions/iswupper_l.texi: Renamed from
89661         doc/glibc-functions/iswupper_l.texi.
89662         * doc/posix-functions/iswxdigit_l.texi: Renamed from
89663         doc/glibc-functions/iswxdigit_l.texi.
89664         * doc/posix-functions/isxdigit_l.texi: Renamed from
89665         doc/glibc-functions/isxdigit_l.texi.
89666         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
89667         doc/glibc-functions/mbsnrtowcs.texi.
89668         * doc/posix-functions/mkdtemp.texi: Renamed from
89669         doc/glibc-functions/mkdtemp.texi.
89670         * doc/posix-functions/newlocale.texi: Renamed from
89671         doc/glibc-functions/newlocale.texi.
89672         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
89673         doc/glibc-functions/nl_langinfo_l.texi.
89674         * doc/posix-functions/open_memstream.texi: Renamed from
89675         doc/glibc-functions/open_memstream.texi.
89676         * doc/posix-functions/opterr.texi: Renamed from
89677         doc/glibc-functions/opterr.texi.
89678         * doc/posix-functions/optind.texi: Renamed from
89679         doc/glibc-functions/optind.texi.
89680         * doc/posix-functions/optopt.texi: Renamed from
89681         doc/glibc-functions/optopt.texi.
89682         * doc/posix-functions/psignal.texi: Renamed from
89683         doc/glibc-functions/psignal.texi.
89684         * doc/posix-functions/scandir.texi: Renamed from
89685         doc/glibc-functions/scandir.texi.
89686         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
89687         doc/glibc-functions/sched_get_priority_min.texi.
89688         * doc/posix-functions/signgam.texi: Renamed from
89689         doc/glibc-functions/signgam.texi.
89690         * doc/posix-functions/stpcpy.texi: Renamed from
89691         doc/glibc-functions/stpcpy.texi.
89692         * doc/posix-functions/stpncpy.texi: Renamed from
89693         doc/glibc-functions/stpncpy.texi.
89694         * doc/posix-functions/strcasecmp_l.texi: Renamed from
89695         doc/glibc-functions/strcasecmp_l.texi.
89696         * doc/posix-functions/strcoll_l.texi: Renamed from
89697         doc/glibc-functions/strcoll_l.texi.
89698         * doc/posix-functions/strfmon_l.texi: Renamed from
89699         doc/glibc-functions/strfmon_l.texi.
89700         * doc/posix-functions/strftime_l.texi: Renamed from
89701         doc/glibc-functions/strftime_l.texi.
89702         * doc/posix-functions/strncasecmp_l.texi: Renamed from
89703         doc/glibc-functions/strncasecmp_l.texi.
89704         * doc/posix-functions/strndup.texi: Renamed from
89705         doc/glibc-functions/strndup.texi.
89706         * doc/posix-functions/strnlen.texi: Renamed from
89707         doc/glibc-functions/strnlen.texi.
89708         * doc/posix-functions/strsignal.texi: Renamed from
89709         doc/glibc-functions/strsignal.texi.
89710         * doc/posix-functions/strxfrm_l.texi: Renamed from
89711         doc/glibc-functions/strxfrm_l.texi.
89712         * doc/posix-functions/timer_gettime.texi: Renamed from
89713         doc/glibc-functions/timer_gettime.texi.
89714         * doc/posix-functions/tolower_l.texi: Renamed from
89715         doc/glibc-functions/tolower_l.texi.
89716         * doc/posix-functions/toupper_l.texi: Renamed from
89717         doc/glibc-functions/toupper_l.texi.
89718         * doc/posix-functions/towctrans_l.texi: Renamed from
89719         doc/glibc-functions/towctrans_l.texi.
89720         * doc/posix-functions/towlower_l.texi: Renamed from
89721         doc/glibc-functions/towlower_l.texi.
89722         * doc/posix-functions/towupper_l.texi: Renamed from
89723         doc/glibc-functions/towupper_l.texi.
89724         * doc/posix-functions/uselocale.texi: Renamed from
89725         doc/glibc-functions/uselocale.texi.
89726         * doc/posix-functions/vdprintf.texi: Renamed from
89727         doc/glibc-functions/vdprintf.texi.
89728         * doc/posix-functions/wcpcpy.texi:
89729         Renamed from doc/glibc-functions/wcpcpy.texi.
89730         * doc/posix-functions/wcpncpy.texi: Renamed from
89731         doc/glibc-functions/wcpncpy.texi.
89732         * doc/posix-functions/wcscasecmp.texi: Renamed from
89733         doc/glibc-functions/wcscasecmp.texi.
89734         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
89735         doc/glibc-functions/wcscasecmp_l.texi.
89736         * doc/posix-functions/wcscoll_l.texi: Renamed from
89737         doc/glibc-functions/wcscoll_l.texi.
89738         * doc/posix-functions/wcsdup.texi: Renamed from
89739         doc/glibc-functions/wcsdup.texi.
89740         * doc/posix-functions/wcsncasecmp.texi: Renamed from
89741         doc/glibc-functions/wcsncasecmp.texi.
89742         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
89743         doc/glibc-functions/wcsncasecmp_l.texi.
89744         * doc/posix-functions/wcsnlen.texi: Renamed from
89745         doc/glibc-functions/wcsnlen.texi.
89746         * doc/posix-functions/wcsnrtombs.texi: Renamed from
89747         doc/glibc-functions/wcsnrtombs.texi.
89748         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
89749         doc/glibc-functions/wcsxfrm_l.texi.
89750         * doc/posix-functions/wctrans_l.texi: Renamed from
89751         doc/glibc-functions/wctrans_l.texi.
89752         * doc/posix-functions/wctype_l.texi: Renamed from
89753         doc/glibc-functions/wctype_l.texi.
89754         * doc/gnulib.texi (Function Substitutes): Add these subsections.
89755         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
89756         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
89757         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
89758         these subsections.
89759         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
89760         Remove sections.
89762 2008-12-14  Bruno Haible  <bruno@clisp.org>
89764         Update doc for POSIX:2008.
89765         * doc/posix-functions/*.texi: Update URL of POSIX specification.
89767 2008-12-14  Bruno Haible  <bruno@clisp.org>
89769         Update doc for POSIX:2008.
89770         * doc/pastposix-functions/bcmp.texi: Renamed from
89771         doc/posix-functions/bcmp.texi.
89772         * doc/pastposix-functions/bcopy.texi: Renamed from
89773         doc/posix-functions/bcopy.texi.
89774         * doc/pastposix-functions/bsd_signal.texi: Renamed from
89775         doc/posix-functions/bsd_signal.texi.
89776         * doc/pastposix-functions/bzero.texi: Renamed from
89777         doc/posix-functions/bzero.texi.
89778         * doc/pastposix-functions/ecvt.texi: Renamed from
89779         doc/posix-functions/ecvt.texi.
89780         * doc/pastposix-functions/fcvt.texi: Renamed from
89781         doc/posix-functions/fcvt.texi.
89782         * doc/pastposix-functions/ftime.texi: Renamed from
89783         doc/posix-functions/ftime.texi.
89784         * doc/pastposix-functions/gcvt.texi: Renamed from
89785         doc/posix-functions/gcvt.texi.
89786         * doc/pastposix-functions/getcontext.texi: Renamed from
89787         doc/posix-functions/getcontext.texi.
89788         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
89789         doc/posix-functions/gethostbyaddr.texi.
89790         * doc/pastposix-functions/gethostbyname.texi: Renamed from
89791         doc/posix-functions/gethostbyname.texi.
89792         * doc/pastposix-functions/getwd.texi: Renamed from
89793         doc/posix-functions/getwd.texi.
89794         * doc/pastposix-functions/h_errno.texi: Renamed from
89795         doc/posix-functions/h_errno.texi.
89796         * doc/pastposix-functions/index.texi: Renamed from
89797         doc/posix-functions/index.texi.
89798         * doc/pastposix-functions/makecontext.texi: Renamed from
89799         doc/posix-functions/makecontext.texi.
89800         * doc/pastposix-functions/mktemp.texi: Renamed from
89801         doc/posix-functions/mktemp.texi.
89802         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
89803         doc/posix-functions/pthread_attr_getstackaddr.texi.
89804         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
89805         doc/posix-functions/pthread_attr_setstackaddr.texi.
89806         * doc/pastposix-functions/rindex.texi: Renamed from
89807         doc/posix-functions/rindex.texi.
89808         * doc/pastposix-functions/scalb.texi: Renamed from
89809         doc/posix-functions/scalb.texi.
89810         * doc/pastposix-functions/setcontext.texi: Renamed from
89811         doc/posix-functions/setcontext.texi.
89812         * doc/pastposix-functions/swapcontext.texi: Renamed from
89813         doc/posix-functions/swapcontext.texi.
89814         * doc/pastposix-functions/ualarm.texi: Renamed from
89815         doc/posix-functions/ualarm.texi.
89816         * doc/pastposix-functions/usleep.texi: Renamed from
89817         doc/posix-functions/usleep.texi.
89818         * doc/pastposix-functions/vfork.texi: Renamed from
89819         doc/posix-functions/vfork.texi.
89820         * doc/pastposix-functions/wcswcs.texi: Renamed from
89821         doc/posix-functions/wcswcs.texi.
89822         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
89823         (Function Substitutes): Update.
89825 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89827         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
89828         m4/strerror.m4.
89830 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89831             Bruno Haible  <bruno@clisp.org>
89833         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
89835 2008-12-13  Bruno Haible  <bruno@clisp.org>
89837         * modules/strtoull (Depends-on): Remove unistd.
89839 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89841         * modules/strtoull (Depends-on): Add stdlib.
89843 2008-12-11  Simon Josefsson  <simon@josefsson.org>
89845         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
89847 2008-12-10  Jim Meyering  <meyering@redhat.com>
89849         gl_ASSERT: don't say assertions are disabled when they're not
89850         * m4/assert.m4 (gl_ASSERT): Do not make configure report
89851         "checking whether to enable assertions... no", when they are in
89852         fact enabled.  This is solely a bug in the output of configure.
89853         In spite of saying "no", NDEBUG was not defined in that case.
89854         Also, as noted by Eric Blake, leave assertions enabled upon
89855         --enable-assert=INVALID.
89857 2008-12-10  Bruno Haible  <bruno@clisp.org>
89859         Change MODULES.html to refer to POSIX:2008 where possible.
89860         * MODULES.html.sh (POSIX2008_URL): New variable.
89861         (posix_headers): Remove sys/timeb, ucontext.
89862         (posix2001_headers): New variable.
89863         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
89864         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
89865         index, makecontext, mktemp, pthread_attr_getstackaddr,
89866         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
89867         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
89868         (posix2001_functions): New variable.
89869         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
89870         otherwise.
89872 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89874         add missing include to parse-duration.c
89875         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
89876         * modules/parse-duration (Depends-on): Add xalloc.
89878         fix sed script reading maint.mk
89879         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
89880         (syntax-check-rules): Use it.
89882 2008-12-09  Bruno Haible  <bruno@clisp.org>
89884         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
89885         MacOS X 10.4/PowerPC.
89886         Reported by Simon Josefsson.
89888 2008-12-08  Jim Meyering  <meyering@redhat.com>
89890         work around mingw's lack of some S_IF definitions
89891         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
89892         Reported by Simon Josefsson.
89894 2008-12-08  Bruno Haible  <bruno@clisp.org>
89896         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
89897         applied to variables. Needed on MacOS X 10.4/PowerPC.
89898         Reported by Simon Josefsson.
89900 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
89901         and Eric Blake  <ebb9@byu.net>
89903         assert: honor --enable-assert
89904         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
89905         order to honor --enable-assert, rather than treating it as a
89906         synonym for --disable-assert.
89908 2008-12-08  Jim Meyering  <meyering@redhat.com>
89910         * lib/posixtm.c: Remove now-useless declaration of mktime.
89912         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
89914 2008-12-07  Bruno Haible  <bruno@clisp.org>
89916         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
89917         test_once): Mark functions as static.
89918         * tests/test-tls.c (test_tls): Likewise.
89920 2008-12-07  Bruno Haible  <bruno@clisp.org>
89922         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
89923         iconv_register_autodetect.
89925 2008-12-07  Jim Meyering  <meyering@redhat.com>
89927         posixtm.c: avoid a warning
89928         * lib/posixtm.c (posixtime): Don't initialize tm0.
89929         It's no longer needed to placate gcc4's -Wuninitialized,
89930         and the attempt to placate would elicit a new warning.
89932         unicodeio.c: mark unused parameters
89933         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
89934         (fallback_failure_callback): Likewise.
89936 2008-12-07  Bruno Haible  <bruno@clisp.org>
89938         * gnulib-tool (func_create_testdir): When building the tests
89939         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
89940         Reported by Simon Josefsson.
89942 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89944         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
89946 2008-12-06  Bruno Haible  <bruno@clisp.org>
89948         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
89949         Suggested by Eric Blake.
89951 2008-12-06  Bruno Haible  <bruno@clisp.org>
89953         Fix a c-stack test failure on MacOS X.
89954         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
89955         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
89956         handler for SIGBUS as well.
89957         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
89958         install a signal handler for SIGBUS as well.
89959         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
89961 2008-12-06  Bruno Haible  <bruno@clisp.org>
89963         Advocacy documentation.
89964         * doc/gnulib-intro.texi (Benefits): New section.
89965         * doc/gnulib.texi: Update.
89967 2008-12-06  Bruno Haible  <bruno@clisp.org>
89969         Document the 'manywarnings' module.
89970         * doc/manywarnings.texi: New file.
89971         * doc/gnulib.texi: Include it.
89973 2008-12-05  Eric Blake  <ebb9@byu.net>
89975         tests: silence some gcc warnings
89976         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
89977         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
89978         type mismatches.
89980 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89981             Bruno Haible  <bruno@clisp.org>
89983         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
89985 2008-11-29  Jim Meyering  <meyering@redhat.com>
89987         unicodeio.c: mark unused parameters
89988         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
89989         (fallback_failure_callback): Likewise.
89991         fts: fix a thinko
89992         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
89993         (set_stat_type): Return S_IF*-valued "type" directly.
89994         Prompted by James Youngman's spotting a related bug.
89995         Confirmed by further testing through find.
89997         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
89998         * lib/fts.c (D_TYPE): Define.
89999         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
90000         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
90001         (s_ifmt_shift_bits): New function.
90002         (set_stat_type): New function.
90003         (fts_build): When not calling fts_stat, call set_stat_type
90004         to propagate dirent.d_type info to fts_read caller.
90005         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
90006         fts_statp->st_mode type information may be valid.
90008 2008-11-28  Simon Josefsson  <simon@josefsson.org>
90010         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
90011         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
90012         <sds@gnu.org>.
90014 2008-11-20  Bruno Haible  <bruno@clisp.org>
90016         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
90017         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
90018         INCLUDE_NEXT.
90019         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
90020         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
90021         * modules/math (Makefile.am): Substitute
90022         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
90023         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
90025 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
90026             Bruno Haible  <bruno@clisp.org>
90028         * lib/stdint.in.h: Define all type macros so that their expansion is
90029         a single typedef'ed token. Fixes a compilation failure in Boost which
90030         does "using ::int8_t;".
90032 2008-11-18  Simon Josefsson  <simon@josefsson.org>
90034         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
90035         gl_MANYWARN_ALL_GCC.
90036         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
90037         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
90038         * modules/manywarnings: New file.
90039         * MODULES.html.sh: Mention manywarnings module.
90041 2008-11-18  Bruno Haible  <bruno@clisp.org>
90043         * doc/gnulib-tool.texi (Unit tests): New section.
90045 2008-11-18  Simon Josefsson  <simon@josefsson.org>
90047         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
90048         paths like 'lib/po/foo.po'.
90050 2008-11-17  Simon Josefsson  <simon@josefsson.org>
90052         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
90053         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
90055 2008-11-17  Simon Josefsson  <simon@josefsson.org>
90057         * m4/warnings.m4: Use CPPFLAGS to really check whether the
90058         parameter works.
90060 2008-11-17  Simon Josefsson  <simon@josefsson.org>
90062         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
90064 2008-11-17  Bruce Korb  <bkorb@gnu.org>
90066         * modules/parse-duration-tests: New file.
90067         * tests/test-parse-duration.sh: New file.
90068         * tests/test-parse-duration.c: New file.
90070         New module 'parse-duration'.
90071         * lib/parse-duration.h: New file.
90072         * lib/parse-duration.c: New file.
90073         * modules/parse-duration: New file.
90075 2008-11-17  Bruno Haible  <bruno@clisp.org>
90077         * tests/test-select-out.sh: Comment out the first pipe test.
90078         Reported by Simon Josefsson.
90080 2008-11-17  Bruno Haible  <bruno@clisp.org>
90082         * modules/getaddrinfo (Depends-on): Add servent, hostent.
90083         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
90084         gl_HOSTENT.
90086 2008-11-17  Bruno Haible  <bruno@clisp.org>
90088         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
90089         -lnetwork and -lnet. Needed for Haiku and BeOS.
90091 2008-11-16  Bruno Haible  <bruno@clisp.org>
90093         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
90095 2008-11-16  Bruno Haible  <bruno@clisp.org>
90097         Avoid test failure on Haiku.
90098         * tests/test-fsync.c: Include <errno.h>.
90099         (main): Don't require that fsync (0) fails.
90101 2008-11-15  Bruno Haible  <bruno@clisp.org>
90103         New module 'hostent'.
90104         * modules/hostent: New file.
90105         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
90107 2008-11-15  Bruno Haible  <bruno@clisp.org>
90109         New module 'servent'.
90110         * modules/servent: New file.
90111         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
90113 2008-11-15  Bruno Haible  <bruno@clisp.org>
90115         Avoid generating same test program with two different rules.
90116         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
90117         test-frexp to test-frexp-nolibm.
90118         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
90119         test-frexpl to test-frexpl-nolibm.
90121 2008-11-15  Bruno Haible  <bruno@clisp.org>
90123         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
90124         $(FREXPL_LIBM).
90126 2008-11-15  Bruno Haible  <bruno@clisp.org>
90128         * lib/netdb.in.h: Activate the definitions also when the system's
90129         <netdb.h> has 'struct addrinfo'.
90130         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
90131         EAI_OVERFLOW or AI_NUMERICSERV.
90132         * doc/posix-headers/netdb.texi: Document the problem.
90134 2008-11-15  Bruno Haible  <bruno@clisp.org>
90136         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
90138         Make the 'sched' module work on platforms where <sched.h> exists but
90139         is incomplete (such as Haiku).
90140         * lib/sched.in.h; Include the system's <sched.h> if it exists.
90141         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
90142         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
90143         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
90144         HAVE_STRUCT_SCHED_PARAM.
90145         * modules/sched (Depends-on): Add include_next.
90146         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
90147         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
90148         * doc/posix-headers/sched.texi: Document the issue.
90150 2008-11-13  Jim Meyering  <meyering@redhat.com>
90152         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
90153         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
90154         test would fail due to the difference in the Report bugs to ...
90155         line.  The expected address is empty, "<>", while the actual
90156         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
90158 2008-11-12  Bruno Haible  <bruno@clisp.org>
90160         lstat: don't compile lstat.c on systems lacking lstat
90161         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
90162         which don't have lstat; this is handled by lib/sys_stat.in.h already.
90163         Reported by Daniel P. Berrange via Jim Meyering.
90165 2008-11-12  Jim Meyering  <meyering@redhat.com>
90167         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
90169 2008-11-12  Simon Josefsson  <simon@josefsson.org>
90171         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
90172         instead.
90174 2008-11-12  Bruno Haible  <bruno@clisp.org>
90176         * lib/unicodeio.c: Include unistr.h.
90177         (utf8_wctomb): Remove function.
90178         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
90180 2008-11-12  Simon Josefsson  <simon@josefsson.org>
90182         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
90183         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
90184         <bruno@clisp.org>.
90185         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
90187 2008-11-12  Simon Josefsson  <simon@josefsson.org>
90189         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
90190         * doc/gnulib.texi: Add section for warnings.
90192 2008-11-11  Bruno Haible  <bruno@clisp.org>
90194         * lib/sockets.h: Add a comment.
90196 2008-11-11  Karl Berry  <karl@gnu.org>
90198         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
90200 2008-11-11  Eric Blake  <ebb9@byu.net>
90202         fdl.texi: avoid git symlinks
90203         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
90205 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90207         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
90209 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90211         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
90212         (gl_WARN_ADD): Substitute $2 if literal.
90214 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90216         * m4/warning.m4: Remove.
90218 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
90220         * m4/warnings.m4: Almost complete rewrite. :-)
90222 2008-11-10  Simon Josefsson  <simon@josefsson.org>
90224         * modules/warnings: New module.
90225         * m4/warnings.m4: New file.
90226         * MODULES.html.sh: Mention warnings module.
90227         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
90228         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90230 2008-11-10  Eric Blake  <ebb9@byu.net>
90232         fdl.texi: make a symlink to the latest version
90233         * doc/standards.texi: Revert today's earlier change.
90234         * doc/fdl-1.2.texi: Rename from old fdl.texi...
90235         * doc/fdl.texi: ...and replace this with a symlink to the newer
90236         fdl-1.3.texi.
90238 2008-11-10  Bruno Haible  <bruno@clisp.org>
90240         * tests/test-select-fd.c (main): Accept the result file name as fourth
90241         argument.
90242         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
90243         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
90245 2008-11-10  Bruno Haible  <bruno@clisp.org>
90247         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
90248         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
90249         as autoconf-substituted macros.
90250         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
90251         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
90252         gl_NETDB_H_DEFAULTS. Set these variables.
90253         * modules/netdb (Makefile.am): Substitute these variables.
90255 2008-11-10  Eric Blake  <ebb9@byu.net>
90257         standards.texi: include correct file for FDL 1.3
90258         * doc/standards.texi (GNU Free Documentation License): Change
90259         include file to pull in FDL 1.3, not 1.2.
90261         fdl.texi: revert accidental change to license
90262         * doc/fdl.texi: This is FDL 1.2, not 1.3.
90264 2008-11-10  Bruno Haible  <bruno@clisp.org>
90266         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
90267         cross-compiling guesses also when the native compile gives no result.
90269 2008-11-10  Bruno Haible  <bruno@clisp.org>
90271         * lib/spawni.c (__spawni): Force variable into the stack.
90273 2008-11-10  Bruno Haible  <bruno@clisp.org>
90275         Add support for Haiku.
90276         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
90277         glibc and BeOS, but also on Haiku.
90278         * lib/fpurge.c (fpurge): Likewise.
90279         * lib/freadable.c (freadable): Likewise.
90280         * lib/freadahead.c (freadahead): Likewise.
90281         * lib/freading.c (freading): Likewise.
90282         * lib/freadptr.c (freadptr): Likewise.
90283         * lib/freadseek.c (freadptrinc): Likewise.
90284         * lib/fseeko.c (rpl_fseeko): Likewise.
90285         * lib/fseterr.c (fseterr): Likewise.
90286         * lib/fwritable.c (fwritable): Likewise.
90287         * lib/fwriting.c (fwriting): Likewise.
90288         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
90290 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
90292         * lib/config.charset: Treat Haiku like BeOS.
90294 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
90296         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
90297         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
90299 2008-11-08  Bruno Haible  <bruno@clisp.org>
90301         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
90302         AC_CACHE_CHECK.
90304 2008-11-08  Bruno Haible  <bruno@clisp.org>
90306         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
90308 2008-11-08  Bruno Haible  <bruno@clisp.org>
90310         * tests/test-select-fd.c: New file.
90311         * tests/test-select-in.sh: New file.
90312         * tests/test-select-out.sh: New file.
90313         * tests/test-select-stdin.c: New file.
90314         * modules/select-tests (Files): Add the new files.
90315         (Depends-on): Add gettimeofday.
90316         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
90317         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
90318         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
90320 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
90321             Bruno Haible  <bruno@clisp.org>
90323         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
90325 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
90327         * build-aux/pmccabe2html: Added support for C++ source files.
90329 2008-11-05  Ben Pfaff  <blp@gnu.org>
90331         Fix lib/close.c build on Windows.
90332         * modules/close (Files): Add lib/w32sock.h.
90334 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
90336         Accept Bison's NEWS format.
90337         * build-aux/announce-gen (print_news_deltas): Tweak
90338         $re_prefix.
90340 2008-11-04  Bruno Haible  <bruno@clisp.org>
90342         * modules/random_r (Maintainer): Add glibc.
90344 2008-11-04  Simon Josefsson  <simon@josefsson.org>
90346         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
90347         by karl@freefriends.org (Karl Berry).
90348         * doc/alloca.texi: Likewise.
90349         * doc/c-ctype.texi: Likewise.
90350         * doc/c-strcase.texi: Likewise.
90351         * doc/c-strcaseeq.texi: Likewise.
90352         * doc/c-strcasestr.texi: Likewise.
90353         * doc/c-strstr.texi: Likewise.
90354         * doc/c-strtod.texi: Likewise.
90355         * doc/c-strtold.texi: Likewise.
90356         * doc/ctime.texi: Likewise.
90357         * doc/error.texi: Likewise.
90358         * doc/fdl.texi: Likewise.
90359         * doc/gcd.texi: Likewise.
90360         * doc/getdate.texi: Likewise.
90361         * doc/gnulib-intro.texi: Likewise.
90362         * doc/gnulib-tool.texi: Likewise.
90363         * doc/gnulib.texi: Likewise.
90364         * doc/inet_ntoa.texi: Likewise.
90365         * doc/maintain.texi: Likewise.
90366         * doc/make-stds.texi: Likewise.
90367         * doc/quote.texi: Likewise.
90368         * doc/regexprops-generic.texi: Likewise.
90369         * doc/standards.texi: Likewise.
90370         * doc/verify.texi: Likewise.
90371         * doc/visibility.texi: Likewise.
90372         * doc/gnulib.texi (GNU Free Documentation License): Include
90373         fdl-1.3.texi instead of fdl.texi.
90375 2008-11-04  Simon Josefsson  <simon@josefsson.org>
90377         * doc/fdl-1.3.texi: New file, from
90378         <http://www.gnu.org/licenses/fdl-1.3.texi>.
90379         * modules/fdl-1.3: Add.
90380         * MODULES.html.sh: Add fdl-1.3.
90382 2008-11-03  Bruno Haible  <bruno@clisp.org>
90384         Make determination of absolute name of header file work with AIX xlc.
90385         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
90386         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
90387         preprocessing.
90388         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
90389         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
90391 2008-11-03  Simon Josefsson  <simon@josefsson.org>
90393         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
90394         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
90395         <ludo@gnu.org>.
90397 2008-11-02  Bruno Haible  <bruno@clisp.org>
90399         Mark 'strpbrk' obsolete.
90400         * modules/strpbrk (Status, Notice): New sections.
90401         * modules/strtok_r (Depends-on): Add strpbrk.
90403 2008-11-02  Bruno Haible  <bruno@clisp.org>
90405         Mark 'strdup' obsolete.
90406         * modules/strdup (Status, Notice): New sections.
90407         * modules/findprog (Depends-on): Add strdup.
90408         * modules/getaddrinfo (Depends-on): Likewise.
90409         * modules/localename (Depends-on): Likewise.
90410         * modules/relocatable-lib (Depends-on): Likewise.
90411         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
90412         * modules/relocatable-prog (Depends-on): Likewise.
90413         * modules/trim (Depends-on): Likewise.
90414         * modules/unictype/gen-ctype (Depends-on): Likewise.
90415         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
90417 2008-11-02  Bruno Haible  <bruno@clisp.org>
90419         Mark 'strcspn' obsolete.
90420         * modules/strcspn (Status, Notice): New sections.
90422 2008-11-02  Bruno Haible  <bruno@clisp.org>
90424         Mark 'rmdir' obsolete.
90425         * modules/rmdir (Status, Notice): New sections.
90426         * modules/clean-temp (Depends-on): Add rmdir.
90427         * modules/openat (Depends-on): Likewise.
90429 2008-11-02  Bruno Haible  <bruno@clisp.org>
90431         Mark 'raise' obsolete.
90432         * modules/raise (Status, Notice): New sections.
90433         (Include): Specify <signal.h>.
90434         * modules/stdio (Depends-on): Add raise.
90435         * modules/write (Depends-on): Likewise.
90437 2008-11-02  Bruno Haible  <bruno@clisp.org>
90439         Mark 'memset' obsolete.
90440         * modules/memset (Status, Notice): New sections.
90442 2008-11-02  Bruno Haible  <bruno@clisp.org>
90444         Mark 'memmove' obsolete.
90445         * modules/memmove (Status, Notice): New sections.
90446         * modules/argp (Depends-on): Add memmove.
90447         * modules/argz (Depends-on): Likewise.
90448         * modules/canonicalize (Depends-on): Likewise.
90449         * modules/canonicalize-lgpl (Depends-on): Likewise.
90450         * modules/fts (Depends-on): Likewise.
90451         * modules/getcwd (Depends-on): Likewise.
90452         * modules/human (Depends-on): Likewise.
90453         * modules/regex (Depends-on): Likewise.
90454         * modules/striconveh (Depends-on): Likewise.
90455         * modules/trim (Depends-on): Likewise.
90456         * modules/unistr/u8-move (Depends-on): Likewise.
90457         * modules/unistr/u16-move (Depends-on): Likewise.
90458         * modules/unistr/u32-move (Depends-on): Likewise.
90460 2008-11-02  Bruno Haible  <bruno@clisp.org>
90462         Mark 'memcpy' obsolete.
90463         * modules/memcpy (Status, Notice): New sections.
90465 2008-11-02  Bruno Haible  <bruno@clisp.org>
90467         Mark 'memcmp' obsolete.
90468         * modules/memcmp (Status, Notice): New sections.
90469         * modules/argmatch (Depends-on): Add memchr.
90470         * modules/backupfile (Depends-on): Likewise.
90471         * modules/c-strcasestr (Depends-on): Likewise.
90472         * modules/crypto/des (Depends-on): Likewise.
90473         * modules/csharpcomp (Depends-on): Likewise.
90474         * modules/fnmatch (Depends-on): Likewise.
90475         * modules/git-merge-changelog (Depends-on): Likewise.
90476         * modules/isnand (Depends-on): Likewise.
90477         * modules/isnand-nolibm (Depends-on): Likewise.
90478         * modules/isnanf (Depends-on): Likewise.
90479         * modules/isnanf-nolibm (Depends-on): Likewise.
90480         * modules/isnanl (Depends-on): Likewise.
90481         * modules/isnanl-nolibm (Depends-on): Likewise.
90482         * modules/mbchar (Depends-on): Likewise.
90483         * modules/memcoll (Depends-on): Likewise.
90484         * modules/quotearg (Depends-on): Likewise.
90485         * modules/regex (Depends-on): Likewise.
90486         * modules/relocatable-prog (Depends-on): Likewise.
90487         * modules/same (Depends-on): Likewise.
90488         * modules/signbit (Depends-on): Likewise.
90489         * modules/strcasestr-simple (Depends-on): Likewise.
90490         * modules/unictype/gen-ctype (Depends-on): Likewise.
90491         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
90492         * modules/uniname/uniname (Depends-on): Likewise.
90493         * modules/unistr/u8-cmp (Depends-on): Likewise.
90495 2008-11-02  Bruno Haible  <bruno@clisp.org>
90497         Mark 'memchr' obsolete.
90498         * modules/memchr (Status, Notice): New sections.
90499         * modules/argp (Depends-on): Add memchr.
90500         * modules/base64 (Depends-on): Likewise.
90501         * modules/c-strcasestr (Depends-on): Likewise.
90502         * modules/chdir-long (Depends-on): Likewise.
90503         * modules/fnmatch (Depends-on): Likewise.
90504         * modules/getsubopt (Depends-on): Likewise.
90505         * modules/git-merge-changelog (Depends-on): Likewise.
90506         * modules/glob (Depends-on): Likewise.
90507         * modules/strcasestr-simple (Depends-on): Likewise.
90508         * modules/strnlen (Depends-on): Likewise.
90510 2008-11-02  Bruno Haible  <bruno@clisp.org>
90512         Mark 'atexit' obsolete.
90513         * modules/atexit (Status, Notice): New sections.
90514         * modules/chdir-long (Depends-on): Add atexit.
90515         * modules/wait-process (Depends-on): Likewise.
90517 2008-11-02  Bruno Haible  <bruno@clisp.org>
90519         * gnulib-tool: New option --with-obsolete.
90520         (func_usage): Document it.
90521         (func_modules_transitive_closure): Drop obsolete dependencies if
90522         incobsolete is not true.
90523         (func_import): Read and save the incobsolete variable to the cache.
90525 2008-11-02  Bruno Haible  <bruno@clisp.org>
90527         * modules/TEMPLATE-EXTENDED: New field 'Status'.
90528         * gnulib-tool: New option --extract-status.
90529         (func_usage): Document it.
90530         (sed_extract_prog): Recognize it.
90531         (func_get_status): New function.
90533 2008-10-30  Simon Josefsson  <simon@josefsson.org>
90535         * modules/sockets (License): Change from LGPL to LGPLv2+.
90537 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90539         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
90541 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90543         * MODULES.html.sh (Support for systems lacking POSIX:2001):
90544         Mention times and sys_times.
90545         * modules/sys_times, modules/sys_times-tests: New modules.
90546         * modules/times, modules/times-tests: Likewise
90547         * m4/sys_times_h.m4: New file.
90548         * lib/sys_times.in.h: Likewise
90549         * lib/times.c: Likewise.
90550         * tests/test-sys_times.c: Likewise.
90551         * tests/test-times.c: Likewise.
90552         * doc/posix-headers/sys_times.texi: Update.
90553         * doc/posix-functions/times.texi: Update.
90555 2008-10-28  Jim Meyering  <meyering@redhat.com>
90557         * modules/tempname (Depends-on): Add lstat.
90559         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
90561 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90563         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
90564         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
90565         using idiom used elsewhere in gnulib.
90567 2008-10-27  Jim Meyering  <meyering@redhat.com>
90569         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
90571 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90573         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
90574         TESTS_ENVIRONMENT, for shell scripts that needs to call built
90575         programs.
90576         * tests/test-argp-2.sh: Use $EXEEXT when needed.
90578 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90580         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
90582 2008-10-27  Bruno Haible  <bruno@clisp.org>
90584         * tests/test-lstat.c: Include <stdio.h>.
90586 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90588         * modules/lstat-tests: New module.
90589         * tests/test-lstat.c: New file.
90591 2008-10-26  Jim Meyering  <meyering@redhat.com>
90593         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
90595 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90596             Bruno Haible  <bruno@clisp.org>
90598         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
90599         * modules/configmake (Include): Add a note that the include must come
90600         after all system headers.
90601         * lib/javaversion.c: Include configmake.h after all other includes.
90603 2008-10-26  Bruno Haible  <bruno@clisp.org>
90605         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
90606         HAVE_STRUCT_RANDOM_DATA to 1.
90607         (gl_STDLIB_H): Simplify.
90609 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90611         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
90612         substitute HAVE_STRUCT_RANDOM_DATA.
90613         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
90614         random_data.
90615         * modules/stdlib (Makefile.am): Substitute
90616         HAVE_STRUCT_RANDOM_DATA.
90618 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90620         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
90621         * doc/gnulib-intro.texi (Copyright): Likewise.
90623 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90625         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
90626         findings.
90628 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
90629             Bruno Haible  <bruno@clisp.org>
90631         * lib/unistd.in.h: Include <winsock2.h>.
90632         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
90633         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
90634         Provide dummy declarations.
90635         (gethostname): Override.
90636         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
90637         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
90638         gl_PREREQ_SYS_H_WINSOCK2.
90639         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
90640         * doc/posix-functions/gethostname.texi: More details.
90642 2008-10-25  Bruno Haible  <bruno@clisp.org>
90644         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
90645         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
90646         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
90648         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
90649         here ...
90650         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
90651         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
90652         gl_UNISTD_H_DEFAULTS.
90654 2008-10-25  Eric Blake  <ebb9@byu.net>
90656         signbit: avoid spurious compiler failure
90657         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
90658         declarations inside function.
90660 2008-10-24  Simon Josefsson  <simon@josefsson.org>
90661             Bruno Haible  <bruno@clisp.org>
90663         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
90664         * modules/random_r (Depends-on): Add stdint.
90666 2008-10-24  Bruno Haible  <bruno@clisp.org>
90668         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
90669         Eggert.
90670         * modules/strerror (License): Likewise.
90672 2008-10-24  Jim Meyering  <meyering@redhat.com>
90674         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
90675         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
90677 2008-10-24  Eric Blake  <ebb9@byu.net>
90679         getgroups: fix compilation when getgroups is available
90680         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
90681         but with <config.h> override of getgroups disabled.
90683 2008-10-24  Simon Josefsson  <simon@josefsson.org>
90685         * doc/gnulib.texi (Header files): Add note about C++ problems.
90686         Explained by Bruno Haible <bruno@clisp.org>.
90688 2008-10-23  Bruno Haible  <bruno@clisp.org>
90690         Define a dummy SA_NODEFER macro on Interix.
90691         * lib/signal.in.h (SA_NODEFER): Define fallback.
90692         Reported by Aleksey Cheusov <cheusov@tut.by> via
90693         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
90695 2008-10-23  Bruno Haible  <bruno@clisp.org>
90697         * modules/freadahead (License): Change to LGPLv2+.
90698         Suggested by Simon Josefsson.
90700 2008-10-23  Jim Meyering  <meyering@redhat.com>
90702         random_r: new module
90703         * modules/random_r: New file.
90704         * m4/random_r.m4: New file.
90705         * lib/random_r.c: New file, from glibc.
90706         * modules/random_r-tests: New file.
90707         * tests/test-random_r.c: New file.
90708         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
90709          Declare.
90710         (RAND_MAX): Define.
90711         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
90712         * modules/stdlib: Substitute them, too.
90713         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
90714         * doc/glibc-functions/initstate_r.texi: Mention the new module.
90715         * doc/glibc-functions/random_r.texi: Likewise.
90716         * doc/glibc-functions/setstate_r.texi: Likewise.
90717         * doc/glibc-functions/srandom_r.texi: Likewise.
90718         * config/srclist.txt: Mention it.
90720 2008-10-23  David Lutterkort  <lutter@redhat.com>
90722         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
90723         link requirement
90725 2008-10-23  Jim Meyering  <meyering@redhat.com>
90727         selinux-h: mark parameters of stub functions as intentionally unused
90728         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
90729         * lib/se-context.in.h: Likewise.
90731 2008-10-22  Simon Josefsson  <simon@josefsson.org>
90733         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
90735 2008-10-22  Simon Josefsson  <simon@josefsson.org>
90737         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
90739 2008-10-22  Eric Blake  <ebb9@byu.net>
90741         glthread/thread: avoid compiler warning
90742         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
90743         Add unreachable abort to silence compiler.
90745 2008-10-22  Eric Blake  <ebb9@byu.net>
90747         netdb: also supply struct addrinfo for cygwin 1.5.x
90748         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
90749         older cygwin.
90750         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
90751         cygwin.
90752         * doc/posix-headers/netdb.texi (netdb.h): Document this.
90754 2008-10-22  Bruno Haible  <bruno@clisp.org>
90756         * users.txt: Update entry about pspp.
90758 2008-10-21  Bruno Haible  <bruno@clisp.org>
90760         Simplification.
90761         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
90762         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
90764         Simplification.
90765         * lib/ioctl.c (ioctl): Don't undefine.
90766         * lib/socket.c (socket): Don't undefine.
90768         Remove unused module indicator macros.
90769         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
90770         GNULIB_$1 as a C macro.
90772         * doc/posix-functions/close.texi: Undo last change.
90773         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
90774         Windows platforms.
90776 2008-10-21  Bruno Haible  <bruno@clisp.org>
90778         Add gethostname() declaration to <unistd.h>.
90779         * lib/unistd.in.h (gethostname): New declaration.
90780         * lib/gethostname.c: Include <unistd.h>.
90781         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
90782         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
90783         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
90784         and HAVE_GETHOSTNAME.
90785         * modules/gethostname (Depends-on): Add unistd.
90786         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90787         (Include): Specify <unistd.h>.
90788         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
90789         HAVE_GETHOSTNAME.
90790         * tests/test-gethostname.c: Include <unistd.h> first.
90792 2008-10-21  Bruno Haible  <bruno@clisp.org>
90794         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
90795         * modules/select-tests (Depends-on): Likewise.
90796         Reported by Simon Josefsson.
90798 2008-10-21  Simon Josefsson  <simon@josefsson.org>
90800         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
90801         * lib/accept.c: New file, based on winsock.c.
90802         * lib/bind.c: New file, based on winsock.c.
90803         * lib/connect.c: New file, based on winsock.c.
90804         * lib/getpeername.c: New file, based on winsock.c.
90805         * lib/getsockname.c: New file, based on winsock.c.
90806         * lib/getsockopt.c: New file, based on winsock.c.
90807         * lib/ioctl.c: New file, based on winsock.c.
90808         * lib/listen.c: New file, based on winsock.c.
90809         * lib/recv.c: New file, based on winsock.c.
90810         * lib/recvfrom.c: New file, based on winsock.c.
90811         * lib/send.c: New file, based on winsock.c.
90812         * lib/sendto.c: New file, based on winsock.c.
90813         * lib/setsockopt.c: New file, based on winsock.c.
90814         * lib/shutdown.c: New file, based on winsock.c.
90815         * lib/socket.c: New file, based on winsock.c.
90816         * lib/w32sock.h: New file, based on winsock.c.
90817         * lib/winsock.c: Remove file.
90818         * modules/accept: Likewise.
90819         * modules/bind: Likewise.
90820         * modules/connect: Likewise.
90821         * modules/getpeername: Likewise.
90822         * modules/getsockname: Likewise.
90823         * modules/getsockopt: Likewise.
90824         * modules/ioctl: Likewise.
90825         * modules/listen: Likewise.
90826         * modules/recv: Likewise.
90827         * modules/recvfrom: Likewise.
90828         * modules/send: Likewise.
90829         * modules/sendto: Likewise.
90830         * modules/setsockopt: Likewise.
90831         * modules/shutdown: Likewise.
90832         * modules/socket: Use socket.c instead of winsock.c.
90833         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
90834         * doc/posix-functions/accept.texi: Doc fix.
90835         * doc/posix-functions/bind.texi: Doc fix.
90836         * doc/posix-functions/close.texi: Doc fix.
90837         * doc/posix-functions/connect.texi: Doc fix.
90838         * doc/posix-functions/getpeername.texi: Doc fix.
90839         * doc/posix-functions/getsockname.texi: Doc fix.
90840         * doc/posix-functions/getsockopt.texi: Doc fix.
90841         * doc/posix-functions/ioctl.texi: Doc fix.
90842         * doc/posix-functions/listen.texi: Doc fix.
90843         * doc/posix-functions/recv.texi: Doc fix.
90844         * doc/posix-functions/recvfrom.texi: Doc fix.
90845         * doc/posix-functions/send.texi: Doc fix.
90846         * doc/posix-functions/sendto.texi: Doc fix.
90847         * doc/posix-functions/setsockopt.texi: Doc fix.
90848         * doc/posix-functions/shutdown.texi: Doc fix.
90849         * doc/posix-functions/socket.texi: Doc fix.
90851 2008-10-20  Bruno Haible  <bruno@clisp.org>
90853         Take into account the role of SIGABRT_COMPAT on Windows 2008.
90854         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
90855         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
90856         as an alias for SIGABRT.
90857         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
90858         (sigaction): Map it to SIGABRT.
90859         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
90861 2008-10-20  Bruno Haible  <bruno@clisp.org>
90863         * lib/fts.c: Don't include lstat.h.
90864         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
90866         Move the lstat() declaration to <sys/stat.h>.
90867         * lib/lstat.h: Remove file.
90868         * lib/sys_stat.in.h: Add special invocation convention.
90869         (lstat): New declaration.
90870         * lib/lstat.c (orig_lstat): New function.
90871         (rpl_lstat): Use orig_lstat instead of lstat.
90872         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
90873         AC_C_INLINE. Set REPLACE_LSTAT.
90874         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
90875         and REPLACE_LSTAT.
90876         * modules/lstat (Files): Remove lib/lstat.h.
90877         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
90878         (Include): Specify <sys/stat.h> instead of lstat.h.
90879         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
90880         REPLACE_LSTAT.
90881         * NEWS: Mention the change.
90883 2008-10-20  Bruno Haible  <bruno@clisp.org>
90885         * modules/posix_spawn-tests: New file.
90886         * tests/test-posix_spawn3.c: New file.
90888 2008-10-20  Bruno Haible  <bruno@clisp.org>
90890         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
90891         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
90892         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
90893         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
90894         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
90896 2008-10-20  Bruno Haible  <bruno@clisp.org>
90898         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
90899         of posix_spawn on AIX 5.3.
90901 2008-10-20  Bruno Haible  <bruno@clisp.org>
90903         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
90905 2008-10-20  Bruno Haible  <bruno@clisp.org>
90907         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
90908         of AC_LANG_PROGRAM.
90910 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90912         * lib/netdb.in.h: Don't define GNU specific constants until they
90913         are supported or needed.  Reported by Bruno Haible
90914         <bruno@clisp.org>.
90916 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90918         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
90920 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90922         * lib/getaddrinfo.h: Remove file.
90923         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
90924         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
90925         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
90926         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
90927         * modules/netdb: Substitute GNULIB_GETADDRINFO.
90928         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
90929         * tests/test-getaddrinfo.c: Likewise.
90930         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
90931         * NEWS: Mention change.
90933 2008-10-19  Bruno Haible  <bruno@clisp.org>
90935         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
90937 2008-10-19  Bruno Haible  <bruno@clisp.org>
90939         * lib/wait-process.c: Include simply <sys/wait.h>.
90940         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
90941         WIFSTOPPED): Remove fallback definitions.
90942         * modules/wait-process (Depends-on): Add sys_wait.
90944         New module 'sys_wait'.
90945         * modules/sys_wait: New file.
90946         * lib/sys_wait.in.h: New file, partially copied from
90947         lib/wait-process.c.
90948         * m4/sys_wait_h.m4: New file.
90949         * doc/posix-headers/sys_wait.texi: Mention the new module.
90951 2008-10-19  Bruno Haible  <bruno@clisp.org>
90953         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
90955 2008-10-19  Bruno Haible  <bruno@clisp.org>
90957         Assume that waitpid() fills an 'int' status, not a 'union wait'.
90958         * lib/wait-process.c (WAIT_T): Remove type.
90959         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
90960         (wait_subprocess): Update.
90962 2008-10-19  Bruno Haible  <bruno@clisp.org>
90964         New module 'atoll'.
90965         * modules/atoll: New file.
90966         * lib/stdlib.in.h (atoll): New declaration.
90967         * lib/atoll.c: New file, from glibc with modifications.
90968         * m4/atoll.m4: New file.
90969         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
90970         HAVE_ATOLL.
90971         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
90972         * doc/posix-functions/atoll.texi: Mention the new module.
90974 2008-10-19  Bruno Haible  <bruno@clisp.org>
90976         Add strtoull() declaration to <stdlib.h>.
90977         * lib/stdlib.in.h (strtoull): New declaration.
90978         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
90979         Set HAVE_STRTOULL.
90980         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
90981         HAVE_STRTOULL.
90982         * modules/strtoull (Depends-on): Add stdlib.
90983         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90984         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
90985         HAVE_STRTOULL.
90987 2008-10-19  Bruno Haible  <bruno@clisp.org>
90989         Add strtoll() declaration to <stdlib.h>.
90990         * lib/stdlib.in.h (strtoll): New declaration.
90991         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
90992         Set HAVE_STRTOLL.
90993         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
90994         HAVE_STRTOLL.
90995         * modules/strtoll (Depends-on): Add stdlib.
90996         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90997         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
90999 2008-10-19  Bruno Haible  <bruno@clisp.org>
91001         * modules/bcopy (Depends-on): Add strings.
91002         (Include): Specify <strings.h>.
91004 2008-10-19  Bruno Haible  <bruno@clisp.org>
91006         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
91008 2008-10-19  Bruno Haible  <bruno@clisp.org>
91010         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
91011         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
91012         mingw.
91014 2008-10-19  Bruno Haible  <bruno@clisp.org>
91016         * lib/atanl.c: Don't include isnanl.h.
91017         * lib/cosl.c: Likewise.
91018         * lib/ldexpl.c: Likewise.
91019         * lib/logl.c: Likewise.
91020         * lib/sinl.c: Likewise.
91021         * lib/sqrtl.c: Likewise.
91022         * lib/tanl.c: Likewise.
91024         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
91025         * lib/isnanf.h: Remove file.
91026         * lib/isnand.h: Remove file.
91027         * lib/isnanl.h: Remove file.
91028         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
91029         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
91030         macros.
91031         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
91032         HAVE_ISNANF, don't define it as a C macro.
91033         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
91034         HAVE_ISNAND, don't define it as a C macro.
91035         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
91036         HAVE_ISNANL, don't define it as a C macro.
91037         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
91038         HAVE_ISNAN[FDL].
91039         * modules/isnanf (Files): Remove lib/isnanf.h.
91040         (Depends-on): Add math.
91041         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
91042         (Include): Specify <math.h> instead of isnanf.h.
91043         * modules/isnand (Files): Remove lib/isnand.h.
91044         (Depends-on): Add math.
91045         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
91046         (Include): Specify <math.h> instead of isnand.h.
91047         * modules/isnanl (Files): Remove lib/isnanl.h.
91048         (Depends-on): Add math.
91049         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
91050         (Include): Specify <math.h> instead of isnanl.h.
91051         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
91052         HAVE_ISNAN[FDL].
91053         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
91054         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
91055         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
91056         * NEWS: Mention the change.
91058 2008-10-18  Bruno Haible  <bruno@clisp.org>
91060         Add getusershell(), setusershell(), endusershell() declarations to
91061         <unistd.h>.
91062         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
91063         declarations.
91064         * lib/getusershell.c: Include unistd.h.
91065         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
91066         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
91067         HAVE_GETUSERSHELL.
91068         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
91069         and HAVE_GETUSERSHELL.
91070         * modules/getusershell (Depends-on): Add unistd, extensions.
91071         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91072         (Include): Specify <unistd.h>.
91073         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
91074         HAVE_GETUSERSHELL.
91076 2008-10-18  Bruno Haible  <bruno@clisp.org>
91078         Add a getloadavg() declaration to <stdlib.h>.
91079         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
91080         getloadavg declaration.
91081         (getloadavg): New declaration.
91082         * lib/getloadavg.c: Include <stdlib.h> first.
91083         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
91084         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
91085         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
91086         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
91087         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
91088         * modules/getloadavg (Depends-on): Add stdlib, extensions.
91089         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91090         (Include): Specify <stdlib.h>.
91091         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
91092         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
91094 2008-10-18  Bruno Haible  <bruno@clisp.org>
91096         * lib/dirchownmod.c: Don't include lchmod.h.
91098         Move the lchmod() declaration to <sys/stat.h>.
91099         * lib/lchmod.h: Remove file.
91100         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
91101         (lchmod): New declaration, moved here from lib/lchown.h.
91102         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
91103         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
91104         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
91105         and HAVE_LCHMOD.
91106         * modules/lchmod (Files): Remove lib/lchmod.h.
91107         (Depends-on): Add sys_stat, extensions.
91108         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
91109         (Include): Specify <sys/stat.h> instead of lchmod.h.
91110         * modules/sys_stat (Depends-on): Add link-warning.
91111         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
91112         definition of GL_LINK_WARNING.
91113         * NEWS: Mention the change.
91115 2008-10-18  Bruno Haible  <bruno@clisp.org>
91117         * lib/fchdir.c: Don't include dirfd.h.
91118         * lib/fts.c: Likewise.
91119         * lib/getcwd.c: Likewise.
91120         * lib/glob.c: Likewise.
91122         Move the dirfd() declaration to <dirent.h>.
91123         * lib/dirfd.h: Remove file.
91124         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
91125         (dirfd): New declaration.
91126         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
91127         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
91128         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
91129         HAVE_DECL_DIRFD.
91130         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
91131         HAVE_DECL_DIRFD.
91132         * modules/dirfd (Files): Remove lib/dirfd.h.
91133         (Depends-on): Add dirent, extensions.
91134         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
91135         (Include): Specify <dirent.h> instead of dirfd.h.
91136         * modules/dirent (Depends-on): Add link-warning.
91137         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
91138         definition of GL_LINK_WARNING.
91139         * NEWS: Mention the change.
91141 2008-10-18  Bruno Haible  <bruno@clisp.org>
91143         Move the euidaccess() declaration to <unistd.h>.
91144         * lib/euidaccess.h: Remove file.
91145         * lib/unistd.in.h (euidaccess): New declaration.
91146         * lib/euidaccess.c: Don't include euidaccess.h.
91147         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
91148         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
91149         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
91150         and HAVE_EUIDACCESS.
91151         * modules/euidaccess (Files): Remove lib/euidaccess.h.
91152         (Depends-on): Add unistd.
91153         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91154         (Include): Specify <unistd.h> instead of euidaccess.h.
91155         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
91156         HAVE_EUIDACCESS.
91157         * NEWS: Mention the change.
91159 2008-10-18  Bruno Haible  <bruno@clisp.org>
91161         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
91163         Move the getdomainname() declaration to <unistd.h>.
91164         * lib/getdomainname.h: Remove file.
91165         * lib/unistd.in.h (getdomainname): New declaration.
91166         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
91167         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
91168         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
91169         HAVE_GETDOMAINNAME.
91170         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91171         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
91172         * modules/getdomainname (Files): Remove lib/getdomainname.h.
91173         (Depends-on): Add unistd, extensions.
91174         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91175         (Includes): Specify <unistd.h> instead of getdomainname.h.
91176         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
91177         HAVE_GETDOMAINNAME.
91178         * NEWS: Mention the change.
91180 2008-10-18  Bruno Haible  <bruno@clisp.org>
91182         * modules/dirent: New file.
91183         * m4/dirent_h.m4: New file.
91184         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
91185         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
91186         * modules/fchdir (Files): Remove lib/dirent.in.h.
91187         (Depends-on): Add dirent.
91188         (Makefile.am): Move rules to modules/dirent.
91189         * doc/posix-headers/dirent.texi: Mention the new module.
91191 2008-10-18  Bruno Haible  <bruno@clisp.org>
91193         Avoid -Wunused-parameter warnings in public gnulib header files.
91194         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
91195         macro.
91196         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
91198 2008-10-18  Bruno Haible  <bruno@clisp.org>
91200         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
91201         * doc/glibc-functions/error.texi: Mention the module 'error'.
91202         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
91203         * doc/glibc-functions/getdomainname.texi: Mention the module
91204         'getdomainname'.
91205         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
91206         * doc/glibc-functions/getpagesize.texi: Mention the module
91207         'getpagesize'.
91208         * doc/glibc-functions/getusershell.texi: Mention the module
91209         'getusershell'.
91210         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
91211         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
91212         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
91213         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
91214         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
91215         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
91216         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
91217         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
91218         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
91219         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
91220         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
91221         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
91222         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
91223         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
91225 2008-10-17  Bruno Haible  <bruno@clisp.org>
91227         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
91228         HP-UX and IRIX, use -0.0L.
91229         * tests/test-ceill.c (minus_zero): Likewise.
91230         * tests/test-floorl.c (minus_zero): Likewise.
91231         * tests/test-frexpl.c (minus_zero): Likewise.
91232         * tests/test-isnan.c (minus_zerol): Likewise.
91233         * tests/test-isnanl.h (minus_zero): Likewise.
91234         * tests/test-ldexpl.c (minus_zero): Likewise.
91235         * tests/test-roundl.c (minus_zero): Likewise.
91236         * tests/test-signbit.c (minus_zerol): Likewise.
91237         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
91238         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
91239         * tests/test-truncl.c (minus_zero): Likewise.
91240         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
91241         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
91242         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
91243         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
91245 2008-10-17  Bruno Haible  <bruno@clisp.org>
91247         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
91248         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
91249         that it gets activated only for gcc >= 3.0.
91250         * lib/dirent.in.h: Likewise.
91251         * lib/errno.in.h: Likewise.
91252         * lib/fcntl.in.h: Likewise.
91253         * lib/float.in.h: Likewise.
91254         * lib/iconv.in.h: Likewise.
91255         * lib/inttypes.in.h: Likewise.
91256         * lib/locale.in.h: Likewise.
91257         * lib/math.in.h: Likewise.
91258         * lib/netdb.in.h: Likewise.
91259         * lib/netinet_in.in.h: Likewise.
91260         * lib/search.in.h: Likewise.
91261         * lib/signal.in.h: Likewise.
91262         * lib/spawn.in.h: Likewise.
91263         * lib/stdarg.in.h: Likewise.
91264         * lib/stdint.in.h: Likewise.
91265         * lib/stdio.in.h: Likewise.
91266         * lib/stdlib.in.h: Likewise.
91267         * lib/string.in.h: Likewise.
91268         * lib/strings.in.h: Likewise.
91269         * lib/sys_file.in.h: Likewise.
91270         * lib/sys_ioctl.in.h: Likewise.
91271         * lib/sys_select.in.h: Likewise.
91272         * lib/sys_socket.in.h: Likewise.
91273         * lib/sys_stat.in.h: Likewise.
91274         * lib/sys_time.in.h: Likewise.
91275         * lib/sysexits.in.h: Likewise.
91276         * lib/time.in.h: Likewise.
91277         * lib/unistd.in.h: Likewise.
91278         * lib/wchar.in.h: Likewise.
91279         * lib/wctype.in.h: Likewise.
91280         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
91282 2008-10-17  Jim Meyering  <meyering@redhat.com>
91284         ignore-value: don't depend on inline module
91285         * modules/ignore-value (Depends-on): Remove 'inline'.
91286         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
91287         Suggestion from Bruno Haible.
91289 2008-10-17  Bruno Haible  <bruno@clisp.org>
91291         New implementation of condition variables for Win32.
91292         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
91293         (gl_linked_waitqueue_t): New type.
91294         (gl_cond_t): Use it.
91295         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
91296         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
91297         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
91298         (glthread_cond_init_func, glthread_cond_wait_func,
91299         glthread_cond_timedwait_func, glthread_cond_signal_func,
91300         glthread_cond_broadcast_func, glthread_cond_destroy_func):
91301         Reimplemented on the basis of gl_linked_waitqueue_t.
91302         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
91303         gl_waitqueue_t.
91304         (gl_rwlock_t): Update.
91305         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
91307 2008-10-17  Simon Josefsson  <simon@josefsson.org>
91309         * modules/recvfrom (Depends-on): Add dependency on getpeername.
91310         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
91312 2008-10-17  Jim Meyering  <meyering@redhat.com>
91314         ignore-value: new module
91315         * modules/ignore-value: New file.
91316         * lib/ignore-value.h: New file.
91317         * MODULES.html.sh (Compiler warning management): New section,
91318         just for this module.  More to come.
91320 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
91322         open-safer.c: avoid 'signed and unsigned in conditional...' warning
91323         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
91324         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
91326 2008-10-16  Jim Meyering  <meyering@redhat.com>
91328         openat-die.c: avoid 'no previous prototype' warning
91329         * lib/openat-die.c: Include "openat.h".
91330         Reported by Reuben Thomas <rrt@sc3d.org>.
91332 2008-10-16  Simon Josefsson  <simon@josefsson.org>
91334         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
91335         * lib/netdb.in.h: Fix typo.
91336         Reported by Bruno Haible  <bruno@clisp.org>
91338         * lib/netdb.in.h: Include sys/socket.h for platforms without
91339         netdb.h, to get structures like hostent on MinGW.
91340         * modules/netdb (Depends-on): Add sys_socket.
91342 2008-10-15  Simon Josefsson  <simon@josefsson.org>
91344         * modules/netdb, modules/netdb-tests: New file.
91345         * m4/netdb_h.m4: New file.
91346         * lib/netdb.in.h: Add, currently just an empty file pending
91347         definitions.
91348         * tests/test-netdb.c: New file.
91349         * doc/posix-headers/netdb.texi: Mention that we replace it if
91350         needed.
91351         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
91352         netdb.
91354 2008-10-15  Simon Josefsson  <simon@josefsson.org>
91356         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
91357         with code.
91359 2008-10-13  Bruno Haible  <bruno@clisp.org>
91361         * lib/glthread/cond.c (glthread_cond_wait_func,
91362         glthread_cond_timedwait_func): Add a comment.
91364 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
91366         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
91367         * tests/test-select.c: Likewise,
91369 2008-10-13  Bruno Haible  <bruno@clisp.org>
91371         * lib/glthread/cond.c (glthread_cond_wait_func,
91372         glthread_cond_timedwait_func): Fix variable name.
91373         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
91375 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
91377         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
91378         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
91379         struct sockaddr.sa_len.
91380         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
91382 2008-10-13  Simon Josefsson  <simon@josefsson.org>
91384         * build-aux/pmccabe2html: Add css and css_url parameters.
91386 2008-10-12  Bruno Haible  <bruno@clisp.org>
91388         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
91389         calling aclx_get.
91390         Reported by Rainer Tammer <tammer@tammer.net>.
91392 2008-10-12  Bruno Haible  <bruno@clisp.org>
91394         Use msvcrt aware primitives for creation/termination of Win32 threads.
91395         * lib/glthread/thread.c: Include <process.h>.
91396         (glthread_create_func): Use _beginthreadex instead of CreateThread.
91397         (wrapper_func): Update signature.
91398         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
91400 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
91401             Bruno Haible  <bruno@clisp.org>
91403         Provide a Win32 implementation of the 'cond' module.
91404         * lib/glthread/cond.h [USE_WIN32]: New implementation.
91405         * lib/glthread/cond.c (glthread_cond_init_func,
91406         glthread_cond_wait_func, glthread_cond_timedwait_func,
91407         glthread_cond_signal_func, glthread_cond_broadcast_func,
91408         glthread_cond_destroy_func) [USE_WIN32]: New functions.
91409         * modules/cond (Dependencies): Add gettimeofday.
91411 2008-10-11  Bruno Haible  <bruno@clisp.org>
91413         Make sleep work on older versions of mingw.
91414         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
91415         only whether it exists.
91416         * doc/posix-functions/sleep.texi: Mention the problem with older
91417         versions of mingw.
91419 2008-10-11  Bruno Haible  <bruno@clisp.org>
91421         New module 'shutdown'.
91422         * modules/shutdown: New file.
91423         * lib/sys_socket.in.h (shutdown): New declaration.
91424         * lib/winsock.c (shutdown): New function.
91425         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
91426         GNULIB_SHUTDOWN.
91427         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
91428         * doc/posix-functions/shutdown.texi: Document the new module.
91430 2008-10-11  Jim Meyering  <meyering@redhat.com>
91432         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
91434 2008-10-11  Bruno Haible  <bruno@clisp.org>
91436         New module 'fclose'.
91437         * modules/fclose: New file.
91438         * lib/stdio.in.h (fclose): New declaration.
91439         * lib/fclose.c: New file.
91440         * m4/fclose.m4: New file.
91441         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
91442         REPLACE_FCLOSE.
91443         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
91444         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
91445         REPLACE_FCLOSE.
91446         * modules/close (Depends-on): fclose.
91447         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
91449 2008-10-11  Bruno Haible  <bruno@clisp.org>
91451         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
91452         set errno and don't call _close.
91454 2008-10-10  Bruno Haible  <bruno@clisp.org>
91456         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
91457         ACL, not afterwards. Fixes test failure on Cygwin.
91459 2008-10-09  Ben Pfaff  <blp@gnu.org>
91461         * build-aux/announce-gen: Fix gnulib version related part of usage
91462         message.  Die with a useful error message if no tarballs are
91463         found.
91465 2008-10-10  Jim Meyering  <meyering@redhat.com>
91467         bootstrap: use git's --depth=N option only if it's supported
91468         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
91469         recognize the --depth option.  Reported by Pádraig Brady.
91471 2008-10-09  Bruno Haible  <bruno@clisp.org>
91473         New module 'ioctl'.
91474         * modules/ioctl: New file.
91475         * lib/sys_socket.in.h (ioctl): Remove declaration.
91476         * lib/winsock.c: Include <sys/ioctl.h>.
91477         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
91478         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
91479         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
91480         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
91481         * doc/posix-functions/ioctl.texi: Mention the new module.
91483 2008-10-09  Bruno Haible  <bruno@clisp.org>
91485         New module 'sys_ioctl'.
91486         * lib/sys_ioctl.in.h: New file.
91487         * m4/sys_ioctl_h.m4: New file.
91488         * modules/sys_ioctl: New file.
91489         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
91491 2008-10-09  Bruno Haible  <bruno@clisp.org>
91493         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
91494         * lib/winsock.c: Include <stdarg.h>.
91495         (rpl_ioctl): Change to second argument 'int' and then varargs.
91497 2008-10-09  Bruno Haible  <bruno@clisp.org>
91499         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
91500         when the sys_socket module is present and the system has <winsock2.h>.
91502 2008-10-09  Bruno Haible  <bruno@clisp.org>
91504         * doc/posix-functions/close.texi: Mention module 'close' instead of
91505         module 'sys_socket'.
91507 2008-10-09  Bruno Haible  <bruno@clisp.org>
91509         * doc/glibc-headers/sys_ioctl.texi: New file.
91510         * doc/gnulib.texi: Include it.
91512 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91513             Bruno Haible  <bruno@clisp.org>
91515         Combine the two replacements of 'close'.
91516         * lib/sys_socket.in.h (close): Define to a reminder to include
91517         <unistd.h>.
91518         (_gl_close_fd_maybe_socket): New declaration.
91519         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
91520         * lib/winsock.c (close): Remove undefinition.
91521         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
91522         needed for the gnulib module 'close'.
91523         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
91524         define to an error symbol or to a warning, if suitable.
91525         * lib/close.c: Include <sys/socket.h>.
91526         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
91527         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
91528         UNISTD_H_HAVE_WINSOCK2_H.
91529         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
91530         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91531         UNISTD_H_HAVE_WINSOCK2_H.
91532         * modules/sys_socket (Files): Add m4/unistd_h.m4.
91533         (configure.ac): Set a module indicator.
91534         (Makefile.am): Substitute GNULIB_CLOSE.
91535         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
91536         * modules/poll-tests (Depends-on): Add close.
91537         * modules/select-tests (Depends-on): Likewise.
91539 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91540             Bruno Haible  <bruno@clisp.org>
91542         New module 'close'.
91543         * modules/close: New file.
91544         * lib/unistd.in.h (close): Move declaration out of the
91545         FCHDIR_REPLACEMENT scope.
91546         (_gl_unregister_fd): New declaration.
91547         * lib/close.c: New file.
91548         * lib/fchdir.c (rpl_close): Remove function.
91549         * m4/close.m4: New file.
91550         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
91551         close.
91552         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
91553         REPLACE_CLOSE.
91554         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
91555         REPLACE_CLOSE.
91556         * modules/fchdir (Depends-on): Add close.
91558 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91559             Bruno Haible  <bruno@clisp.org>
91561         * lib/fcntl.in.h (open): Simplify conditionals.
91562         (_gl_register_fd): New declaration.
91563         * lib/fchdir.c (rpl_open): Remove function.
91564         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
91565         also.
91566         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
91567         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
91568         open.
91570 2008-10-09  Jim Meyering  <meyering@redhat.com>
91572         GNUmakefile: use the more name-space-friendly "_version"
91573         * top/GNUmakefile (_dummy): Update.
91574         (_version): Rename from "version".
91576 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91577             Bruno Haible  <bruno@clisp.org>
91579         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
91580         rpl_close.
91581         (_gl_register_fd): New function, extracted from rpl_open.
91582         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
91583         (rpl_open, rpl_opendir): Use _gl_register_fd.
91585 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91587         Fix organization of 'open' replacement.
91588         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
91589         (gl_FUNC_OPEN): Use it.
91590         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
91592 2008-10-08  Bruno Haible  <bruno@clisp.org>
91594         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
91596 2008-10-08  Simon Josefsson  <simon@josefsson.org>
91598         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
91599         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
91600         listen).
91602 2008-10-08  Eric Blake  <ebb9@byu.net>
91604         GNUmakefile: add 'make version' target
91605         * top/GNUmakefile (_curr-ver): Split version update rules...
91606         (version): ...into a target.
91608 2008-10-07  Bruno Haible  <bruno@clisp.org>
91610         Use a more portable replacement expression for -0.0L.
91611         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
91612         instead of -0.0L. Fix m4 quotation.
91614         * tests/test-signbit.c: Include <float.h>.
91615         (minus_zero): New variable.
91616         (test_signbitl): Use minus_zero instead of -zero.
91617         * modules/signbit-tests (Depends-on): Add float.
91619         * tests/test-ceill.c: Include <float.h>.
91620         (zero): Remove variable.
91621         (minus_zero): New variable.
91622         (main): Use minus_zero instead of -zero.
91623         * modules/ceill-tests (Depends-on): Add float.
91625         * tests/test-floorl.c: Include <float.h>.
91626         (zero): Remove variable.
91627         (minus_zero): New variable.
91628         (main): Use minus_zero instead of -zero.
91629         * modules/floorl-tests (Depends-on): Add float.
91631         * tests/test-roundl.c: Include <float.h>.
91632         (zero): Remove variable.
91633         (minus_zero): New variable.
91634         (main): Use minus_zero instead of -zero.
91635         * modules/roundl-tests (Depends-on): Add float.
91637         * tests/test-truncl.c: Include <float.h>.
91638         (zero): Remove variable.
91639         (minus_zero): New variable.
91640         (main): Use minus_zero instead of -zero.
91641         * modules/truncl-tests (Depends-on): Add float.
91643         * tests/test-frexpl.c (zero): Remove variable.
91644         (minus_zero): New variable.
91645         (main): Use minus_zero instead of -zero.
91646         * modules/frexpl-tests (Depends-on): Add float.
91648         * tests/test-isnan.c (zerol): Remove variable.
91649         (minus_zerol): New variable.
91650         (test_long_double): Use minus_zerol instead of -zerol.
91651         * modules/isnan-tests (Depends-on): Add float.
91653         * tests/test-isnanl.h (zero): Remove variable.
91654         (minus_zero): New variable.
91655         (main): Use minus_zero instead of -zero.
91656         * modules/isnanl-nolibm-tests (Depends-on): Add float.
91657         * modules/isnanl-tests (Depends-on): Add float.
91659         * tests/test-ldexpl.c (zero): Remove variable.
91660         (minus_zero): New variable.
91661         (main): Use minus_zero instead of -zero.
91662         * modules/ldexpl-tests (Depends-on): Add float.
91664         * tests/test-snprintf-posix.h (zerol): Remove variable.
91665         (minus_zerol): New variable.
91666         (test_function): Use minus_zerol instead of -zerol.
91667         * modules/snprintf-posix-tests (Depends-on): Add float.
91668         * modules/vsnprintf-posix-tests (Depends-on): Add float.
91670         * tests/test-sprintf-posix.h (zerol): Remove variable.
91671         (minus_zerol): New variable.
91672         (test_function): Use minus_zerol instead of -zerol.
91673         * modules/sprintf-posix-tests (Depends-on): Add float.
91674         * modules/vsprintf-posix-tests (Depends-on): Add float.
91676         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
91677         (minus_zerol): New variable.
91678         (test_function): Use minus_zerol instead of -zerol.
91679         * modules/vasnprintf-posix-tests (Depends-on): Add float.
91681         * tests/test-vasprintf-posix.c (zerol): Remove variable.
91682         (minus_zerol): New variable.
91683         (test_function): Use minus_zerol instead of -zerol.
91684         * modules/vasprintf-posix-tests (Depends-on): Add float.
91686 2008-10-07  Simon Josefsson  <simon@josefsson.org>
91688         * MODULES.html.sh (Support for building documentation): Mention
91689         pmccabe2html.  Sort entries.
91691         Add pmccabe2html module, from gnupdf.
91692         * build-aux/pmccabe.css: New file.
91693         * build-aux/pmccabe2html: New file.
91694         * m4/pmccabe2html.m4: New file.
91695         * modules/pmccabe2html: New file.
91697 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
91699         flock: new module
91700         * MODULES.html.sh: Add to list of modules.
91701         * lib/flock.c: flock implementation for Windows and Unix systems
91702         which have fcntl.
91703         * doc/glibc-functions/flock.texi: Update documentation.
91704         * lib/sys_file.in.h: <sys/file.h> header file.
91705         * m4/flock.m4: M4 macros.
91706         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
91707         * modules/flock: flock module.
91708         * modules/flock-tests: flock tests module.
91709         * modules/sys_file: sys/file.h module.
91710         * tests/test-flock.c: test suite for flock.
91712 2008-10-06  Jim Meyering  <meyering@redhat.com>
91714         bootstrap: check for LT_INIT more portably still ;-)
91715         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
91716         Spotted by Bruno Haible.
91718 2008-10-06  Eric Blake  <ebb9@byu.net>
91720         test-signbit: avoid tripping Irix cc bug on -0.0L
91721         * tests/test-signbit.c (minus_zerol): Delete, and replace with
91722         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
91723         entire testsuite consistent and avoids an Irix 6.2 bug.
91725 2008-10-05  Bruno Haible  <bruno@clisp.org>
91726             Jim Meyering  <jim@meyering.net>
91728         Add an option for ignoring EPIPE during close_stdout.
91729         * lib/closeout.h: Include <stdbool.h>.
91730         (close_stdout_set_ignore_EPIPE): New declaration.
91731         * lib/closeout.c: Include <stdbool.h>.
91732         (ignore_EPIPE): New variable.
91733         (close_stdout_set_ignore_EPIPE): New function.
91734         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
91735         * lib/close-stream.c (close_stream): Mention the possible EPIPE
91736         failure.
91737         * modules/closeout (Depends-on): Add stdbool.
91739 2008-10-05  Bruno Haible  <bruno@clisp.org>
91741         * modules/accept: New file.
91742         * modules/bind: New file.
91743         * modules/connect: New file.
91744         * modules/getpeername: New file.
91745         * modules/getsockname: New file.
91746         * modules/getsockopt: New file.
91747         * modules/listen: New file.
91748         * modules/recv: New file.
91749         * modules/recvfrom: New file.
91750         * modules/send: New file.
91751         * modules/sendto: New file.
91752         * modules/setsockopt: New file.
91753         * modules/socket: New file.
91754         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
91755         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
91756         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
91757         the particular module is requested. Add a link warning when the
91758         particular module is not requested.
91759         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
91760         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
91761         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
91762         the particular module is requested.
91763         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
91764         gl_SYS_SOCKET_H_DEFAULTS): New macros.
91765         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
91766         * modules/sys_socket (Depends-on): Add link-warning.
91767         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
91768         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
91769         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
91770         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
91771         GL_LINK_WARNING.
91772         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
91773         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
91774         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
91775         * doc/posix-functions/getpeername.texi: Mention the new module
91776         'getpeername'.
91777         * doc/posix-functions/getsockname.texi: Mention the new module
91778         'getsockname'.
91779         * doc/posix-functions/getsockopt.texi: Mention the new module
91780         'getsockopt'.
91781         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
91782         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
91783         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
91784         * doc/posix-functions/send.texi: Mention the new module 'send'.
91785         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
91786         * doc/posix-functions/setsockopt.texi: Mention the new module
91787         'setsockopt'.
91788         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
91789         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
91790         listen, connect, accept.
91791         * modules/select-tests (Depends-on): Likewise.
91793 2008-10-05  Bruno Haible  <bruno@clisp.org>
91795         * lib/winsock.c (strerror): Remove unused #undef.
91796         (rpl_close): Remove unused local variable.
91798         * modules/sys_socket (Depends-on); Add errno.
91800 2008-10-05  Bruno Haible  <bruno@clisp.org>
91802         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
91803         (select): Add a link warning when the 'select' module is not used.
91804         * modules/sys_select (Depends-on): Add link-warning.
91805         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
91806         Suggested by Paolo Bonzini.
91808 2008-10-05  Jim Meyering  <meyering@redhat.com>
91810         bootstrap: check for LT_INIT more portably
91811         * build-aux/bootstrap: Avoid using grep -E, since it's not
91812         portable enough.  Suggestion from Bruno Haible.
91814 2008-10-05  Bruno Haible  <bruno@clisp.org>
91816         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
91817         as being fixed by gnulib.
91819 2008-10-05  Bruno Haible  <bruno@clisp.org>
91821         * modules/select-tests: New file, mostly copied from
91822         modules/sys_select-tests.
91823         * tests/test-select.c: New file, mostly copied from
91824         tests/test-sys_select.c.
91825         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
91826         * modules/sys_select-tests (Depends-on): Remove all dependencies.
91827         (Makefile.am): Remove test_sys_select_LDADD.
91829         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
91830         to an undefined symbol, for an error message.
91831         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
91832         (gl_SYS_SELECT_H_DEFAULTS): New macro.
91833         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
91834         winsock-select.c here.
91835         * modules/sys_select (Files): Remove lib/winsock-select.c.
91836         (Depends-on): Remove alloca.
91837         (Makefile.am): Substitute GNULIB_SELECT.
91838         * modules/select: New file.
91839         * doc/posix-functions/select.texi: Update.
91841 2008-10-05  Bruno Haible  <bruno@clisp.org>
91843         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
91844         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
91845         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
91846         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
91847         getdtablesize.
91848         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
91849         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
91851 2008-10-05  Bruno Haible  <bruno@clisp.org>
91853         * modules/getdtablesize-tests: New file.
91854         * tests/test-getdtablesize.c: New file.
91856         New module 'getdtablesize'.
91857         * lib/unistd.in.h (getdtablesize): New declaration.
91858         * lib/getdtablesize.c: New file.
91859         * m4/getdtablesize.m4: New file.
91860         * modules/getdtablesize: New file.
91861         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91862         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
91863         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
91864         HAVE_GETDTABLESIZE.
91865         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
91867 2008-10-05  Bruno Haible  <bruno@clisp.org>
91869         * modules/sched (Makefile.am): Fix typo.
91870         Reported by Simon Josefsson.
91872 2008-10-05  Jim Meyering  <meyering@redhat.com>
91874         bootstrap: check for LT_INIT, too
91875         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
91876         are deprecated.  Suggestion from Ralf Wildenhues.
91878 2008-10-05  Bruno Haible  <bruno@clisp.org>
91880         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
91881         overriding them by ours.
91882         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
91884 2008-10-05  Jim Meyering  <meyering@redhat.com>
91886         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
91887         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
91888         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
91890 2008-10-04  Bruno Haible  <bruno@clisp.org>
91892         * modules/dup2 (License): Change to LGPLv2+.
91893         * modules/sleep (License): Likewise.
91894         * modules/perror (License): Likewise.
91895         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
91896         Blake.
91897         * modules/signal (License): Likewise.
91898         * modules/sigprocmask (License): Likewise.
91899         * modules/raise (License): Change to LGPLv2+, with approval by Jim
91900         Meyering.
91902 2008-10-04  Bruno Haible  <bruno@clisp.org>
91904         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
91905         Reported by Rainer Tammer <tammer@tammer.net>.
91907 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
91908             Bruno Haible  <bruno@clisp.org>
91910         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
91911         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
91912         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
91914 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
91916         filevercmp: new module
91917         * lib/filevercmp.h: New function filevercmp comparing version strings.
91918         * lib/filevercmp.c: Implementation of filevercmp function.
91919         * modules/filevercmp: Module metadata.
91920         * tests/test-filevercmp.c: Unit test for new module.
91921         * modules/filevercmp-tests: Unit test metadata.
91922         * MODULES.html.sh: Add filevercmp module.
91924 2008-10-03  Bruno Haible  <bruno@clisp.org>
91926         * lib/c-ctype.h: Add comment.
91927         Reported by Jim Meyering.
91929 2008-10-02  Bruno Haible  <bruno@clisp.org>
91931         * modules/posix_spawn-internal (Depends-on): Add 'open'.
91933 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91935         * build-aux/bootstrap: Allow renaming bootstrap, and change the
91936         name of bootstrap.conf accordingly.
91938 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91940         * build-aux/bootstrap: Install git-merge-changelog configuration
91941         items into .gitconfig if needed.
91943 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91945         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
91946         git repository, and initialize/update it accordingly.
91948 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
91950         * modules/fsync-tests: New file.
91951         * tests/test-fsync.c: New file.
91953         New module 'fsync'.
91954         * lib/fsync.c: New file.
91955         * m4/fsync.m4: New file.
91956         * modules/fsync: New file.
91957         * lib/unistd.in.h (fsync): New declaration.
91958         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
91959         GNULIB_FSYNC and HAVE_FSYNC.
91960         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
91961         * MODULES.html.sh (posix_functions): Add fsync.
91962         * doc/posix-functions/fsync.texi: Mention the new module.
91964 2008-10-02  Jim Meyering  <meyering@redhat.com>
91966         fts.c: sync with similar code from coreutils' remove.c
91967         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
91968         Guard also with "#if defined __linux__", since for now at least,
91969         this code is Linux-kernel-specific.
91971 2008-10-02  Jim Meyering  <meyering@redhat.com>
91973         fts: bug fixes
91974         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
91975         Include <sys/vfs.h>, not <sys/statfs.h>.
91977         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
91978         Include <sys/vfs.h>, not <sys/statfs.h>.
91980 2008-10-01  Bruno Haible  <bruno@clisp.org>
91982         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
91983         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
91984         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
91985         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
91986         * doc/posix-functions/posix_spawnp.texi: Likewise.
91987         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
91988         whether posix_spawn actually works.
91989         * m4/pipe.m4 (gl_PIPE): Likewise.
91990         * modules/execute (Files): Add m4/posix_spawn.m4.
91991         * modules/pipe (Files): Add m4/posix_spawn.m4.
91992         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
91994 2008-10-01  Jim Meyering  <meyering@redhat.com>
91996         remove trailing spaces
91997         * NEWS: Likewise.
91998         * lib/poll.c (poll): Likewise.
91999         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
92000         * lib/winsock.c (rpl_close): Likewise.
92001         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
92002         * modules/yield: Likewise.
92003         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
92004         * tests/test-sys_select.c (connect_to_socket): Likewise.
92006         fts.c: adjust a new interface to be more generally useful
92007         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
92008         (fts_build): Adjust caller.
92010 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92012         * modules/cond-tests: New file.
92013         * tests/test-cond.c: New file.
92015 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92016             Bruno Haible  <bruno@clisp.org>
92018         * modules/cond (Dependencies): Add errno, time.
92019         * lib/glthread/cond.h: Include <time.h>.
92020         (gl_cond_define, gl_cond_define_initialized): Use the same definition
92021         across platforms.
92023 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92024             Bruno Haible  <bruno@clisp.org>
92026         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
92028 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92029             Bruno Haible  <bruno@clisp.org>
92031         * modules/tls-tests (Depends-on): Add thread, yield.
92032         (configure.ac): Remove all checks.
92033         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
92034         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
92035         gl_thread_self): Remove definitions. Include glthread/thread.h and
92036         glthread/yield.h instead.
92037         (test_tls): Pass an additional NULL argument to gl_thread_join.
92039 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92040             Bruno Haible  <bruno@clisp.org>
92042         * modules/lock-tests (Depends-on): Add thread, yield.
92043         (configure.ac): Remove all checks.
92044         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
92045         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
92046         gl_thread_self): Remove definitions. Include glthread/thread.h and
92047         glthread/yield.h instead.
92048         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
92049         additional NULL argument to gl_thread_join.
92051 2008-09-30  Bruno Haible  <bruno@clisp.org>
92053         Fix the Win32 implementation of the 'thread' module.
92054         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
92055         pointer type.
92056         (gl_thread_self): Invoke gl_thread_self_func.
92057         (gl_thread_self_func): New declaration.
92058         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
92059         (do_init_self_key, init_self_key): New functions.
92060         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
92061         Remove some fields.
92062         (running_threads, running_lock): Remove variables.
92063         (get_current_thread_handle): New function.
92064         (gl_thread_self_func, wrapper_func, glthread_create_func,
92065         glthread_join_func, gl_thread_exit_func): Largely rewritten and
92066         simplified.
92068 2008-09-30  Bruno Haible  <bruno@clisp.org>
92070         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
92071         files.
92073 2008-09-30  Jim Meyering  <meyering@redhat.com>
92075         fts.m4: correct the test for statfs.f_type
92076         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
92077         when checking for statfs.f_type.
92079 2008-09-15  Simon Josefsson  <simon@josefsson.org>
92081         tests: avoid some compiler warnings
92082         * tests/test-memchr.c (main): Pass NULL indirectly.
92083         * tests/test-getdate.c (main): Remove unused variable 'ret'.
92085 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
92087         getdate.y: disallow countable dayshifts like "4 yesterday ago"
92088         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
92089         exactly specified dayshifts.
92090         (dayshift): New rule.
92091         (rel): Add dayshift.
92092         (relative_time_table) [tomorrow, yesterday, today, now]:
92093         Use tDAY_SHIFT in place of tDAY_UNIT.
92094         * tests/test-getdate.c: Add tests for now-disallowed countable
92095         dayshifts, e.g., "4 yesterday ago".
92097 2008-09-29  Bruno Haible  <bruno@clisp.org>
92099         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
92100         * tests/test-posix_spawn1.in.sh: Renamed from
92101         tests/test-posix_spawn.in.sh.
92102         * tests/test-posix_spawn2.c: New file.
92103         * tests/test-posix_spawn2.in.sh: New file.
92104         * modules/posix_spawnp-tests (Files): Update.
92105         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
92107 2008-09-29  Bruno Haible  <bruno@clisp.org>
92109         Propagate effects of putenv/setenv/unsetenv to child processes.
92110         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
92111         * lib/pipe.c (create_pipe): Likewise.
92113 2008-09-29  Bruno Haible  <bruno@clisp.org>
92115         Enable use of shell scripts as executables in mingw.
92116         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
92117         run the program as a shell script.
92118         * lib/pipe.c (create_pipe): Likewise.
92119         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
92120         resulting array.
92122 2008-09-29  Eric Blake  <ebb9@byu.net>
92124         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
92126 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
92128         * doc/posix-functions/accept.texi: Update mingw problems.
92129         * doc/posix-functions/bind.texi: Update mingw problems.
92130         * doc/posix-functions/close.texi: Update mingw problems.
92131         * doc/posix-functions/connect.texi: Update mingw problems.
92132         * doc/posix-functions/getpeername.texi: Update mingw problems.
92133         * doc/posix-functions/getsockname.texi: Update mingw problems.
92134         * doc/posix-functions/getsockopt.texi: Update mingw problems.
92135         * doc/posix-functions/ioctl.texi: Update mingw problems.
92136         * doc/posix-functions/listen.texi: Update mingw problems.
92137         * doc/posix-functions/recv.texi: Update mingw problems.
92138         * doc/posix-functions/recvfrom.texi: Update mingw problems.
92139         * doc/posix-functions/select.texi: Update mingw problems.
92140         * doc/posix-functions/send.texi: Update mingw problems.
92141         * doc/posix-functions/sendto.texi: Update mingw problems.
92142         * doc/posix-functions/setsockopt.texi: Update mingw problems.
92143         * doc/posix-functions/socket.texi: Update mingw problems.
92145 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
92146             Bruno Haible  <bruno@clisp.org>
92148         * lib/sys_select.in.h: Include sys/time.h.
92149         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
92150         * modules/sys_select: Depend on sys_time.
92151         * tests/test-sys_select.c: Test that sys/select.h defines struct
92152         timeval fully.
92154 2008-09-29  Bruno Haible  <bruno@clisp.org>
92156         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
92157         * lib/sys_select.in.h: Likewise.
92159 2008-09-29  Bruno Haible  <bruno@clisp.org>
92161         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
92163 2008-09-29  Bruno Haible  <bruno@clisp.org>
92165         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
92166         Set LIBSOCKET instead of augmenting LIBS.
92167         * modules/sockets (Link): New section.
92168         * modules/sockets-tests (test_sockets_LDADD): New variable.
92169         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
92170         * modules/poll-tests (test_poll_LDADD): New variable.
92171         * NEWS: Document the change.
92173 2008-09-29  Bruno Haible  <bruno@clisp.org>
92175         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
92176         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
92177         ARPA_INET_H directly.
92178         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
92180 2008-09-28  Bruno Haible  <bruno@clisp.org>
92182         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
92183         from gl_HEADER_SYS_SOCKET.
92184         (gl_HEADER_SYS_SOCKET): Invoke it.
92185         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
92187 2008-09-28  Bruno Haible  <bruno@clisp.org>
92189         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
92190         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
92191         Needed on OSF/1 4.0.
92193 2008-09-28  Bruno Haible  <bruno@clisp.org>
92195         Override open more carefully.
92196         * lib/open.c (orig_open): New function.
92197         (rpl_open): Use orig_open instead of open.
92198         * lib/fcntl.in.h: Add special invocation convention.
92199         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
92200         (gl_FUNC_OPEN): Invoke it.
92202         Override freopen more carefully.
92203         * lib/freopen.c (orig_freopen): New function.
92204         (rpl_freopen): Use orig_freopen instead of freopen.
92205         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
92206         (gl_FUNC_FREOPEN): Invoke it.
92208         Override fopen more carefully.
92209         * lib/fopen.c (orig_fopen): New function.
92210         (rpl_fopen): Use orig_fopen instead of fopen.
92211         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
92212         (gl_FUNC_FOPEN): Invoke it.
92213         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
92215 2008-09-28  Bruno Haible  <bruno@clisp.org>
92217         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
92218         SIGPIPE.
92220 2008-09-28  Bruno Haible  <bruno@clisp.org>
92222         * tests/test-sigaction.c (handler, main): Disable the check whether
92223         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
92224         glibc systems with LinuxThreads.
92226 2008-09-28  Bruno Haible  <bruno@clisp.org>
92228         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
92230         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
92231         with AIX xlc.
92232         * lib/fcntl.in.h (open): Likewise.
92233         Reported by Rainer Tammer <tammer@tammer.net>.
92235 2008-09-28  Bruno Haible  <bruno@clisp.org>
92237         * modules/posix_spawnp-tests: New file.
92238         * tests/test-posix_spawn.c: New file.
92239         * tests/test-posix_spawn.in.sh: New file.
92241         New module 'posix_spawnp'.
92242         * modules/posix_spawnp: New file.
92243         * lib/spawnp.c: New file, from GNU libc with modifications.
92244         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
92246         New module 'posix_spawn'.
92247         * modules/posix_spawn: New file.
92248         * lib/spawn.c: New file, from GNU libc with modifications.
92249         * doc/posix-functions/posix_spawn.texi: Mention the new module.
92251         New module 'posix_spawnattr_destroy'.
92252         * modules/posix_spawnattr_destroy: New file.
92253         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
92254         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
92255         module.
92257         New module 'posix_spawnattr_setsigmask'.
92258         * modules/posix_spawnattr_setsigmask: New file.
92259         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
92260         modifications.
92261         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
92262         new module.
92264         New module 'posix_spawnattr_getsigmask'.
92265         * modules/posix_spawnattr_getsigmask: New file.
92266         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
92267         modifications.
92268         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
92269         new module.
92271         New module 'posix_spawnattr_setsigdefault'.
92272         * modules/posix_spawnattr_setsigdefault: New file.
92273         * lib/spawnattr_setdefault.c: New file, from GNU libc with
92274         modifications.
92275         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
92276         new module.
92278         New module 'posix_spawnattr_getsigdefault'.
92279         * modules/posix_spawnattr_getsigdefault: New file.
92280         * lib/spawnattr_getdefault.c: New file, from GNU libc with
92281         modifications.
92282         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
92283         new module.
92285         New module 'posix_spawnattr_setschedpolicy'.
92286         * modules/posix_spawnattr_setschedpolicy: New file.
92287         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
92288         modifications.
92289         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
92290         new module.
92292         New module 'posix_spawnattr_getschedpolicy'.
92293         * modules/posix_spawnattr_getschedpolicy: New file.
92294         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
92295         modifications.
92296         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
92297         new module.
92299         New module 'posix_spawnattr_setschedparam'.
92300         * modules/posix_spawnattr_setschedparam: New file.
92301         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
92302         modifications.
92303         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
92304         new module.
92306         New module 'posix_spawnattr_getschedparam'.
92307         * modules/posix_spawnattr_getschedparam: New file.
92308         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
92309         modifications.
92310         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
92311         new module.
92313         New module 'posix_spawnattr_setpgroup'.
92314         * modules/posix_spawnattr_setpgroup: New file.
92315         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
92316         modifications.
92317         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
92318         module.
92320         New module 'posix_spawnattr_getpgroup'.
92321         * modules/posix_spawnattr_getpgroup: New file.
92322         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
92323         modifications.
92324         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
92325         module.
92327         New module 'posix_spawnattr_setflags'.
92328         * modules/posix_spawnattr_setflags: New file.
92329         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
92330         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
92331         module.
92333         New module 'posix_spawnattr_getflags'.
92334         * modules/posix_spawnattr_getflags: New file.
92335         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
92336         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
92337         module.
92339         New module 'posix_spawnattr_init'.
92340         * modules/posix_spawnattr_init: New file.
92341         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
92342         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
92343         module.
92345         New module 'posix_spawn_file_actions_destroy'.
92346         * modules/posix_spawn_file_actions_destroy: New file.
92347         * lib/spawn_faction_destroy.c: New file, from GNU libc with
92348         modifications.
92349         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
92350         the new module.
92352         New module 'posix_spawn_file_actions_addopen'.
92353         * modules/posix_spawn_file_actions_addopen: New file.
92354         * lib/spawn_faction_addopen.c: New file, from GNU libc with
92355         modifications.
92356         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
92357         the new module.
92359         New module 'posix_spawn_file_actions_adddup2'.
92360         * modules/posix_spawn_file_actions_adddup2: New file.
92361         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
92362         modifications.
92363         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
92364         the new module.
92366         New module 'posix_spawn_file_actions_addclose'.
92367         * modules/posix_spawn_file_actions_addclose: New file.
92368         * lib/spawn_faction_addclose.c: New file, from GNU libc with
92369         modifications.
92370         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
92371         the new module.
92373         New module 'posix_spawn_file_actions_init'.
92374         * modules/posix_spawn_file_actions_init: New file.
92375         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
92376         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
92377         new module.
92379         New module 'posix_spawn-internal'.
92380         * modules/posix_spawn-internal: New file.
92381         * lib/spawn_int.h: New file, from GNU libc with modifications.
92382         * lib/spawni.c: New file, from GNU libc with modifications.
92383         * m4/posix_spawn.m4: New file.
92385         New module 'spawn'.
92386         * modules/spawn: New file.
92387         * lib/spawn.in.h: New file, from GNU libc with modifications.
92388         * m4/spawn_h.m4: New file.
92389         * doc/posix-headers/spawn.texi: Mention the new module.
92391 2008-09-28  Bruno Haible  <bruno@clisp.org>
92393         * modules/sched-tests: New file.
92394         * tests/test-sched.c: New file.
92396         New module 'sched'.
92397         * modules/sched: New file.
92398         * lib/sched.in.h: New file.
92399         * m4/sched_h.m4: New file.
92400         * doc/posix-headers/sched.texi: Mention the new module.
92402 2008-09-27  Eric Blake  <ebb9@byu.net>
92404         Fix previous patch, and tweak references to $0.
92405         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
92406         (func_version, func_gnulib_dir): Don't call this program
92407         gnulib-tool.
92408         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
92409         with using $0 in function.
92410         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
92411         (func_fatal_error): Reuse the name the user invoked us with.
92413 2008-09-27  Bruno Haible  <bruno@clisp.org>
92415         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
92416         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
92417         (gl_ICONV_H): Not here.
92418         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
92419         instead of assigning ICONV_H directly.
92421         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
92422         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
92423         WCHAR_H directly.
92425 2008-09-27  Bruno Haible  <bruno@clisp.org>
92427         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
92428         * modules/arpa_inet (Depends-on): Add link-warning.
92429         (Makefile.am): Insert the definition of GL_LINK-WARNING.
92430         * modules/unistd (Makefile.am): Likewise.
92432 2008-09-26  Bruno Haible  <bruno@clisp.org>
92434         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
92435         variables.
92436         (func_version): Essentially copied from gnulib-tool.
92437         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
92438         func_readlink): Copied from gnulib-tool.
92440 2008-09-26  Bruno Haible  <bruno@clisp.org>
92442         * gnulib-tool (func_version): Change directory to $gnulib_dir before
92443         invoking git-version-gen.
92445 2008-09-26  Bruno Haible  <bruno@clisp.org>
92447         * posix-modules: Update to directory names changed on 2008-01-19.
92448         Remove commas in output before splitting into words. No more need to
92449         avoid 'ftruncate' since 2007-02-19.
92451 2008-09-26  Bruno Haible  <bruno@clisp.org>
92453         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
92455 2008-09-26  Bruno Haible  <bruno@clisp.org>
92457         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
92458         * modules/fwriteerror (Depends-on): Add errno.
92460 2008-09-26  Bruno Haible  <bruno@clisp.org>
92462         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
92463         * tests/test-vc-list-files-cvs.sh: Likewise.
92465 2008-09-26  Bruno Haible  <bruno@clisp.org>
92467         * doc/posix-headers/sys_resource.texi: Reorder items.
92469 2008-09-26  Jim Meyering  <meyering@redhat.com>
92471         fts: tweak inode comparison function
92472         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
92473         inode numbers, as documented.
92475         fts: sort dirent entries on inode number before traversing
92476         This avoids a quadratic, seek-related performance penalty when
92477         operating on a directory containing many entries (measurable at 10k;
92478         3.5 hours at 2 million entries with a cold cache) on certain types
92479         of file systems, including ext3 and ext4, but not tmpfs.
92480         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
92481         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
92482         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
92483         (fs_handles_readdir_ordered_dirents_efficiently): New function.
92484         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
92485         (fts_build): Set the stat.st_ino member from D_INO.
92486         If it is likely to be useful, sort dirent entries on inode number.
92488         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
92489         and the struct statfs.f_type member.
92490         * modules/fts (Depends-on): Add d-ino.
92492 2008-09-26  Bruno Haible  <bruno@clisp.org>
92494         * modules/sigpipe-die (Depends-on): Add sigpipe.
92496         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
92497         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
92498         and GNULIB_STDIO_H_SIGPIPE are set.
92499         * lib/stdio-write.c: New file.
92500         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
92501         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
92502         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
92503         REPLACE_STDIO_WRITE_FUNCS.
92504         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
92505         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
92506         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
92507         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
92508         * modules/stdio (Files): Add lib/stdio-write.c.
92509         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
92510         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
92511         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
92512         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
92513         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
92514         REPLACE_FPRINTF_POSIX.
92515         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
92516         REPLACE_PRINTF_POSIX.
92517         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
92518         REPLACE_VFPRINTF_POSIX.
92519         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
92520         REPLACE_VPRINTF_POSIX.
92521         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
92522         SIGPIPE issue.
92523         * doc/posix-functions/fputc.texi: Likewise.
92524         * doc/posix-functions/fputs.texi: Likewise.
92525         * doc/posix-functions/fwrite.texi: Likewise.
92526         * doc/posix-functions/printf.texi: Likewise.
92527         * doc/posix-functions/putc.texi: Likewise.
92528         * doc/posix-functions/putchar.texi: Likewise.
92529         * doc/posix-functions/puts.texi: Likewise.
92530         * doc/posix-functions/vfprintf.texi: Likewise.
92531         * doc/posix-functions/vprintf.texi: Likewise.
92533         * modules/safe-write (Depends-on): Add write.
92535         * modules/sigpipe-tests: New file.
92536         * tests/test-sigpipe.c: New file.
92537         * tests/test-sigpipe.sh: New file.
92539         * modules/write: New file.
92540         * lib/unistd.in.h: Include <sys/types.h>.
92541         (write): New declaration.
92542         * lib/write.c: New file.
92543         * m4/write.m4: New file.
92544         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
92545         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
92546         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
92547         GNULIB_WRITE, REPLACE_WRITE.
92548         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
92549         and the SIGPIPE issue.
92551         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
92552         (raise): New declaration.
92553         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
92554         (ext_signal): New function.
92555         (rpl_raise): New function.
92556         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
92557         GNULIB_SIGNAL_H_SIGPIPE.
92558         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
92559         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
92561         * modules/sigpipe: New file.
92562         * m4/sigpipe.m4: New file.
92564 2008-09-25  Derek Price  <derek@ximbiot.com>
92565             Bruno Haible  <bruno@clisp.org>
92567         * gnulib-tool (func_import): Report all license incompatibilities, not
92568         just the first one.
92570 2008-09-25  Bruno Haible  <bruno@clisp.org>
92572         * gnulib-tool (func_import): When computing the edits, consider not
92573         only the Makefile.ams that exist but also those that will be generated.
92575 2008-09-25  Simon Josefsson  <simon@josefsson.org>
92577         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
92578         fixes gnulib-tool --test warning about duplicate dependency.
92580 2008-09-25  Bruno Haible  <bruno@clisp.org>
92582         * gnulib-tool: Don't ask the user to perform edits in the generated
92583         Makefile.ams.
92584         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
92585         apply to the Makefile.am being generated.
92586         (func_emit_tests_Makefile_am): Execute edits that apply to the
92587         Makefile.am being generated.
92588         (func_import): Setup list of Makefile.am edits before emitting the
92589         Makefile.ams, not at the end.
92590         (func_create_testdir): Update.
92591         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
92593 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92595         * gnulib-tool (func_import): Store the --tests-base option in the
92596         comment in gnulib-cache.m4.
92598 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
92600         * NEWS: Document increased portability that sys_select now provides.
92602         * lib/sys_select.in.h: Install select wrapper.
92603         * lib/sys_socket.in.h: Use more descriptive name when there is no
92604         select wrapper.
92605         * lib/winsock-select.c: New.
92606         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
92607         Require gl_HEADER_SYS_SOCKET.
92608         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
92609         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
92610         * tests/test-sys_select.c: Add functional tests.
92612 2008-09-24  Eric Blake  <ebb9@byu.net>
92614         open, fopen: close fd leak in last patch
92615         * lib/open.c (rpl_open): Close fd before returning error.
92616         * lib/fopen.c (rpl_fopen): Close fd before returning error.
92617         * doc/posix-functions/open.texi (open): Document that Irix also
92618         has the bug.
92619         * doc/posix-functions/fopen.texi (fopen): Likewise.
92620         Reported by Paolo Bonzini.
92622 2008-09-24  Bruno Haible  <bruno@clisp.org>
92624         Ensure that a filename ending in a slash cannot be used to access a
92625         non-directory.
92626         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
92627         to check whether it's really a directory.
92628         * lib/fopen.c: Include fcntl.h, unistd.h.
92629         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
92630         and fdopen().
92631         * modules/fopen (Depends-on): Add unistd.
92632         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
92633         * tests/test-fopen.c (main): Likewise.
92634         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
92635         * doc/posix-functions/fopen.texi: Likewise.
92636         Reported by Eric Blake.
92638 2008-09-23  Eric Blake  <ebb9@byu.net>
92640         c-stack: avoid compiler optimizations when provoking overflow
92641         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
92642         recursion harder to optimize, to ensure a stack overflow occurs.
92643         * tests/test-c-stack.c (recurse): Likewise.
92644         Borrowed from libsigsegv.
92646         c-stack: work around Irix sigaltstack bug
92647         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
92648         whether sigaltstack uses wrong end of stack_t (copied in part from
92649         libsigsegv).
92650         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
92651         Irix bug, without requiring an over-allocation.
92652         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
92653         bug.
92655         fopen: document mingw bug on directories
92656         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
92657         not allowing a stream visiting a directory, even though reading
92658         from such a stream is not portable.
92660 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92662         * lib/poll.c: Rewrite.
92663         * modules/poll: Depend on alloca.
92665 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92667         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
92668         instead define prototypes for a full set of wrappers.  Ensure
92669         that Cygwin does not use the compatibility code, which is only
92670         for MinGW.
92671         * lib/winsock.c: New.
92672         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
92673         * modules/sys_socket: Add lib/winsock.c.
92675         * modules/poll-tests: Add errno and perror.
92676         * tests/test-poll.c: Use ioctl, not ioctlsocket.
92678 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92680         * tests/test-poll.c: Downgrade minimum needed Winsock version.
92682 2008-09-23  Bruno Haible  <bruno@clisp.org>
92684         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
92685         * doc/glibc-functions/*: Likewise.
92687 2008-09-23  Simon Josefsson  <simon@josefsson.org>
92689         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
92690         success.
92692 2008-09-22  Eric Blake  <ebb9@byu.net>
92693             Bruno Haible  <bruno@clisp.org>
92695         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
92696         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
92697         supply %A but mishandle pseudo-NaN.
92698         Reported by Simon Josefsson.
92700 2008-09-21  Bruno Haible  <bruno@clisp.org>
92702         * tests/test-lock.c (main): Tweak skip message.
92703         * tests/test-tls.c (main): Likewise.
92705 2008-09-21  Bruno Haible  <bruno@clisp.org>
92707         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
92708         whether 'struct sigaction' has sa_sigaction here...
92709         (gl_PREREQ_SIG_HANDLER_H): ... not here.
92710         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
92712 2008-09-21  Bruno Haible  <bruno@clisp.org>
92714         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
92715         section.
92716         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
92717         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
92718         the new section.
92719         (Support for obsolete systems lacking POSIX:2001): New section.
92720         (String handling <string.h>): Move strdup to the new section.
92721         Suggested by Simon Josefsson and Paolo Bonzini.
92723 2008-09-21  Bruno Haible  <bruno@clisp.org>
92725         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
92726         exponents in %e and %g results on 'long double'. Needed for mingw's
92727         improved *printf functions.
92728         * tests/test-vasprintf-posix.c (test_function): Likewise.
92729         * tests/test-snprintf-posix.h (test_function): Likewise.
92730         * tests/test-sprintf-posix.h (test_function): Likewise.
92731         Reported by Eric Blake.
92733 2008-09-21  Bruno Haible  <bruno@clisp.org>
92735         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
92736         * tests/test-sprintf-posix.h (test_function): Likewise.
92738 2008-09-21  Bruno Haible  <bruno@clisp.org>
92740         * modules/getpass (Depends-on): Add strdup-posix.
92742         New module 'strdup-posix'.
92743         * modules/strdup-posix: New file.
92744         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
92745         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
92746         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
92747         REPLACE_STRDUP.
92748         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
92749         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
92750         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
92751         strdup-posix.
92753         * modules/strdup (Depends-on): Remove malloc-posix.
92755 2008-09-20  Bruno Haible  <bruno@clisp.org>
92757         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
92758         Wildenhues.
92760 2008-09-20  Bruno Haible  <bruno@clisp.org>
92762         Ensure that wint_t gets defined on IRIX 5.3.
92763         * lib/wchar.in.h (wint_t): Define if not defined by the system.
92764         * lib/wctype.in.h (wint_t): Likewise.
92765         (__wctype_wint_t): Remove type.
92766         (isw*): Use wint_t instead of __wctype_wint_t.
92767         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
92768         * modules/wchar (Files): Add m4/wint_t.m4.
92769         (Makefile.am): Substitute HAVE_WINT_T.
92770         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
92771         * tests/test-wctype.c: Check that wint_t is defined.
92772         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
92773         * doc/posix-headers/wctype.texi: Likewise.
92774         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
92776 2008-09-18  Bruno Haible  <bruno@clisp.org>
92778         * gnulib-tool (func_exit): Update comment.
92780 2008-09-18  Simon Josefsson  <simon@josefsson.org>
92782         * modules/getaddrinfo (Depends-on): Remove strdup, this module
92783         assumes strdup exists and does not depend on strdup to return
92784         ENOMEM on out of memory conditions.
92786 2008-09-18  Bruno Haible  <bruno@clisp.org>
92788         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
92789         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
92790         digits for the exponent.
92792 2008-09-18  Jim Meyering  <meyering@redhat.com>
92793             Bruno Haible  <bruno@clisp.org>
92795         * lib/vasnprintf.c (decimal_point_char): Define also if
92796         NEED_PRINTF_INFINITE_LONG_DOUBLE.
92798 2008-09-16  Bruno Haible  <bruno@clisp.org>
92799         and Eric Blake  <ebb9@byu.net>
92801         vasnprintf: support Irix 5.3
92802         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
92803         that mishandle long double infinity.
92804         Reported by Tom G. Christensen.
92806 2008-09-16  Bruno Haible  <bruno@clisp.org>
92808         * doc/glibc-functions/scandir.texi: Mention the function is missing on
92809         Solaris 9.
92810         * doc/glibc-functions/alphasort.texi: Likewise.
92811         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
92813 2008-09-16  Jim Meyering  <meyering@redhat.com>
92815         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
92816         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
92817         a umask modification leak out of a subshell.  Otherwise, the
92818         opensolaris /bin/sh would be accepted and thus cause unwarranted
92819         failures in the coreutils test suite.
92821 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
92823         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
92824         to succeed.
92826 2008-09-16  Jim Meyering  <meyering@redhat.com>
92828         avoid spurious test failure when library is built without ACL support
92829         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
92830         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
92831         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
92832         * tests/test-copy-acl.sh: Likewise.
92834 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92836         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
92837         based on character occurrence counts.
92839 2008-09-15  Eric Blake  <ebb9@byu.net>
92841         tests: avoid some compiler warnings
92842         * tests/test-memchr.c (main): Pass NULL indirectly.
92843         * tests/test-closein.c (main): Avoid unused variable.
92845 2008-09-15  Bruno Haible  <bruno@clisp.org>
92847         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
92848         are missing on OpenBSD 4.0 individually.
92849         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
92851 2008-09-15  Bruno Haible  <bruno@clisp.org>
92853         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
92854         * doc/posix-functions/strerror.texi: Mention also Cygwin.
92855         * doc/posix-functions/perror.texi: Likewise.
92856         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
92857         is missing.
92858         Reported by Eric Blake.
92860         * lib/errno.in.h: Use replacement values >= 2000.
92861         Reported by Eric Blake.
92863 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92865         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
92866         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
92867         limit.
92868         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
92869         compareseq was aborted.
92871 2008-09-14  Bruno Haible  <bruno@clisp.org>
92873         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
92874         yvec_edit_count.
92875         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
92876         (fstrcmp_bounded): Simplify result computation accordingly.
92878 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92880         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
92881         (fstrcmp): Define in terms of fstrcmp_bounded.
92882         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
92883         lower_bound argument.
92884         Return quickly if the result is certainly < lower_bound.
92885         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
92887 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92889         * lib/diffseq.h (EARLY_ABORT): New macro.
92890         (compareseq): Change return type to bool. Return true when EARLY_ABORT
92891         evaluates to true.
92893 2008-09-14  Bruno Haible  <bruno@clisp.org>
92895         * modules/perror-tests: New file.
92896         * tests/test-perror.sh: New file.
92897         * tests/test-perror.c: New file.
92899         New module 'perror'.
92900         * lib/stdio.in.h (perror): New declaration.
92901         * lib/perror.c: New file.
92902         * m4/perror.m4: New file.
92903         * modules/perror: New file.
92904         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
92905         * doc/posix-functions/perror.texi: Mention the perror module.
92906         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
92907         REPLACE_PERROR.
92908         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
92909         REPLACE_PERROR.
92911 2008-09-14  Bruno Haible  <bruno@clisp.org>
92913         * modules/stdio (Makefile.am): Reorder to match the order in
92914         lib/stdio.in.h.
92915         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
92917 2008-09-13  Bruno Haible  <bruno@clisp.org>
92919         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
92921 2008-09-13  Bruno Haible  <bruno@clisp.org>
92923         Extend strerror to cover the added errno values.
92924         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
92925         (rpl_strerror): Provide error messages for the added errno values and
92926         for the WSA* values.
92927         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
92928         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
92929         strerror.
92930         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
92931         * modules/strerror (Depends-on): Add errno.
92932         * doc/posix-functions/strerror.texi: Document the change.
92933         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
92934         and EOVERFLOW.
92936 2008-09-13  Bruno Haible  <bruno@clisp.org>
92938         * modules/EOVERFLOW: Remove file.
92939         * m4/eoverflow.m4: Remove file.
92940         * modules/EOVERFLOW-tests: Remove file.
92941         * tests/test-EOVERFLOW.c: Remove file.
92942         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
92943         * modules/ftell (Depends-on): Likewise.
92944         * modules/getdelim (Depends-on): Likewise.
92945         * modules/getugroups (Depends-on): Likewise.
92946         * modules/poll (Depends-on): Likewise.
92947         * modules/snprintf (Depends-on): Likewise.
92948         * modules/sprintf-posix (Depends-on): Likewise.
92949         * modules/vasnprintf (Depends-on): Likewise.
92950         * modules/vasprintf (Depends-on): Likewise.
92951         * modules/vfprintf-posix (Depends-on): Likewise.
92952         * modules/vsnprintf (Depends-on): Likewise.
92953         * modules/vsprintf-posix (Depends-on): Likewise.
92954         * modules/xvasprintf (Depends-on): Likewise.
92955         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
92956         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
92957         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
92958         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
92959         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
92960         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
92961         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
92962         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
92963         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
92964         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
92965         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
92966         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
92967         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
92968         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
92969         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
92970         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
92971         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
92972         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
92973         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
92974         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
92975         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
92976         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
92977         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
92978         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
92979         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
92980         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
92981         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
92982         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
92983         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
92984         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
92985         * MODULES.html.sh: Remove EOVERFLOW.
92986         * NEWS: Mention the change.
92988 2008-09-13  Bruno Haible  <bruno@clisp.org>
92990         * modules/errno-tests: New file.
92991         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
92993         * lib/errno.in.h: New file.
92994         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
92995         * modules/errno: New file.
92996         * doc/posix-headers/errno.texi: Update documentation.
92997         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
92999 2008-09-13  Bruno Haible  <bruno@clisp.org>
93001         * tests/test-poll.c: Use #if for native Windows, rather than testing
93002         __MSVCRT__.
93004 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93005             Bruno Haible  <bruno@clisp.org>
93007         * lib/glob.c: Don't include <pwd.h> on native Windows.
93008         (WINDOWS32): New macro.
93009         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
93011 2008-09-13  Bruno Haible  <bruno@clisp.org>
93013         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
93014         (ETIMEDOUT): Remove macro.
93015         (glthread_cond_timedwait_multithreaded): New declaration.
93016         (glthread_cond_timedwait): Use it.
93017         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
93018         (glthread_cond_timedwait_multithreaded): New function.
93020 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
93022         * modules/poll-tests: Do not check for io.h.
93023         * tests/test-poll.c: Check for __MSVCRT__ instead.
93025 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
93027         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
93028         * modules/poll-tests: Add inet_pton, stdbool, sockets.
93029         * tests/test-poll.c: Use them.  Use _pipe on Windows.
93031 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
93033         * modules/poll-tests: New.
93034         * tests/test-poll.c: New.
93036 2008-09-12  Eric Blake  <ebb9@byu.net>
93038         frexp: test for NetBSD failure on -0.0
93039         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
93040         not all, bugs from NetBSD 3.0 have been fixed.
93041         * doc/posix-functions/frexp.texi (frexp): Document bug.
93042         Reported by Thomas Klausner.
93044         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
93045         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
93046         literal -0.0.
93047         Reported by Jonathan C. Patschke <jp@centtech.com>.
93049 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93051         * lib/glthread/cond.h: Use dummy implementation also if
93052         USE_WIN32_THREADS.
93054 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93056         * modules/fnmatch-posix (License): Change to LGPLv2+.
93057         * modules/fnmatch-gnu (License): Likewise.
93059 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93061         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
93063 2008-09-11  Jim Meyering  <meyering@redhat.com>
93065         * users.txt: Add gtk-vnc.
93067 2008-09-08  Simon Josefsson  <simon@josefsson.org>
93069         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
93070         rotate amounts.
93072         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
93073         required for 16-bit and 8-bit rotates.
93074         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
93075         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
93076         UINT8_MAX instead of hard-coded constants.
93077         Suggested by Paul Eggert.
93079 2008-09-07  Bruno Haible  <bruno@clisp.org>
93081         * tests/test-striconveh.c (main): Check behaviour when converting from
93082         UTF-7.
93084         Make striconveh work better with stateful encodings.
93085         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
93086         that iconv does not increment the inptr when returning -1/EINVAL.
93088 2008-09-07  Bruno Haible  <bruno@clisp.org>
93090         * build-aux/config.rpath: Update according to libtool-2.2.6.
93091         * build-aux/config.libpath: Likewise.
93093 2008-09-06  Bruno Haible  <bruno@clisp.org>
93095         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
93096         * lib/freadptr.c (freadptr): Likewise.
93097         * lib/freadseek.c (freadptrinc): Likewise.
93098         Reported by Simon Josefsson.
93100 2008-09-06  Bruno Haible  <bruno@clisp.org>
93102         * modules/freadptr (License): Change to LGPLv2+.
93103         * modules/freadseek (License): Likewise.
93104         Suggested by Eric Blake.
93106         * modules/memchr2 (License): Change to LGPLv2+.
93107         Approved by Eric Blake.
93109 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93110             Bruno Haible  <bruno@clisp.org>
93112         Make gnulib-tool work with native 'sed' on AIX.
93113         * gnulib-tool (sed_noop): New variable.
93114         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
93115         func_add_or_update, func_create_testdir): Use it to initialize sed
93116         script variables.
93117         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
93119 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
93120             Bruno Haible  <bruno@clisp.org>
93122         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
93123         also works after #include directives.
93125 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
93127         getdate.y: reject an out-of-range timezone value
93128         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
93129         the range [-24...+24].  When specified with only one or two digits,
93130         * tests/test-getdate.c: Tests for the fix.
93131         * doc/getdate.texi: Document this change.
93133 2008-09-03  Bruno Haible  <bruno@clisp.org>
93135         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
93137 2008-09-02  Simon Josefsson  <simon@josefsson.org>
93139         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
93140         <bruce.korb@gmail.com> with ideas from Ben Pfaff
93141         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
93142         Blake <ebb9@byu.net>.
93144         * tests/test-bitrotate.c: Add more test vectors.
93146 2008-09-02  Eric Blake  <ebb9@byu.net>
93148         vasnprintf-posix: handle large precision via %.*d
93149         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
93150         when handling it ourselves.
93151         * tests/test-vasnprintf-posix.c (test_function): Add test.
93152         * tests/test-snprintf-posix.h (test_function): Likewise.
93153         * tests/test-sprintf-posix.h (test_function): Likewise.
93154         * tests/test-vasprintf-posix.c (test_function): Likewise.
93155         Reported by Alain Guibert.
93157 2008-09-01  Eric Blake  <ebb9@byu.net>
93159         c-stack: make configure-time check more robust
93160         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
93161         successful sigaction call.
93162         Reported by Tom G. Christensen.
93164 2008-09-01  Bruno Haible  <bruno@clisp.org>
93166         New module 'findprog-lgpl'.
93167         * modules/findprog-lgpl: New file.
93168         * lib/findprog-lgpl.c: New file.
93169         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
93170         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
93171         to decide whether to use strdup or xstrdup, concatenated_filename or
93172         xconcatenated_filename.
93174 2008-09-01  Bruno Haible  <bruno@clisp.org>
93176         Split module 'concat-filename' into 'concat-filename' (LGPL) and
93177         'xconcat-filename' (GPL).
93178         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
93179         (License): Change to LGPLv2+.
93180         * modules/xconcat-filename: New file.
93181         * lib/concat-filename.h (concatenated_filename): Change specification.
93182         (xconcatenated_filename): New declaration.
93183         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
93184         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
93185         memory situations.
93186         * lib/xconcat-filename.c: New file.
93187         * NEWS: Mention the change.
93188         * lib/findprog.c: Include concat-filename.h, not filename.h.
93189         (find_in_path): Use xconcatenated_filename instead of
93190         concatenated_filename.
93191         * lib/javacomp.c: Include concat-filename.h, not filename.h.
93192         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
93193         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
93194         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
93195         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
93196         instead of concatenated_filename.
93197         * lib/javaexec.c: Include concat-filename.h, not filename.h.
93198         (execute_java_class): Use xconcatenated_filename instead of
93199         concatenated_filename.
93200         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
93201         * modules/javacomp (Depends-on): Likewise.
93202         * modules/javaexec (Depends-on): Likewise.
93204 2008-09-01  Bruno Haible  <bruno@clisp.org>
93206         Split module 'filename' into 'filename' and 'concat-filename'.
93207         * modules/filename: Keep only lib/filename.h.
93208         (License): Change to LGPLv2+.
93209         * modules/concat-filename: New file, extracted from modules/filename.
93210         * lib/filename.h (concatenated_filename): Remove declaration.
93211         * lib/concat-filename.h: New file, extracted from lib/filename.h.
93212         * lib/concat-filename.c: Include concat-filename.h.
93213         * NEWS: Mention the change.
93215 2008-09-01  Simon Josefsson  <simon@josefsson.org>
93217         * lib/bitrotate.h (rotl8, rotr8): Add.
93219         * modules/bitrotate (configure.ac): Need
93220         AC_REQUIRE([AC_C_INLINE]).
93221         (Description): Mention stdint.h.  Reported by Bruno Haible
93222         <bruno@clisp.org>.
93224         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
93225         Paolo Bonzini <bonzini@gnu.org>.
93227 2008-08-31  Bruno Haible  <bruno@clisp.org>
93229         Assume Solaris specific bi-arch conventions on Solaris systems.
93230         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
93231         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
93232         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
93233         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
93234         like acl_libdirstem.
93235         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
93236         acl_libdirstem.
93237         * NEWS: Mention the change.
93238         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
93240 2008-08-31  Jim Meyering  <meyering@redhat.com>
93242         * lib/strftime.h: Add comments describing the two added arguments.
93244         remove duplicate #include directives
93245         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
93246         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
93248 2008-08-31  Bruno Haible  <bruno@clisp.org>
93250         New module 'sigpipe-die'.
93251         * modules/sigpipe-die: New file.
93252         * lib/sigpipe-die.h: New file.
93253         * lib/sigpipe-die.c: New file.
93254         * MODULES.html.sh (Signal handling): Add sigpipe-die.
93256 2008-08-31  Bruno Haible  <bruno@clisp.org>
93258         Don't override previously installed signal handlers.
93259         * lib/fatal-signal.c (saved_sigactions): New variable.
93260         (uninstall_handlers): Reset the signal to the saved handler, not
93261         to SIG_DFL (except when ignored).
93262         (install_handlers): Save the previous handlers.
93264 2008-08-30  Bruno Haible  <bruno@clisp.org>
93266         * gnulib-tool (func_reset_sigpipe): New function.
93267         (func_get_automake_snippet, func_modules_transitive_closure,
93268         func_import): Invoke it before a join command that reads from stdin,
93269         to avoid "echo: write error: Broken pipe" error messages on stderr.
93270         Reported by Sam Steingold <sds@gnu.org>.
93272 2008-08-30  Bruno Haible  <bruno@clisp.org>
93274         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
93275         Code copied from m4/open.m4.
93276         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
93277         access and the filename ends in a slash. Code copied from lib/open.c.
93278         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
93279         * tests/test-fopen.c (main): Check against bug with trailing slash.
93281 2008-08-29  Bruno Haible  <bruno@clisp.org>
93283         Avoid some "gcc -pedantic" warnings.
93284         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
93285         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
93286         * lib/dirent.in.h: Likewise.
93287         * lib/fcntl.in.h: Likewise.
93288         * lib/float.in.h: Likewise.
93289         * lib/iconv.in.h: Likewise.
93290         * lib/inttypes.in.h: Likewise.
93291         * lib/locale.in.h: Likewise.
93292         * lib/math.in.h: Likewise.
93293         * lib/netinet_in.in.h: Likewise.
93294         * lib/search.in.h: Likewise.
93295         * lib/signal.in.h: Likewise.
93296         * lib/stdarg.in.h: Likewise.
93297         * lib/stdint.in.h: Likewise.
93298         * lib/stdio.in.h: Likewise.
93299         * lib/stdlib.in.h: Likewise.
93300         * lib/string.in.h: Likewise.
93301         * lib/strings.in.h: Likewise.
93302         * lib/sys_select.in.h: Likewise.
93303         * lib/sys_socket.in.h: Likewise.
93304         * lib/sys_stat.in.h: Likewise.
93305         * lib/sys_time.in.h: Likewise.
93306         * lib/sysexits.in.h: Likewise.
93307         * lib/time.in.h: Likewise.
93308         * lib/unistd.in.h: Likewise.
93309         * lib/wchar.in.h: Likewise.
93310         * lib/wctype.in.h: Likewise.
93311         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
93312         * modules/fchdir (Makefile.am): Likewise.
93313         * modules/fcntl (Makefile.am): Likewise.
93314         * modules/float (Makefile.am): Likewise.
93315         * modules/iconv_open (Makefile.am): Likewise.
93316         * modules/inttypes (Makefile.am): Likewise.
93317         * modules/locale (Makefile.am): Likewise.
93318         * modules/math (Makefile.am): Likewise.
93319         * modules/netinet_in (Makefile.am): Likewise.
93320         * modules/search (Makefile.am): Likewise.
93321         * modules/signal (Makefile.am): Likewise.
93322         * modules/stdarg (Makefile.am): Likewise.
93323         * modules/stdint (Makefile.am): Likewise.
93324         * modules/stdio (Makefile.am): Likewise.
93325         * modules/stdlib (Makefile.am): Likewise.
93326         * modules/string (Makefile.am): Likewise.
93327         * modules/strings (Makefile.am): Likewise.
93328         * modules/sys_select (Makefile.am): Likewise.
93329         * modules/sys_socket (Makefile.am): Likewise.
93330         * modules/sys_stat (Makefile.am): Likewise.
93331         * modules/sys_time (Makefile.am): Likewise.
93332         * modules/sysexits (Makefile.am): Likewise.
93333         * modules/time (Makefile.am): Likewise.
93334         * modules/unistd (Makefile.am): Likewise.
93335         * modules/wchar (Makefile.am): Likewise.
93336         * modules/wctype (Makefile.am): Likewise.
93337         Reported by Reuben Thomas <rrt@sc3d.org>.
93339 2008-08-29  Bruno Haible  <bruno@clisp.org>
93341         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
93342         any more.
93344 2008-08-29  Simon Josefsson  <simon@josefsson.org>
93346         * MODULES.html.sh (Misc): Add bitrotate.
93348         * modules/bitrotate: New file.
93350         * lib/bitrotate.h: New file.
93352         * modules/bitrotate-tests: New file.
93354         * tests/test-bitrotate.c: New file.
93356         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
93357         on the bitrotate module.
93359         * lib/arctwo.c: Use new bitrotate module.
93361 2008-08-29  Jim Meyering  <meyering@redhat.com>
93363         bootstrap: merge changes from coreutils
93364         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
93365         of copied files.  Remove a kludge, now that this is fixed.
93366         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
93367         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
93368         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
93370 2008-08-29  Bruno Haible  <bruno@clisp.org>
93372         * MODULES.html.sh: Remove --cvs-urls option.
93374 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
93376         maint.mk: adjust to file name change
93377         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
93379 2008-08-28  Jim Meyering  <meyering@redhat.com>
93381         * modules/getndelim2 (License): Relicense to LGPLv2+.
93382         Approved by Richard Stallman for the version of 1995, and by
93383         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
93385 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
93387         * lib/getdelim.c (flockfile, funlockfile): Make all of them
93388         dummy if one is not available.  Do not touch them if
93389         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
93390         (getc_maybe_unlocked): New.
93391         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
93393 2008-08-26  Eric Blake  <ebb9@byu.net>
93395         doc/INSTALL: resync from autoconf
93396         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
93397         (INSTALL_PRELUDE): Delete; this is done more efficiently by
93398         moving...
93399         * install.texi [!autoconf]: ...here.  Resync from autoconf.
93400         * INSTALL: Regenerate.
93401         * INSTALL.ISO: New file.
93402         * INSTALL.UTF-8: Likewise.
93404 2008-08-26  Jim Meyering  <meyering@redhat.com>
93406         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
93407         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
93408         these definitions conditional, so that they may be overridden, too.
93410 2008-08-26  Bruno Haible  <bruno@clisp.org>
93412         Generate INSTALL file variants with prettier quotes.
93413         * doc/Makefile (INSTALL_PRELUDE): New macro.
93414         (INSTALL): Use it.
93415         (INSTALL.ISO, INSTALL.UTF-8): New rules.
93417 2008-08-26  Bruno Haible  <bruno@clisp.org>
93419         Run makeinfo in an English locale.
93420         * doc/Makefile (MAKEINFO): New variable.
93422 2008-08-26  Bruno Haible  <bruno@clisp.org>
93424         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
93425         Suggested by Eric Blake.
93427 2008-08-25  Bruno Haible  <bruno@clisp.org>
93429         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
93431 2008-08-25  Eric Blake  <ebb9@byu.net>
93433         c-stack: test that stack overflow can be caught
93434         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
93435         that platform allows handling stack overflow; at least OS/2 EMX
93436         has sigaltstack, but crashes before transferring control to
93437         handler on stack overflow.
93438         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
93439         check for HAVE_STACK_OVERFLOW_HANDLING.
93440         Reported by Elbert Pol.
93442 2008-08-25  Bruno Haible  <bruno@clisp.org>
93444         * doc/posix-functions/strftime.texi: Fix description of strftime
93445         module.
93447 2008-08-24  Bruno Haible  <bruno@clisp.org>
93449         * tests/uniwidth/test-uc_width2.c: New file.
93450         * tests/uniwidth/test-uc_width2.sh: New file.
93451         * modules/uniwidth/width-tests (Files): Add the new files.
93452         (TESTS): Add uniwidth/test-uc_width2.sh.
93453         (TESTS_ENVIRONMENT): New variable.
93454         (check_PROGRAMS): Add test-uc_width2.
93455         (test_uc_width2_SOURCES): New variable.
93457         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
93458         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
93459         not 0x00AB.
93460         Reported by Alexander V. Lukyanov <lav@netis.ru>.
93462 2008-08-22  Eric Blake  <ebb9@byu.net>
93464         test-lock, test-tls: mention why a test is skipped
93465         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
93466         skipped.
93467         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
93469         count-one-bits: relax license
93470         * modules/count-one-bits (License): Relicense to LGPLv2+.
93471         Suggested by Ludovic Courtès, approved by Ben Pfaff.
93473 2008-08-22  Andreas Schwab  <schwab@suse.de>
93475         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
93476         Remove spurious space in assignment.
93478 2008-08-21  Simon Josefsson  <simon@josefsson.org>
93480         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
93481         Paul Eggert <eggert@CS.UCLA.EDU>.
93483 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
93485         * modules/gettext: Add m4/threadlib.m4.
93487 2008-08-19  Eric Blake  <ebb9@byu.net>
93489         test-c-stack: fix compilation failure on FreeBSD 5.0
93490         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
93491         headers before <sys/resource.h>.
93492         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
93493         the bug.
93494         Reported by Nelson H. F. Beebe.
93496         strverscmp: migrate from "strverscmp.h" to <string.h>
93497         * modules/string (Makefile.am): Add new hooks.
93498         * modules/strverscmp (Files): Remove strverscmp.h.
93499         (Depends-on): Add string.
93500         (configure.ac): Add indicator.
93501         (Include): Mention new header.
93502         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
93503         defaults.
93504         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
93505         results.
93506         * lib/strverscmp.h: Delete.
93507         * lib/string.in.h (strverscmp): Provide declaration, when needed.
93508         * tests/test-strverscmp.c (includes): Adjust client.
93509         * lib/check-version.c (includes): Likewise.
93510         * NEWS: Document the change.
93512         strverscmp: add unit test
93513         * modules/strverscmp-tests: New file.
93514         * tests/test-strverscmp.c: Likewise.
93516 2008-08-19  Simon Josefsson  <simon@josefsson.org>
93518         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
93519         regarding Windows crypto stuff, from Mono.
93521 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
93523         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
93524         if present, for intel RND.  Return error on failures.
93526 2008-08-18  Ben Pfaff  <blp@gnu.org>
93528         gitlog-to-changelog: give better diagnostic for failed pipe-open
93529         * build-aux/gitlog-to-changelog: Improve error message: suggest
93530         that the version of Git may be too old.
93532 2008-08-18  Simon Josefsson  <simon@josefsson.org>
93534         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
93535         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
93537 2008-08-18  Bruno Haible  <bruno@clisp.org>
93539         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
93540         pthread_in_use().
93542 2008-08-18  Bruno Haible  <bruno@clisp.org>
93544         * lib/glthread/threadlib.c: Include <pthread.h>.
93546 2008-08-18  Bruno Haible  <bruno@clisp.org>
93548         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
93549         glthread_recursive_lock_* macros.
93550         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
93551         Fix syntax error.
93553 2008-08-18  Bruno Haible  <bruno@clisp.org>
93555         * lib/glthread/thread.c: Avoid forcing a context switch right after
93556         thread creation.
93558 2008-08-17  Bruno Haible  <bruno@clisp.org>
93560         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
93561         * lib/glthread/thread.h: Provide Win32 specific implementation.
93562         * modules/thread (Files): Add lib/glthread/thread.c.
93563         (Depends-on): Add lock.
93564         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
93566 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93568         New module 'yield'.
93569         * modules/yield: New file.
93570         * lib/glthread/yield.h: New file.
93571         * m4/yield.m4: New file.
93572         * MODULES.html.sh (Multithreading): Add yield.
93574 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93576         New module 'thread'.
93577         * modules/thread: New file.
93578         * lib/glthread/thread.h: New file.
93579         * m4/thread.m4: New file.
93580         * MODULES.html.sh (Multithreading): Add thread.
93582 2008-08-17  Bruno Haible  <bruno@clisp.org>
93584         * lib/glthread/lock.h: Include <stdlib.h> always.
93585         * lib/glthread/tls.h: Likewise.
93586         * lib/glthread/cond.h: Likewise.
93588 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93590         New module 'cond'.
93591         * modules/cond: New file.
93592         * lib/glthread/cond.h: New file.
93593         * lib/glthread/cond.c: New file.
93594         * m4/cond.m4: New file.
93595         * MODULES.html.sh (Multithreading): Add cond.
93597 2008-08-16  Eric Blake  <ebb9@byu.net>
93599         c-stack: fix regression on Irix 5.3 from 2008-06-21
93600         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
93601         sa_sigaction...
93602         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
93603         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
93604         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
93605         * modules/signal (Makefile.am): Use the value.
93606         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
93607         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
93608         * doc/posix-headers/signal.texi (signal.h): Document this
93609         portability issue.
93610         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
93611         Reported by Tom G. Christensen.
93613 2008-08-17  Bruno Haible  <bruno@clisp.org>
93615         New module 'threadlib'.
93616         * modules/threadlib: New file.
93617         * lib/glthread/threadlib.c: New file, extracted from
93618         lib/glthread/lock.c.
93619         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
93620         functions.
93621         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
93622         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
93623         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
93624         macros.
93625         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
93626         (gl_DISABLE_THREADS): Remove macro.
93627         * modules/lock (Files): Remove build-aux/config.rpath.
93628         (Depends-on): Remove havelib. Add threadlib.
93629         (configure.ac-early): Remove section.
93630         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
93631         * modules/tls (Depends-on): Remove lock. Add threadlib.
93632         (Link): New section, copied from threadlib.
93633         * MODULES.html.sh (Multithreading): Add threadlib.
93635 2008-08-14  Bruno Haible  <bruno@clisp.org>
93637         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
93638         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
93639         glthread_rwlock_unlock, glthread_rwlock_destroy,
93640         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
93641         glthread_recursive_lock_destroy): Define as macros always.
93642         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
93643         glthread_lock_lock.
93644         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
93645         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
93646         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
93647         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
93648         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
93649         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
93650         (glthread_recursive_lock_lock_func): Renamed from
93651         glthread_recursive_lock_lock.
93652         (glthread_recursive_lock_unlock_func): Renamed from
93653         glthread_recursive_lock_unlock.
93654         (glthread_recursive_lock_destroy_func): Renamed from
93655         glthread_recursive_lock_destroy.
93657 2008-08-14  Bruno Haible  <bruno@clisp.org>
93659         * lib/glthread/lock.h: Renamed from lib/lock.h.
93660         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
93661         * lib/glthread/tls.h: Renamed from lib/tls.h.
93662         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
93663         * lib/fstrcmp.c: Update includes.
93664         * lib/strsignal.c: Update includes.
93665         * modules/lock (Files, Makefile.am): Update.
93666         (Include): Change to "glthread/lock.h".
93667         * modules/tls (Files, Makefile.am): Update.
93668         (Include): Change to "glthread/tls.h".
93669         * tests/test-lock.c: Update includes.
93670         * tests/test-tls.c: Update includes.
93671         * NEWS: Mention the renamed header files.
93673 2008-08-11  Jim Meyering  <meyering@redhat.com>
93675         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
93677 2008-08-11  Eric Blake  <ebb9@byu.net>
93679         test-c-stack: avoid C99-ism
93680         * tests/test-c-stack.c (main): Fix whitespace, move declaration
93681         before statement.
93682         Reported by Alain Guibert.
93684 2008-08-10  Jim Meyering  <meyering@redhat.com>
93686         ensure that return value of uinttostr et al are not ignored
93687         * lib/inttostr.h (__GNUC_PREREQ): Define.
93688         (__attribute_warn_unused_result__): Define.
93689         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
93691 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
93693         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
93694         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
93696 2008-08-07  Jim Meyering  <meyering@redhat.com>
93698         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
93700         * modules/mkstemp (License): Relicense under LGPLv2+.
93701         * modules/tempname (License): Likewise.
93703 2008-08-06  Bruno Haible  <bruno@clisp.org>
93705         * lib/poll.c (poll): Further micro-optimization.
93707 2008-08-06  Jim Meyering  <meyering@redhat.com>
93709         inet_pton.c: use locale-independent tolower
93710         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
93711         (inet_pton6): Use c_tolower rather than tolower.
93712         * modules/inet_pton (Depends-on): Add c-ctype.
93714 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
93716         * lib/poll.c (poll): Avoid division when timeout is 0, cache
93717         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
93719 2008-08-06  Jim Meyering  <meyering@redhat.com>
93721         * modules/inet_pton (License): Relicense under LGPLv2+.
93723 2008-08-03  Bruno Haible  <bruno@clisp.org>
93725         Additional non-aborting API for lock and tls.
93726         * lib/lock.h: Include <errno.h>.
93727         (glthread_lock_init): New macro/function.
93728         (gl_lock_init): Define as wrapper around glthread_lock_init.
93729         (glthread_lock_lock): New macro/function.
93730         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
93731         (glthread_lock_unlock): New macro/function.
93732         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
93733         (glthread_lock_destroy): New macro/function.
93734         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
93735         (glthread_rwlock_init): New macro/function.
93736         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
93737         (glthread_rwlock_rdlock): New macro/function.
93738         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
93739         (glthread_rwlock_wrlock): New macro/function.
93740         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
93741         (glthread_rwlock_unlock): New macro/function.
93742         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
93743         (glthread_rwlock_destroy): New macro/function.
93744         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
93745         (glthread_recursive_lock_init): New macro/function.
93746         (gl_recursive_lock_init): Define as wrapper around
93747         glthread_recursive_lock_init.
93748         (glthread_recursive_lock_lock): New macro/function.
93749         (gl_recursive_lock_lock): Define as wrapper around
93750         glthread_recursive_lock_lock.
93751         (glthread_recursive_lock_unlock): New macro/function.
93752         (gl_recursive_lock_unlock): Define as wrapper around
93753         glthread_recursive_lock_unlock.
93754         (glthread_recursive_lock_destroy): New macro/function.
93755         (gl_recursive_lock_destroy): Define as wrapper around
93756         glthread_recursive_lock_destroy.
93757         (glthread_once): New macro/function.
93758         (gl_once): Define as wrapper around glthread_once.
93759         Update function declarations.
93760         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
93761         glthread_rwlock_init. Return error code.
93762         (glthread_rwlock_rdlock_multithreaded): Renamed from
93763         glthread_rwlock_rdlock. Return error code.
93764         (glthread_rwlock_wrlock_multithreaded): Renamed from
93765         glthread_rwlock_wrlock. Return error code.
93766         (glthread_rwlock_unlock_multithreaded): Renamed from
93767         glthread_rwlock_unlock. Return error code.
93768         (glthread_rwlock_destroy_multithreaded): Renamed from
93769         glthread_rwlock_destroy. Return error code.
93770         (glthread_recursive_lock_init_multithreaded): Renamed from
93771         glthread_recursive_lock_init. Return error code.
93772         (glthread_recursive_lock_lock_multithreaded): Renamed from
93773         glthread_recursive_lock_lock. Return error code.
93774         (glthread_recursive_lock_unlock_multithreaded): Renamed from
93775         glthread_recursive_lock_unlock. Return error code.
93776         (glthread_recursive_lock_destroy_multithreaded): Renamed from
93777         glthread_recursive_lock_destroy. Return error code.
93778         (glthread_once_call): Make static.
93779         (glthread_once_multithreaded): Renamed from glthread_once.
93780         * lib/tls.h: Include <errno.h>.
93781         (glthread_tls_key_init): New macro/function.
93782         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
93783         (glthread_tls_set): New macro/function.
93784         (gl_tls_set): Define as wrapper around glthread_tls_set.
93785         (glthread_tls_key_destroy): New macro/function.
93786         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
93787         Update function declarations.
93788         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
93789         glthread_tls_get.
93790         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
93792 2008-08-04  Eric Blake  <ebb9@byu.net>
93794         gnumakefile: use space, not TAB, outside of targets
93795         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
93797 2008-08-02  Jim Meyering  <meyering@redhat.com>
93799         getdate.y: avoid locale-dependent date parsing failure
93800         In Turkish locales, getdate would fail to recognize keywords
93801         containing a lowercase "i".  The solution is not to rely on
93802         locale-sensitive case-conversion.
93803         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
93804         (lookup_word): Use c_toupper in place of toupper.
93805         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
93806         Reported by Vefa Bicakci <bicave@superonline.com> in
93807         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
93808         * modules/getdate (Depends-on): Add c-ctype.
93810 2008-08-02  Bruno Haible  <bruno@clisp.org>
93812         * gnulib-tool (func_import): When updating or creating a .gitignore
93813         file, prepend each added line with a slash, and ignore leading slashes
93814         from the existing lines.
93815         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
93817 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93819         Portability fix for GNU make 3.79.1.
93820         * top/GNUmakefile: Avoid 'else COND', which older GNU make
93821         versions do not understand.
93823 2008-08-01  Bruno Haible  <bruno@clisp.org>
93825         Work around bug of HP-UX 10.20 cc with -0.0 literal.
93826         * tests/test-isnanf.h (zero): New variable.
93827         (main): Avoid literal -0.0f.
93828         * tests/test-isnand.h (zero): New variable.
93829         (main): Avoid literal -0.0.
93830         * tests/test-isnanl.h (zero): New variable.
93831         (main): Avoid literal -0.0L.
93832         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
93833         (test_float, test_double, test_long_double): Avoid literals -0.0f,
93834         -0.0, -0.0L.
93835         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
93836         (test_signbitd): Avoid literal -0.0.
93837         (test_signbitl): Avoid literal -0.0L.
93838         * tests/test-ceilf1.c (zero): New variable.
93839         (main): Avoid literal -0.0f.
93840         * tests/test-ceill.c (zero): New variable.
93841         (main): Avoid literal -0.0L.
93842         * tests/test-floorf1.c (zero): New variable.
93843         (main): Avoid literal -0.0f.
93844         * tests/test-floorl.c (zero): New variable.
93845         (main): Avoid literal -0.0L.
93846         * tests/test-roundf1.c (zero): New variable.
93847         (main): Avoid literal -0.0f.
93848         * tests/test-round1.c (zero): New variable.
93849         (main): Avoid literal -0.0.
93850         * tests/test-roundl.c (zero): New variable.
93851         (main): Avoid literal -0.0L.
93852         * tests/test-truncf1.c (zero): New variable.
93853         (main): Avoid literal -0.0f.
93854         * tests/test-trunc1.c (zero): New variable.
93855         (main): Avoid literal -0.0.
93856         * tests/test-truncl.c (zero): New variable.
93857         (main): Avoid literal -0.0L.
93858         * tests/test-frexp.c (zero): New variable.
93859         (main): Avoid literal -0.0.
93860         * tests/test-frexpl.c (zero): New variable.
93861         (main): Avoid literal -0.0L.
93862         * tests/test-ldexpl.c (zero): New variable.
93863         (main): Avoid literal -0.0L.
93864         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
93865         (zerod, zerol): New variables.
93866         (test_function): Avoid literals -0.0, -0.0L.
93867         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
93868         (zerod, zerol): New variables.
93869         (test_function): Avoid literals -0.0, -0.0L.
93870         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
93871         (zerod, zerol): New variables.
93872         (test_function): Avoid literals -0.0, -0.0L.
93873         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
93874         (zerod, zerol): New variables.
93875         (test_function): Avoid literals -0.0, -0.0L.
93876         * tests/test-strtod.c (zero): New variable.
93877         (main): Avoid literal -0.0.
93878         Reported by Jonathan C. Patschke <jp@centtech.com>.
93880 2008-07-31  Jim Meyering  <meyering@redhat.com>
93882         sha256.h: correct definition of SHA224_DIGEST_SIZE
93883         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
93884         Reported by Paulie Pena IV <paulie4@gmail.com>.
93885         Define as 224 / 8, rather than as a literal.
93886         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
93887         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
93888         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
93890 2008-07-31  Bruno Haible  <bruno@clisp.org>
93892         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
93893         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
93894         Reported by Jonathan Patschke <jp@centtech.com>.
93896 2008-07-31  Bruno Haible  <bruno@clisp.org>
93898         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
93899         Reported by Paolo Bonzini <bonzini@gnu.org>.
93901 2008-07-30  Eric Blake  <ebb9@byu.net>
93903         test-strtod: allow compilation without -lm
93904         * tests/test-strtod.c (main): Avoid link dependence on fabs.
93905         Reported by Dennis Clarke <blastwave@gmail.com>.
93907 2008-07-28  Jim Meyering  <meyering@redhat.com>
93909         bootstrap: work also when there are no .po files in po/
93910         * build-aux/bootstrap (update_po_files): Complete the change
93911         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
93913 2008-07-27  Jim Meyering  <meyering@redhat.com>
93915         * users.txt: Add zile.
93917 2008-07-26  Ben Pfaff  <blp@gnu.org>
93919         Add missing dependencies on new m4/exponent[fdl].m4 files.
93920         * modules/isnanf-nolibm: Add m4/exponentf.m4.
93921         * modules/isnand-nolibm: Add m4/exponentd.m4.
93922         * modules/isnanl-nolibm: Add m4/exponentl.m4.
93923         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
93924         m4/isnan[fdl].m4, because the macros actually used moved.
93925         Reported by Jim Meyering.
93927 2008-07-14  Ben Pfaff  <blp@gnu.org>
93929         Add isinf module.
93930         * lib/isinf.c: New file.
93931         * lib/math.in.h: Define isinf macro if we have decided to replace
93932         it.
93933         * m4/isinf.m4: New file.
93934         * m4/math_h.m4: Initialize and substitute variables for isinf
93935         module.
93936         * modules/isinf: New file.
93937         * modules/isinf-tests: New file.
93938         * modules/math: Add substitutions for new module.
93939         * tests/test-isinf.c: New file.
93940         * doc/posix-functions/isinf.texi: Mention new module.
93941         * MODULES.html.sh: Mention new module.
93943 2008-07-14  Ben Pfaff  <blp@gnu.org>
93945         Factor out some macros for use by additional modules.
93946         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
93947         exponentf.m4.
93948         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
93949         exponentd.m4.
93950         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
93951         file exponentl.m4.
93952         * m4/exponentf.m4: New file.
93953         * m4/exponentd.m4: New file.
93954         * m4/exponentl.m4: New file.
93955         * modules/isnanf: Use new file m4/exponentf.m4.
93956         * modules/isnand: Use new file m4/exponentd.m4.
93957         * modules/isnanl: Use new file m4/exponentl.m4.
93959 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
93961         mktime.c: normalize tp->tm_isdst value to -1/0/1.
93962         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
93963         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
93964         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
93966         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
93967         readlink on platforms without PATH_MAX.
93969 2008-07-21  Eric Blake  <ebb9@byu.net>
93971         Warn, not fail, on stale version.
93972         * top/GNUmakefile (_curr-ver): Tone down previous patch.
93974         Don't allow installation with stale devel version number.
93975         * top/GNUmakefile (_is-install-target): New macro.
93976         (_curr-ver): Forbid installation with stale version number.
93978 2008-07-20  Bruno Haible  <bruno@clisp.org>
93980         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
93981         TESTS_ENVIRONMENT.
93982         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
93984 2008-07-20  Bruno Haible  <bruno@clisp.org>
93986         * lib/c-stack.h (c_stack_action): Add documentation.
93987         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
93989 2008-07-20  Bruno Haible  <bruno@clisp.org>
93991         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
93992         * modules/readlink (License): Likewise.
93994 2008-07-17  Eric Blake  <ebb9@byu.net>
93996         * modules/c-stack (Link): Fix typo.
93998         Make c-stack use libsigsegv, when available.
93999         * modules/c-stack (Depends-on): Add libsigsegv.
94000         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
94001         needed.
94002         * lib/c-stack.c (SIGSTKSZ): Define fallback.
94003         (segv_handler, overflow_handler, c_stack_action)
94004         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
94005         implementation when libsigsegv is available, but only when using
94006         the library is necessary.
94007         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
94008         comment, explaining why XSI check fails on Linux.
94009         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
94010         * tests/test-c-stack2.sh: Tweak skip message.
94011         * NEWS: Document new link-time requirements.
94013 2008-07-16  Eric Blake  <ebb9@byu.net>
94015         c-stack: Expose false positives when not using libsigsegv.
94016         * modules/c-stack-tests (Files): Expand test.
94017         * tests/test-c-stack.c (main): Add means to conditionally trigger
94018         non-overflow SIGSEGV.
94019         * tests/test-c-stack2.sh: New file.
94021 2008-07-14  Bruno Haible  <bruno@clisp.org>
94023         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
94024         Reported by Eric Blake.
94026 2008-07-14  Sam Steingold  <sds@gnu.org>
94027             Bruno Haible  <bruno@clisp.org>
94029         New module libsigsegv.
94030         * modules/libsigsegv: New file.
94031         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
94032         modifications.
94033         * MODULES.html.sh (Signal handling): New section.
94035 2008-07-14  Bruno Haible  <bruno@clisp.org>
94037         * modules/unictype/ctype-* (Description): Add the word "function".
94038         Improves the resulting doc in MODULES.html.
94040 2008-07-12  Ben Pfaff  <blp@gnu.org>
94042         Add longlong module.
94043         * modules/longlong: New file.
94045 2008-07-12  Bruno Haible  <bruno@clisp.org>
94047         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
94048         to empty.
94050 2008-07-10  Ben Pfaff  <blp@gnu.org>
94052         Add isnan module.
94053         * doc/posix-functions/isnan.texi: Mention new module.
94054         * lib/math.in.h: Define isnan macro if we have decided to replace
94055         it.
94056         * m4/isnan.m4: New file.
94057         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
94058         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
94059         also.
94060         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
94061         redundancy.
94062         * m4/math_h.m4: Initialize and substitute variables for isnan
94063         module.
94064         * modules/isnan: New file.
94065         * modules/isnan-tests: New file.
94066         * modules/math: Add substitutions for new module.
94067         * tests/test-isnan.c: New file.
94068         * MODULES.html.sh: Mention new module.
94070 2008-07-10  Ben Pfaff  <blp@gnu.org>
94072         Add isnanf module.
94073         * lib/isnanf.m4: New file.
94074         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
94075         (gl_HAVE_ISNANF_IN_LIBM): New macro.
94076         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
94077         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
94078         * modules/isnanf: New file.
94079         * modules/isnanf-tests: New file.
94080         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
94081         files.
94082         * tests/test-isnanf-nolibm.c: factored most of its contents into
94083         new file tests/test-isnanf.h.
94084         * tests/test-isnanf.h: New file.
94085         * tests/test-isnanf.c: New file.
94086         * MODULES.html.sh: Mention new module.
94087         * doc/glibc-functions/isnanf.texi: Mention new module.
94089 2008-07-10  Ben Pfaff  <blp@gnu.org>
94091         Add isnand module.
94092         * lib/isnand.h: New file.
94093         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
94094         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
94095         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
94096         functionality also.
94097         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
94098         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
94099         (gl_HAVE_ISNAND_IN_LIBM): New macro.
94100         * modules/isnand: New file.
94101         * modules/isnand-tests: New file.
94102         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
94103         files.
94104         * tests/test-isnand-nolibm.c: factored most of its contents into
94105         new file tests/test-isnand.h.
94106         * tests/test-isnand.h: New file.
94107         * tests/test-isnand.c: New file.
94108         * MODULES.html.sh: Mention new module.
94110 2008-07-10  Ben Pfaff  <blp@gnu.org>
94112         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
94113         * lib/isnand.h: Rename lib/isnand-nolibm.h.
94114         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
94115         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
94116         * modules/isnanf-nolibm: Update references to renamed files.
94117         * modules/isnand-nolibm: Likewise.
94118         * modules/isnanf-nolibm-tests: Likewise.
94119         * modules/isnand-nolibm-tests: Likewise.
94120         * lib/frexp.c: Likewise.
94121         * lib/isfinite.c: Likewise.
94122         * lib/signbitd.c: Likewise.
94123         * lib/signbitf.c: Likewise.
94124         * lib/vasnprintf.c: Likewise.
94125         * tests/test-ceilf1.c: Likewise.
94126         * tests/test-ceilf2.c: Likewise.
94127         * tests/test-floorf1.c: Likewise.
94128         * tests/test-floorf2.c: Likewise.
94129         * tests/test-frexp.c: Likewise.
94130         * tests/test-round1.c: Likewise.
94131         * tests/test-round2.c: Likewise.
94132         * tests/test-roundf1.c: Likewise.
94133         * tests/test-strtod.c: Likewise.
94134         * tests/test-trunc1.c: Likewise.
94135         * tests/test-trunc2.c: Likewise.
94136         * tests/test-truncf1.c: Likewise.
94137         * tests/test-truncf2.c: Likewise.
94138         * NEWS: Mention the renamed header files.
94140 2008-07-11  Jim Meyering  <meyering@redhat.com>
94142         vc-list-files: make the last-resort awk code more portable
94143         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
94144         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
94145         does not support it.
94147 2008-07-10  Eric Blake  <ebb9@byu.net>
94149         Work with tar's bootstrap.
94150         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
94151         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
94152         an m4 comment.
94154 2008-07-09  Jim Meyering  <meyering@redhat.com>
94156         posix-shell.m4: fix typo that made this test malfunction
94157         * m4/posix-shell.m4: Remove capitalization in variable name.
94159 2008-07-08  Bruno Haible  <bruno@clisp.org>
94161         * m4/onceonly.m4: Update comments.
94162         Reported by Ben Pfaff <blp@cs.stanford.edu>.
94164 2008-07-04  Jim Meyering  <meyering@redhat.com>
94166         * users.txt: Add vc-dwim.
94167         (bison, coreutils): Use the gitweb URL.
94169 2008-07-03  Jim Meyering  <meyering@redhat.com>
94171         * users.txt: Add libffcall.  From Sam Steingold.
94173 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
94175         getdate.y: do not ignore TZ with relative day, month or year offset
94176         * lib/getdate.y (get_date): Move the tz-handling block to follow the
94177         relative-date-handling, since otherwise, the latter would clobber the
94178         sole output (an updated Start value) of the tz-handling block.
94179         * tests/test-getdate.c: Tests for the fix
94181 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94183         Recognize 'foo_LIBRARIES += libgnu.a'.
94184         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
94185         makefile snippet has already specified an installation location,
94186         also using '+='.
94188 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
94190         getdate.y: factor out common actions
94191         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
94192         Use them in place of open-coded actions.
94194 2008-07-01  Simon Josefsson  <simon@josefsson.org>
94196         Add self-test for getdate module.
94197         * modules/getdate-tests: New file.
94198         * tests/test-getdate.c: New file.
94200 2008-06-29  Bruno Haible  <bruno@clisp.org>
94202         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
94203         .gitignore.
94204         Reported by Sylvain Beucler <beuc@beuc.net>.
94206 2008-06-29  Bruno Haible  <bruno@clisp.org>
94208         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
94209         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
94211 2008-06-29  Bruno Haible  <bruno@clisp.org>
94213         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
94214         EXTRA_DIST.
94215         Reported by Sylvain Beucler <beuc@beuc.net>.
94217 2008-06-26  Jim Meyering  <meyering@redhat.com>
94219         make several modules depend on the "open" module
94220         This provides slightly increased consistency when opening-for-write
94221         the name of a non-directory spelled with a trailing slash.
94222         * modules/chdir-safer: Likewise.
94223         * modules/chown: Likewise.
94224         * modules/clean-temp: Likewise.
94225         * modules/copy-file: Likewise.
94226         * modules/fchdir: Likewise.
94227         * modules/fcntl-safer: Likewise.
94228         * modules/pipe: Likewise.
94229         * modules/utime: Likewise.
94230         Prompted by Eric Blake and Bruno Haible.
94232 2008-06-24  Andreas Schwab  <schwab@suse.de>
94234         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
94235         literals can be used as initializers for global variables.
94237 2008-06-23  Eric Blake  <ebb9@byu.net>
94239         Make gnulib-cache.m4 easier to diff.
94240         * gnulib-tool (func_import): Allow newlines when reading cached
94241         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
94243 2008-06-23  Bruno Haible  <bruno@clisp.org>
94245         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
94246         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
94247         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
94248         m4/signalblocking.m4.
94249         (gl_PREREQ_SIGACTION): Don't invoke it.
94250         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
94251         gl_PREREQ_SIG_HANDLER_H.
94252         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
94253         Don't check for sigaction here.
94255 2008-06-23  Bruno Haible  <bruno@clisp.org>
94257         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
94258         (install_handlers): Don't set the SA_RESETHAND flag.
94260 2008-06-23  Bruno Haible  <bruno@clisp.org>
94262         * m4/sigaction.m4: Comment fixes.
94263         * lib/signal.in.h: Likewise.
94265 2008-06-23  Eric Blake  <ebb9@byu.net>
94267         Fix typo.
94268         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
94270         Avoid SA_ namespace.
94271         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
94272         Reported by Ralf Wildenhues.
94274         Avoid test failure due to SA_RESTORER.
94275         * tests/test-sigaction.c (SA_MASK): New macro.
94276         (main): Avoid failing due to extension flags being set.
94277         Reported by Jim Meyering.
94279         Revert use of sig-handler.h in sigprocmask.c.
94280         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
94281         it requires the existence of struct sigaction.
94282         * lib/sigprocmask.c (handler_t): Restore typedef.
94283         (rpl_signal, old_handlers): Use local type.
94285 2008-06-22  Bruno Haible  <bruno@clisp.org>
94287         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
94288         conditionally.
94289         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
94291 2008-06-22  Bruno Haible  <bruno@clisp.org>
94293         * doc/posix-functions/siginterrupt.texi: Move note.
94295         * lib/signal.in.h (SA_RESTART): New macro.
94296         * lib/sigaction.c: Update comment.
94298         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
94300         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
94301         (gl_PREREQ_SIGPROCMASK): Invoke it.
94302         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
94304         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
94306         * lib/sigprocmask.c: Update a comment.
94308 2008-06-21  Eric Blake  <ebb9@byu.net>
94310         Use sigaction module rather than signal().
94311         * modules/c-stack (Depends-on): Add sigaction.
94312         * modules/fatal-signal (Depends-on): Likewise.
94313         * modules/nanosleep (Depends-on): Likewise.
94314         * modules/sigprocmask (Files): Add sig-handler.h.
94315         * modules/sigaction (Files): Likewise.
94316         * lib/sig-handler.h (get_handler): New file, suggested by Paul
94317         Eggert.
94318         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
94319         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
94320         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
94321         (init_fatal_signals): Likewise.
94322         * lib/nanosleep.c (rpl_nanosleep): Likewise.
94323         (siginterrupt): Delete fallback.
94324         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
94325         instead.
94326         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
94327         siginterrupt.
94329         New module sigaction, for mingw.
94330         * modules/sigaction: New module...
94331         * modules/sigaction-tests: ...and its test.
94332         * m4/sigaction.m4: New file.
94333         * lib/sigaction.c: Likewise.
94334         * tests/test-sigaction.c: Likewise.
94335         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
94336         * modules/signal (Makefile.am): Likewise.
94337         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
94338         needed.
94339         * doc/posix-headers/signal.texi (signal.h): Mention provided
94340         types.
94341         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
94342         that sigaction is preferable.
94343         * doc/posix-functions/sigaction.texi (sigaction): Mention new
94344         module.
94345         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
94346         sigaction.
94348         Improve robustness of sigprocmask by overriding signal.
94349         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
94350         is in use.
94351         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
94352         (SIGKILL, SIGSTOP): Provide fallbacks.
94353         (rpl_signal): Implement.
94354         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
94355         signal can be called inside handlers.
94357         Fix nanosleep module on mingw.
94358         * modules/nanosleep (Depends-on): Add sys_select.
94359         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
94361         Fix licensing of sigprocmask.
94362         * modules/raise (License): Relicense as LGPL.
94364 2008-06-21  Bruno Haible  <bruno@clisp.org>
94366         * lib/propername.c (proper_name_utf8): Don't use the transliterated
94367         result if it contains question marks.
94368         Reported by Michael Geng <linux@michaelgeng.de>.
94370 2008-06-19  Bruno Haible  <bruno@clisp.org>
94372         Fix CVS-ism.
94373         * doc/gnulib.texi: Include updated-stamp.texi.
94374         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
94375         (updated-stamp.texi): New rule.
94376         (gnulib.info): Depend on it.
94377         * doc/.gitignore: Add updated-stamp.texi.
94378         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
94380 2008-06-19  Bruno Haible  <bruno@clisp.org>
94382         * doc/Makefile (gnulib.info): Update and simplify dependencies.
94383         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
94385 2008-06-19  Eric Blake  <ebb9@byu.net>
94387         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
94388         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
94389         Reported by Stepan Kasal.
94391 2008-06-18  Bruno Haible  <bruno@clisp.org>
94393         * lib/fatal-signal.c (init_fatal_signals): Add comment.
94394         Reported by Eric Blake.
94396 2008-06-18  Eric Blake  <ebb9@byu.net>
94398         Work around cygwin 1.5.25 strsignal bug.
94399         * tests/test-strsignal.c: Allow for const char *.
94400         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
94402 2008-06-18  Simon Josefsson  <simon@josefsson.org>
94404         * users.txt: Update URL to article and add author/date
94405         information.
94407 2008-06-17  Bruno Haible  <bruno@clisp.org>
94409         New macro gl_DISABLE_THREADS.
94410         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
94411         if the user did not pass --enable-threads or --disable-threads option.
94412         (gl_DISABLE_THREADS): New macro.
94413         Reported by Eric Blake <ebb9@byu.net>.
94415 2008-06-17  Bruno Haible  <bruno@clisp.org>
94417         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
94418         when the macro ignores it.
94419         Based on a patch by Eric Blake <ebb9@byu.net>.
94421 2008-06-17  Bruno Haible  <bruno@clisp.org>
94423         * modules/tls (License): Change to LGPLv2+.
94424         Reported by Eric Blake.
94426 2008-06-17  Eric Blake  <ebb9@byu.net>
94428         Simplify c-stack prerequisites.
94429         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
94430         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
94431         no longer requires <ucontext.h> to exist.  Optimize setrlimit
94432         check.
94433         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
94434         <sys/resource.h>.
94436         Move c-stack test into testsuite.
94437         * modules/c-stack-tests: New file.
94438         * lib/c-stack.c [DEBUG]: Move test program...
94439         * tests/test-c-stack.c: ...into this new file.  Skip rather than
94440         fail test if sigaltstack is lacking.
94441         * tests/test-c-stack.sh: New driver file.
94443 2008-06-16  Eric Blake  <ebb9@byu.net>
94445         Use raise module consistently.
94446         * modules/fatal-signal (Depends-on): Add raise.
94447         * modules/sigprocmask (Depends-on): Likewise.
94448         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
94449         * lib/sigprocmask.c (sigprocmask): Likewise.
94450         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
94451         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
94453         Fix compliance bug in sigpending.
94454         * lib/sigprocmask.c (sigpending): Return pending array via
94455         parameter, not return value.
94457 2008-06-14  Eric Blake  <ebb9@byu.net>
94459         Improve obstack-printf test code.
94460         * tests/test-obstack-printf.c (test_function): Fix comment, and
94461         simplify usage of obstack_* in macros.  Add a test for coverage.
94462         Reported by Bruno Haible.
94464 2008-06-14  Bruno Haible  <bruno@clisp.org>
94466         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
94467         array size as a constant, not as a const variable.
94468         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
94469         AC_USE_SYSTEM_EXTENSIONS.
94470         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
94471         Test whether the obstack_printf function actually exists.
94472         * modules/obstack-printf (Depends-on): Add extensions.
94473         (Include): Remove obstack.h.
94474         * modules/obstack-printf-posix (Depends-on): Add extensions.
94475         (Include): Remove obstack.h.
94477 2008-06-13  Eric Blake  <ebb9@byu.net>
94479         Add obstack-printf and obstack-printf-posix modules.
94480         * modules/obstack-printf: New file.
94481         * modules/obstack-printf-posix: Likewise.
94482         * MODULES.html.sh (Misc): Mention them.
94483         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
94484         Likewise.
94485         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
94486         Likewise.
94487         * modules/stdio (Makefile.am): Accomodate new modules.
94488         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
94489         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
94490         Declare.
94491         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
94492         functions.
94493         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
94494         (gl_REPLACE_OBSTACK_PRINTF): New macros
94495         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
94496         * tests/test-obstack-printf.c: New file.
94497         * modules/obstack-printf-tests: Likewise.
94498         * modules/obstack-printf-posix-tests: Likewise.
94500 2008-06-11  Bruno Haible  <bruno@clisp.org>
94502         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
94503         * lib/open.c: Include errno.h.
94504         (open): Fail when attempting to write to a file that has a trailing
94505         slash.
94506         * tests/test-open.c (main): Test against trailing slash bug.
94507         * doc/posix-functions/open.texi: Mention the trailing slash bug.
94509 2008-06-10  Bruno Haible  <bruno@clisp.org>
94511         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
94512         for $? to work inside the trap command, with various /bin/sh-s.
94513         * tests/test-vc-list-files-cvs.sh: Likewise.
94515 2008-06-10  Bruno Haible  <bruno@clisp.org>
94517         * lib/acl-internal.h: Don't include gettext.h here.
94518         * lib/set-mode-acl.c: Include gettext.h here.
94519         * lib/copy-acl.c: Likewise.
94521 2008-06-10  Bruno Haible  <bruno@clisp.org>
94523         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
94524         * lib/wait-process.c (wait_subprocess): Likewise.
94525         * lib/execute.h (execute): Add termsigp argument.
94526         * lib/execute.c (execute): Likewise.
94527         * lib/csharpcomp.c (compile_csharp_using_pnet,
94528         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
94529         * lib/csharpexec.c (execute_csharp_using_pnet,
94530         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
94531         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
94532         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
94533         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
94534         is_jikes_present): Update.
94535         * lib/javaexec.c (execute_java_class): Update.
94536         * lib/javaversion.c (execute_and_read_line): Update.
94537         * NEWS: Document the changes.
94538         Reported by Eric Blake.
94540 2008-06-10  Eric Blake  <ebb9@byu.net>
94542         Add missing include.
94543         * tests/test-strstr.c (includes): Add <signal.h>.
94544         * tests/test-strcasestr.c (includes): Likewise.
94545         * tests/test-memmem.c (includes): Likewise.
94547 2008-06-10  Bruno Haible  <bruno@clisp.org>
94549         * lib/wait-process.c (wait_subprocess): Add an assertion.
94551 2008-06-10  Bruno Haible  <bruno@clisp.org>
94553         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
94555 2008-06-10  Bruno Haible  <bruno@clisp.org>
94557         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
94558         using alarm().
94559         * tests/test-strcasestr.c (main): Likewise.
94560         * tests/test-strstr.c (main): Likewise.
94562 2008-06-09  Bruno Haible  <bruno@clisp.org>
94564         Work around the Solaris 10 ACE ACLs ABI change.
94565         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
94566         declare if ACL_NO_TRIVIAL is present.
94567         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
94568         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
94569         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
94570         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
94571         define if ACL_NO_TRIVIAL is present.
94572         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
94573         and use the current ABI.
94574         (file_has_acl): Use same #if condition as elsewhere.
94575         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
94576         in use, and use the current ABI.
94577         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
94578         Reported by Jim Meyering.
94580 2008-06-09  Eric Blake  <ebb9@byu.net>
94582         Work around environments that (stupidly) ignore SIGALRM.
94583         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
94584         before using alarm().
94585         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94586         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
94587         Reported by Ian Beckwith <ianb@erislabs.net>.
94589         Produce autobuild blurb earlier in log.
94590         * modules/autobuild (configure.ac-early): Move AB_INIT here.
94592 2008-06-09  Jim Meyering  <meyering@redhat.com>
94593         and Ondřej Vašík  <ovasik@redhat.com>
94595         utimens.c: correct kernel bug work-around
94596         Ondřej Vašík found that the invalid return value of 280 indicates
94597         failure, not success, and the kernel bug we're trying to work
94598         around affects not just the utimensat call, but also the fallback
94599         futimens call.
94600         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
94601         not success.
94602         [HAVE_FUTIMENS]: Use the same work-around, here.
94604 2008-06-09  Jim Meyering  <meyering@redhat.com>
94606         add more guards around definition of ACE_-related code
94607         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
94608         ALLOW and ACE_OWNER are also defined.
94610 2008-06-08  Bruno Haible  <bruno@clisp.org>
94612         * lib/acl-internal.h: Add me as co-author.
94613         * lib/file-has-acl.c: Likewise.
94614         * lib/set-mode-acl.c: Likewise.
94615         * lib/copy-acl.c: Likewise.
94617 2008-06-08  Bruno Haible  <bruno@clisp.org>
94619         Add support for AIX ACLs.
94620         * lib/acl-internal.h (acl_nontrivial): New declaration.
94621         * lib/file-has-acl.c (acl_nontrivial): New function.
94622         (file_has_acl): Add implementation using AIX 4 ACL API.
94623         * lib/set-mode-acl.c (qset_acl): Likewise.
94624         * lib/copy-acl.c (qcopy_acl): Likewise.
94626 2008-06-08  Bruno Haible  <bruno@clisp.org>
94628         Add support for HP-UX ACLs.
94629         * lib/acl-internal.h (acl_nontrivial): New declaration.
94630         * lib/file-has-acl.c (acl_nontrivial): New function.
94631         (file_has_acl): Add implementation using HP-UX 11 ACL API.
94632         * lib/set-mode-acl.c (qset_acl): Likewise.
94633         * lib/copy-acl.c (qcopy_acl): Likewise.
94635 2008-06-08  Bruno Haible  <bruno@clisp.org>
94637         Add support for Cygwin ACLs.
94638         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
94639         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
94640         the chmod_or_fchmod call.
94641         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
94643 2008-06-08  Bruno Haible  <bruno@clisp.org>
94645         Fix bug with setuid modes in Solaris 10+ code.
94646         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
94647         succeeded, when the mode contains some special bits.
94649 2008-06-08  Bruno Haible  <bruno@clisp.org>
94651         Add support for Solaris 7..10 ACLs.
94652         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
94653         declarations.
94654         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
94655         functions.
94656         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
94657         * lib/set-mode-acl.c (qset_acl): Likewise.
94658         * lib/copy-acl.c (qcopy_acl): Likewise.
94660 2008-06-08  Bruno Haible  <bruno@clisp.org>
94662         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
94663         declaration.
94664         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
94665         (acl_access_nontrivial): Remove MacOS X case.
94666         (file_has_acl): Use acl_extended_nontrivial.
94667         * lib/copy-acl.c (qcopy_acl): Likewise.
94669 2008-06-08  Bruno Haible  <bruno@clisp.org>
94671         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
94673 2008-06-08  Jim Meyering  <meyering@redhat.com>
94675         * modules/acl (Maintainer): Add Bruno Haible.
94677 2008-06-07  Bruno Haible  <bruno@clisp.org>
94679         Improve support for Tru64 ACLs.
94680         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
94681         ACL on OSF/1.
94683 2008-06-07  Bruno Haible  <bruno@clisp.org>
94685         Add support for MacOS X ACLs.
94686         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
94687         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
94688         * lib/set-mode-acl.c (qset_acl): Likewise.
94689         * lib/copy-acl.c (qcopy_acl): Likewise.
94691 2008-06-07  Bruno Haible  <bruno@clisp.org>
94693         Fix memory leak introduced on 2008-05-22.
94694         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
94695         use.
94697 2008-06-07  Bruno Haible  <bruno@clisp.org>
94699         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
94700         to construct an empty ACL.
94702 2008-06-07  Bruno Haible  <bruno@clisp.org>
94704         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
94705         precisely.
94706         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
94708 2008-06-07  Bruno Haible  <bruno@clisp.org>
94710         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
94711         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
94713 2008-06-07  Bruno Haible  <bruno@clisp.org>
94715         * doc/posix-functions/_setjmp.texi: Explain the use of this function
94716         regardless of POSIX.
94717         * doc/posix-functions/_longjmp.texi: Likewise.
94718         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
94719         SystemV platform in this case.
94721 2008-06-06  Eric Blake  <ebb9@byu.net>
94723         Document abort() bugs.
94724         * doc/posix-functions/abort.texi (abort): Mention anomalies.
94726         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
94727         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
94728         sigsetjmp.
94729         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
94730         siglongjmp, but only as a macro.
94731         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
94732         is obsolete.
94733         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
94735         Tweak documentation to cover cygwin argz bugs.
94736         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
94737         argz bug fix; no code change needed since no cygwin releases
94738         occurred between the last fix and the bug being tested.
94739         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
94740         module and recently fixed cygwin bugs.
94741         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
94742         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
94743         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
94744         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
94745         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
94746         Likewise.
94747         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
94748         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
94749         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
94750         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
94751         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
94752         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
94753         Likewise.
94755         Avoid gcc warning on cygwin.
94756         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
94757         !ACL_NO_TRIVIAL]: Avoid unused variable.
94759 2008-06-05  Eric Blake  <ebb9@byu.net>
94761         Be tolerant of UNKNOWN version in gnulib-tool test dir.
94762         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
94763         git-version-gen fails to come up with a version.
94764         Reported by Simon Josefsson.
94766 2008-06-05  Jim Meyering  <meyering@redhat.com>
94767             Paul Eggert  <eggert@cs.ucla.edu>
94769         utimens.c: work around a probable Linux kernel bug
94770         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
94771         appears to be a kernel bug that causes utimensat to return 280
94772         instead of 0, indicating success.
94774 2008-06-04  Bruno Haible  <bruno@clisp.org>
94776         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
94777         2008-06-01 commit.
94779 2008-06-04  Bruno Haible  <bruno@clisp.org>
94781         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
94782         * lib/file-has-acl.c (acl_access_nontrivial): New function.
94783         (file_has_acl): Use it. Save errno afterwards.
94784         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
94786 2008-06-03  Bruno Haible  <bruno@clisp.org>
94788         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
94789         draft code. Simplify #ifs.
94790         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
94791         Put Solaris code after POSIX-draft code. Fix comments regarding
94792         Solaris 10, HP-UX. Mention Cygwin.
94793         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
94795 2008-06-03  Eric Blake  <ebb9@byu.net>
94797         Provide fallback for older kernels.
94798         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
94799         Provide runtime fallback if kernel lacks support.
94800         Reported by Mike Frysinger.
94802 2008-06-02  Bruno Haible  <bruno@clisp.org>
94804         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
94805         it exists.
94807 2008-06-02  Bruno Haible  <bruno@clisp.org>
94809         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
94810         * lib/copy-acl.c (qcopy_acl): Update comment.
94812 2008-06-02  Bruno Haible  <bruno@clisp.org>
94814         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
94815         like ACL APIs.
94817 2008-06-02  Bruno Haible  <bruno@clisp.org>
94819         * tests/test-file-has-acl.sh: Use different code for Cygwin.
94820         * tests/test-set-mode-acl.sh: Likewise.
94821         * tests/test-copy-acl.sh: Likewise.
94822         * tests/test-copy-file.sh: Likewise.
94824 2008-06-02  Bruno Haible  <bruno@clisp.org>
94826         * tests/test-file-has-acl.sh: Remove unused code.
94828 2008-06-01  Bruno Haible  <bruno@clisp.org>
94830         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
94831         (copy_acl): Just a wrapper around qcopy_acl that emits the error
94832         messages.
94833         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
94835 2008-06-01  Bruno Haible  <bruno@clisp.org>
94837         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
94838         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
94839         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
94840         APIs.
94841         * modules/acl-tests (configure.ac): Remove tests now contained in
94842         m4/acl.m4.
94844 2008-06-02  Jim Meyering  <meyering@redhat.com>
94846         announce-gen: use a better key-server host name
94847         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
94848         it may be more consistently reliable.  Suggested by Werner Koch
94849         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
94851 2008-06-01  Bruno Haible  <bruno@clisp.org>
94853         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
94854         Reported by Voroskoi Andras <voroskoi@gmail.com>.
94856 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
94858         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
94860 2008-06-01  Bruno Haible  <bruno@clisp.org>
94862         New ACL tests.
94863         * tests/test-file-has-acl.sh: New file.
94864         * tests/test-file-has-acl.c: New file.
94865         * tests/test-set-mode-acl.sh: New file.
94866         * tests/test-set-mode-acl.c: New file.
94867         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
94868         * tests/test-copy-acl.c: New file.
94869         * modules/acl-tests: New file, based on modules/copy-file-tests.
94870         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
94871         (Depends-on): Add acl-tests.
94872         (configure.ac): Remove checks.
94873         (Makefile.am): Don't create test-sameacls program here any more.
94875 2008-06-01  Bruno Haible  <bruno@clisp.org>
94877         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
94878         * tests/test-sameacls.c: Include progname.h.
94879         (main): Invoke set_program_name. Portability fixes for MacOS X,
94880         Solaris, HP-UX.
94882 2008-06-01  Bruno Haible  <bruno@clisp.org>
94884         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
94885         function.
94886         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
94888 2008-06-01  Bruno Haible  <bruno@clisp.org>
94890         * modules/rpmatch (Depends-on): Add strdup.
94892 2008-06-01  Bruno Haible  <bruno@clisp.org>
94894         * lib/pipe.c: Include unistd-safer.h.
94895         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
94896         * modules/pipe (Depends-on): Add unistd-safer.
94898 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94900         * modules/autobuild (configure.ac): Call AB_INIT.
94902 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94904         * tests/test-getaddrinfo.c: Don't print debug messages by default.
94905         Suggested by Bruno Haible <bruno@clisp.org>.
94907 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94909         * tests/test-base64.c: Cast size_t to unsigned long when invoking
94910         printf.  Use %lu instead of %d.  Reported by Bruno Haible
94911         <bruno@clisp.org>.
94913 2008-05-29  Eric Blake  <ebb9@byu.net>
94915         Prefer new POSIX 200x interfaces over futimesat.
94916         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
94917         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
94918         when available.
94919         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
94921 2008-05-28  Bruno Haible  <bruno@clisp.org>
94923         * modules/stpcpy (License): Change to LGPLv2+.
94924         Requested by David Lutterkort <dlutter@redhat.com>.
94926 2008-05-27  Bruno Haible  <bruno@clisp.org>
94928         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
94929         current mingw.
94930         Reported by Jose E. Marchesi <jemarch@gnu.org>.
94932 2008-05-27  Bruno Haible  <bruno@clisp.org>
94934         * modules/iconv_open (Link): New section, from module 'iconv'.
94935         * modules/striconv (Link): Likewise.
94936         * modules/striconveh (Link): Likewise.
94937         * modules/xstriconv (Link): Likewise.
94938         * modules/unicodeio (Link): Likewise.
94939         * modules/propername (Link): Likewise.
94940         Reported by Jim Meyering.
94942 2008-05-26  Jim Meyering  <meyering@redhat.com>
94944         sha256: do not artificially restrict buffer length to be < 2^32
94945         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
94946         uint32_t to size_t.
94947         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
94948         to match.
94950         avoid unaligned access errors, e.g., on sparc
94951         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
94952         direct access through a possibly-unaligned uint64* pointer.
94953         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
94954         direct access through a possibly-unaligned uint32* pointer.
94955         Prompted by this patch from Tom "spot" Callaway:
94956         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
94958         sha512.c: fix typo in comment
94959         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
94961 2008-05-25  Bruno Haible  <bruno@clisp.org>
94963         * lib/set-mode-acl.c: Renamed from lib/acl.c.
94964         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
94965         (Makefile.am): Update lib_SOURCES.
94967 2008-05-25  Bruno Haible  <bruno@clisp.org>
94969         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
94971 2008-05-25  Jim Meyering  <meyering@redhat.com>
94973         useless-if-before-free: freed expr may have white-space differences
94974         * build-aux/useless-if-before-free: Recognize cases in which the
94975         freed expression differs from the tested one in embedded white
94976         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
94977         $1 was used, so we can't make any regexp shy.  Improved tests now
94978         detect this.
94980         useless-if-before-free: accept white space in the expression.
94981         * build-aux/useless-if-before-free: For now, any white space
94982         in the expression must be identical in the free argument.
94984         useless-if-before-free: efficiency tweak
94985         * build-aux/useless-if-before-free: Make the expression-matching
94986         regexp "shy".
94987         Make the *outer* regexp shy, not the expr-matching one.
94989         update code-in-comment to accept cast of free arg
94990         * build-aux/useless-if-before-free: Update regexp.
94992 2008-05-25  Bruno Haible  <bruno@clisp.org>
94994         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
94995         * modules/copy-file-tests (Files, Makefile.am): Update.
94996         * tests/test-copy-file.c (func_test_copy): Update.
94998 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
95000         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
95002 2008-05-23  Bruno Haible  <bruno@clisp.org>
95004         Improve support for ACLs on OSF/1.
95005         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
95006         Remove fallback for unknown flavors of ACLs.
95008 2008-05-22  Bruno Haible  <bruno@clisp.org>
95010         Add support for ACLs on OSF/1.
95011         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
95012         replacements.
95013         (acl_free_text): New macro fallback.
95014         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
95015         acl_free.
95016         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
95017         acl_free_text function. Require AC_C_INLINE.
95019 2008-05-22  Bruno Haible  <bruno@clisp.org>
95021         Make copy_acl work on MacOS X 10.5.
95022         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
95023         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
95024         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
95025         If MODE_INSIDE_ACL, don't assume that every system has the same text
95026         representation for ACLs as FreeBSD.
95027         * lib/copy-acl.c (copy_acl): Add support for platforms with
95028         !MODE_INSIDE_ACL.
95029         * lib/file-has-acl.c (file_has_acl): Likewise.
95030         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
95031         FreeBSD, MacOS X, or IRIX, respectively.
95033 2008-05-22  Bruno Haible  <bruno@clisp.org>
95035         * lib/acl.h: Don't include <sys/acl.h>.
95036         (GETACLCNT): Move fallback to lib/acl-internal.h.
95037         * lib/acl-internal.h: Include <sys/acl.h> here.
95038         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
95040 2008-05-22  Bruno Haible  <bruno@clisp.org>
95042         Split off copy_acl function to separate file.
95043         * lib/copy-acl.c: New file, extracted from lib/acl.c.
95044         * lib/acl.c (copy_acl): Moved function to separate file.
95045         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
95046         * modules/acl (Files): Add lib/copy-acl.c.
95047         (Makefiles.am): Augment lib_SOURCES.
95049 2008-05-22  Bruno Haible  <bruno@clisp.org>
95051         * modules/copy-file-tests: New file.
95052         * tests/test-copy-file.sh: New file.
95053         * tests/test-copy-file.c: New file.
95054         * tests/test-copy-file-sameacls.c: New file.
95056 2008-05-22  Eric Blake  <ebb9@byu.net>
95058         Avoid gcc warning.
95059         * tests/test-memcmp.c (main): Pass NULL indirectly.
95061 2008-05-21  Bruno Haible  <bruno@clisp.org>
95063         Add reference doc about ACLs.
95064         * doc/acl-resources.txt: New file.
95065         * doc/acl-cygwin.txt: New file.
95067 2008-05-21  Bruno Haible  <bruno@clisp.org>
95069         Avoid one more warning from gcc.
95070         * lib/vasnprintf.c (IF_LINT): Update comments.
95071         (VASNPRINTF): Use it also for the 'prefix' array initializer.
95073 2008-05-21  Jim Meyering  <meyering@redhat.com>
95075         avoid a warning from gcc
95076         * lib/vasnprintf.c (IF_LINT): Define.
95077         (scale10_round_decimal_long_double):
95078         Use it to avoid a "may be used uninitialized" warning.
95079         (scale10_round_decimal_double): Likewise.
95081 2008-05-21  Simon Josefsson  <simon@josefsson.org>
95083         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
95084         declared.
95086 2008-05-20  Bruno Haible  <bruno@clisp.org>
95088         * tests/test-memcmp.c (main): Test also the sign of the result. Test
95089         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
95091 2008-05-20  Simon Josefsson  <simon@josefsson.org>
95093         * modules/memcmp-tests: New file.
95094         * tests/test-memcmp.c: New file.
95096 2008-05-19  Bruno Haible  <bruno@clisp.org>
95098         * modules/propername (Notice, configure.ac): Put quoted "..." into
95099         --keyword option.
95100         * lib/propername.h: Update comments accordingly.
95101         Reported by Eric Blake.
95103 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
95105         * modules/getpass-gnu (Depends-on): Add fseeko.
95107 2008-05-19  Simon Josefsson  <simon@josefsson.org>
95109         * modules/base64-tests: New file.
95111 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
95113         * lib/base64.c (base64_decode_ctx): If a decode context structure
95114         was passed in use it to ignore newlines.  If a context structure
95115         was _not_ passed in, continue to treat newlines as garbage (this
95116         is the historical behavior).  Formerly base64_decode.
95117         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
95118         takes a decode context structure.
95119         * lib/base64.h (base64_decode): Macro for four-argument calls.
95120         (base64_decode_alloc): Likewise.
95121         * lib/base64.c (base64_decode_ctx): If a decode context structure
95122         was passed in use it to ignore newlines.  If a context structure
95123         was _not_ passed in, continue to treat newlines as garbage (this
95124         is the historical behavior).  Formerly base64_decode.
95125         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
95126         takes a decode context structure.
95127         * lib/base64.h (base64_decode): Macro for four-argument calls.
95128         (base64_decode_alloc): Likewise.
95130 2008-05-19  Jim Meyering  <meyering@redhat.com>
95132         avoid a warning from gcc
95133         * lib/trim.c (IF_LINT): Define.
95134         (trim2): Use it to avoid a "may be used uninitialized" warning.
95136         Fix doc typo.
95137         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
95139 2008-05-19  Bruno Haible  <bruno@clisp.org>
95141         * doc/glibc-functions/getpass.texi: Document limits of other
95142         implementations.
95144 2008-05-19  Simon Josefsson  <simon@josefsson.org>
95145             Bruno Haible <bruno@clisp.org>
95147         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
95149 2008-05-18  Bruno Haible  <bruno@clisp.org>
95151         * modules/propername: New file, from GNU gettext.
95152         * lib/propername.h: New file, from GNU gettext.
95153         * lib/propername.c: New file, from GNU gettext.
95154         * MODULES.html.sh (Internationalization functions): Add propername.
95156 2008-05-16  Jim Meyering  <meyering@redhat.com>
95157             Bruno Haible  <bruno@clisp.org>
95159         Avoid some warnings from "gcc -Wshadow".
95160         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
95162 2008-05-15  Eric Blake  <ebb9@byu.net>
95164         Extend previous patch to cygwin 1.7.0.
95165         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
95166         fast implementation in cygwin >= 1.7.0.
95167         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
95168         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
95170 2008-05-15  Bruno Haible  <bruno@clisp.org>
95172         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
95173         implementation in glibc >= 2.9.
95174         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
95175         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
95177 2008-05-15  Bruno Haible  <bruno@clisp.org>
95179         * MODULES.html.sh (Internationalization functions): Remove linebreak.
95180         (Unicode string functions): Add unilbrk/*.
95181         Reported by Karl Berry.
95183 2008-05-15  Eric Blake  <ebb9@byu.net>
95185         Fix violation of <stdbool.h> replacement in regex.
95186         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
95187         * lib/regexec.c (re_search_internal): Likewise.
95188         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
95190 2008-05-15  Jim Meyering  <meyering@redhat.com>
95192         avoid distracting test output when git or cvs is not found
95193         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
95194         * tests/test-vc-list-files-git.sh: Likewise.
95196 2008-05-15  Eric Blake  <ebb9@byu.net>
95198         Glibc finally accepted the memmem speedup code, bugzilla #5514.
95199         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
95200         glibc version.
95201         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
95202         * doc/posix-functions/strstr.texi (strstr): Likewise.
95203         * lib/str-two-way.h (MAX): Sychronize with glibc.
95205 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
95207         * lib/regcomp.c (optimize_utf8): Add a note on why we test
95208         opr.ctx_type.
95209         (calc_first): Initialize constraint field.
95210         (duplicate_node_closure): Use it instead of special casing ANCHORS.
95211         Fix grammar.
95212         (duplicate_node): Merge constraint field for all node types.
95213         (calc_eclosure_iter): Look at constraint field for all node types.
95214         * lib/regex_internal.c (create_cd_newstate): Don't look at
95215         opr.ctx_type.
95217 2008-05-14  Bruno Haible  <bruno@clisp.org>
95219         Help GCC to do better code generation.
95220         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
95221         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
95222         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
95223         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
95224         Declare with attribute 'malloc' if supported.
95226 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
95228         use "echo STR|wc -c" rather than unportable "expr length STR"
95229         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
95230         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
95232 2008-05-14  Jim Meyering  <meyering@redhat.com>
95234         use dd ibs=$n count=1 ... rather than less-portable head -c$n
95235         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
95236         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
95237         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
95238         via Collin Lasse.
95240 2008-05-14  Eric Blake  <ebb9@byu.net>
95242         Avoid quadratic growth in gl_LIBSOURCES.
95243         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
95244         Suggested by Bruno Haible.
95246         Test xmemdup0.
95247         * modules/xmemdup0-tests: New file.
95248         * tests/test-xmemdup0.c: Likewise.
95250 2008-05-13  Eric Blake  <ebb9@byu.net>
95252         Split xmemdup0 into its own module.
95253         * modules/xmemdup0: New file.
95254         * lib/xmemdup0.h: Likewise.
95255         * lib/xmemdup0.c: Likewise.
95256         * MODULES.html.sh (Memory management functions): Add xmemdup0.
95257         * lib/xalloc.h (xmemdup0): Remove.
95258         * lib/xmalloc.c (xmemdup0): Likewise.
95260 2008-05-13  Eric Blake  <ebb9@byu.net>
95261             Bruno Haible  <bruno@clisp.org>
95263         Reduce number of forks required during autoconf.
95264         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
95265         and gl_LIBSOURCES_DIR.
95266         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
95267         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
95268         m4_syscmd per file.
95269         <m4_foreach_w>: Move...
95270         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
95272 2008-05-13  Eric Blake  <ebb9@byu.net>
95274         * gnulib-tool: Fix various comment typos.
95276 2008-05-12  Bruno Haible  <bruno@clisp.org>
95278         Tailor the linebreaking algorithm.
95279         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
95281 2008-05-12  Bruno Haible  <bruno@clisp.org>
95283         Update to Unicode 5.0.0.
95284         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
95285         LBP_JV, LBP_JT. Redistribute values.
95286         (unilbrk_table): Change size.
95287         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
95288         Unicode TR#14 rev. 22.
95289         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
95290         LBP_JV, LBP_JT. Redistribute values.
95291         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
95292         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
95293         Update.
95294         * lib/unilbrk/lbrkprop1.h: Regenerated.
95295         * lib/unilbrk/lbrkprop2.h: Regenerated.
95296         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
95297         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
95298         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
95299         Likewise.
95300         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
95301         Likewise.
95302         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
95303         result.
95304         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
95305         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
95306         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
95307         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
95308         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
95309         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
95311 2008-05-11  Bruno Haible  <bruno@clisp.org>
95313         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
95315 2008-05-11  Bruno Haible  <bruno@clisp.org>
95317         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
95318         * modules/unilbrk/gen-lbrk: New file.
95320 2008-05-11  Bruno Haible  <bruno@clisp.org>
95322         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
95323         * m4/sha512.m4 (gl_SHA512): Likewise.
95325 2008-05-11  Jim Meyering  <meyering@redhat.com>
95327         New modules: crypto/sha256, crypto/sha512 (from coreutils)
95328         * modules/crypto/sha256: New file.
95329         * modules/crypto/sha512: Likewise.
95330         * lib/sha256.c: Likewise.
95331         * lib/sha256.h: Likewise.
95332         * lib/sha512.c: Likewise.
95333         * lib/sha512.h: Likewise.
95334         * lib/u64.h: Likewise.
95335         * m4/sha256.m4: Likewise.
95336         * m4/sha512.m4: Likewise.
95337         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
95339 2008-05-10  Bruno Haible  <bruno@clisp.org>
95341         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
95342         (Input/Output <stdio.h>): Add xprintf.
95343         (Signal handling <signal.h>): Add strsignal.
95344         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
95345         (Core language properties): Add func.
95346         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
95347         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
95348         strings.
95349         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
95350         (Input/output): New section.
95351         (File system functions): Add openat-die, stat-macros.
95352         (Networking functions): Add sockets.
95353         (Unicode string functions): Add unictype/*.
95354         (Support for building libraries and executables): Add gperf.
95355         (Support for building documentation): Add agpl-3.0.
95356         (Misc): Add nocrash.
95358 2008-05-10  Bruno Haible  <bruno@clisp.org>
95360         * modules/unictype/gen-ctype: New file.
95362 2008-05-10  Jim Meyering  <meyering@redhat.com>
95364         Make chdir-safer.c more efficient on a system with no symlinks.
95365         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
95366         also if ELOOP is zero.  Suggested by Bruno Haible.
95368         Make chdir-safer.c slightly safer.
95369         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
95370         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
95372         Avoid compile failure on systems without ELOOP (like mingw).
95373         * lib/chdir-safer.c (ELOOP): Define if not already defined.
95374         Reported by Bruno Haible.
95376 2008-05-10  Bruno Haible  <bruno@clisp.org>
95378         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
95379         (is_utf8_encoding): Use a case-insensitive comparison.
95380         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
95381         streq.
95383 2008-05-10  Bruno Haible  <bruno@clisp.org>
95385         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
95386         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
95387         * lib/unilbrk/ulc-common.h (iconv_string_length,
95388         iconv_string_keeping_offsets): Remove declarations.
95389         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
95390         Don't include <iconv.h>, streq.h, xsize.h.
95391         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
95392         conversion.
95393         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
95394         <iconv.h>, streq.h, xsize.h.
95395         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
95396         conversion.
95397         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
95398         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
95399         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
95400         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
95402 2008-05-10  Bruno Haible  <bruno@clisp.org>
95404         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
95405         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
95407         * modules/unilbrk/u32-width-linebreaks-tests: New file.
95408         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
95410         * modules/unilbrk/u16-width-linebreaks-tests: New file.
95411         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
95413         * modules/unilbrk/u8-width-linebreaks-tests: New file.
95414         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
95416         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
95417         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
95419         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
95420         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
95422         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
95423         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
95425         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
95426         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
95428 2008-05-10  Bruno Haible  <bruno@clisp.org>
95430         Split up 'linebreak' module.
95431         * lib/unilbrk.h: New file, based on lib/linebreak.h.
95432         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
95433         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
95434         modifications.
95435         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
95436         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
95437         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
95438         lib/linebreak.c.
95439         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
95440         lib/linebreak.c.
95441         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
95442         lib/linebreak.c.
95443         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
95444         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
95445         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
95446         lib/linebreak.c.
95447         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
95448         lib/linebreak.c.
95449         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
95450         lib/linebreak.c.
95451         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
95452         lib/linebreak.c.
95453         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
95454         lib/linebreak.c.
95455         * modules/unilbrk/base: New file.
95456         * modules/unilbrk/tables: New file.
95457         * modules/unilbrk/u8-possible-linebreaks: New file.
95458         * modules/unilbrk/u16-possible-linebreaks: New file.
95459         * modules/unilbrk/u32-possible-linebreaks: New file.
95460         * modules/unilbrk/ulc-common: New file.
95461         * modules/unilbrk/ulc-possible-linebreaks: New file.
95462         * modules/unilbrk/u8-width-linebreaks: New file.
95463         * modules/unilbrk/u16-width-linebreaks: New file.
95464         * modules/unilbrk/u32-width-linebreaks: New file.
95465         * modules/unilbrk/ulc-width-linebreaks: New file.
95466         * lib/linebreak.h: Remove file.
95467         * lib/linebreak.c: Remove file.
95468         * m4/linebreak.m4: Remove file.
95469         * modules/linebreak: Remove file.
95470         * NEWS: Mention the changes.
95472 2008-05-09  Eric Blake  <ebb9@byu.net>
95474         Add xmemdup0.
95475         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
95476         implementation.
95477         * lib/xmalloc.c (xmemdup0): New C implementation.
95479 2008-05-08  Bruno Haible  <bruno@clisp.org>
95481         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
95483 2008-05-07  Eric Blake  <ebb9@byu.net>
95485         Support cross-compilation of <wctype.h>.
95486         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
95487         AC_CACHE_CHECK.
95489 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
95491         * build-aux/vc-list-files: Add support for bzr.
95493 2008-05-03  Jim Meyering  <meyering@redhat.com>
95495         avoid failed assertion with tight malloc
95496         * tests/test-getndelim2.c: Correct an off-by-one assertion.
95498 2008-05-03  Simon Josefsson  <simon@josefsson.org>
95500         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
95501         are needed from arpa/inet.h.
95502         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
95503         Reported by Bruno Haible.
95505 2008-05-02  Jim Meyering  <meyering@redhat.com>
95507         avoid compilation error on FreeBSD 6
95508         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
95510 2008-05-01  Jim Meyering  <meyering@redhat.com>
95512         useless-if-before-free: correct --help's exit status description
95513         * build-aux/useless-if-before-free (usage): Like grep, exit 0
95514         for one or more matches, etc.  Reported by Bruno Haible.
95516         vc-list-files: make the stand-alone gnulib test work
95517         * modules/vc-list-files-tests (configure.ac):
95518         Define and AC_SUBST abs_aux_dir.
95519         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
95520         $(abs_top_srcdir) to each script and having each of them
95521         duplicate the work of setting PATH, set PATH here, using
95522         the new variable, abs_aux_dir instead.
95523         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
95524         * tests/test-vc-list-files-git.sh: Likewise.
95525         Reported by Bruno Haible.
95527 2008-05-01  Bruno Haible  <bruno@clisp.org>
95529         * lib/getndelim2.c (getndelim2): Fix newsize computation during
95530         reallocation. Rename 'done' to 'found_delimiter'.
95532 2008-05-01  Jim Meyering  <meyering@redhat.com>
95534         vc-list-files: accommodate /bin/sh like the one from Solaris 10
95535         * build-aux/vc-list-files: Use `...`, not $(...).
95537 2008-04-30  Jim Meyering  <meyering@redhat.com>
95539         add tests for vc-list-files
95540         * modules/vc-list-files-tests: New module.
95541         * tests/test-vc-list-files-cvs.sh: New file.
95542         * tests/test-vc-list-files-git.sh: New file.
95544         avoid a warning from gcc
95545         * lib/getndelim2.c (IF_LINT): Define.
95546         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
95548         vc-list-files: work properly with build-aux/cvsu, too
95549         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
95550         to all cvs-based clauses.
95552         vc-list-files: work properly in the CVS+awk case, too
95553         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
95555         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
95556         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
95557         take more than one file argument, so .  Add quotes, just in case $dir
95558         ever contains a shell meta-character.  Prompted by Soren Hansen in
95559         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
95561 2008-04-29  Eric Blake  <ebb9@byu.net>
95563         Optimize getndelim2 to use block operations when possible.
95564         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
95565         freadseek, and memchr2.
95566         * lib/getndelim2.c (getndelim2): Use them for block reads.
95568 2008-04-29  Bruno Haible  <bruno@clisp.org>
95570         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
95571         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
95572         * modules/inet_ntop (Depends-on): Add extensions.
95573         * modules/inet_pton (Depends-on): Likewise.
95574         Reported by Simon Josefsson.
95576 2008-04-29  Jim Meyering  <meyering@redhat.com>
95578         When the is more than one match in a block, match all of them.
95579         * build-aux/useless-if-before-free: Iterate through each block
95580         until there are no more matches.
95582         Fix broken useless-if-before-free script.
95583         * build-aux/useless-if-before-free: Fix typo: missing "?" after
95584         the expression to match cast of argument to free-like function.
95586 2008-04-29  Eric Blake  <ebb9@byu.net>
95588         Use new header.
95589         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
95591 2008-04-29  Jim Meyering  <meyering@redhat.com>
95593         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
95594         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
95595         by gnulib to exist and to declare e.g., inet_ntop.
95596         Don't include "inet_ntop.h", now removed.
95598         * m4/arpa_inet_h.m4: Remove trailing blanks.
95600 2008-04-29  Eric Blake  <ebb9@byu.net>
95602         Silence valgrind on safe reads beyond potential array bounds.
95603         * lib/rawmemchr.valgrind: New file.
95604         * lib/strchrnul.valgrind: Likewise.
95605         * modules/rawmemchr (Files): Distribute new file.
95606         * modules/strchrnul (Files): Likewise.
95607         Suggested by Bruno Haible.
95609 2008-04-29  Bruno Haible  <bruno@clisp.org>
95611         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
95612         (inet_ntop, inet_pton): Change portability warning's wording.
95613         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
95614         Invoke gl_CHECK_NEXT_HEADERS.
95615         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
95616         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
95617         set ARPA_INET_H.
95618         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
95619         * modules/arpa_inet (Description): No longer only for systems that
95620         lack it.
95621         (Depends-on): Add include_next.
95622         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
95623         HAVE_ARPA_INET_H.
95625 2008-04-29  Jim Meyering  <meyering@redhat.com>
95627         * modules/mkdir (License): Re-license as LGPLv2+.
95629 2008-04-29  Bruno Haible  <bruno@clisp.org>
95631         * modules/rawmemchr (Maintainer): Set to Eric.
95632         * modules/strchrnul (Maintainer): Likewise.
95634 2008-04-29  Simon Josefsson  <simon@josefsson.org>
95636         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
95637         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
95639         * modules/arpa_inet (arpa/inet.h): Use them.
95641 2008-04-28  Eric Blake  <ebb9@byu.net>
95643         Test getndelim2.
95644         * modules/getndelim2-tests: New file.
95645         * tests/test-getndelim2.c: Likewise.
95646         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
95647         stream.
95648         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
95650         * MODULES.html.sh: Document new module.
95652 2008-04-20  Bruno Haible  <bruno@clisp.org>
95654         * lib/c-stack.c (die): Use raise.
95655         * modules/c-stack (Depends-on): Add raise.
95657 2008-04-28  Bruno Haible  <bruno@clisp.org>
95659         Expect rpmatch to be declared.
95660         * lib/yesno.c (rpmatch): Remove declaration.
95662         Declare rpmatch.
95663         * lib/stdlib.in.h (rpmatch): New declaration.
95664         * lib/rpmatch.c: Include <stdlib.h> first.
95665         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
95666         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
95667         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
95668         HAVE_RPMATCH.
95669         * modules/rpmatch (Depends-on): Add stdlib, extensions.
95670         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
95671         (Include): Set to <stdlib.h>.
95672         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
95673         HAVE_RPMATCH.
95674         * NEWS: Document the change.
95676 2008-04-28  Bruno Haible  <bruno@clisp.org>
95678         Change rpmatch to use nl_langinfo when appropriate.
95679         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
95680         (N_): New macro.
95681         (localized_pattern): New function/macro.
95682         (try): Remove match, nomatch arguments. Copy the pattern into safe
95683         memory before caching it.
95684         (rpmatch): Use localized_pattern. Add translator comments.
95685         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
95686         Suggested by Eric Blake.
95687         * modules/rpmatch (Depends-on): Add stdbool.
95689 2008-04-28  Eric Blake  <ebb9@byu.net>
95691         Add rawmemchr module, matching glibc.
95692         * modules/string (Makefile.am): New indicator.
95693         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
95694         * lib/string.in.h (rawmemchr): Declare when appropriate.
95695         * modules/rawmemchr: New file.
95696         * m4/rawmemchr.m4: Likewise.
95697         * lib/rawmemchr.c: Likewise.
95698         * modules/rawmemchr-tests: Likewise.
95699         * tests/test-rawmemchr.c: Likewise.
95700         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
95701         module.
95702         * modules/strchrnul (Depends-on): Add rawmemchr.
95703         * lib/strchrnul.c (strchrnul): Optimize a corner case.
95705         Whitespace cleanup.
95706         * tests/test-strchrnul.c: Reindent.
95707         * lib/strchrnul.c: Likewise.
95709         Optimize and test strchrnul.
95710         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
95711         * modules/strchrnul-tests: New file.
95712         * tests/test-strchrnul.c: Likewise.
95714         Remove intprops dependency.
95715         * modules/memchr (Depends-on): Remove intprops.
95716         * modules/memrchr (Depends-on): Likewise.
95717         * modules/memchr2 (Depends-on): Likewise.
95718         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
95719         * lib/memrchr.c (__memrchr): Likewise.
95720         * lib/memrchr2.c (memchr2): Likewise.
95721         Reported by Simon Josefsson.
95723 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95725         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
95726         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95728 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95730         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
95732         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
95734         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
95736         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
95737         declarations.
95738         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
95740         * m4/inet_pton.m4: Don't check for header files.
95742         * m4/inet_ntop.m4: Don't check for header files.
95744 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95746         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
95747         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
95748         trigger for cygwin).
95749         Reported by Bruno Haible  <bruno@clisp.org>.
95751 2008-04-28  Bruno Haible  <bruno@clisp.org>
95753         * doc/posix-functions/strdup.texi: Mention mingw problem.
95755 2008-04-27  Bruno Haible  <bruno@clisp.org>
95757         * modules/stat-time-tests (Depends-on): Add sleep.
95758         * tests/test-stat-time.c (force_unlink): New function.
95759         (cleanup): Use it.
95760         (test_mtime): Remove the ctime related tests.
95761         (test_ctime): New function, containing the ctime related tests.
95762         (main): Call test_ctime, except on native Windows platforms.
95764 2008-04-27  Bruno Haible  <bruno@clisp.org>
95766         * lib/rpmatch.c (rpmatch): Add some comments.
95767         Reported by James Youngman <jay@gnu.org>.
95769 2008-04-27  Bruno Haible  <bruno@clisp.org>
95771         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
95772         quiet NaNs.
95774 2008-04-27  Bruno Haible  <bruno@clisp.org>
95776         Make test-yesno.sh work on mingw.
95777         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
95778         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
95779         (main): Set stdin to binary mode.
95780         * modules/yesno-tests (Depends-on): Add binary-io.
95782 2008-04-27  Bruno Haible  <bruno@clisp.org>
95784         Fix 'isfinite' on x86, x86_64, ia64 platforms.
95785         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
95786         argument that lie outside the IEEE 854 domain.
95787         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
95788         (gl_ISFINITE): Use it.
95789         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
95791 2008-04-27  Bruno Haible  <bruno@clisp.org>
95793         Allow local renaming in config.h.
95794         * lib/memrchr.c (memrchr): Don't undefine outside libc.
95796 2008-04-27  Bruno Haible  <bruno@clisp.org>
95798         * lib/memchr.c (__memchr): Change type of 'i'.
95799         * lib/memchr2.c (memchr2): Likewise.
95801 2008-04-26  Eric Blake  <ebb9@byu.net>
95802         and Bruno Haible  <bruno@clisp.org>
95804         Optimize and test memrchr.
95805         * modules/memrchr (Depends-on): Add intprops.
95806         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
95807         * modules/memrchr-tests: New file.
95808         * tests/test-memrchr.c: New file.
95810 2008-04-26  Bruno Haible  <bruno@clisp.org>
95812         Add tentative support for DragonFly BSD.
95813         * lib/stdio-impl.h: Add macros for DragonFly BSD.
95814         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
95815         fp.
95816         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
95817         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
95818         * lib/fpurge.c (fpurge): Likewise.
95819         * lib/freadable.c (freaadable): Likewise.
95820         * lib/freadahead.c (freadahead): Likewise.
95821         * lib/freading.c (freading): Likewise.
95822         * lib/freadptr.c (freadptr): Likewise.
95823         * lib/freadseek.c (freadptrinc): Likewise.
95824         * lib/fseeko.c (fseeko): Likewise.
95825         * lib/fseterr.c (fseterr): Likewise.
95826         * lib/fwritable.c (fwritable): Likewise.
95827         * lib/fwriting.c (fwriting): Likewise.
95829 2008-04-26  Bruno Haible  <bruno@clisp.org>
95831         * lib/stdio-impl.h: New file.
95832         * lib/fbufmode.c: Include stdio-impl.h.
95833         (fbufmode): Use fp_, remove redundant #defines.
95834         * lib/fflush.c: Include stdio-impl.h.
95835         (clear_ungetc_buffer): Remove redundant #defines.
95836         * lib/fpurge.c: Include stdio-impl.h.
95837         (fpurge): Remove redundant #defines.
95838         * lib/freadable.c: Include stdio-impl.h.
95839         (freadable): Remove redundant #defines.
95840         * lib/freadahead.c: Include stdio-impl.h.
95841         (freadahead): Remove redundant #defines.
95842         * lib/freading.c: Include stdio-impl.h.
95843         (freading): Remove redundant #defines.
95844         * lib/freadptr.c: Include stdio-impl.h.
95845         (freadptr): Remove redundant #defines.
95846         * lib/freadseek.c: Include stdio-impl.h.
95847         (freadptrinc): Remove redundant #defines.
95848         * lib/fseeko.c: Include stdio-impl.h.
95849         (rpl_fseeko): Remove redundant #defines.
95850         * lib/fseterr.c: Include stdio-impl.h.
95851         (fseterr): Remove redundant #defines.
95852         * lib/fwritable.c: Include stdio-impl.h.
95853         (fwritable: Remove redundant #defines.
95854         * lib/fwriting.c: Include stdio-impl.h.
95855         (fwriting): Remove redundant #defines.
95856         * modules/fbufmode (Files): Add lib/stdio-impl.h.
95857         * modules/fflush (Files): Likewise.
95858         * modules/fpurge (Files): Likewise.
95859         * modules/freadable (Files): Likewise.
95860         * modules/freadahead (Files): Likewise.
95861         * modules/freading (Files): Likewise.
95862         * modules/freadptr (Files): Likewise.
95863         * modules/freadseek (Files): Likewise.
95864         * modules/fseeko (Files): Likewise.
95865         * modules/fseterr (Files): Likewise.
95866         * modules/fwritable (Files): Likewise.
95867         * modules/fwriting (Files): Likewise.
95869 2008-04-26  Bruno Haible  <bruno@clisp.org>
95871         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
95872         restore_seek_optimization, update_fpos_cache): New functions, extracted
95873         from rpl_fflush.
95874         (rpl_fflush): Use them.
95875         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
95876         (gl_REPLACE_FFLUSH): Use it.
95878 2008-04-26  Bruno Haible  <bruno@clisp.org>
95880         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
95881         on Solaris.
95882         * tests/test-xstrtoimax.sh: Likewise.
95883         * tests/test-xstrtoumax.sh: Likewise.
95884         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95886 2008-04-26  Bruno Haible  <bruno@clisp.org>
95888         * modules/memchr-tests: New file.
95889         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
95891 2008-04-26  Eric Blake  <ebb9@byu.net>
95892             Bruno Haible  <bruno@clisp.org>
95894         * lib/memchr.c: Include intprops.h.
95895         (__memchr): Optimize parallel detection of matching bytes. Rename local
95896         variables. Add explanatory comments.
95898 2008-04-26  Bruno Haible  <bruno@clisp.org>
95900         Fix module 'memchr', broken since 2000-10-28.
95901         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
95903 2008-04-26  Bruno Haible  <bruno@clisp.org>
95905         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
95906         comments.
95908 2008-04-25  Eric Blake  <ebb9@byu.net>
95910         Use native fstatat on cygwin 1.7.0.
95911         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
95912         first.
95914 2008-04-23  Eric Blake  <ebb9@byu.net>
95916         Improve memchr2 performance.
95917         * lib/memchr2.c (memchr2): Further optimize parallel detection of
95918         NUL bytes.
95919         * modules/memchr2 (Depends-on): Use intprops.h.
95921 2008-04-23  Simon Josefsson  <simon@josefsson.org>
95923         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
95924         an inline function instead of a CPP macro.  Patch by Ben Pfaff
95925         <blp@cs.stanford.edu>.
95927 2008-04-23  Simon Josefsson  <simon@josefsson.org>
95929         * lib/arpa_inet.in.h: New file.
95931         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
95932         (Makefile.am): Sed in substitute header file.
95934         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
95935         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
95937         * modules/inet_ntop (configure.ac): Use
95938         gl_ARPA_INET_MODULE_INDICATOR.
95940         * modules/inet_pton (configure.ac): Use
95941         gl_ARPA_INET_MODULE_INDICATOR.
95943 2008-04-22  Jim Meyering  <meyering@redhat.com>
95945         * modules/verify (License): Re-license as LGPLv2+.
95947 2008-04-22  Simon Josefsson  <simon@josefsson.org>
95949         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
95950         parameter to void* as per POSIX standard (MinGW uses char*).
95952 2008-04-21  Bruno Haible  <bruno@clisp.org>
95954         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
95955         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
95956         Define to replacements if REPLACE_ISWCNTRL is 1.
95957         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
95958         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
95959         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
95960         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
95961         what it fixes.
95962         * doc/posix-functions/iswalpha.texi: Likewise.
95963         * doc/posix-functions/iswblank.texi: Likewise.
95964         * doc/posix-functions/iswcntrl.texi: Likewise.
95965         * doc/posix-functions/iswdigit.texi: Likewise.
95966         * doc/posix-functions/iswgraph.texi: Likewise.
95967         * doc/posix-functions/iswlower.texi: Likewise.
95968         * doc/posix-functions/iswprint.texi: Likewise.
95969         * doc/posix-functions/iswpunct.texi: Likewise.
95970         * doc/posix-functions/iswspace.texi: Likewise.
95971         * doc/posix-functions/iswupper.texi: Likewise.
95972         * doc/posix-functions/iswxdigit.texi: Likewise.
95973         Reported by Alain Guibert.
95975 2008-04-21  Bruno Haible  <bruno@clisp.org>
95977         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
95978         Patch by Alain Guibert.
95980 2008-04-21  Bruno Haible  <bruno@clisp.org>
95982         Fix test failures on mingw.
95983         * tests/test-xstrtol.c (print_no_progname): New function.
95984         (main): Install it in error_print_progname hook.
95985         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
95986         * tests/test-xstrtoimax.sh: Likewise.
95987         * tests/test-xstrtoumax.sh: Likewise.
95989 2008-04-21  Bruno Haible  <bruno@clisp.org>
95991         Fix test failure on mingw.
95992         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
95994 2008-04-21  Bruno Haible  <bruno@clisp.org>
95996         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
95997         Actually assign a value.
95999 2008-04-20  Bruno Haible  <bruno@clisp.org>
96001         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
96002         take 2.
96003         * lib/canonicalize.c (canonicalize_file_name): Elide if the
96004         'canonicalize-lgpl' module is also used.
96005         * lib/canonicalize-lgpl.c: Undo last change.
96006         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
96008 2008-04-20  Bruno Haible  <bruno@clisp.org>
96010         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
96011         config.h. Provide _mkdir based fallback for mingw.
96012         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
96013         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
96014         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
96015         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
96016         rather than defining mkdir in config.h.
96017         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
96018         (gl_SYS_STAT_H_DEFAULTS): New macro.
96019         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
96020         HAVE_IO_H any more.
96021         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
96022         HAVE_DECL_MKDIR and HAVE_IO_H.
96024 2008-04-20  Bruno Haible  <bruno@clisp.org>
96026         * lib/isapipe.c: Port to native Windows platforms.
96028 2008-04-20  Bruno Haible  <bruno@clisp.org>
96030         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
96032 2008-04-21  Eric Blake  <ebb9@byu.net>
96034         Work around preprocessors that don't handle UINTMAX_MAX.
96035         * lib/memchr2.c (memchr2): Avoid embedded #if.
96036         Reported by Alain Guibert, fix suggested by Bruno Haible.
96038 2008-04-21  Simon Josefsson  <simon@josefsson.org>
96040         * doc/posix-functions/strftime.texi (strftime): Explain better
96041         Windows incompatibility.  Suggested by Micah Cowan
96042         <micah@cowan.name>.
96044 2008-04-20  Bruno Haible  <bruno@clisp.org>
96046         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
96047         unistr/u8-mblen.
96049 2008-04-20  Bruno Haible  <bruno@clisp.org>
96051         Fix test failure on platforms with non-GNU iconv.
96052         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
96053         (U_TO_U8): Use it, rather than u16_to_u8.
96054         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
96055         units at the end of the input string.
96056         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
96058 2008-04-20  Bruno Haible  <bruno@clisp.org>
96060         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
96061         when the resulting length is 0.
96062         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
96064 2008-04-20  Bruno Haible  <bruno@clisp.org>
96066         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
96067         works.
96068         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
96070 2008-04-20  Bruno Haible  <bruno@clisp.org>
96072         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
96073         * modules/tsearch-tests (configure.ac): Test for initstate function.
96075 2008-04-20  Bruno Haible  <bruno@clisp.org>
96077         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
96078         for nlink_t if missing.
96079         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
96081 2008-04-19  Bruno Haible  <bruno@clisp.org>
96083         Work around snprintf bug on Linux libc5.
96084         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
96085         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
96086         gl_SNPRINTF_SIZE1.
96087         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
96088         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
96089         that test failed.
96090         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
96091         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
96092         * modules/snprintf (Files): Add m4/printf.m4.
96093         * modules/vsnprintf (Files): Likewise.
96094         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
96095         * doc/posix-functions/vsnprintf.texi: Likewise.
96097 2008-04-19  Bruno Haible  <bruno@clisp.org>
96099         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
96100         from 0.0058 to less than 10^-7.
96102 2008-04-19  Bruno Haible  <bruno@clisp.org>
96104         Fix rounding when a precision is given.
96105         * lib/vasnprintf.c (is_borderline): New function.
96106         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
96107         9...9x.
96108         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
96109         %e, %g.
96110         * tests/test-vasprintf-posix.c (test_function): Likewise.
96111         * tests/test-snprintf-posix.h (test_function): Likewise.
96112         * tests/test-sprintf-posix.h (test_function): Likewise.
96113         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
96114         * tests/test-printf-posix.h (test_function): Likewise.
96115         * tests/test-printf-posix.output: Update.
96116         Reported by John Darrington <john@darrington.wattle.id.au> via
96117         Ben Pfaff <blp@cs.stanford.edu>.
96119 2008-04-18  Simon Josefsson  <simon@josefsson.org>
96121         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
96122         Suggested by Bruno Haible <bruno@clisp.org>.
96124 2008-04-17  Bruno Haible  <bruno@clisp.org>
96126         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
96127         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
96128         implementation.
96129         Patch by Bruce Merry <bmerry@gmail.com>.
96131 2008-04-17  Simon Josefsson  <simon@josefsson.org>
96133         * doc/posix-functions/strftime.texi (strftime): Mention that %e
96134         doesn't work under Windows.
96136 2008-04-16  Bruno Haible  <bruno@clisp.org>
96138         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
96139         New macros.
96140         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
96141         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
96142         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
96143         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
96144         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
96145         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
96146         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
96147         macros.
96148         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
96149         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
96150         Northern Sotho, Uighur.
96152 2008-04-16  Bruno Haible  <bruno@clisp.org>
96154         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
96155         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
96156         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
96157         Reported by Daniel Bergström <daniel@octocode.com>.
96159 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
96160             Bruno Haible  <bruno@clisp.org>
96162         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
96163         function.
96164         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
96165         New functions, mostly extracted from gl_locale_name_default.
96166         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
96168 2008-04-16  Eric Blake  <ebb9@byu.net>
96170         Adjust strtod detection to catch glibc 2.7 bug.
96171         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
96172         Reported by John Gatewood Ham.
96174 2008-04-16  Bruno Haible  <bruno@clisp.org>
96176         Add tentative support for Linux libc5.
96177         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
96178         * lib/fpurge.c (fpurge): Likewise.
96179         * lib/freadable.c (freadable): Likewise.
96180         * lib/freadahead.c (freadahead): Likewise.
96181         * lib/freading.c (freading): Likewise.
96182         * lib/freadptr.c (freadptr): Likewise.
96183         * lib/freadseek.c (freadptrinc): Likewise.
96184         * lib/fseeko.c (rpl_fseeko): Likewise.
96185         * lib/fseterr.c (fseterr): Likewise.
96186         * lib/fwritable.c (fwritable): Likewise.
96187         * lib/fwriting.c (fwriting): Likewise.
96188         Reported by Alain Guibert <alguibert+bts@free.fr>.
96190 2008-04-15  Bruno Haible  <bruno@clisp.org>
96192         * modules/mathl (configure.ac): Define module indicator.
96194 2008-04-15  Bruno Haible  <bruno@clisp.org>
96196         * lib/logl.c (logl): Remove unused variables.
96198 2008-04-15  Bruno Haible  <bruno@clisp.org>
96200         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
96201         fails.
96203 2008-04-15  Bruno Haible  <bruno@clisp.org>
96205         * lib/trim.c (trim2): Fix argument of isspace() macro.
96207 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
96209         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
96210         to 0.
96211         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
96213 2008-04-14  Bruno Haible  <bruno@clisp.org>
96215         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
96216         AC_LANG_PROGRAM argument.
96217         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
96218         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
96219         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
96220         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
96221         * m4/math_h.m4 (gl_MATH_H): Likewise.
96222         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
96223         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
96224         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
96225         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
96226         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
96227         * m4/regex.m4 (gl_REGEX): Likewise.
96228         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
96229         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
96230         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
96231         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
96232         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
96233         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
96234         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
96235         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
96237 2008-04-14  Jim Meyering  <meyering@redhat.com>
96239         test-strtod: fix typos: s/abs/fabs/
96240         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
96242 2008-04-13  Bruno Haible  <bruno@clisp.org>
96244         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
96245         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
96246         module is also used and while not building the reloc-wrapper.
96248 2008-04-13  Bruno Haible  <bruno@clisp.org>
96250         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
96252 2008-04-13  Bruno Haible  <bruno@clisp.org>
96254         Fix AIX compilation failure introduced on 2008-04-02.
96255         * tests/test-frexp.c (exp): Undefine before redefining.
96256         * tests/test-frexpl.c (exp): Likewise.
96258 2008-04-13  Bruno Haible  <bruno@clisp.org>
96260         Work around a HP-UX stdio bug.
96261         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
96262         * tests/test-ftello.c (main): Likewise.
96263         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
96264         * doc/posix-functions/ftello.texi: Likewise.
96266 2008-04-13  Bruno Haible  <bruno@clisp.org>
96268         Make test-signbit pass on HP-UX/hppa.
96269         * tests/test-signbit.c (minus_zerol): New variable.
96270         (test_signbitl): Use it.
96272 2008-04-13  Bruno Haible  <bruno@clisp.org>
96274         Make truncl work on OSF/1 4.0.
96275         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
96276         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
96277         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
96278         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
96279         HAVE_DECL_TRUNCL.
96280         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
96281         HAVE_DECL_TRUNCL.
96282         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
96284 2008-04-13  Bruno Haible  <bruno@clisp.org>
96286         * lib/unictype.h: Remove trailing comma from enumeration definitions.
96288 2008-04-13  Bruno Haible  <bruno@clisp.org>
96290         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
96291         expression, so as to avoid HP-UX 11 cc compiler bug.
96293 2008-04-13  Bruno Haible  <bruno@clisp.org>
96295         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
96297 2008-04-13  Bruno Haible  <bruno@clisp.org>
96299         * lib/git-merge-changelog.c: Remove empty declaration outside of
96300         functions.
96302 2008-04-13  Bruno Haible  <bruno@clisp.org>
96304         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
96306 2008-04-13  Bruno Haible  <bruno@clisp.org>
96308         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
96309         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
96310         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
96311         also if it exists but lacks definitions of the SHUT_* macros.
96312         * modules/sys_socket (Description): Update.
96313         Reported by Elbert Pol <e.pol@chello.nl>.
96315 2008-04-13  Bruno Haible  <bruno@clisp.org>
96317         * lib/localcharset.c (OS2): Don't redefine if already defined.
96318         Reported by Elbert Pol <e.pol@chello.nl>.
96320 2008-04-13  Bruno Haible  <bruno@clisp.org>
96322         * lib/binary-io.h [__EMX__]: Include <io.h>.
96323         Reported by Elbert Pol <e.pol@chello.nl>.
96325 2008-04-12  Bruno Haible  <bruno@clisp.org>
96327         * lib/fpucw.h: Enable the definitions also for x86_64.
96328         Needed for NetBSD/x86_64.
96329         Reported by Thomas Klausner <tk@giga.or.at>.
96331 2008-04-12  Bruno Haible  <bruno@clisp.org>
96333         * tests/test-strtod.c: Include isnand.h.
96334         (main): Use isnand instead of isnan.
96335         Reported by Jim Meyering.
96337 2008-04-12  Bruno Haible  <bruno@clisp.org>
96339         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
96340         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
96342 2008-04-12  Jim Meyering  <meyering@redhat.com>
96344         * m4/math_h.m4 (gl_MATH_H): Fix typos.
96346 2008-04-12  Bruno Haible  <bruno@clisp.org>
96348         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
96349         Reported by Elbert Pol <e.pol@chello.nl>.
96351 2008-04-12  Eric Blake  <ebb9@byu.net>
96353         Work around Solaris 10 math.h bug.
96354         * m4/math_h.m4 (gl_MATH_H): Check for bug.
96355         (gl_MATH_H_DEFAULTS): Set up default.
96356         * modules/math (Makefile.am): Replace new indicators.
96357         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
96358         * tests/test-math.c (main): Test this.
96359         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
96360         * doc/posix-headers/math.texi (math.h): Mention bug.
96361         Reported by Nelson H. F. Beebe and Jim Meyering.
96363 2008-04-11  Bruno Haible  <bruno@clisp.org>
96365         Adapt to future versions of Apple GCC.
96366         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
96367         Reported by Peter O'Gorman <peter@pogma.com>.
96369 2008-04-11  Bruno Haible  <bruno@clisp.org>
96371         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
96373 2008-04-11  Bruno Haible  <bruno@clisp.org>
96375         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
96377         * modules/getaddrinfo-tests (Makefile.am): Define
96378         test_getaddrinfo_LDADD.
96380 2008-04-11  Bruno Haible  <bruno@clisp.org>
96382         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
96383         (init): Fix syntax error.
96384         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
96385         is declared.
96387 2008-04-11  Bruno Haible  <bruno@clisp.org>
96389         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
96390         * modules/glob (Depends-on): Add stdbool.
96392 2008-04-11  Bruno Haible  <bruno@clisp.org>
96394         * lib/trim.c: Include <string.h>.
96396 2008-04-11  Eric Blake  <ebb9@byu.net>
96398         Avoid compile failure on OS/2.
96399         * lib/regex_internal.h (internal_function): Disable optimization
96400         on OS/2 (__EMX__), where it caused compiler error.
96401         Reported by Elbert Pol.
96403 2008-04-11  Bruno Haible  <bruno@clisp.org>
96405         Flush the standard error stream before aborting. Needed on mingw.
96406         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
96407         * tests/test-array_list.c (ASSERT): Likewise.
96408         * tests/test-array_oset.c (ASSERT): Likewise.
96409         * tests/test-avltree_list.c (ASSERT): Likewise.
96410         * tests/test-avltree_oset.c (ASSERT): Likewise.
96411         * tests/test-avltreehash_list.c (ASSERT): Likewise.
96412         * tests/test-binary-io.c (ASSERT): Likewise.
96413         * tests/test-byteswap.c (ASSERT): Likewise.
96414         * tests/test-c-ctype.c (ASSERT): Likewise.
96415         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
96416         * tests/test-c-strcasestr.c (ASSERT): Likewise.
96417         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
96418         * tests/test-c-strstr.c (ASSERT): Likewise.
96419         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
96420         * tests/test-canonicalize.c (ASSERT): Likewise.
96421         * tests/test-carray_list.c (ASSERT): Likewise.
96422         * tests/test-ceilf1.c (ASSERT): Likewise.
96423         * tests/test-ceilf2.c (ASSERT): Likewise.
96424         * tests/test-ceill.c (ASSERT): Likewise.
96425         * tests/test-count-one-bits.c (ASSERT): Likewise.
96426         * tests/test-fbufmode.c (ASSERT): Likewise.
96427         * tests/test-fflush2.c (ASSERT): Likewise.
96428         * tests/test-floorf1.c (ASSERT): Likewise.
96429         * tests/test-floorf2.c (ASSERT): Likewise.
96430         * tests/test-floorl.c (ASSERT): Likewise.
96431         * tests/test-fopen.c (ASSERT): Likewise.
96432         * tests/test-fpending.c (ASSERT): Likewise.
96433         * tests/test-fprintf-posix.c (ASSERT): Likewise.
96434         * tests/test-fpurge.c (ASSERT): Likewise.
96435         * tests/test-freadable.c (ASSERT): Likewise.
96436         * tests/test-freadahead.c (ASSERT): Likewise.
96437         * tests/test-freading.c (ASSERT): Likewise.
96438         * tests/test-freadptr.c (ASSERT): Likewise.
96439         * tests/test-freadptr2.c (ASSERT): Likewise.
96440         * tests/test-freadseek.c (ASSERT): Likewise.
96441         * tests/test-freopen.c (ASSERT): Likewise.
96442         * tests/test-frexp.c (ASSERT): Likewise.
96443         * tests/test-frexpl.c (ASSERT): Likewise.
96444         * tests/test-fseek.c (ASSERT): Likewise.
96445         * tests/test-fseeko.c (ASSERT): Likewise.
96446         * tests/test-fstrcmp.c (ASSERT): Likewise.
96447         * tests/test-ftell.c (ASSERT): Likewise.
96448         * tests/test-ftello.c (ASSERT): Likewise.
96449         * tests/test-func.c (ASSERT): Likewise.
96450         * tests/test-fwritable.c (ASSERT): Likewise.
96451         * tests/test-fwriting.c (ASSERT): Likewise.
96452         * tests/test-getdelim.c (ASSERT): Likewise.
96453         * tests/test-getline.c (ASSERT): Likewise.
96454         * tests/test-i-ring.c (ASSERT): Likewise.
96455         * tests/test-iconv-utf.c (ASSERT): Likewise.
96456         * tests/test-iconv.c (ASSERT): Likewise.
96457         * tests/test-isfinite.c (ASSERT): Likewise.
96458         * tests/test-isnand.c (ASSERT): Likewise.
96459         * tests/test-isnanf.c (ASSERT): Likewise.
96460         * tests/test-isnanl.h (ASSERT): Likewise.
96461         * tests/test-ldexpl.c (ASSERT): Likewise.
96462         * tests/test-linked_list.c (ASSERT): Likewise.
96463         * tests/test-linkedhash_list.c (ASSERT): Likewise.
96464         * tests/test-localename.c (ASSERT): Likewise.
96465         * tests/test-lseek.c (ASSERT): Likewise.
96466         * tests/test-mbscasecmp.c (ASSERT): Likewise.
96467         * tests/test-mbscasestr1.c (ASSERT): Likewise.
96468         * tests/test-mbscasestr2.c (ASSERT): Likewise.
96469         * tests/test-mbscasestr3.c (ASSERT): Likewise.
96470         * tests/test-mbscasestr4.c (ASSERT): Likewise.
96471         * tests/test-mbschr.c (ASSERT): Likewise.
96472         * tests/test-mbscspn.c (ASSERT): Likewise.
96473         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
96474         * tests/test-mbspbrk.c (ASSERT): Likewise.
96475         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
96476         * tests/test-mbsrchr.c (ASSERT): Likewise.
96477         * tests/test-mbsspn.c (ASSERT): Likewise.
96478         * tests/test-mbsstr1.c (ASSERT): Likewise.
96479         * tests/test-mbsstr2.c (ASSERT): Likewise.
96480         * tests/test-mbsstr3.c (ASSERT): Likewise.
96481         * tests/test-memchr2.c (ASSERT): Likewise.
96482         * tests/test-memmem.c (ASSERT): Likewise.
96483         * tests/test-open.c (ASSERT): Likewise.
96484         * tests/test-printf-frexp.c (ASSERT): Likewise.
96485         * tests/test-printf-frexpl.c (ASSERT): Likewise.
96486         * tests/test-printf-posix.c (ASSERT): Likewise.
96487         * tests/test-quotearg.c (ASSERT): Likewise.
96488         * tests/test-rbtree_list.c (ASSERT): Likewise.
96489         * tests/test-rbtree_oset.c (ASSERT): Likewise.
96490         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
96491         * tests/test-round1.c (ASSERT): Likewise.
96492         * tests/test-roundf1.c (ASSERT): Likewise.
96493         * tests/test-roundl.c (ASSERT): Likewise.
96494         * tests/test-signbit.c (ASSERT): Likewise.
96495         * tests/test-sleep.c (ASSERT): Likewise.
96496         * tests/test-snprintf-posix.c (ASSERT): Likewise.
96497         * tests/test-snprintf.c (ASSERT): Likewise.
96498         * tests/test-sprintf-posix.c (ASSERT): Likewise.
96499         * tests/test-stat-time.c (ASSERT): Likewise.
96500         * tests/test-strcasestr.c (ASSERT): Likewise.
96501         * tests/test-strerror.c (ASSERT): Likewise.
96502         * tests/test-striconv.c (ASSERT): Likewise.
96503         * tests/test-striconveh.c (ASSERT): Likewise.
96504         * tests/test-striconveha.c (ASSERT): Likewise.
96505         * tests/test-strsignal.c (ASSERT): Likewise.
96506         * tests/test-strstr.c (ASSERT): Likewise.
96507         * tests/test-strtod.c (ASSERT): Likewise.
96508         * tests/test-trunc1.c (ASSERT): Likewise.
96509         * tests/test-trunc2.c (ASSERT): Likewise.
96510         * tests/test-truncf1.c (ASSERT): Likewise.
96511         * tests/test-truncf2.c (ASSERT): Likewise.
96512         * tests/test-truncl.c (ASSERT): Likewise.
96513         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
96514         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
96515         * tests/test-vasnprintf.c (ASSERT): Likewise.
96516         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
96517         * tests/test-vasprintf.c (ASSERT): Likewise.
96518         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
96519         * tests/test-vprintf-posix.c (ASSERT): Likewise.
96520         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
96521         * tests/test-vsnprintf.c (ASSERT): Likewise.
96522         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
96523         * tests/test-wcwidth.c (ASSERT): Likewise.
96524         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
96525         * tests/test-xprintf-posix.c (ASSERT): Likewise.
96526         * tests/test-xvasprintf.c (ASSERT): Likewise.
96527         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
96528         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
96529         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
96530         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
96531         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
96532         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
96533         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
96534         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
96535         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
96536         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
96537         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
96538         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
96539         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
96540         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
96541         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
96542         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
96543         * tests/unictype/test-block_list.c (ASSERT): Likewise.
96544         * tests/unictype/test-block_of.c (ASSERT): Likewise.
96545         * tests/unictype/test-block_test.c (ASSERT): Likewise.
96546         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
96547         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
96548         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
96549         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
96550         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
96551         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
96552         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
96553         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
96554         * tests/unictype/test-combining.c (ASSERT): Likewise.
96555         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
96556         * tests/unictype/test-digit.c (ASSERT): Likewise.
96557         * tests/unictype/test-mirror.c (ASSERT): Likewise.
96558         * tests/unictype/test-numeric.c (ASSERT): Likewise.
96559         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
96560         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
96561         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
96562         * tests/unictype/test-scripts.c (ASSERT): Likewise.
96563         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
96564         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
96565         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
96566         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
96567         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
96568         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
96569         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
96570         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
96571         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
96572         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
96573         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
96574         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
96575         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
96576         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
96577         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
96578         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
96579         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
96580         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
96581         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
96582         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
96583         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
96584         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
96585         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
96586         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
96587         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
96588         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
96589         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
96590         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
96591         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
96592         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
96593         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
96594         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
96595         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
96596         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
96597         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
96598         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
96599         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
96600         Reported by Eric Blake.
96602 2008-04-11  Bruno Haible  <bruno@clisp.org>
96604         * lib/wchar.in.h: Tweak comment.
96606 2008-04-11  Bruno Haible  <bruno@clisp.org>
96608         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
96609         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
96610         gl_COMMON.
96611         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
96613 2008-04-11  Bruno Haible  <bruno@clisp.org>
96615         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
96617 2008-04-11  Simon Josefsson  <simon@josefsson.org>
96619         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
96620         of attempting to use non-existing /dev/*random.  Based on patch
96621         from Adam Strzelecki <ono@java.pl> in
96622         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
96624 2008-04-08  Bruno Haible  <bruno@clisp.org>
96626         Add tentative support for emx+gcc.
96627         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
96628         * lib/fpurge.c (fpurge): Likewise.
96629         * lib/freadable.c (freadable): Likewise.
96630         * lib/freadahead.c (freadahead): Likewise.
96631         * lib/freading.c (freading): Likewise.
96632         * lib/freadptr.c (freadptr): Likewise.
96633         * lib/freadseek.c (freadptrinc): Likewise.
96634         * lib/fseeko.c (rpl_fseeko): Likewise.
96635         * lib/fseterr.c (fseterr): Likewise.
96636         * lib/fwritable.c (fwritable): Likewise.
96637         * lib/fwriting.c (fwriting): Likewise.
96638         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
96640 2008-04-09  Eric Blake  <ebb9@byu.net>
96642         Avoid some autoconf warnings.
96643         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
96644         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
96645         * m4/afs.m4 (gl_AFS): Likewise.
96646         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
96647         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
96648         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
96649         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
96650         (gl_INTEGER_TYPE_SUFFIX): Likewise.
96651         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
96652         (AC_CHECK_DECLS_ONCE): Likewise.
96653         Rename file...
96654         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
96655         gnulib-tool requires autoconf 2.59 or better.
96656         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
96658 2008-04-08  Eric Blake  <ebb9@byu.net>
96660         Use 'git describe --match' if present (added in git 1.5.5).
96661         * build-aux/git-version-gen: Limit result to tags that match 'v*'
96662         if possible.
96664 2008-04-08  Bruno Haible  <bruno@clisp.org>
96666         Add tentative support for OpenServer.
96667         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
96668         _ptr, _cnt.
96669         * lib/fpurge.c (fpurge): Likewise.
96670         * lib/freadable.c (freadable): Likewise.
96671         * lib/freadahead.c (freadahead): Likewise.
96672         * lib/freading.c (freading): Likewise.
96673         * lib/freadptr.c (freadptr): Likewise.
96674         * lib/freadseek.c (freadptrinc): Likewise.
96675         * lib/fseeko.c (rpl_fseeko): Likewise.
96676         * lib/fseterr.c (fseterr): Likewise.
96677         * lib/fwritable.c (fwritable): Likewise.
96678         * lib/fwriting.c (fwriting): Likewise.
96679         Reported by Roger Cornelius <rac@tenzing.org> and
96680         Brian K. White <brian@aljex.com>.
96682 2008-04-06  Jim Meyering  <meyering@redhat.com>
96684         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
96686 2008-04-06  Bruno Haible  <bruno@clisp.org>
96688         Avoid possible error with non-ASCII bytes in UTF-8 locales.
96689         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
96690         * tests/test-printf-posix.sh: Likewise.
96691         * tests/test-vfprintf-posix.sh: Likewise.
96692         * tests/test-vprintf-posix.sh: Likewise.
96693         * tests/test-xprintf-posix.sh: Likewise.
96695 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96697         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
96698         hide error from 'ls', needed on OS/2.
96699         Report by Elbert Pol <elbert.pol@gmail.com>.
96701 2008-04-04  Eric Blake  <ebb9@byu.net>
96703         Make test-fseeko.c failures meaningful.
96704         * tests/test-fseeko.c: Print line number on failure.
96705         * tests/test-fseek.c: Likewise.
96706         Reported by Nelson H. F. Beebe.
96708         Improve strtod bug detection check.
96709         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
96710         required for Solaris 10.
96711         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
96713 2008-04-04  Bruno Haible  <bruno@clisp.org>
96715         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
96716         by m4/setenv.m4.
96718 2008-04-03  Eric Blake  <ebb9@byu.net>
96720         Ensure sane .version contents.
96721         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
96722         version string.
96723         * build-aux/git-version-gen: Improve documentation.
96725         Make GNU make output nicer.
96726         * top/GNUmakefile [!_have-Makefile]: Add dependency on
96727         MAKECMDGOALS to enforce message for all command line targets.  Set
96728         srcdir for use in maint.mk.
96730         Another maintainer tweak.
96731         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
96732         a target that regenerates version.
96734 2008-04-03  Jim Meyering  <meyering@redhat.com>
96736         vc-list-files: don't cause coreutils "make po-check" failure
96737         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
96739 2008-04-03  Eric Blake  <ebb9@byu.net>
96741         Allow VPATH usage of vc-list-files.
96742         * build-aux/vc-list-files (scriptversion): Add timestamp.
96743         (options): Add --help, --version, -C.
96744         (CVS): Support installed cvsu.
96746 2008-04-02  Bruno Haible  <bruno@clisp.org>
96748         Avoid some "statement with no effect" warnings from gcc.
96749         * tests/test-wctype.c (main): Explicitly ignore unused values.
96750         Reported by Jim Meyering.
96752 2008-04-02  Jim Meyering  <meyering@redhat.com>
96754         Avoid some warnings from "gcc -Wshadow".
96755         * tests/test-frexp.c (exp): Define to a different identifier.
96756         * tests/test-frexpl.c (exp): Likewise.
96758 2008-04-03  Jim Meyering  <meyering@redhat.com>
96760         bootstrap: remove dangling *.[ch] symlinks from lib
96761         * build-aux/bootstrap [dangling symlink removal]: Move find's
96762         -depth option to precede all others, to avoid a warning.
96763         Remove *.[ch] files too, and from "$source_base" (usually lib/).
96765 2008-04-02  Bruno Haible  <bruno@clisp.org>
96767         Avoid some warnings from "gcc -Wshadow".
96768         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
96769         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
96770         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
96771         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
96772         Reported by Jim Meyering.
96774 2008-04-01  Bruno Haible  <bruno@clisp.org>
96776         Fix test to work on IRIX 6.5 with cc.
96777         * tests/test-math.c (numeric_equal): New function.
96778         (main): Use it.
96780 2008-04-01  Bruno Haible  <bruno@clisp.org>
96782         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
96784 2008-04-01  Bruno Haible  <bruno@clisp.org>
96786         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
96787         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96788         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
96789         (Depends-on): Remove math.
96791         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
96792         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96793         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
96794         (Depends-on): Remove math.
96796         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
96797         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96798         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
96799         (Depends-on): Remove math.
96800         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
96801         (Depends-on): Remove math.
96803         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
96804         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96805         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
96806         (Depends-on): Remove math.
96807         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
96808         (Depends-on): Remove math.
96810         * tests/test-round1.c: Include nan.h.
96811         (main): Use NaNd instead of NAN.
96812         * modules/round-tests (Files): Add tests/nan.h.
96814         * tests/test-trunc1.c: Include nan.h.
96815         (main): Use NaNd instead of NAN.
96816         * modules/trunc-tests (Files): Add tests/nan.h.
96818         * tests/test-roundf1.c: Include nan.h.
96819         (main): Use NaNf instead of NAN.
96820         * modules/roundf-tests (Files): Add tests/nan.h.
96822         * tests/test-truncf1.c: Include nan.h.
96823         (main): Use NaNf instead of NAN.
96824         * modules/truncf-tests (Files): Add tests/nan.h.
96826         * tests/test-ceilf1.c: Include nan.h.
96827         (main): Use NaNf instead of NAN.
96828         * modules/ceilf-tests (Files): Add tests/nan.h.
96830         * tests/test-floorf1.c: Include nan.h.
96831         (main): Use NaNf instead of NAN.
96832         * modules/floorf-tests (Files): Add tests/nan.h.
96834         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
96835         (main): Use NaNf instead of NAN.
96836         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
96838         * tests/test-isnand.c: Include nan.h instead of <math.h>.
96839         (main): Use NaNd instead of NAN.
96840         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
96842         * tests/test-frexp.c: Include nan.h.
96843         (main): Use NaNd instead of NAN.
96844         * modules/frexp-tests (Files): Add tests/nan.h.
96846         * lib/isnan.c: Don't include <math.h>.
96847         (FUNC): Don't use NAN macro.
96848         * modules/isnand-nolibm (Depends-on): Remove math.
96849         * modules/isnanf-nolibm (Depends-on): Remove math.
96850         * modules/isnanl (Depends-on): Remove math.
96851         * modules/isnanl-nolibm (Depends-on): Remove math.
96853         * tests/nan.h: New file.
96855 2008-04-01  Eric Blake  <ebb9@byu.net>
96857         Fix typos.
96858         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
96859         values to be the right type.
96861         For now, cater to gnulib strtod inaccuracies.
96862         * tests/test-strtod.c (main): Allow 1-ulp error on expected
96863         fractional results.  While not as nice from a QoI perspective, it
96864         is a quicker patch than correctly implementing decimal to binary
96865         rounding.
96867 2008-03-31  Eric Blake  <ebb9@byu.net>
96869         Guarantee a definition of NAN.
96870         * lib/math.in.h (NAN): Define if missing.
96871         * tests/test-math.c (main): Test it.
96872         * doc/posix-headers/math.texi (math.h): Document this.
96873         * lib/isnan.c (rpl_isnand): Use it.
96874         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
96875         * tests/test-floorf1.c (NaN): Likewise.
96876         * tests/test-frexp.c (NaN): Likewise.
96877         * tests/test-isnand.c (NaN): Likewise.
96878         * tests/test-isnanf.c (NaN): Likewise.
96879         * tests/test-round1.c (NaN): Likewise.
96880         * tests/test-roundf1.c (NaN): Likewise.
96881         * tests/test-snprintf-posix.h (NaN): Likewise.
96882         * tests/test-sprintf-posix.h (NaN): Likewise.
96883         * tests/test-trunc1.c (NaN): Likewise.
96884         * tests/test-truncf1.c (NaN): Likewise.
96885         * tests/test-vasnprintf-posix.c (NaN): Likewise.
96886         * tests/test-vasprintf-posix.c (NaN): Likewise.
96887         * modules/isnand-nolibm (Depends-on): Add math.
96888         * modules/isnanf-nolibm (Depends-on): Likewise.
96889         * modules/isnanl (Depends-on): Likewise.
96890         * modules/isnanl-nolibm (Depends-on): Likewise.
96891         * modules/snprintf-posix-tests (Depends-on): Likewise.
96892         * modules/sprintf-posix-tests (Depends-on): Likewise.
96893         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
96894         * modules/vsprintf-posix-tests (Depends-on): Likewise.
96895         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
96896         * modules/vasprintf-posix-tests (Depends-on): Likewise.
96898 2008-03-31  Bruno Haible  <bruno@clisp.org>
96900         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
96901         * doc/posix-functions/strtod.texi: Likewise.
96903 2008-03-31  Bruno Haible  <bruno@clisp.org>
96905         * tests/test-strtod.c (main): Don't use C99 syntax.
96907 2008-03-31  Bruno Haible  <bruno@clisp.org>
96909         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
96910         Reported by Eric Blake.
96912 2008-03-31  Jim Meyering  <meyering@redhat.com>
96914         Don't compare actual signbit return values.
96915         * tests/test-strtod.c (main): Rather, compare only their
96916         zero/non-zero nature.
96918 2008-03-31  Eric Blake  <ebb9@byu.net>
96920         More strtod documentation.
96921         * doc/posix-functions/strtod.texi (strtod): Interpret more test
96922         failures as distinct bugs.
96924 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
96926         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
96927         Problem reported by Erik Benada in
96928         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
96930 2008-03-30  Bruno Haible  <bruno@clisp.org>
96932         * tests/test-strtod.c: Add comments about which assertion fails on which
96933         platform.
96934         * doc/posix-functions/strtod.texi: Add info about many more platforms.
96936 2008-03-30  Eric Blake  <ebb9@byu.net>
96938         Test signbit behavior on zeros.
96939         * tests/test-signbit.c (test_signbitf): Add tests for zero.
96940         (test_signbitd, test_signbitl): Likewise.
96942         More strtod touchups.
96943         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
96944         sign of negative underflow, for now.  Use .5, not .1.
96945         * doc/posix-functions/strtod.texi (strtod): Mention these
96946         limitations.
96947         Reported by Jim Meyering.
96949 2008-03-30  Bruno Haible  <bruno@clisp.org>
96951         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
96952         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
96954 2008-03-30  Bruno Haible  <bruno@clisp.org>
96956         Avoid failure when attempting to return empty iconv results on some
96957         platforms.
96958         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
96959         allocation, don't report ENOMEM when the resulting string is empty.
96961 2008-03-30  Bruno Haible  <bruno@clisp.org>
96963         Fix buffer overrun.
96964         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
96965         Don't consider the width for tmp_length. Check count against tmp_length
96966         before doing the padding. Ensure enough allocation during padding.
96968 2008-03-30  Eric Blake  <ebb9@byu.net>
96970         strtod touchups.
96971         * lib/strtod.c (strtod): Avoid compiler warnings.
96972         Reported by Jim Meyering.
96974 2008-03-30  Bruno Haible  <bruno@clisp.org>
96976         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
96977         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
96978         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
96979         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
96980         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
96981         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
96982         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
96983         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
96985         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
96986         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
96987         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
96988         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
96989         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
96990         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
96991         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
96992         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
96994         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
96995         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
96996         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
96997         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
96998         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
96999         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
97000         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
97001         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
97003         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
97004         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
97006         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
97007         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
97009         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
97010         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
97012         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
97013         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
97014         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
97016         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
97017         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
97018         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
97020         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
97021         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
97022         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
97024         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
97025         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
97026         * modules/vasprintf (Depends-on): Add EOVERFLOW.
97028         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
97029         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
97030         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
97031         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
97032         (Depends-on): Add EOVERFLOW.
97033         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
97034         (Depends-on): Add EOVERFLOW.
97035         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
97036         (Depends-on): Add EOVERFLOW.
97037         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
97038         (Depends-on): Add EOVERFLOW.
97039         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
97040         (Depends-on): Add EOVERFLOW.
97041         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
97042         (Depends-on): Add EOVERFLOW.
97043         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
97044         (Depends-on): Add EOVERFLOW.
97045         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
97046         (Depends-on): Add EOVERFLOW.
97048         * lib/sprintf.c (EOVERFLOW): Remove fallback.
97049         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
97050         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
97052         * lib/snprintf.c (EOVERFLOW): Remove fallback.
97053         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
97054         * modules/snprintf (Depends-on): Add EOVERFLOW.
97056         * lib/poll.c (EOVERFLOW): Remove fallback.
97057         * modules/poll (Depends-on): Add EOVERFLOW.
97059         * lib/getugroups.c (EOVERFLOW): Remove fallback.
97060         * modules/getugroups (Depends-on): Add EOVERFLOW.
97062         * lib/getdelim.c (EOVERFLOW): Remove fallback.
97063         * modules/getdelim (Depends-on): Add EOVERFLOW.
97065         * lib/ftell.c (EOVERFLOW): Remove fallback.
97066         * modules/ftell (Depends-on): Add EOVERFLOW.
97068         * lib/fprintf.c (EOVERFLOW): Remove fallback.
97069         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
97070         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
97072         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
97074         * modules/EOVERFLOW-tests: New file.
97075         * tests/test-EOVERFLOW.c: New file.
97077         * modules/EOVERFLOW: New file.
97078         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
97080 2008-03-30  Bruno Haible  <bruno@clisp.org>
97082         Fix bug introduced on 2007-06-10.
97083         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
97084         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
97086 2008-03-30  Bruno Haible  <bruno@clisp.org>
97088         Improve freadseek's efficiency after ungetc.
97089         * lib/freadseek.c: Include freadahead.h.
97090         (freadptrinc): New function, extracted from freadseek.
97091         (freadseek): Use it in a loop. Use freadahead to determine the number
97092         of loop iterations.
97093         * modules/freadseek (Depends-on): Add freadahead.
97094         (configure.ac): Require AC_C_INLINE.
97096 2008-03-30  Bruno Haible  <bruno@clisp.org>
97098         * lib/freadseek.c (freadseek): Don't ignore the return value of
97099         freadptr.
97101 2008-03-29  Eric Blake  <ebb9@byu.net>
97103         Add hex float support.
97104         * modules/strtod (Depends-on): Add c-ctype.
97105         (Link): Mention POW_LIB.
97106         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
97107         whitespace between 'e' and exponent.
97108         * tests/test-strtod.c (main): Enable hex float tests.
97109         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
97110         now provides.
97112         Document various strtod bugs, with some fixes.
97113         * doc/posix-functions/strtod.texi (strtod): Document bugs with
97114         "-0x", "inf", "nan", and hex constants.
97115         * doc/posix-functions/atof.texi (atof): Likewise.
97116         * modules/stdlib (Makefile.am): Support strtod.
97117         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
97118         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
97119         detect additional strtod bugs.
97120         * lib/stdlib.in.h (rpl_strtod): Add declarations.
97121         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
97122         bool where appropriate.  Parse 'inf' and 'nan'.
97123         * tests/test-strtod.c: New file.
97124         * modules/strtod (Depends-on): Add stdbool, stdlib.
97125         (configure.ac): Turn on module indicator.
97126         * modules/strtod-tests: New module.
97128 2008-03-29  Eric Blake  <ebb9@byu.net>
97130         Fix ftell on mingw.
97131         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
97132         * modules/ftell-tests (Depends-on): Add binary-io.
97133         * modules/ftello-tests (Depends-on): Likewise.
97134         * tests/test-ftell.c (main): Enhance test to cover behavior after
97135         ungetc.  Enforce binary mode.
97136         * tests/test-ftello.c (main): Likewise.
97138         Pass test-freadseek on cygwin.
97139         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
97140         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
97141         ungetc buffer.
97143         * tests/test-fflush2.c (main): Fix typo.
97145 2008-03-29  Bruno Haible  <bruno@clisp.org>
97147         * tests/test-fflush2.c (main): Temporarily disable the contents of
97148         this test.
97149         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
97150         Reported by Eric Blake.
97152 2008-03-28  Simon Josefsson  <simon@josefsson.org>
97154         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
97155         (GC_SHA224_DIGEST_SIZE): Add.
97157         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
97158         (gc_hash_digest_length): Likewise.
97159         (gc_hash_buffer): Likewise.
97161 2008-03-25  Bruno Haible  <bruno@clisp.org>
97163         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
97164         detail which gettext release to use.
97165         Reported by Simon Josefsson.
97167 2008-03-26  Jim Meyering  <meyering@redhat.com>
97169         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
97170         * modules/gnumakefile (clean-GNUmakefile): Also, use
97171         test ... && ... || : syntax rather than if-then ... fi.
97173         gnumakefile: Don't double-quote-expand $(VPATH) value.
97174         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
97176 2008-03-24  Eric Blake  <ebb9@byu.net>
97178         Alter GNUmakefile to install into top directory.
97179         * modules/maintainer-makefile: Split, and add dependency...
97180         * modules/gnumakefile: to this new module.
97181         * build-aux/GNUmakefile: Move...
97182         * top/GNUmakefile: ...here.
97183         * build-aux/maint.mk: Move...
97184         * top/maint.mk: ...here.
97185         * MODULES.html.sh (Support for maintaining...): Document new
97186         module.
97188 2008-03-23  Bruno Haible  <bruno@clisp.org>
97190         * gnulib-tool: New options --vc-files, --no-vc-files.
97191         (func_usage): Document them.
97192         (vc_files): New variable.
97193         (func_import): Consider vc_files.
97194         (func_create_testdir): Set vc_files to empty.
97195         Suggested by Jim Meyering and Karl Berry.
97197 2008-03-23  Bruno Haible  <bruno@clisp.org>
97199         Fix regex compilation error on HP-UX 11.
97200         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
97201         * modules/regex (Files): Add m4/mbstate_t.m4.
97202         Reported by Ton Voon <ton.voon@altinity.com>.
97204 2008-03-23  Bruno Haible  <bruno@clisp.org>
97206         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
97208 2008-03-23  Eric Blake  <ebb9@byu.net>
97209             Bruno Haible  <bruno@clisp.org>
97211         Install files from top/ in the destination directory.
97212         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
97213         augmentation also for the files from top/.
97214         (func_import, func_create_testdir): Rewrite file names:
97215         top/filename -> filename.
97217 2008-03-23  Bruno Haible  <bruno@clisp.org>
97219         Tweak "gnulib --version" output.
97220         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
97222 2008-03-23  Bruno Haible  <bruno@clisp.org>
97224         Tweak "gnulib --version" output.
97225         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
97226         rather than contents of ChangeLog, when possible.
97228 2008-03-21  Eric Blake  <ebb9@byu.net>
97230         More --version tweaks.
97231         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
97232         date of last ChangeLog entry.
97234 2008-03-21  Jim Meyering  <meyering@redhat.com>
97236         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
97238 2008-03-20  Eric Blake  <ebb9@byu.net>
97240         VPATH fix.
97241         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
97243 2008-03-20  Simon Josefsson  <simon@josefsson.org>
97245         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
97246         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
97248 2008-03-20  Eric Blake  <ebb9@byu.net>
97250         Sync GNUmakefile with coreutils.
97251         * build-aux/GNUmakefile (have-Makefile): Rename...
97252         (_have-Makefile): ...to this, for namespace consideration.
97253         (GNUmakefile.cfg): Include, if present.
97254         (_autoreconf): Define a default.
97255         (_is-dist-target): New rule for rebuilds to pick up intra-release
97256         version.
97257         (maint-cfg.mk): Rename...
97258         (cfg.mk): ...to this.
97260 2008-03-18  Jim Meyering  <meyering@redhat.com>
97262         New script and module: mktempd
97263         * MODULES.html.sh (maint+release support): Add mktempd.
97264         * build-aux/mktempd: New file.
97265         * modules/mktempd: New file.
97267 2008-03-15  Jim Meyering  <meyering@redhat.com>
97269         Undo last change.
97270         * lib/sha1.c, lib/md5.c: 63 != ~63.
97271         Reported by Andreas Schwab.
97273         sha1.c, md5.c: Hoist a redundant expression.
97274         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
97275         "ctx->buflen" only once, before calling *_process_block.
97276         * lib/md5.c (md5_process_bytes): Likewise.
97278 2008-03-14  Eric Blake  <ebb9@byu.net>
97280         Bump copyright year in files generated by gnulib-tool.
97281         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
97282         gnulib-tool, rather than hard-coding it.
97284         Fix 'gnulib-tool --version' output to work with git.
97285         * gnulib-tool (func_gnulib_dir): New function, extracted from...
97286         (startup): ...here.
97287         (func_version): Use it to invoke git-version-gen, rather than
97288         relying on CVS keyword expansion.  Modernize wording.
97289         (cvsdatestamp, last_checkin_date, version): Kill unused
97290         variables.
97292 2008-03-12  Jim Meyering  <meyering@redhat.com>
97294         Recognize optional cast of the argument to free.
97295         * build-aux/useless-if-before-free: Update regexps.
97297         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
97299 2008-03-11  Bruno Haible  <bruno@clisp.org>
97301         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
97302         by a single package.
97303         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
97304         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
97305         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
97306         Reported by Sam Steingold <sds@gnu.org>.
97308 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
97310         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
97311         repositories.
97313 2008-03-11  Bruno Haible  <bruno@clisp.org>
97315         Avoid conflicts between local macro definitions.
97316         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
97317         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
97319 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
97320             Bruno Haible  <bruno@clisp.org>
97322         Make va_copy work with some version of xlc on AIX 5.1.
97323         * lib/stdarg.in.h: New file.
97324         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
97325         On AIX, use a <stdarg.h> file substitute.
97326         * modules/stdarg (Files): Add lib/stdarg.in.h.
97327         (Depends-on): Add include_next.
97328         (Makefile.am): Build a stdarg.h substitute if requested.
97329         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
97331 2008-03-10  Bruno Haible  <bruno@clisp.org>
97333         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
97334         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
97335         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
97337 2008-03-10  Bruno Haible  <bruno@clisp.org>
97339         * modules/stdlib (Depends-on): Add include_next, remove
97340         absolute-header.
97342 2008-03-09  Bruno Haible  <bruno@clisp.org>
97344         * lib/freadahead.h (freadahead): Document more precisely.
97345         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
97346         the sum of both buffer sizes.
97347         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
97348         * NEWS: Document the change.
97350 2008-03-09  Bruno Haible  <bruno@clisp.org>
97352         Extend freadptr to return also the buffer size.
97353         * lib/freadptr.h (freadptr): Add sizep argument.
97354         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
97355         (freadptr): Add sizep argument. Determine buffer size like freadahead
97356         does.
97357         * tests/test-freadptr.c: Don't include freadahead.h.
97358         (main): Adapt for new calling convention of freadptr.
97359         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
97360         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
97361         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
97362         tests/test-freadptr2.sh.
97363         (Depends): Remove freadahead.
97364         (TESTS): Add test-freadptr2.sh.
97365         (check_PROGRAMS): Add test-freadptr2.
97367 2008-03-09  Bruno Haible  <bruno@clisp.org>
97369         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
97370         Report and solution by Simon Josefsson.
97372 2008-03-06  Bruno Haible  <bruno@clisp.org>
97374         Make fflush after ungetc work on BSD platforms.
97375         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
97376         * tests/test-fflush2.c: New file.
97377         * tests/test-fflush2.sh: New file.
97378         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
97379         tests/test-fflush2.c.
97380         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
97381         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
97383 2008-03-06  Eric Blake  <ebb9@byu.net>
97385         Likewise for ftello.
97386         * modules/ftello (Dependencies): Add extensions.
97387         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
97389 2008-03-06  Bruno Haible  <bruno@clisp.org>
97391         * modules/fseeko (Dependencies): Add extensions.
97392         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
97393         Needed on glibc systems.
97395 2008-03-06  Bruno Haible  <bruno@clisp.org>
97397         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
97398         email address.
97399         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
97401 2008-03-06  Bruno Haible  <bruno@clisp.org>
97403         * users.txt: Add libgnupdf.
97405 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
97407         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
97408         (Header File Substitutes, Function Substitutes,
97409         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
97410         (Build robot for gnulib): Fix typo.
97412 2008-03-06  Bruno Haible  <bruno@clisp.org>
97414         * doc/gnulib-tool.texi (VCS Issues): Small updates.
97415         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
97417 2008-03-06  Bruno Haible  <bruno@clisp.org>
97419         * doc/func.texi: New file, extracted from doc/gnulib.texi.
97420         * doc/gnulib.texi: Include it.
97422 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97424         * modules/func (License): Change license to unlimited; there was
97425         no LGPL parts in the module anyway.
97427 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97429         * modules/__func__: Renamed to modules/func.
97430         * modules/__func__-tests: Renamed to modules/func-tests.
97431         * tests/test-__func__.c: Renamed to tests/test-func.c.
97432         * m4/__func__.m4: Renamed to m4/func.m4.
97433         * doc/gnulib.texi (__func__): Section renamed to func.
97434         Suggested by Eric Blake <ebb9@byu.net>.
97436 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97438         * doc/gnulib.texi (__func__): Use C99 terminology when talking
97439         about __func__.  Make example self-contained.  Suggested by Eric
97440         Blake <ebb9@byu.net>.
97442         * tests/test-__func__.c (main): Avoid extraneous () around __func.
97443         Suggested by Eric Blake <ebb9@byu.net>.
97445 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97447         * modules/__func__: New file.
97448         * modules/__func__-tests: New file.
97449         * tests/test-__func__.c: New file.
97450         * m4/__func__.m4: New file.
97451         * doc/gnulib.texi (__func__): Document __func__ module.
97453 2008-03-05  Simon Josefsson  <simon@josefsson.org>
97455         * modules/byteswap (License): Re-license as LGPLv2+.
97457 2008-03-05  Simon Josefsson  <simon@josefsson.org>
97459         * doc/Makefile: Add pdf target.
97461 2008-03-05  Simon Josefsson  <simon@josefsson.org>
97463         * modules/inline (License): Use 'unlimited', since there are only
97464         *.m4 files in this module.
97466 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
97467             Bruno Haible  <bruno@clisp.org>
97469         Add support for HP C 7.1 on OpenVMS 8.3.
97470         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
97472 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
97474         Update VMS specifics.
97475         * lib/getopt.c [VMS]: Remove include of unixlib.h.
97477 2008-03-02  Jim Meyering  <meyering@redhat.com>
97479         Remove the last dependency on the "free" module.
97480         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
97481         Reported by Bob Proulx.
97483         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
97485         Remove useless "if" tests before free.  Deprecate "free" module.
97486         * doc/posix-functions/free.texi: Mention that this
97487         module is no longer useful.
97488         * modules/free (Notice): Say this module is obsolete.
97489         * modules/readutmp (Depends-on): Remove free.
97490         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
97491         * lib/putenv.c (putenv): Likewise.
97492         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
97493         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
97494         * tests/test-c-strcasestr.c (main): Likewise.
97495         * tests/test-c-strstr.c (main): Likewise.
97496         * tests/test-mbscasestr1.c (main): Likewise.
97497         * tests/test-mbscasestr2.c (main): Likewise.
97498         * tests/test-mbsstr1.c (main): Likewise.
97499         * tests/test-mbsstr2.c (main): Likewise.
97500         * tests/test-memmem.c (main): Likewise.
97501         * tests/test-strcasestr.c (main): Likewise.
97502         * tests/test-striconv.c (main): Likewise.
97503         * tests/test-striconveh.c (main): Likewise.
97504         * tests/test-striconveha.c (main): Likewise.
97505         * tests/test-strstr.c (main): Likewise.
97507         * build-aux/git-version-gen: Adjust a comment and the Usage string.
97509         bootstrap: sync from coreutils again
97510         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
97512 2008-03-01  Jim Meyering  <meyering@redhat.com>
97514         bootstrap: sync from coreutils
97515         * build-aux/bootstrap (update_po_files): Copy a .po file into place
97516         also when the target doesn't exist.
97518 2008-03-01  Eric Blake  <ebb9@byu.net>
97520         Fix bugs in last patch.
97521         * lib/memchr2.c (memchr2): Fix typo.
97522         * tests/test-memchr2.c: Test previous bug, and don't use GNU
97523         extension.
97524         Reported by Bruce Korb.
97526         New module 'memchr2'.
97527         * modules/memchr2: New file.
97528         * modules/memchr2-tests: Likewise.
97529         * lib/memchr2.h: Likewise.
97530         * lib/memchr2.c: Likewise, based on memchr.c.
97531         * tests/test-memchr2.c: New test.
97532         * MODULES.html.sh (String handling): Add memchr2.
97534 2008-02-29  Bruno Haible  <bruno@clisp.org>
97536         * modules/freadseek-tests: New file.
97537         * tests/test-freadseek.sh: New file.
97538         * tests/test-freadseek.c: New file.
97540         New module 'freadseek'.
97541         * modules/freadseek: New file.
97542         * lib/freadseek.h: New file.
97543         * lib/freadseek.c: New file.
97544         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
97546 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
97548         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
97549         wydawca.
97551         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
97552         program_invocation_name and program_invocation_short_name are
97553         present.
97555 2008-02-28  Bruno Haible  <bruno@clisp.org>
97557         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
97558         * tests/test-freadptr.sh: Also test non-seekable stdin.
97560 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
97562         * build-aux/bootstrap (source_base, m4_base)
97563         (doc_base, tests_base): New variables.
97564         (gnulib_tool_options): Do not hardcode base directories, use
97565         the above variables instead.
97567 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
97569         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
97571 2008-02-28  Bruno Haible  <bruno@clisp.org>
97573         * modules/freadptr-tests: New file.
97574         * tests/test-freadptr.sh: New file.
97575         * tests/test-freadptr.c: New file.
97577         New module 'freadptr'.
97578         * modules/freadptr: New file.
97579         * lib/freadptr.h: New file.
97580         * lib/freadptr.c: New file.
97581         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
97583 2008-02-26  Karl Berry  <karl@freefriends.org>
97585         Sync from Libtool:
97586         * libltdl/argz.c (argz_add, argz_count): New functions.
97587         * libltdl/argz.in.h: Declare them.
97588         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
97590 2008-02-22  Bruno Haible  <bruno@clisp.org>
97592         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
97593         is a pointer type.  Needed for HP-UX 10.
97594         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
97595         * doc/posix-functions/gmtime_r.texi: Likewise.
97596         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
97598 2008-02-24  Bruno Haible  <bruno@clisp.org>
97600         * modules/environ-tests: New file.
97601         * tests/test-environ.c: New file.
97603         New module 'environ'.
97604         * modules/environ: New file.
97605         * lib/unistd.in.h (environ): New declaration.
97606         * m4/environ.m4: New file.
97607         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
97608         after use.
97609         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
97610         HAVE_DECL_ENVIRON.
97611         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
97612         HAVE_DECL_ENVIRON.
97613         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
97614         wrong claim that 'environ' is missing on some systems.
97615         * modules/execute (Depends-on): Add environ.
97616         * lib/execute.c (environ): Remove fallback declaration.
97617         * modules/pipe (Depends-on): Add environ.
97618         * lib/pipe.c (environ): Remove fallback declaration.
97619         * modules/setenv (Depends-on): Add environ.
97620         * lib/setenv.c (environ): Remove fallback declaration.
97621         * modules/unsetenv (Depends-on): Add environ.
97622         * lib/unsetenv.c (environ): Remove fallback declaration.
97623         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
97624         m4/environ.m4.
97625         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
97626         (gl_PREREQ_UNSETENV): Likewise.
97628 2008-02-24  Bruno Haible  <bruno@clisp.org>
97630         * doc/posix-functions/environ.texi: Document the MacOS X problem.
97632 2008-02-20  Bob Proulx  <bob@proulx.com>
97634         Enable use of older two part flavor 'git describe'.
97635         * build-aux/git-version-gen: If using the older two part flavor of
97636         git version then recreate the third part now present in the
97637         newer three part flavor of git describe.
97639 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
97641         * lib/fts.c (fts_build): Typo correction to comment.
97643 2008-02-17  Bruno Haible  <bruno@clisp.org>
97645         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
97646         generating no-op conflicts.
97648 2008-02-17  Bruno Haible  <bruno@clisp.org>
97650         Speed up by 10%.
97651         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
97652         result_entries, rather than an index-based loop.
97654 2008-02-17  Bruno Haible  <bruno@clisp.org>
97656         Speed up by 25%.
97657         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
97658         'hashcode_cached'.
97659         (entry_create): New function.
97660         (entry_hashcode): Use the cached hashcode if possible.
97661         (read_changelog_file, try_split_merged_entry): Use entry_create.
97663 2008-02-17  Bruno Haible  <bruno@clisp.org>
97665         Speed up from O(n^2) to O(n) for long ChangeLog files.
97666         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
97667         (read_changelog_file): Change implementation of entries_reversed list
97668         to rbtreehash.
97669         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
97671 2008-02-17  Bruno Haible  <bruno@clisp.org>
97673         New option --split-merged-entry.
97674         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
97675         (find_paragraph_end, try_split_merged_entry): New functions.
97676         (long_options): Add option --split-merged-entry.
97677         (usage): Document option --split-merged-entry.
97678         (main): Implement option --split-merged-entry.
97679         Reported by Eric Blake.
97681 2008-02-17  Bruno Haible  <bruno@clisp.org>
97683         * lib/git-merge-changelog.c: Include c-strstr.h.
97684         (main): Support the "git pull --rebase" situation.
97685         * modules/git-merge-changelog (Depends-on): Add c-strstr.
97686         Reported by Eric Blake.
97688 2008-02-16  Eric Blake  <ebb9@byu.net>
97690         Avoid doubling \ in common case of "c-maybe" quoting style.
97691         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
97692         eliding outer quotes.
97693         * lib/quotearg.h: Document this.
97694         * tests/test-quotearg.c (result_strings, inputs, results_g)
97695         (flag_results, locale_results): Test it by adding a new string to
97696         each test group.
97697         (compare_strings): Test new string.
97699 2008-02-13  Eric Blake  <ebb9@byu.net>
97701         Avoid trigraph quoting in default output.
97702         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
97703         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
97704         unless explicitly requested.
97705         * tests/test-quotearg.c (flag_results, main): Add additional tests.
97707 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
97709         Don't rely on signed integer overflowing to negative value.
97710         * lib/getugroups.c (getugroups): Include <limits.h>.
97711         Instead, compare against INT_MAX, and increment only if the test passes.
97713 2008-02-13  Jim Meyering  <meyering@redhat.com>
97714         and Eric Blake  <ebb9@byu.net>
97716         Avoid shadowing warning and compile errors on Linux.
97717         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
97718         forwarding macros on Linux.
97719         (dcgettext): Define a stub, for Linux.
97720         (results_g, main): Avoid warnings.
97722 2008-02-12  Eric Blake  <ebb9@byu.net>
97724         Silence warning in last patch.
97725         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
97727         Quotearg part 4: add tests, fix c-maybe colon quoting.
97728         * lib/quotearg.h: Improve documentation.
97729         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
97730         escapes when adding outer quotes.  When quoting trigraphs, use
97731         valid C notation.  When quoting NUL, omit extra characters if next
97732         character is not digit.  Alter prototype.
97733         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
97734         callers.
97735         * modules/quotearg-tests: New module.
97736         * tests/test-quotearg.c: New test.
97738 2008-02-07  Eric Blake  <ebb9@byu.net>
97740         Quotearg part 3: add flag to control outer quote elision.
97741         * lib/quotearg.h (c_maybe_quoting_style): New style.
97742         (enum quoting_flags): Better documentation of flags.
97743         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
97744         c-maybe style.
97745         (quotearg_buffer_restyled): Handle new flag to elide outer
97746         quotes.
97748         Quotearg part 2: add flag that can control NUL elision.
97749         * lib/quotearg.h (set_quoting_flags): New prototype.
97750         * lib/quotearg.c (struct quoting_options): Add flag field.
97751         (set_quoting_flags): New function.
97752         (quotearg_buffer_restyled): Add flags parameter.
97753         (quotearg_alloc_mem): Set the flag if length cannot be returned.
97754         (quotearg_n_options): Set the flag, since length cannot be
97755         returned.
97756         (quoting_options_from_style): Default flags correctly.
97758         Quotearg part 1: more wrappers, restore quotearg_char state.
97759         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
97760         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
97761         (quotearg_colon_mem): New wrappers.
97762         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
97763         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
97764         functions.
97765         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
97766         (quotearg_colon_mem): New functions.
97768 2008-02-11  Bruno Haible  <bruno@clisp.org>
97770         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
97771         library in the current directory: it does not work with parallel make.
97772         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
97774 2008-02-11  Bruno Haible  <bruno@clisp.org>
97776         * .gitattributes: New file.
97778 2008-02-11  Jim Meyering  <meyering@redhat.com>
97780         useless-if-before-free: Fix reversed exit values.
97781         * build-aux/useless-if-before-free: Use correct values
97782         for EXIT_MATCH and EXIT_NO_MATCH.
97784         * build-aux/useless-if-before-free: Close stdout carefully.
97786 2008-02-10  Bruno Haible  <bruno@clisp.org>
97788         New module 'git-merge-changelog'.
97789         * modules/git-merge-changelog: New file.
97790         * lib/git-merge-changelog.c: New file.
97792 2008-02-10  Jim Meyering  <meyering@redhat.com>
97794         useless-if-before-free: New option: --list (-l).
97796         useless-if-before-free: Don't exit immediately upon open failure.
97797         * build-aux/useless-if-before-free: Exit 2 for errors.
97798         Upon failure to open a file, don't exit immediately.
97799         Rather, just warn and continue with any remaining files.
97801 2008-02-10  Bruno Haible  <bruno@clisp.org>
97803         New abstract list operation 'node_set_value'.
97804         * lib/gl_list.h (gl_list_node_set_value): New function.
97805         (struct gl_list_implementation): New field node_set_value.
97806         * lib/gl_list.c (gl_list_node_set_value): New function.
97807         * lib/gl_array_list.c (gl_array_node_set_value): New function.
97808         (gl_array_list_implementation): Update.
97809         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
97810         (gl_carray_list_implementation): Update.
97811         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
97812         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
97813         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
97814         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
97815         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
97816         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
97817         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
97818         Update.
97819         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
97820         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
97821         (gl_sublist_list_implementation): Update.
97823 2008-02-10  Bruno Haible  <bruno@clisp.org>
97825         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
97826         Needed when ELEMENT is #defined to 'some_type *'.
97828 2008-02-10  Jim Meyering  <meyering@redhat.com>
97830         New script and module: useless-if-before-free
97831         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
97832         * build-aux/useless-if-before-free: New file.
97833         * modules/useless-if-before-free: New file.
97835         * build-aux/gitlog-to-changelog: Use committer date, not author date.
97837         xstrtol_error: Fix typo.
97838         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
97839         s/exit_failure/exit_status/.
97841 2008-02-09  Jim Meyering  <meyering@redhat.com>
97843         New script and module: gitlog-to-changelog
97844         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
97845         * modules/gitlog-to-changelog: New file.
97846         * build-aux/gitlog-to-changelog: New file.
97848 2008-02-08  Jim Meyering  <meyering@redhat.com>
97850         Avoid two "parameter unused" warnings.
97851         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
97852         Mark "st" as used.
97854         Use "git COMMAND", not "git-COMMAND".
97855         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
97856         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
97857         * build-aux/git-version-gen: Use "git status", not "git-status".
97859 2008-02-07  Bruno Haible  <bruno@clisp.org>
97861         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
97862         Avoids a crash on Windows Vista.
97863         Reported by Adam Strzelecki <ono@java.pl> via
97864         Simon Josefsson <simon@josefsson.org>.
97866 2008-02-06  Bruno Haible  <bruno@clisp.org>
97868         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
97869         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
97870         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
97871         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
97872         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
97873         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
97874         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
97875         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
97876         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
97877         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
97878         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
97879         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
97880         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
97881         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
97882         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
97883         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
97884         left-adjust flag.
97885         * tests/test-snprintf-posix.h (test_function): Likewise.
97886         * tests/test-sprintf-posix.h (test_function): Likewise.
97887         * tests/test-vasprintf-posix.c (test_function): Likewise.
97888         * doc/posix-functions/fprintf.texi: Update.
97889         * doc/posix-functions/printf.texi: Update.
97890         * doc/posix-functions/snprintf.texi: Update.
97891         * doc/posix-functions/sprintf.texi: Update.
97892         * doc/posix-functions/vfprintf.texi: Update.
97893         * doc/posix-functions/vprintf.texi: Update.
97894         * doc/posix-functions/vsnprintf.texi: Update.
97895         * doc/posix-functions/vsprintf.texi: Update.
97896         Reported by Peter Fales <psfales@alcatel-lucent.com>.
97898 2008-02-06  Bruno Haible  <bruno@clisp.org>
97900         Fix bug introduced on 2008-01-26.
97901         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
97903 2008-02-06  Bruno Haible  <bruno@clisp.org>
97905         Fix bug introduced on 2007-06-10.
97906         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
97907         !NEED_PRINTF_FLAG_ZERO.
97909 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
97911         getloadavg: use libperfstat on AIX5
97912         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
97914 2008-02-03  Bruno Haible  <bruno@clisp.org>
97916         * lib/diffseq.h: Add comments about required #includes.
97917         Reported by Michael Biggs <gnulib@doubleplum.net>.
97919 2008-02-01  Bruno Haible  <bruno@clisp.org>
97921         * users.txt: Add gnuit.
97923 2008-01-31  Bruno Haible  <bruno@clisp.org>
97925         * lib/md4.c (set_uint32): Mark as inline.
97926         * lib/md5.c (set_uint32): Likewise.
97927         * lib/sha1.c (set_uint32): Likewise.
97928         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
97929         * m4/md5.m4 (gl_MD5): Likewise.
97930         * m4/sha1.m4 (gl_SHA1): Likewise.
97932 2008-01-31  Jim Meyering  <meyering@redhat.com>
97934         Use "sizeof VAR", rather than a literal "4".
97935         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
97936         * lib/md4.c (md4_read_ctx): Likewise.
97937         * lib/sha1.c (sha1_read_ctx): Likewise.
97939 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97941         * tests/test-sha1.c: New file, based on test-md5.c.
97943         * modules/crypto/sha1-tests: New file.
97945 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97947         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
97949 2008-01-31  Jim Meyering  <meyering@redhat.com>
97951         Prefer "sizeof v" over the equivalent "4".
97952         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
97953         * lib/md5.c (set_uint32): Likewise.
97954         * lib/sha1.c (set_uint32): Likewise.
97956 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97958         * lib/sha1.c (set_uint32): Mark function as static.
97960 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97962         md2: clarify comments to say that alignment is not required.
97963         * lib/md2.h: Remove warning about alignment in comment.
97964         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
97965         never been required.
97967 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97969         md4: adapt alignment constraint fix from sha1.
97970         * lib/md4.c (set_uint32): New function, from sha1.c
97971         (md4_read_ctx): Use it.
97972         (md4_finish_ctx): Doc fix.
97973         * lib/md4.h: Doc fix.
97975 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97977         md5: adapt alignment constraint fix from sha1.
97978         * lib/md5.c (set_uint32): New function, from sha1.c
97979         (md5_read_ctx): Use it.
97980         (md5_finish_ctx): Doc fix.
97981         * lib/md5.h: Doc fix.
97983 2008-01-30  Peter Palfrader  <weasel@debian.org>
97985         sha1: remove the result buffer alignment constraint
97986         * lib/sha1.c (set_uint32): New function.
97987         (sha1_read_ctx): Rewrite to remove the result buffer alignment
97988         constraint.
97989         (sha1_finish_ctx): Remove comment warning about alignment constraint.
97990         * lib/sha1.h: Likewise.
97992 2008-01-30  Andreas Schwab  <schwab@suse.de>
97993             Bruno Haible  <bruno@clisp.org>
97995         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
97996         correct definition of LDBL_MIN_EXP.
97998 2008-01-30  Karl Berry  <karl@gnu.org>
98000         * config/srclist-update: try to preserve x bit on updates.
98001         * config/srclistvars.sh: update for karl.
98003 2008-01-29  Jim Meyering  <meyering@redhat.com>
98005         vasnprintf.c: Avoid warning about unused label
98006         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
98007         "overflow" label definition and associated code with the
98008         same cpp condition that guards the sole use of that label.
98010 2008-01-26  Bruno Haible  <bruno@clisp.org>
98012         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
98013         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
98014         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
98015         * lib/isnanl-nolibm.h (isnanl): Likewise.
98016         Reported by Paul Eggert <eggert@cs.ucla.edu>.
98018 2008-01-26  Bruno Haible  <bruno@clisp.org>
98020         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
98021         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
98023 2008-01-26  Bruno Haible  <bruno@clisp.org>
98025         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
98026         GCC >= 4.0 built-in.
98027         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
98029 2008-01-26  Bruno Haible  <bruno@clisp.org>
98031         Rename isnan, applicable to 'double' only, to isnand.
98032         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
98033         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
98034         (configure.ac): Update.
98035         (Include): Replace "isnan.h" with "isnand.h".
98036         * m4/isnand.m4: Renamed from m4/isnan.m4.
98037         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
98038         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
98039         instead of isnan.c.
98040         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
98041         instead of HAVE_ISNAN_IN_LIBC.
98042         (isnand): Renamed from isnan.
98043         * lib/isnand.c: New file.
98044         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
98045         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
98046         (Makefile.am): Update.
98047         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
98048         Include isnand.h instead of isnan.h.
98049         (main): Test isnand instead of isnan.
98050         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
98051         isnan-nolibm.
98052         * modules/frexp (Depends-on): Likewise.
98053         * modules/frexp-tests (Depends-on): Likewise.
98054         * modules/frexp-nolibm (Depends-on): Likewise.
98055         * modules/frexp-nolibm-tests (Depends-on): Likewise.
98056         * modules/isfinite (Depends-on): Likewise.
98057         * modules/round-tests (Depends-on): Likewise.
98058         * modules/signbit (Depends-on): Likewise.
98059         * modules/signbit-tests (Depends-on): Likewise.
98060         * modules/snprintf-posix (Depends-on): Likewise.
98061         * modules/sprintf-posix (Depends-on): Likewise.
98062         * modules/trunc-tests (Depends-on): Likewise.
98063         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
98064         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
98065         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
98066         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
98067         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
98068         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
98069         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
98070         * modules/vasnprintf-posix (Depends-on): Likewise.
98071         * modules/vasprintf-posix (Depends-on): Likewise.
98072         * modules/vfprintf-posix (Depends-on): Likewise.
98073         * modules/vsnprintf-posix (Depends-on): Likewise.
98074         * modules/vsprintf-posix (Depends-on): Likewise.
98075         * lib/frexp.c: Include isnand.h instead of isnan.h.
98076         (ISNAN): Set to isnand instead of isnan.
98077         * lib/isfinite.c: Include isnand.h instead of isnan.h.
98078         (gl_isfinited): Use isnand instead of isnan.
98079         * lib/signbitd.c: Include isnand.h instead of isnan.h.
98080         (gl_signbitd): Use isnand instead of isnan.
98081         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
98082         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
98083         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
98084         (main): Use isnand instead of isnan.
98085         * tests/test-round1.c: Include isnand.h.
98086         (main): Use isnand instead of isnan.
98087         * tests/test-round2.c: Include isnand.h instead of isnan.h.
98088         (ISNAN): Set to isnand instead of isnan.
98089         * tests/test-trunc1.c: Include isnand.h.
98090         (main): Use isnand instead of isnan.
98091         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
98092         (equal): Use isnand instead of isnan.
98093         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
98094         isnand-nolibm.
98095         * NEWS: Mention the change.
98097 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
98098             Bruno Haible  <bruno@clisp.org>
98100         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
98101         the GCC builtins for signbits are present and set
98102         REPLACE_SIGNBIT_USING_GCC if so.
98103         * lib/math.in.h (signbit): Define using GCC builtins if
98104         REPLACE_SIGNBIT_USING_GCC is set.
98105         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
98106         REPLACE_SIGNBIT_USING_GCC.
98107         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
98109 2008-01-25  Jim Meyering  <meyering@redhat.com>
98111         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
98112         * lib/poll.c: Include <config.h>, not "config.h".
98113         * tests/test-getaddrinfo.c: Likewise.
98115 2008-01-25  Simon Josefsson  <simon@josefsson.org>
98117         * modules/sockets-tests: New file.
98119 2008-01-24  Simon Josefsson  <simon@josefsson.org>
98121         * modules/sockets: New module, can be used to call WSA_Startup and
98122         WSA_Cleanup when needed.
98124         * lib/sockets.h, lib/sockets.c: New files.
98126         * m4/sockets.m4: New file.
98128         * tests/test-sockets.c: New file.
98130 2008-01-19  Bruno Haible  <bruno@clisp.org>
98132         * doc/posix-headers: Renamed from doc/headers.
98133         * doc/posix-functions: Renamed from doc/functions.
98134         * doc/gnulib.texi: Update.
98136 2008-01-19  Bruno Haible  <bruno@clisp.org>
98138         * doc/glibc-functions/strcasestr.texi: Include contents of
98139         doc/functions/strcasestr.texi, fixing the list of platforms.
98140         * doc/functions/strcasestr.texi: Remove file.
98142 2008-01-19  Bruno Haible  <bruno@clisp.org>
98144         * doc/glibc-functions/memmem.texi: Include contents of
98145         doc/functions/memmem.texi.
98146         * doc/functions/memmem.texi: Remove file.
98148 2008-01-18  Bruno Haible  <bruno@clisp.org>
98150         * doc/glibc-functions/*.texi: New files.
98151         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
98152         to use the new files.
98154 2008-01-17  Bruno Haible  <bruno@clisp.org>
98156         * tests/test-gethostname.c (main): Fix printf statement.
98158 2008-01-17  Simon Josefsson  <simon@josefsson.org>
98160         * modules/gethostname-tests: New file.
98162         * tests/test-gethostname.c: New file.
98164 2008-01-17  Simon Josefsson  <simon@josefsson.org>
98166         * lib/gethostname.c: Include string.h unconditionally, strncpy is
98167         used by the UNAME case.  Reported by Bruno Haible
98168         <bruno@clisp.org>.
98170 2008-01-17  Eric Blake  <ebb9@byu.net>
98172         Convert c-strcasestr to be more efficient.
98173         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
98174         (Depends-on): Add c-strcase, remove malloca, strnlen.
98175         * tests/test-c-strcasestr.c (main): Enhance test.
98176         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
98178 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
98180         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
98181         Use it in creating po/Makevars.
98183 2008-01-15  Simon Josefsson  <simon@josefsson.org>
98185         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
98186         Applications that requires it should initialize libgcrypt
98187         manually.
98189 2008-01-16  Simon Josefsson  <simon@josefsson.org>
98191         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
98193 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
98195         Fix problem with getdate on mingw32 reported by Simon Josefsson
98196         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
98197         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
98198         tzname", when deciding whether to declare tzname.
98199         * lib/strftime.c (tzname): Likewise.
98201 2008-01-15  Bruno Haible  <bruno@clisp.org>
98203         Work around a MacOS X 10.5 bug in frexpl().
98204         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
98205         * doc/functions/frexpl.texi: Document the bug.
98206         Reported by Elias Pipping <pipping@gentoo.org>.
98208 2008-01-14  Eric Blake  <ebb9@byu.net>
98210         Touch up previous patch.
98211         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
98212         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
98214         Convert strcasestr module to use Two-Way algorithm.
98215         * modules/strcasestr-simple: New module, based on the old
98216         strcasestr, but with Two-Way rather than KMP.
98217         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
98218         * lib/string.in.h (rpl_strcasestr): Declare.
98219         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
98220         performance.
98221         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
98222         * modules/string (Makefile.am): Support strcasestr.
98223         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
98224         * modules/strcasestr-tests (Depends-on): Check for alarm.
98225         * tests/test-strcasestr.c: Augment test.
98226         * lib/str-two-way.h: Clean up stray macro.
98227         * NEWS: Document new module.
98228         * MODULES.html.sh (string handling): Likewise.
98229         * doc/functions/strcasestr.texi: New file.
98230         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
98231         here, since it is not a POSIX function.
98233 2008-01-14  Colin Watson  <cjwatson@debian.org>
98234             Bruno Haible  <bruno@clisp.org>
98236         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
98237         works fine; if not, set REPLACE_STRSIGNAL.
98238         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
98239         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
98240         REPLACE_STRSIGNAL.
98241         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
98242         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
98243         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
98245 2008-01-14  Bruno Haible  <bruno@clisp.org>
98247         * modules/strsignal (Include): Change to <string.h>.
98249 2008-01-14  Colin Watson  <cjwatson@debian.org>
98251         * modules/argp (Notice): Add a notice recommending to change
98252         XGETTEXT_OPTIONS.
98253         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
98255 2008-01-13  Colin Watson  <cjwatson@debian.org>
98257         * modules/strsignal-tests: New file.
98258         * tests/test-strsignal.c: New file.
98260         * lib/strsignal.c: New file, from glibc with modifications.
98261         * lib/siglist.h: New file, from glibc with modifications.
98262         * lib/string.in.h (strsignal): New declaration.
98263         * m4/strsignal.m4: New file.
98264         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
98265         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
98266         * modules/strsignal: New file.
98267         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
98268         HAVE_DECL_STRSIGNAL.
98270 2008-01-13  Bruno Haible  <bruno@clisp.org>
98272         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
98273         locale encoding is not ASCII. Needed for OpenBSD 4.0.
98274         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
98275         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
98277 2008-01-13  Bruno Haible  <bruno@clisp.org>
98279         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
98280         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
98281         * lib/argp.h (__attribute__): Likewise.
98282         * lib/c-stack.c (__attribute__): Likewise.
98283         * lib/error.h (__attribute__): Likewise.
98284         * lib/fts.c (__attribute__): Likewise.
98285         * lib/openat.h (__attribute__): Likewise.
98286         * lib/stdio.in.h (__attribute__): Likewise.
98287         * lib/string.in.h (__attribute__): Likewise.
98288         * lib/utimens.c (__attribute__): Likewise.
98289         * lib/vasnprintf.h (__attribute__): Likewise.
98290         * lib/xalloc.h (__attribute__): Likewise.
98291         * lib/xprintf.h (__attribute__): Likewise.
98292         * lib/xstrtol.h (__attribute__): Likewise.
98293         * lib/xvasprintf.h (__attribute__): Likewise.
98295 2008-01-12  Bruno Haible  <bruno@clisp.org>
98297         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
98298         * doc/glibc-headers/a.out.texi: New file.
98299         * doc/glibc-headers/aliases.texi: New file.
98300         * doc/glibc-headers/alloca.texi: New file.
98301         * doc/glibc-headers/ar.texi: New file.
98302         * doc/glibc-headers/argp.texi: New file.
98303         * doc/glibc-headers/argz.texi: New file.
98304         * doc/glibc-headers/byteswap.texi: New file.
98305         * doc/glibc-headers/crypt.texi: New file.
98306         * doc/glibc-headers/endian.texi: New file.
98307         * doc/glibc-headers/envz.texi: New file.
98308         * doc/glibc-headers/err.texi: New file.
98309         * doc/glibc-headers/error.texi: New file.
98310         * doc/glibc-headers/execinfo.texi: New file.
98311         * doc/glibc-headers/fpu_control.texi: New file.
98312         * doc/glibc-headers/fstab.texi: New file.
98313         * doc/glibc-headers/fts.texi: New file.
98314         * doc/glibc-headers/getopt.texi: New file.
98315         * doc/glibc-headers/ieee754.texi: New file.
98316         * doc/glibc-headers/ifaddrs.texi: New file.
98317         * doc/glibc-headers/libintl.texi: New file.
98318         * doc/glibc-headers/mcheck.texi: New file.
98319         * doc/glibc-headers/mntent.texi: New file.
98320         * doc/glibc-headers/obstack.texi: New file.
98321         * doc/glibc-headers/paths.texi: New file.
98322         * doc/glibc-headers/printf.texi: New file.
98323         * doc/glibc-headers/pty.texi: New file.
98324         * doc/glibc-headers/resolv.texi: New file.
98325         * doc/glibc-headers/shadow.texi: New file.
98326         * doc/glibc-headers/sysexits.texi: New file.
98327         * doc/glibc-headers/ttyent.texi: New file.
98329 2008-01-12  Jim Meyering  <meyering@redhat.com>
98331         announce-gen: emit Gnulib's git-based version string.
98332         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
98333         New option --gnulib-version=V, where V is expected to be
98334         the output of running git describe in the gnulib directory.
98335         (get_tool_versions): Request feedback on xdelta.  I suspect it's
98336         not useful, and plan to stop publishing an xdelta file with each
98337         coreutils release.
98339         * build-aux/announce-gen: Also check for lzma-compressed files.
98341 2008-01-11  Bruno Haible  <bruno@clisp.org>
98343         * tests/test-memmem.c (main): Increase maximum allowed time.
98344         * tests/test-strstr.c (main): Likewise.
98346 2008-01-11  Bruno Haible  <bruno@clisp.org>
98348         * doc/functions/memmem.texi: Add more precisions about platforms.
98349         * doc/functions/strstr.texi: Likewise.
98351 2008-01-10  Eric Blake  <ebb9@byu.net>
98353         * m4/strstr.m4: Delete cruft from copy-n-paste.
98354         Reported by Bruno Haible.
98356 2008-01-10  Bruno Haible  <bruno@clisp.org>
98358         Make c-strstr rely on strstr.
98359         * lib/c-strstr.c: Don't include str-kmp.h.
98360         (c_strstr): Define in terms of strstr.
98361         * modules/c-strstr (Files): Remove lib/str-kmp.h.
98362         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
98364 2008-01-10  Bruno Haible  <bruno@clisp.org>
98366         * doc/gnulib.texi (String Functions in C Locale): New section.
98367         * doc/c-ctype.texi: New file.
98368         * doc/c-strcase.texi: New file.
98369         * doc/c-strcaseeq.texi: New file.
98370         * doc/c-strcasestr.texi: New file.
98371         * doc/c-strstr.texi: New file.
98372         * doc/c-strtod.texi: New file.
98373         * doc/c-strtold.texi: New file.
98375 2008-01-10  Eric Blake  <ebb9@byu.net>
98377         * lib/relocatable.h: Fix a comment.
98379 2008-01-10  Eric Blake  <ebb9@byu.net>
98381         Share two-way algorithm.
98382         * lib/str-two-way.h: New file, merged from...
98383         * lib/memmem.c: ...here...
98384         * lib/strstr.c: ...and here.
98385         * modules/memmem (Files): Use it.
98386         * modules/strstr (Files): Likewise.
98388         Avoid quadratic strstr implementations.
98389         * lib/strstr.c: New file.
98390         * m4/strstr.m4: Likewise.
98391         * modules/strstr: Likewise.
98392         * modules/strstr-tests: Likewise.
98393         * tests/test-strstr.c: Likewise.
98394         * lib/string.in.h (rpl_strstr): Declare.
98395         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
98396         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
98397         * modules/string (Makefile.am): Likewise.
98398         * MODULES.html.sh (string handling): Mention new module.
98399         * doc/functions/strstr.texi (strstr): Document the bug.
98401 2008-01-10  Bruno Haible  <bruno@clisp.org>
98403         * lib/relocatable.h (relocate): State whether result is freshly
98404         allocated or not.
98405         * lib/relocatable.c (relocate): Return a freshly allocated string
98406         instead of a pointer to a privately held string.
98407         Reported by Sylvain Beucler <beuc@gnu.org>.
98409 2008-01-10  Colin Watson  <cjwatson@debian.org>
98411         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
98412         s/S_ISNLK/S_ISLNK/.
98414 2008-01-09  Bruno Haible  <bruno@clisp.org>
98416         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
98417         and other files.
98418         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
98419         if it's only a guess.
98420         * modules/memmem: Simplify by depending on memmem-simple.
98422 2008-01-09  Bruno Haible  <bruno@clisp.org>
98424         Work around OpenBSD 4.0 tdelete() bug.
98425         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
98426         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
98427         macros and don't redefine the enum values.
98428         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
98429         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
98430         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
98432 2008-01-09  Bruno Haible  <bruno@clisp.org>
98434         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
98435         (main): Don't perform the tests if setlocale did not install a UTF-8
98436         locale. Needed on OpenBSD 4.0.
98437         * modules/wcwidth-tests (Depends-on): Add localcharset.
98439 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
98441         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
98442         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
98443         * NEWS: announce this.
98444         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
98446 2008-01-09  Simon Josefsson  <simon@josefsson.org>
98447         and Eric Blake  <ebb9@byu.net>
98449         Add memmem-simple module.
98450         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
98451         (gl_FUNC_MEMMEM): Separate performance from presence checks.
98452         * modules/memmem-simple: New file.
98453         * modules/memmem (Description): Tweak.
98454         * MODULES.html.sh (string handling): Mention new module.
98455         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
98456         addressed by memmem-simple.
98457         * NEWS: Document the difference.
98459 2008-01-09  Eric Blake  <ebb9@byu.net>
98461         Give gcc some memmem optimization hints.
98462         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
98463         (strcasestr): Declare as pure.
98464         * modules/memmem (Maintainer): Claim my implementation.
98466 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98468         Support AIX 6.1 and higher.
98469         * build-aux/config.libpath: Likewise.
98470         * build-aux/config.rpath: Likewise.
98472 2008-01-08  Jim Meyering  <meyering@redhat.com>
98473             Bruno Haible  <bruno@clisp.org>
98475         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
98476         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
98477         Reported by Peter Fales in
98478         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
98480 2008-01-08  Bruno Haible  <bruno@clisp.org>
98482         * modules/unictype/category-of (Depends-on): Add
98483         unictype/category-none.
98484         * modules/unictype/category-and-tests (Depends-on): Add
98485         unictype/category-{L,N,Lu,Nd}.
98486         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
98487         * modules/unictype/category-or-tests (Depends-on): Add
98488         unictype/category-{L,N}.
98489         * modules/unictype/category-name-tests (Depends-on): Add
98490         unictype/category-{Z,Nl}.
98491         Reported by Simon Josefsson.
98493 2008-01-08  Bruno Haible  <bruno@clisp.org>
98495         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
98496         convention better.
98497         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
98498         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
98499         Reported by Peter Miller <millerp@canb.auug.org.au>.
98501 2008-01-08  Eric Blake  <ebb9@byu.net>
98503         Rewrite memmem to guarantee linear complexity without malloc.
98504         * lib/memmem.c (memmem): Use Two-Way rather than
98505         Knuth-Morris-Pratt, to allow O(1) space usage.
98506         (critical_factorization, two_way_short_needle)
98507         (two_way_long_needle): New functions.
98508         (knuth_morris_pratt): Delete.
98509         * modules/memmem (Depends-on): No longer need malloca or stdbool.
98510         Add stdint.
98511         * tests/test-memmem.c (main): Add tests for periodic needle and
98512         sublinear performance.
98513         * doc/functions/memmem.texi (memmem): Document other deficiencies
98514         in cygwin and older glibc.
98516 2008-01-08  Bruno Haible  <bruno@clisp.org>
98518         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
98519         augmentation.
98521 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
98523         Add a configure time option: --disable-acl.
98524         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
98525         AC_ARG_ENABLE(acl).
98527 2008-01-06  Simon Josefsson  <simon@josefsson.org>
98529         * tests/test-localename.c: Don't include obsolete "setenv.h".
98531         * modules/localename-tests (Depends-on): Need unsetenv.
98533 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98535         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
98537 2008-01-06  Colin Watson  <cjwatson@debian.org>
98539         * users.txt: Add man-db.
98541 2008-01-07  Bruno Haible  <bruno@clisp.org>
98543         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
98544         previous section name.
98546 2008-01-07  Bruno Haible  <bruno@clisp.org>
98548         * lib/progname.c (set_program_name): Don't strip off a leading
98549         "lt-" prefix outside a .libs directory.
98550         Suggested by Paul Eggert.
98552 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
98553             Bruno Haible  <bruno@clisp.org>
98555         Improve memory cleanup in 'relocatable' module.
98556         * lib/relocatable.h (compute_curr_prefix): Change return type to
98557         'char *'.
98558         * lib/relocatable.c (compute_curr_prefix): Change return type to
98559         'char *'. Free curr_installdir after use.
98560         (relocate): Free curr_prefix_better after use.
98561         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
98563 2008-01-01  Bruno Haible  <bruno@clisp.org>
98565         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
98566         failure on older glibc systems.
98567         Reported by Peter Fales <psfales@alcatel-lucent.com>.
98569 2008-01-05  Eric Blake  <ebb9@byu.net>
98571         Avoid quadratic system memmem.
98572         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
98573         Reported by Ralf Wildenhues.
98575         Fix memmem test for mingw.
98576         * modules/memmem-tests (configure.ac): Check for alarm.
98577         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
98578         it.
98579         * doc/functions/memmem.texi: New file.
98580         * doc/gnulib.texi (Function Substitutes): Add memmem.
98581         Reported by Bruno Haible.
98583 2008-01-04  Bruno Haible  <bruno@clisp.org>
98585         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
98586         Require gl_HEADER_STRINGS_H_DEFAULTS, not
98587         gl_HEADER_STRING_H_DEFAULTS.
98589 2008-01-04  Eric Blake  <ebb9@byu.net>
98591         Shorten duration of memmem test.
98592         * tests/test-memmem.c (main): Use alarm to declare failure if test
98593         is taking too long.
98594         Reported by Ralf Wildenhues.
98596 2007-12-21  Simon Josefsson  <simon@josefsson.org>
98598         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
98599         string, needed by strerror.
98601 2008-01-03  Colin Watson  <cjwatson@debian.org>
98602             Bruno Haible  <bruno@clisp.org>
98604         * doc/gnulib-tool.texi (Localization): New section.
98606 2008-01-02  Bruno Haible  <bruno@clisp.org>
98608         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
98609         variables to 'unsigned char *' type.
98610         Reported by Paul Eggert.
98612 2008-01-02  Jim Meyering  <jim@meyering.net>
98614         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
98616 2007-12-31  Jim Meyering  <jim@meyering.net>
98618         Avoid use of private FTS type name.
98619         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
98621 2007-12-30  Karl Berry  <karl@gnu.org>
98623         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
98624         work around defect in Texinfo and/or the standalone Info browser.
98626 2007-12-30  Bruno Haible  <bruno@clisp.org>
98628         Unify 5 copies of the KMP code.
98629         * lib/str-kmp.h: New file.
98630         * lib/c-strcasestr.c: Include str-kmp.h.
98631         (knuth_morris_pratt): Remove function.
98632         (c_strcasestr): Update.
98633         * lib/c-strstr.c: Include str-kmp.h.
98634         (knuth_morris_pratt): Remove function.
98635         (c_strcasestr): Update.
98636         * lib/mbscasestr.c: Include str-kmp.h.
98637         (knuth_morris_pratt_unibyte): Remove function.
98638         * lib/mbsstr.c: Include str-kmp.h.
98639         (knuth_morris_pratt_unibyte): Remove function.
98640         * lib/strcasestr.c: Include str-kmp.h.
98641         (knuth_morris_pratt): Remove function.
98642         (strcasestr): Update.
98643         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
98644         * modules/c-strstr (Files): Likewise.
98645         * modules/mbscasestr (Files): Likewise.
98646         * modules/mbsstr (Files): Likewise.
98647         * modules/strcasestr (Files): Likewise.
98648         Suggested by Paul Eggert.
98650 2007-12-30  Bruno Haible  <bruno@clisp.org>
98652         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
98653         defined.
98655 2007-12-30  Bruno Haible  <bruno@clisp.org>
98657         * lib/xmalloca.h: Include xalloc.h.
98658         (xnmalloca): New macro.
98660 2007-12-30  Bruno Haible  <bruno@clisp.org>
98662         * lib/malloca.h (nmalloca): New macro.
98663         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
98664         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
98665         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
98666         knuth_morris_pratt_multibyte): Likewise.
98667         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
98668         knuth_morris_pratt_multibyte): Likewise.
98669         * lib/memmem.c (knuth_morris_pratt): Likewise.
98670         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
98672 2007-12-25  Bruno Haible  <bruno@clisp.org>
98674         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
98675         * lib/glob.c: Don't include openat.h.
98676         (link_exists2_p): Add back the code that deals with the
98677         !GLOB_ALTDIRFUNC case.
98678         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
98679         let it do the filename concatenation.
98680         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
98681         * modules/glob (Depends-on): Remove openat.
98683 2007-12-31  Bruno Haible  <bruno@clisp.org>
98685         * modules/dirfd (License): Change to LGPLv2+.
98686         Approved by Jim Meyering.
98688 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
98690         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
98691         when multiplying M by sizeof (size_t).
98693 2007-12-10  Martin Lambers  <marlam@marlam.de>
98695         Override getpagesize on mingw.
98696         * lib/getpagesize.c: New file.
98697         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
98698         * modules/getpagesize (Files): Add lib/getpagesize.c.
98699         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
98700         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
98701         REPLACE_GETPAGESIZE.
98702         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
98704 2007-12-25  Bruno Haible  <bruno@clisp.org>
98706         * modules/localcharset (Notice): New field.
98707         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
98708         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
98710 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
98711             Bruno Haible  <bruno@clisp.org>
98713         Avoid using the syntax symbol() in formatted documentation.
98714         * MODULES.html.sh (func_module): When replacing symbol() with a
98715         hyperlink, remove the parentheses. Show an error if some remain.
98716         Recognize and render the '...' syntax.
98717         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
98718         Rework. Add paragraph about GCC's inlining.
98719         * doc/alloca.texi: Likewise.
98720         * doc/error.texi: Remove parentheses from symbol reference.
98721         * doc/gnulib-intro.texi: Likewise.
98722         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
98723         * modules/fnmatch (Description): Reword to say "the ... function".
98724         * modules/full-read (Description): Likewise.
98725         * modules/full-write (Description): Likewise.
98726         * modules/safe-read (Description): Likewise.
98727         * modules/safe-write (Description): Likewise.
98728         * modules/strchrnul (Description): Likewise.
98729         * modules/trim (Description): Likewise.
98730         * modules/error (Description): Remove parentheses from symbol
98731         references.
98732         * modules/verror (Description): Likewise.
98733         Reported by Karl Berry.
98735 2007-12-25  Bruno Haible  <bruno@clisp.org>
98737         Fixup after 2007-10-16 commit.
98738         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
98740 2007-12-24  Bruno Haible  <bruno@clisp.org>
98742         Make --enable-relocatable work with DESTDIR.
98743         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
98744         to compute installdir from destprog.
98745         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
98746         also set the RELOC_DESTDIR variable.
98747         Reported by Левашев Иван <octagram@bluebottle.com>.
98749 2007-12-24  Bruno Haible  <bruno@clisp.org>
98751         Fix link error due to xalloc_die().
98752         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
98753         of xreadlink.
98754         * lib/relocwrapper.c: Update comments.
98755         * build-aux/install-reloc: Remove xreadlink.c from file list.
98756         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
98757         xreadlink.c.
98758         Reported by Левашев Иван <octagram@bluebottle.com>.
98760 2007-12-24  Bruno Haible  <bruno@clisp.org>
98762         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
98763         * lib/setenv.h: Remove file.
98764         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
98765         lib/setenv.h.
98766         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
98767         (Depends-on): Add stdlib.
98768         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
98769         gl_FUNC_UNSETENV.
98770         (Include): Replace setenv.h with <stdlib.h>.
98771         * modules/unsetenv: New file.
98772         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
98773         * lib/unsetenv.c: Include <stdlib.h> first.
98774         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
98775         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
98776         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
98777         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
98778         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
98779         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
98780         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
98781         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
98782         * doc/functions/unsetenv.texi: Update.
98783         * modules/xsetenv (Depends-on): Add unsetenv.
98784         * modules/getdate (Depends-on): Likewise.
98785         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
98786         * lib/xsetenv.c: Don't include setenv.h.
98787         * lib/getdate.y: Likewise.
98788         * lib/relocwrapper.c: Likewise.
98789         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
98790         (Depends-on): Add stdlib.
98791         * NEWS: Mention the changes.
98792         Reported by Левашев Иван <octagram@bluebottle.com>.
98794 2007-12-23  Bruno Haible  <bruno@clisp.org>
98796         * lib/memmem.c (memmem): Use lowercase variable names. Tab
98797         indentation.
98799 2007-12-23  Bruno Haible  <bruno@clisp.org>
98801         * lib/c-strcasestr.c: Add more comments.
98802         * lib/c-strstr.c: Likewise.
98803         * lib/mbscasestr.c: Likewise.
98804         * lib/mbsstr.c: Likewise.
98805         * lib/strcasestr.c: Likewise.
98806         * lib/memmem.c: Likewise.
98808 2007-12-23  Bruno Haible  <bruno@clisp.org>
98810         * tests/test-memmem.c: Include <string.h> first.
98812 2007-12-22  Bruno Haible  <bruno@clisp.org>
98814         * gnulib-tool (func_create_testdir): Change $auxdir while generating
98815         the contents of $testsbase.
98816         Reported by Ralf Wildenhues.
98818 2007-12-22  Bruno Haible  <bruno@clisp.org>
98820         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
98821         two variables local_ldadd_before, local_ldadd_last.
98823 2007-12-20  Eric Blake  <ebb9@byu.net>
98825         Work around circular library issue when cross-compiling.
98826         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
98827         that progname.o does not need to pull in rpl_memcmp.
98829 2007-12-19  Eric Blake  <ebb9@byu.net>
98831         Fix memmem to avoid O(n^2) worst-case complexity.
98832         * lib/memmem.c (knuth_morris_pratt): New function.
98833         (memmem): Use it if first few naive iterations fail.
98834         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
98835         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
98836         * modules/memchr (License): Likewise.
98837         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
98838         malloca.
98839         * tests/test-memmem.c: Rewrite, borrowing ideas from
98840         test-mbsstr1.c; the old version wouldn't even compile!
98841         * modules/memmem-tests: New file.
98842         * lib/string.in.h (rpl_memmem): Add declaration.
98843         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
98844         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
98845         REPLACE_MEMMEM.
98847 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
98849         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
98850         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
98851         before any system include files, and undef after them all.  This
98852         should fix a problem on VMS reported by John E. Malmberg in
98853         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
98855 2007-12-17  Eric Blake  <ebb9@byu.net>
98857         Revert addition of verify, for BSD/OS.
98858         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
98859         can't handle large files, for the sake of obsolete platforms.
98860         * modules/fseeko (Depends-on): Remove verify.
98861         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
98862         * doc/functions/ftello.texi (ftello): Likewise.
98863         * doc/functions/fgetpos.texi (fgetpos): Likewise.
98864         Reported by Larry Jones.
98866 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
98868         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
98869         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
98871 2007-12-17  Jim Meyering  <meyering@redhat.com>
98873         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
98874         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
98875         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
98876         * modules/getcwd (Depends-on): Add openat.
98877         Reported by Petr Salinger.
98879 2007-12-17  Bruno Haible  <bruno@clisp.org>
98881         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
98882         avoid a segmentation fault of the configure test on x86_64 systems.
98884 2007-12-15  Jim Meyering  <meyering@redhat.com>
98886         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
98888 2007-12-13  Eric Blake  <ebb9@byu.net>
98890         Another fseek test.
98891         * tests/test-fseek.c (main): Also test ungetc handling.
98892         * tests/test-fseeko.c (main): Likewise.
98893         * modules/fseeko (Depends-on): Add verify.
98894         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
98895         large.
98896         Reported by Larry Jones.
98898         Fix fseeko on mingw.
98899         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
98900         seek.
98902         Beef up fseek tests.
98903         * tests/test-fseek.c (main): Also test eof handling.
98904         * tests/test-fseeko.c (main): Likewise.
98905         Reported by Larry Jones.
98907 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
98909         Fix fseeko on BSD-based platforms.
98910         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
98911         successful seek.
98913 2007-12-12  Eric Blake  <ebb9@byu.net>
98915         Allow circular dependency of separate libtests.a
98916         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
98917         when use_libtests.
98919 2007-12-11  Eric Blake  <ebb9@byu.net>
98921         Fix bug with -0.0L in previous patch.
98922         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
98923         * tests/test-isnan.c (main): Also test on zeroes.
98924         * tests/test-isnanf.c (main): Likewise.
98925         * tests/test-isnanl.h (main): Likewise.
98927         Detect pseudo-denormals on x86 even when cross-compiling.
98928         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
98929         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
98930         invalid bit patterns that happen to satisfy ==.
98932         Avoid link failures with separate libtests.a.
98933         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
98934         last, to satisfy circular dependencies.
98936 2007-12-11  Eric Blake  <ebb9@byu.net>
98937         and Bruno Haible  <bruno@clisp.org>
98939         Fix OpenBSD 4.0 <float.h> handling of long double.
98940         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
98941         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
98942         * doc/headers/float.texi (float.h): Document OpenBSD bug.
98944 2007-12-11  Jim Meyering  <meyering@redhat.com>
98946         * users.txt: Add libvirt.
98948         Support versions of autoconf prior to 2.59c.
98949         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
98950         if it is not already defined.
98952 2007-12-09  Bruno Haible  <bruno@clisp.org>
98954         Let 'gnulib-tool --import' collect sources needed for the tests in
98955         tests/ rather than in lib/.
98956         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
98957         argument. If true, add rules to generate libtests.a, and put libtests.a
98958         into $(LDADD). Consider source files in subdirectories and set
98959         uses_subdirs.
98960         (func_emit_initmacro_start, func_emit_initmacro_end,
98961         func_emit_initmacro_done): Pass all arguments explicitly.
98962         (func_import): Determine two module lists main_modules,
98963         testsrelated_modules. Determine use_libtests. Determine two variables
98964         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
98965         instead of just sed_transform_lib_file. Determine two variables
98966         main_files and testsrelated_files. Compute 'files' as the union of
98967         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
98968         func_add_or_update. In the generated gnulib-comp.m4, collect the
98969         object files for tests/ in different variables than those for lib/.
98970         Substitute LIBTESTS_LIBDEPS.
98971         (func_create_testdir): Combine the uses_subdirs results from
98972         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
98974 2007-12-09  Bruno Haible  <bruno@clisp.org>
98976         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
98977         the build-aux directory.
98979 2007-12-09  Bruno Haible  <bruno@clisp.org>
98981         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
98982         introduced on 2006-09-09.
98984 2007-12-07  Jim Meyering  <meyering@redhat.com>
98986         Let these macros work also with autoconf-2.59.
98987         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
98988         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
98989         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
98991 2007-12-06  Jim Meyering  <meyering@redhat.com>
98993         Avoid a configure-time syntax error in gl_FUNC_ACL.
98994         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
98995         function in each branch, before testing the cache variable.
98997 2007-12-04  Eric Blake  <ebb9@byu.net>
98999         Make scripts executable.
99000         * build-aux/config.guess: Add execute permissions.
99001         * build-aux/config.sub: Likewise.
99002         * build-aux/gendocs.sh: Likewise.
99004         Fix frexp on mingw.
99005         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
99006         cross-compiling.
99007         * doc/functions/frexp.texi (frexp): Document the bug.
99009         Make cygwin fseeko check more reliable.
99010         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
99011         version numbers, rather than unrelated feature check.
99012         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
99013         * doc/functions/ftello.texi (ftello): Likewise.
99014         Reported by Bruno Haible.
99016         * m4/strerror.m4: Bump version number.
99018 2007-12-03  Bruno Haible  <bruno@clisp.org>
99020         * doc/functions/mprotect.texi: Mention the mingw problem.
99022 2007-12-03  Eric Blake  <ebb9@byu.net>
99024         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
99025         REPLACE_STRERROR is initialized before this macro.
99027 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
99029         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
99030         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
99031         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
99032         put -lsec in even for programs other than 'ls'.  This fixes a problem
99033         for gettext reported by Bruno Haible in
99034         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
99035         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
99036         Add support for Solaris 10.  This isn't efficient, but should get the
99037         job done for now.
99039 2007-12-03  James Youngman  <jay@gnu.org>
99041         * doc/regexprops-generic.texi: change "an close-group" to "a
99042         close-group" and "illegal" to "not allowed".
99044 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99046         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
99047         pr_byname.h. Needed for the rare case when the maintainer has done
99048         "make maintainer-clean" in the source directory and then attempts a
99049         build outside the source directory.
99050         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
99051         scripts_byname.h.
99053 2007-12-02  Martin Lambers  <marlam@marlam.de>
99054             Bruno Haible  <bruno@clisp.org>
99056         * lib/getpagesize.h: Remove file.
99057         * lib/unistd.in.h: Include declaration of getpagesize here.
99058         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
99059         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
99060         HAVE_SYS_PARAM_H.
99061         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
99062         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
99063         * modules/getpagesize (Files): Remove lib/getpagesize.h.
99064         (Depends-on): Add unistd.
99065         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
99066         (Include): Use <unistd.h> instead of getpagesize.h.
99067         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
99068         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
99069         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
99070         gl_GETPAGESIZE invocation, already handled by module dependency.
99071         * lib/pagealign_alloc.c: Don't include getpagesize.h.
99073 2007-12-02  Bruno Haible  <bruno@clisp.org>
99075         * modules/strings-tests: New file.
99076         * tests/test-strings.c: New file.
99078         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
99079         * lib/strings.in.h: New file.
99080         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
99081         * m4/strings_h.m4: New file.
99082         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
99083         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
99084         * modules/strings: New file.
99085         * modules/string (Makefile.am): Update.
99086         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
99087         Reported by Karl Berry.
99089 2007-12-01  Eric Blake  <ebb9@byu.net>
99091         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
99092         accommodate fix in cygwin 1.5.25.
99094 2007-12-01  Jim Meyering  <meyering@redhat.com>
99096         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
99097         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
99098         that would inhibit utf8-optimization of a regexp containing line-
99099         or buffer-anchors, e.g., `^', `$'.
99101 2007-11-30  Bruno Haible  <bruno@clisp.org>
99103         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
99104         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
99105         glthread_recursive_lock_init.
99106         * lib/lock.c (glthread_recursive_lock_init)
99107         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
99108         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
99110 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
99112         New function qset_acl, like set_acl but with syscall semantics.
99113         * lib/acl.h (qset_acl): New decl.
99114         * lib/acl.c (qset_acl): New function.
99115         (set_acl): Use new function.  Use more-consistent diagnostics.
99117 2007-11-28  Jim Meyering  <meyering@redhat.com>
99119         * modules/physmem (License): Change from GPL to LGPLv2+.
99121 2007-11-26  Bruno Haible  <bruno@clisp.org>
99123         * lib/vasnprintf.c (decode_long_double): Don't abort if the
99124         'long double' type has excess precision.
99125         Reported by Jim Meyering in
99126         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
99128 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99130         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
99131         Sync from <http://gnu.org/licenses>.
99132         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
99133         with license text from same location.
99134         * doc/maintain.texi, doc/standards.texi:  Sync from
99135         <http://savannah.gnu.org/projects/gnustandards>.
99137 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
99138         and Jim Meyering  <meyering@redhat.com>
99140         Adjust getdate' grammar to accept a slightly more regular language.
99141         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
99142         Before, the former was rejected.
99143         * lib/getdate.y (digits_to_date_time): New function, factored
99144         out of ...
99145         (number): ...here.  Just call digits_to_date_time.
99146         (hybrid): New non-terminal to handle an <unsigned number,
99147         signed relative offset> sequence consistently.
99149 2007-11-18  Jim Meyering  <meyering@redhat.com>
99151         Pull my changes from coreutils:
99152         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
99153         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
99154         use of $gnulib_tool_option_extras, so that it's separated from the
99155         preceding argument.
99157         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
99158         * build-aux/bootstrap (cp_mark_as_generated): Create any required
99159         parent destination directories before copying a file into place.
99161 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
99163         bootstrap: work also with 4-argument variant of AC_INIT
99164         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
99166 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
99168         Port test-getaddrinfo to Solaris.
99169         Problem reported by Bruno Haible in
99170         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
99171         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
99172         explanation of setting 'hints'.
99173         Don't reject an implementation merely because it returns EAI_SERVICE.
99174         (EAI_SERVICE): Define to 0 if not defined.
99176 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
99178         The license of gnu-make and posix-shell is now "GPLed build tool".
99179         * modules/gnu-make (License): Likewise.
99180         * modules/posix-shell (License): Likewise.
99182         New module posix-shell, for determining a POSIX shell
99183         or perhaps something that is close enough to a POSIX shell.
99184         * m4/posix-shell.m4: New file.
99185         * modules/posix-shell: New file.
99187         * MODULES.html.sh: Mention new module.
99189         New module gnu-make, for determining whether we're using GNU Make.
99190         * m4/gnu-make.m4: New file.
99191         * modules/gnu-make: New file.
99192         * MODULES.html.sh: Mention new module.
99194 2007-11-14  Jim Meyering  <meyering@redhat.com>
99196         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
99197         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
99198         use this macro to create a function _definition_.
99199         Remove useless "#undef ARGMATCH_DIE".
99201 2007-11-14  Bruno Haible  <bruno@clisp.org>
99203         * lib/config.charset: Update for OpenBSD 4.1.
99204         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
99206 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
99208         Document 64-bit #if problems in stdint.texi.
99209         * doc/headers/stdint.texi (stdint.h): Mention problems with
99210         64-bit-#if, and how to work around them.
99212         Don't insist on 'long long int' support in the preprocessor.  It
99213         breaks too many things.  For example, PRIdMAX still uses a 'long
99214         long int' format with the latest Sun compiler, even though
99215         HAVE_LONG_LONG_INT isn't defined due to that compiler's
99216         preprocessor problem.  This causes the latest coreutils to dump
99217         core on Solaris 10 sparc with the Sun C compiler.
99218         Instead, fix the 2007-10-16 problem in a different way, by evaluating
99219         the troublesome expressions at configure-time, not at #if-time.
99220         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
99221         preprocessor.
99222         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
99223         compile-time C checks, done at 'configure'-time.
99224         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
99225         * modules/inttypes (Makefile): Substitute the new symbols that
99226         gl_INTTYPES_H now generates.
99227         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
99229 2007-11-12  Bruno Haible  <bruno@clisp.org>
99231         Tests for Unicode character classification functions.
99233         * modules/unictype/bidicategory-byname-tests: New file.
99234         * modules/unictype/bidicategory-name-tests: New file.
99235         * modules/unictype/bidicategory-of-tests: New file.
99236         * modules/unictype/bidicategory-test-tests: New file.
99237         * modules/unictype/block-list-tests: New file.
99238         * modules/unictype/block-of-tests: New file.
99239         * modules/unictype/block-test-tests: New file.
99240         * modules/unictype/category-C-tests: New file.
99241         * modules/unictype/category-Cc-tests: New file.
99242         * modules/unictype/category-Cf-tests: New file.
99243         * modules/unictype/category-Cn-tests: New file.
99244         * modules/unictype/category-Co-tests: New file.
99245         * modules/unictype/category-Cs-tests: New file.
99246         * modules/unictype/category-L-tests: New file.
99247         * modules/unictype/category-Ll-tests: New file.
99248         * modules/unictype/category-Lm-tests: New file.
99249         * modules/unictype/category-Lo-tests: New file.
99250         * modules/unictype/category-Lt-tests: New file.
99251         * modules/unictype/category-Lu-tests: New file.
99252         * modules/unictype/category-M-tests: New file.
99253         * modules/unictype/category-Mc-tests: New file.
99254         * modules/unictype/category-Me-tests: New file.
99255         * modules/unictype/category-Mn-tests: New file.
99256         * modules/unictype/category-N-tests: New file.
99257         * modules/unictype/category-Nd-tests: New file.
99258         * modules/unictype/category-Nl-tests: New file.
99259         * modules/unictype/category-No-tests: New file.
99260         * modules/unictype/category-P-tests: New file.
99261         * modules/unictype/category-Pc-tests: New file.
99262         * modules/unictype/category-Pd-tests: New file.
99263         * modules/unictype/category-Pe-tests: New file.
99264         * modules/unictype/category-Pf-tests: New file.
99265         * modules/unictype/category-Pi-tests: New file.
99266         * modules/unictype/category-Po-tests: New file.
99267         * modules/unictype/category-Ps-tests: New file.
99268         * modules/unictype/category-S-tests: New file.
99269         * modules/unictype/category-Sc-tests: New file.
99270         * modules/unictype/category-Sk-tests: New file.
99271         * modules/unictype/category-Sm-tests: New file.
99272         * modules/unictype/category-So-tests: New file.
99273         * modules/unictype/category-Z-tests: New file.
99274         * modules/unictype/category-Zl-tests: New file.
99275         * modules/unictype/category-Zp-tests: New file.
99276         * modules/unictype/category-Zs-tests: New file.
99277         * modules/unictype/category-and-not-tests: New file.
99278         * modules/unictype/category-and-tests: New file.
99279         * modules/unictype/category-byname-tests: New file.
99280         * modules/unictype/category-name-tests: New file.
99281         * modules/unictype/category-none-tests: New file.
99282         * modules/unictype/category-of-tests: New file.
99283         * modules/unictype/category-or-tests: New file.
99284         * modules/unictype/category-test-withtable-tests: New file.
99285         * modules/unictype/combining-class-tests: New file.
99286         * modules/unictype/ctype-alnum-tests: New file.
99287         * modules/unictype/ctype-alpha-tests: New file.
99288         * modules/unictype/ctype-blank-tests: New file.
99289         * modules/unictype/ctype-cntrl-tests: New file.
99290         * modules/unictype/ctype-digit-tests: New file.
99291         * modules/unictype/ctype-graph-tests: New file.
99292         * modules/unictype/ctype-lower-tests: New file.
99293         * modules/unictype/ctype-print-tests: New file.
99294         * modules/unictype/ctype-punct-tests: New file.
99295         * modules/unictype/ctype-space-tests: New file.
99296         * modules/unictype/ctype-upper-tests: New file.
99297         * modules/unictype/ctype-xdigit-tests: New file.
99298         * modules/unictype/decimal-digit-tests: New file.
99299         * modules/unictype/digit-tests: New file.
99300         * modules/unictype/mirror-tests: New file.
99301         * modules/unictype/numeric-tests: New file.
99302         * modules/unictype/property-alphabetic-tests: New file.
99303         * modules/unictype/property-ascii-hex-digit-tests: New file.
99304         * modules/unictype/property-bidi-arabic-digit-tests: New file.
99305         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
99306         * modules/unictype/property-bidi-block-separator-tests: New file.
99307         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
99308         * modules/unictype/property-bidi-common-separator-tests: New file.
99309         * modules/unictype/property-bidi-control-tests: New file.
99310         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
99311         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
99312         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
99313         * modules/unictype/property-bidi-european-digit-tests: New file.
99314         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
99315         * modules/unictype/property-bidi-left-to-right-tests: New file.
99316         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
99317         * modules/unictype/property-bidi-other-neutral-tests: New file.
99318         * modules/unictype/property-bidi-pdf-tests: New file.
99319         * modules/unictype/property-bidi-segment-separator-tests: New file.
99320         * modules/unictype/property-bidi-whitespace-tests: New file.
99321         * modules/unictype/property-byname-tests: New file.
99322         * modules/unictype/property-combining-tests: New file.
99323         * modules/unictype/property-composite-tests: New file.
99324         * modules/unictype/property-currency-symbol-tests: New file.
99325         * modules/unictype/property-dash-tests: New file.
99326         * modules/unictype/property-decimal-digit-tests: New file.
99327         * modules/unictype/property-default-ignorable-code-point-tests: New file.
99328         * modules/unictype/property-deprecated-tests: New file.
99329         * modules/unictype/property-diacritic-tests: New file.
99330         * modules/unictype/property-extender-tests: New file.
99331         * modules/unictype/property-format-control-tests: New file.
99332         * modules/unictype/property-grapheme-base-tests: New file.
99333         * modules/unictype/property-grapheme-extend-tests: New file.
99334         * modules/unictype/property-grapheme-link-tests: New file.
99335         * modules/unictype/property-hex-digit-tests: New file.
99336         * modules/unictype/property-hyphen-tests: New file.
99337         * modules/unictype/property-id-continue-tests: New file.
99338         * modules/unictype/property-id-start-tests: New file.
99339         * modules/unictype/property-ideographic-tests: New file.
99340         * modules/unictype/property-ids-binary-operator-tests: New file.
99341         * modules/unictype/property-ids-trinary-operator-tests: New file.
99342         * modules/unictype/property-ignorable-control-tests: New file.
99343         * modules/unictype/property-iso-control-tests: New file.
99344         * modules/unictype/property-join-control-tests: New file.
99345         * modules/unictype/property-left-of-pair-tests: New file.
99346         * modules/unictype/property-line-separator-tests: New file.
99347         * modules/unictype/property-logical-order-exception-tests: New file.
99348         * modules/unictype/property-lowercase-tests: New file.
99349         * modules/unictype/property-math-tests: New file.
99350         * modules/unictype/property-non-break-tests: New file.
99351         * modules/unictype/property-not-a-character-tests: New file.
99352         * modules/unictype/property-numeric-tests: New file.
99353         * modules/unictype/property-other-alphabetic-tests: New file.
99354         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
99355         * modules/unictype/property-other-grapheme-extend-tests: New file.
99356         * modules/unictype/property-other-id-continue-tests: New file.
99357         * modules/unictype/property-other-id-start-tests: New file.
99358         * modules/unictype/property-other-lowercase-tests: New file.
99359         * modules/unictype/property-other-math-tests: New file.
99360         * modules/unictype/property-other-uppercase-tests: New file.
99361         * modules/unictype/property-paired-punctuation-tests: New file.
99362         * modules/unictype/property-paragraph-separator-tests: New file.
99363         * modules/unictype/property-pattern-syntax-tests: New file.
99364         * modules/unictype/property-pattern-white-space-tests: New file.
99365         * modules/unictype/property-private-use-tests: New file.
99366         * modules/unictype/property-punctuation-tests: New file.
99367         * modules/unictype/property-quotation-mark-tests: New file.
99368         * modules/unictype/property-radical-tests: New file.
99369         * modules/unictype/property-sentence-terminal-tests: New file.
99370         * modules/unictype/property-soft-dotted-tests: New file.
99371         * modules/unictype/property-space-tests: New file.
99372         * modules/unictype/property-terminal-punctuation-tests: New file.
99373         * modules/unictype/property-test-tests: New file.
99374         * modules/unictype/property-titlecase-tests: New file.
99375         * modules/unictype/property-unassigned-code-value-tests: New file.
99376         * modules/unictype/property-unified-ideograph-tests: New file.
99377         * modules/unictype/property-uppercase-tests: New file.
99378         * modules/unictype/property-variation-selector-tests: New file.
99379         * modules/unictype/property-white-space-tests: New file.
99380         * modules/unictype/property-xid-continue-tests: New file.
99381         * modules/unictype/property-xid-start-tests: New file.
99382         * modules/unictype/property-zero-width-tests: New file.
99383         * modules/unictype/scripts-tests: New file.
99384         * modules/unictype/syntax-c-ident-tests: New file.
99385         * modules/unictype/syntax-c-whitespace-tests: New file.
99386         * modules/unictype/syntax-java-ident-tests: New file.
99387         * modules/unictype/syntax-java-whitespace-tests: New file.
99388         * tests/unictype/test-bidi_byname.c: New file.
99389         * tests/unictype/test-bidi_name.c: New file.
99390         * tests/unictype/test-bidi_of.c: New file.
99391         * tests/unictype/test-bidi_test.c: New file.
99392         * tests/unictype/test-block_list.c: New file.
99393         * tests/unictype/test-block_of.c: New file.
99394         * tests/unictype/test-block_test.c: New file.
99395         * tests/unictype/test-categ_and.c: New file.
99396         * tests/unictype/test-categ_and_not.c: New file.
99397         * tests/unictype/test-categ_byname.c: New file.
99398         * tests/unictype/test-categ_name.c: New file.
99399         * tests/unictype/test-categ_none.c: New file.
99400         * tests/unictype/test-categ_of.c: New file.
99401         * tests/unictype/test-categ_or.c: New file.
99402         * tests/unictype/test-categ_test_withtable.c: New file.
99403         * tests/unictype/test-combining.c: New file.
99404         * tests/unictype/test-decdigit.c: New file.
99405         * tests/unictype/test-digit.c: New file.
99406         * tests/unictype/test-mirror.c: New file.
99407         * tests/unictype/test-numeric.c: New file.
99408         * tests/unictype/test-pr_byname.c: New file.
99409         * tests/unictype/test-pr_test.c: New file.
99410         * tests/unictype/test-predicate-part1.h: New file.
99411         * tests/unictype/test-predicate-part2.h: New file.
99412         * tests/unictype/test-scripts.c: New file.
99413         * tests/unictype/test-sy_c_ident.c: New file.
99414         * tests/unictype/test-sy_java_ident.c: New file.
99416         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
99417         for Unicode 5.0.0.
99418         * tests/unictype/test-categ_Cc.c: Likewise.
99419         * tests/unictype/test-categ_Cf.c: Likewise.
99420         * tests/unictype/test-categ_Cn.c: Likewise.
99421         * tests/unictype/test-categ_Co.c: Likewise.
99422         * tests/unictype/test-categ_Cs.c: Likewise.
99423         * tests/unictype/test-categ_L.c: Likewise.
99424         * tests/unictype/test-categ_Ll.c: Likewise.
99425         * tests/unictype/test-categ_Lm.c: Likewise.
99426         * tests/unictype/test-categ_Lo.c: Likewise.
99427         * tests/unictype/test-categ_Lt.c: Likewise.
99428         * tests/unictype/test-categ_Lu.c: Likewise.
99429         * tests/unictype/test-categ_M.c: Likewise.
99430         * tests/unictype/test-categ_Mc.c: Likewise.
99431         * tests/unictype/test-categ_Me.c: Likewise.
99432         * tests/unictype/test-categ_Mn.c: Likewise.
99433         * tests/unictype/test-categ_N.c: Likewise.
99434         * tests/unictype/test-categ_Nd.c: Likewise.
99435         * tests/unictype/test-categ_Nl.c: Likewise.
99436         * tests/unictype/test-categ_No.c: Likewise.
99437         * tests/unictype/test-categ_P.c: Likewise.
99438         * tests/unictype/test-categ_Pc.c: Likewise.
99439         * tests/unictype/test-categ_Pd.c: Likewise.
99440         * tests/unictype/test-categ_Pe.c: Likewise.
99441         * tests/unictype/test-categ_Pf.c: Likewise.
99442         * tests/unictype/test-categ_Pi.c: Likewise.
99443         * tests/unictype/test-categ_Po.c: Likewise.
99444         * tests/unictype/test-categ_Ps.c: Likewise.
99445         * tests/unictype/test-categ_S.c: Likewise.
99446         * tests/unictype/test-categ_Sc.c: Likewise.
99447         * tests/unictype/test-categ_Sk.c: Likewise.
99448         * tests/unictype/test-categ_Sm.c: Likewise.
99449         * tests/unictype/test-categ_So.c: Likewise.
99450         * tests/unictype/test-categ_Z.c: Likewise.
99451         * tests/unictype/test-categ_Zl.c: Likewise.
99452         * tests/unictype/test-categ_Zp.c: Likewise.
99453         * tests/unictype/test-categ_Zs.c: Likewise.
99454         * tests/unictype/test-ctype_alnum.c: Likewise.
99455         * tests/unictype/test-ctype_alpha.c: Likewise.
99456         * tests/unictype/test-ctype_blank.c: Likewise.
99457         * tests/unictype/test-ctype_cntrl.c: Likewise.
99458         * tests/unictype/test-ctype_digit.c: Likewise.
99459         * tests/unictype/test-ctype_graph.c: Likewise.
99460         * tests/unictype/test-ctype_lower.c: Likewise.
99461         * tests/unictype/test-ctype_print.c: Likewise.
99462         * tests/unictype/test-ctype_punct.c: Likewise.
99463         * tests/unictype/test-ctype_space.c: Likewise.
99464         * tests/unictype/test-ctype_upper.c: Likewise.
99465         * tests/unictype/test-ctype_xdigit.c: Likewise.
99466         * tests/unictype/test-decdigit.h: Likewise.
99467         * tests/unictype/test-digit.h: Likewise.
99468         * tests/unictype/test-numeric.h: Likewise.
99469         * tests/unictype/test-pr_alphabetic.c: Likewise.
99470         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
99471         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
99472         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
99473         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
99474         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
99475         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
99476         * tests/unictype/test-pr_bidi_control.c: Likewise.
99477         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
99478         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
99479         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
99480         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
99481         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
99482         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
99483         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
99484         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
99485         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
99486         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
99487         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
99488         * tests/unictype/test-pr_combining.c: Likewise.
99489         * tests/unictype/test-pr_composite.c: Likewise.
99490         * tests/unictype/test-pr_currency_symbol.c: Likewise.
99491         * tests/unictype/test-pr_dash.c: Likewise.
99492         * tests/unictype/test-pr_decimal_digit.c: Likewise.
99493         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
99494         * tests/unictype/test-pr_deprecated.c: Likewise.
99495         * tests/unictype/test-pr_diacritic.c: Likewise.
99496         * tests/unictype/test-pr_extender.c: Likewise.
99497         * tests/unictype/test-pr_format_control.c: Likewise.
99498         * tests/unictype/test-pr_grapheme_base.c: Likewise.
99499         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
99500         * tests/unictype/test-pr_grapheme_link.c: Likewise.
99501         * tests/unictype/test-pr_hex_digit.c: Likewise.
99502         * tests/unictype/test-pr_hyphen.c: Likewise.
99503         * tests/unictype/test-pr_id_continue.c: Likewise.
99504         * tests/unictype/test-pr_id_start.c: Likewise.
99505         * tests/unictype/test-pr_ideographic.c: Likewise.
99506         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
99507         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
99508         * tests/unictype/test-pr_ignorable_control.c: Likewise.
99509         * tests/unictype/test-pr_iso_control.c: Likewise.
99510         * tests/unictype/test-pr_join_control.c: Likewise.
99511         * tests/unictype/test-pr_left_of_pair.c: Likewise.
99512         * tests/unictype/test-pr_line_separator.c: Likewise.
99513         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
99514         * tests/unictype/test-pr_lowercase.c: Likewise.
99515         * tests/unictype/test-pr_math.c: Likewise.
99516         * tests/unictype/test-pr_non_break.c: Likewise.
99517         * tests/unictype/test-pr_not_a_character.c: Likewise.
99518         * tests/unictype/test-pr_numeric.c: Likewise.
99519         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
99520         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
99521         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
99522         * tests/unictype/test-pr_other_id_continue.c: Likewise.
99523         * tests/unictype/test-pr_other_id_start.c: Likewise.
99524         * tests/unictype/test-pr_other_lowercase.c: Likewise.
99525         * tests/unictype/test-pr_other_math.c: Likewise.
99526         * tests/unictype/test-pr_other_uppercase.c: Likewise.
99527         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
99528         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
99529         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
99530         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
99531         * tests/unictype/test-pr_private_use.c: Likewise.
99532         * tests/unictype/test-pr_punctuation.c: Likewise.
99533         * tests/unictype/test-pr_quotation_mark.c: Likewise.
99534         * tests/unictype/test-pr_radical.c: Likewise.
99535         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
99536         * tests/unictype/test-pr_soft_dotted.c: Likewise.
99537         * tests/unictype/test-pr_space.c: Likewise.
99538         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
99539         * tests/unictype/test-pr_titlecase.c: Likewise.
99540         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
99541         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
99542         * tests/unictype/test-pr_uppercase.c: Likewise.
99543         * tests/unictype/test-pr_variation_selector.c: Likewise.
99544         * tests/unictype/test-pr_white_space.c: Likewise.
99545         * tests/unictype/test-pr_xid_continue.c: Likewise.
99546         * tests/unictype/test-pr_xid_start.c: Likewise.
99547         * tests/unictype/test-pr_zero_width.c: Likewise.
99548         * tests/unictype/test-sy_c_whitespace.c: Likewise.
99549         * tests/unictype/test-sy_java_whitespace.c: Likewise.
99551 2007-11-12  Bruno Haible  <bruno@clisp.org>
99553         Unicode character classification functions.
99554         * lib/unictype.h: New file.
99555         * modules/unictype/base: New file.
99556         * modules/unictype/category-L: New file.
99557         * modules/unictype/category-Lu: New file.
99558         * modules/unictype/category-Ll: New file.
99559         * modules/unictype/category-Lt: New file.
99560         * modules/unictype/category-Lm: New file.
99561         * modules/unictype/category-Lo: New file.
99562         * modules/unictype/category-M: New file.
99563         * modules/unictype/category-Mn: New file.
99564         * modules/unictype/category-Mc: New file.
99565         * modules/unictype/category-Me: New file.
99566         * modules/unictype/category-N: New file.
99567         * modules/unictype/category-Nd: New file.
99568         * modules/unictype/category-Nl: New file.
99569         * modules/unictype/category-No: New file.
99570         * modules/unictype/category-P: New file.
99571         * modules/unictype/category-Pc: New file.
99572         * modules/unictype/category-Pd: New file.
99573         * modules/unictype/category-Ps: New file.
99574         * modules/unictype/category-Pe: New file.
99575         * modules/unictype/category-Pi: New file.
99576         * modules/unictype/category-Pf: New file.
99577         * modules/unictype/category-Po: New file.
99578         * modules/unictype/category-S: New file.
99579         * modules/unictype/category-Sm: New file.
99580         * modules/unictype/category-Sc: New file.
99581         * modules/unictype/category-Sk: New file.
99582         * modules/unictype/category-So: New file.
99583         * modules/unictype/category-Z: New file.
99584         * modules/unictype/category-Zs: New file.
99585         * modules/unictype/category-Zl: New file.
99586         * modules/unictype/category-Zp: New file.
99587         * modules/unictype/category-C: New file.
99588         * modules/unictype/category-Cc: New file.
99589         * modules/unictype/category-Cf: New file.
99590         * modules/unictype/category-Cs: New file.
99591         * modules/unictype/category-Co: New file.
99592         * modules/unictype/category-Cn: New file.
99593         * modules/unictype/category-or: New file.
99594         * modules/unictype/category-of: New file.
99595         * modules/unictype/category-test: New file.
99596         * modules/unictype/category-test-withtable: New file.
99597         * modules/unictype/category-byname: New file.
99598         * modules/unictype/category-none: New file.
99599         * modules/unictype/category-and: New file.
99600         * modules/unictype/category-and-not: New file.
99601         * modules/unictype/category-name: New file.
99602         * modules/unictype/combining-class: New file.
99603         * modules/unictype/category-all: New file.
99604         * modules/unictype/bidicategory-all: New file.
99605         * modules/unictype/bidicategory-byname: New file.
99606         * modules/unictype/bidicategory-name: New file.
99607         * modules/unictype/bidicategory-of: New file.
99608         * modules/unictype/bidicategory-test: New file.
99609         * modules/unictype/decimal-digit: New file.
99610         * modules/unictype/digit: New file.
99611         * modules/unictype/numeric: New file.
99612         * modules/unictype/mirror: New file.
99613         * modules/unictype/property-white-space: New file.
99614         * modules/unictype/property-alphabetic: New file.
99615         * modules/unictype/property-other-alphabetic: New file.
99616         * modules/unictype/property-not-a-character: New file.
99617         * modules/unictype/property-default-ignorable-code-point: New file.
99618         * modules/unictype/property-other-default-ignorable-code-point: New
99619         file.
99620         * modules/unictype/property-deprecated: New file.
99621         * modules/unictype/property-logical-order-exception: New file.
99622         * modules/unictype/property-variation-selector: New file.
99623         * modules/unictype/property-private-use: New file.
99624         * modules/unictype/property-unassigned-code-value: New file.
99625         * modules/unictype/property-uppercase: New file.
99626         * modules/unictype/property-other-uppercase: New file.
99627         * modules/unictype/property-lowercase: New file.
99628         * modules/unictype/property-other-lowercase: New file.
99629         * modules/unictype/property-titlecase: New file.
99630         * modules/unictype/property-soft-dotted: New file.
99631         * modules/unictype/property-id-start: New file.
99632         * modules/unictype/property-other-id-start: New file.
99633         * modules/unictype/property-id-continue: New file.
99634         * modules/unictype/property-other-id-continue: New file.
99635         * modules/unictype/property-xid-start: New file.
99636         * modules/unictype/property-xid-continue: New file.
99637         * modules/unictype/property-pattern-white-space: New file.
99638         * modules/unictype/property-pattern-syntax: New file.
99639         * modules/unictype/property-join-control: New file.
99640         * modules/unictype/property-grapheme-base: New file.
99641         * modules/unictype/property-grapheme-extend: New file.
99642         * modules/unictype/property-other-grapheme-extend: New file.
99643         * modules/unictype/property-grapheme-link: New file.
99644         * modules/unictype/property-bidi-control: New file.
99645         * modules/unictype/property-bidi-left-to-right: New file.
99646         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
99647         * modules/unictype/property-bidi-arabic-right-to-left: New file.
99648         * modules/unictype/property-bidi-european-digit: New file.
99649         * modules/unictype/property-bidi-eur-num-separator: New file.
99650         * modules/unictype/property-bidi-eur-num-terminator: New file.
99651         * modules/unictype/property-bidi-arabic-digit: New file.
99652         * modules/unictype/property-bidi-common-separator: New file.
99653         * modules/unictype/property-bidi-block-separator: New file.
99654         * modules/unictype/property-bidi-segment-separator: New file.
99655         * modules/unictype/property-bidi-whitespace: New file.
99656         * modules/unictype/property-bidi-non-spacing-mark: New file.
99657         * modules/unictype/property-bidi-boundary-neutral: New file.
99658         * modules/unictype/property-bidi-pdf: New file.
99659         * modules/unictype/property-bidi-embedding-or-override: New file.
99660         * modules/unictype/property-bidi-other-neutral: New file.
99661         * modules/unictype/property-hex-digit: New file.
99662         * modules/unictype/property-ascii-hex-digit: New file.
99663         * modules/unictype/property-ideographic: New file.
99664         * modules/unictype/property-unified-ideograph: New file.
99665         * modules/unictype/property-radical: New file.
99666         * modules/unictype/property-ids-binary-operator: New file.
99667         * modules/unictype/property-ids-trinary-operator: New file.
99668         * modules/unictype/property-zero-width: New file.
99669         * modules/unictype/property-space: New file.
99670         * modules/unictype/property-non-break: New file.
99671         * modules/unictype/property-iso-control: New file.
99672         * modules/unictype/property-format-control: New file.
99673         * modules/unictype/property-dash: New file.
99674         * modules/unictype/property-hyphen: New file.
99675         * modules/unictype/property-punctuation: New file.
99676         * modules/unictype/property-line-separator: New file.
99677         * modules/unictype/property-paragraph-separator: New file.
99678         * modules/unictype/property-quotation-mark: New file.
99679         * modules/unictype/property-sentence-terminal: New file.
99680         * modules/unictype/property-terminal-punctuation: New file.
99681         * modules/unictype/property-currency-symbol: New file.
99682         * modules/unictype/property-math: New file.
99683         * modules/unictype/property-other-math: New file.
99684         * modules/unictype/property-paired-punctuation: New file.
99685         * modules/unictype/property-left-of-pair: New file.
99686         * modules/unictype/property-combining: New file.
99687         * modules/unictype/property-composite: New file.
99688         * modules/unictype/property-decimal-digit: New file.
99689         * modules/unictype/property-numeric: New file.
99690         * modules/unictype/property-diacritic: New file.
99691         * modules/unictype/property-extender: New file.
99692         * modules/unictype/property-ignorable-control: New file.
99693         * modules/unictype/property-test: New file.
99694         * modules/unictype/property-byname: New file.
99695         * modules/unictype/property-all: New file.
99696         * modules/unictype/scripts: New file.
99697         * modules/unictype/scripts-all: New file.
99698         * modules/unictype/block-of: New file.
99699         * modules/unictype/block-test: New file.
99700         * modules/unictype/block-list: New file.
99701         * modules/unictype/block-all: New file.
99702         * modules/unictype/syntax-c-whitespace: New file.
99703         * modules/unictype/syntax-java-whitespace: New file.
99704         * modules/unictype/syntax-c-ident: New file.
99705         * modules/unictype/syntax-java-ident: New file.
99706         * modules/unictype/ctype-alnum: New file.
99707         * modules/unictype/ctype-alpha: New file.
99708         * modules/unictype/ctype-cntrl: New file.
99709         * modules/unictype/ctype-digit: New file.
99710         * modules/unictype/ctype-graph: New file.
99711         * modules/unictype/ctype-lower: New file.
99712         * modules/unictype/ctype-print: New file.
99713         * modules/unictype/ctype-punct: New file.
99714         * modules/unictype/ctype-space: New file.
99715         * modules/unictype/ctype-upper: New file.
99716         * modules/unictype/ctype-xdigit: New file.
99717         * modules/unictype/ctype-blank: New file.
99718         * lib/unictype/bidi_byname.c: New file.
99719         * lib/unictype/bidi_name.c: New file.
99720         * lib/unictype/bidi_of.c: New file.
99721         * lib/unictype/bidi_test.c: New file.
99722         * lib/unictype/bitmap.h: New file.
99723         * lib/unictype/block_test.c: New file.
99724         * lib/unictype/blocks.c: New file.
99725         * lib/unictype/categ_C.c: New file.
99726         * lib/unictype/categ_Cc.c: New file.
99727         * lib/unictype/categ_Cf.c: New file.
99728         * lib/unictype/categ_Cn.c: New file.
99729         * lib/unictype/categ_Co.c: New file.
99730         * lib/unictype/categ_Cs.c: New file.
99731         * lib/unictype/categ_L.c: New file.
99732         * lib/unictype/categ_Ll.c: New file.
99733         * lib/unictype/categ_Lm.c: New file.
99734         * lib/unictype/categ_Lo.c: New file.
99735         * lib/unictype/categ_Lt.c: New file.
99736         * lib/unictype/categ_Lu.c: New file.
99737         * lib/unictype/categ_M.c: New file.
99738         * lib/unictype/categ_Mc.c: New file.
99739         * lib/unictype/categ_Me.c: New file.
99740         * lib/unictype/categ_Mn.c: New file.
99741         * lib/unictype/categ_N.c: New file.
99742         * lib/unictype/categ_Nd.c: New file.
99743         * lib/unictype/categ_Nl.c: New file.
99744         * lib/unictype/categ_No.c: New file.
99745         * lib/unictype/categ_P.c: New file.
99746         * lib/unictype/categ_Pc.c: New file.
99747         * lib/unictype/categ_Pd.c: New file.
99748         * lib/unictype/categ_Pe.c: New file.
99749         * lib/unictype/categ_Pf.c: New file.
99750         * lib/unictype/categ_Pi.c: New file.
99751         * lib/unictype/categ_Po.c: New file.
99752         * lib/unictype/categ_Ps.c: New file.
99753         * lib/unictype/categ_S.c: New file.
99754         * lib/unictype/categ_Sc.c: New file.
99755         * lib/unictype/categ_Sk.c: New file.
99756         * lib/unictype/categ_Sm.c: New file.
99757         * lib/unictype/categ_So.c: New file.
99758         * lib/unictype/categ_Z.c: New file.
99759         * lib/unictype/categ_Zl.c: New file.
99760         * lib/unictype/categ_Zp.c: New file.
99761         * lib/unictype/categ_Zs.c: New file.
99762         * lib/unictype/categ_and.c: New file.
99763         * lib/unictype/categ_and_not.c: New file.
99764         * lib/unictype/categ_byname.c: New file.
99765         * lib/unictype/categ_name.c: New file.
99766         * lib/unictype/categ_none.c: New file.
99767         * lib/unictype/categ_of.c: New file.
99768         * lib/unictype/categ_or.c: New file.
99769         * lib/unictype/categ_test.c: New file.
99770         * lib/unictype/combining.c: New file.
99771         * lib/unictype/ctype_alnum.c: New file.
99772         * lib/unictype/ctype_alpha.c: New file.
99773         * lib/unictype/ctype_blank.c: New file.
99774         * lib/unictype/ctype_cntrl.c: New file.
99775         * lib/unictype/ctype_digit.c: New file.
99776         * lib/unictype/ctype_graph.c: New file.
99777         * lib/unictype/ctype_lower.c: New file.
99778         * lib/unictype/ctype_print.c: New file.
99779         * lib/unictype/ctype_punct.c: New file.
99780         * lib/unictype/ctype_space.c: New file.
99781         * lib/unictype/ctype_upper.c: New file.
99782         * lib/unictype/ctype_xdigit.c: New file.
99783         * lib/unictype/decdigit.c: New file.
99784         * lib/unictype/digit.c: New file.
99785         * lib/unictype/identsyntaxmap.h: New file.
99786         * lib/unictype/mirror.c: New file.
99787         * lib/unictype/numeric.c: New file.
99788         * lib/unictype/pr_alphabetic.c: New file.
99789         * lib/unictype/pr_ascii_hex_digit.c: New file.
99790         * lib/unictype/pr_bidi_arabic_digit.c: New file.
99791         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
99792         * lib/unictype/pr_bidi_block_separator.c: New file.
99793         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
99794         * lib/unictype/pr_bidi_common_separator.c: New file.
99795         * lib/unictype/pr_bidi_control.c: New file.
99796         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
99797         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
99798         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
99799         * lib/unictype/pr_bidi_european_digit.c: New file.
99800         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
99801         * lib/unictype/pr_bidi_left_to_right.c: New file.
99802         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
99803         * lib/unictype/pr_bidi_other_neutral.c: New file.
99804         * lib/unictype/pr_bidi_pdf.c: New file.
99805         * lib/unictype/pr_bidi_segment_separator.c: New file.
99806         * lib/unictype/pr_bidi_whitespace.c: New file.
99807         * lib/unictype/pr_byname.c: New file.
99808         * lib/unictype/pr_byname.gperf: New file.
99809         * lib/unictype/pr_combining.c: New file.
99810         * lib/unictype/pr_composite.c: New file.
99811         * lib/unictype/pr_currency_symbol.c: New file.
99812         * lib/unictype/pr_dash.c: New file.
99813         * lib/unictype/pr_decimal_digit.c: New file.
99814         * lib/unictype/pr_default_ignorable_code_point.c: New file.
99815         * lib/unictype/pr_deprecated.c: New file.
99816         * lib/unictype/pr_diacritic.c: New file.
99817         * lib/unictype/pr_extender.c: New file.
99818         * lib/unictype/pr_format_control.c: New file.
99819         * lib/unictype/pr_grapheme_base.c: New file.
99820         * lib/unictype/pr_grapheme_extend.c: New file.
99821         * lib/unictype/pr_grapheme_link.c: New file.
99822         * lib/unictype/pr_hex_digit.c: New file.
99823         * lib/unictype/pr_hyphen.c: New file.
99824         * lib/unictype/pr_id_continue.c: New file.
99825         * lib/unictype/pr_id_start.c: New file.
99826         * lib/unictype/pr_ideographic.c: New file.
99827         * lib/unictype/pr_ids_binary_operator.c: New file.
99828         * lib/unictype/pr_ids_trinary_operator.c: New file.
99829         * lib/unictype/pr_ignorable_control.c: New file.
99830         * lib/unictype/pr_iso_control.c: New file.
99831         * lib/unictype/pr_join_control.c: New file.
99832         * lib/unictype/pr_left_of_pair.c: New file.
99833         * lib/unictype/pr_line_separator.c: New file.
99834         * lib/unictype/pr_logical_order_exception.c: New file.
99835         * lib/unictype/pr_lowercase.c: New file.
99836         * lib/unictype/pr_math.c: New file.
99837         * lib/unictype/pr_non_break.c: New file.
99838         * lib/unictype/pr_not_a_character.c: New file.
99839         * lib/unictype/pr_numeric.c: New file.
99840         * lib/unictype/pr_other_alphabetic.c: New file.
99841         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
99842         * lib/unictype/pr_other_grapheme_extend.c: New file.
99843         * lib/unictype/pr_other_id_continue.c: New file.
99844         * lib/unictype/pr_other_id_start.c: New file.
99845         * lib/unictype/pr_other_lowercase.c: New file.
99846         * lib/unictype/pr_other_math.c: New file.
99847         * lib/unictype/pr_other_uppercase.c: New file.
99848         * lib/unictype/pr_paired_punctuation.c: New file.
99849         * lib/unictype/pr_paragraph_separator.c: New file.
99850         * lib/unictype/pr_pattern_syntax.c: New file.
99851         * lib/unictype/pr_pattern_white_space.c: New file.
99852         * lib/unictype/pr_private_use.c: New file.
99853         * lib/unictype/pr_punctuation.c: New file.
99854         * lib/unictype/pr_quotation_mark.c: New file.
99855         * lib/unictype/pr_radical.c: New file.
99856         * lib/unictype/pr_sentence_terminal.c: New file.
99857         * lib/unictype/pr_soft_dotted.c: New file.
99858         * lib/unictype/pr_space.c: New file.
99859         * lib/unictype/pr_terminal_punctuation.c: New file.
99860         * lib/unictype/pr_test.c: New file.
99861         * lib/unictype/pr_titlecase.c: New file.
99862         * lib/unictype/pr_unassigned_code_value.c: New file.
99863         * lib/unictype/pr_unified_ideograph.c: New file.
99864         * lib/unictype/pr_uppercase.c: New file.
99865         * lib/unictype/pr_variation_selector.c: New file.
99866         * lib/unictype/pr_white_space.c: New file.
99867         * lib/unictype/pr_xid_continue.c: New file.
99868         * lib/unictype/pr_xid_start.c: New file.
99869         * lib/unictype/pr_zero_width.c: New file.
99870         * lib/unictype/scripts.c: New file.
99871         * lib/unictype/sy_c_ident.c: New file.
99872         * lib/unictype/sy_c_whitespace.c: New file.
99873         * lib/unictype/sy_java_ident.c: New file.
99874         * lib/unictype/sy_java_whitespace.c: New file.
99876         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
99877         Unicode 5.0.0.
99878         * lib/unictype/blocks.h: Likewise.
99879         * lib/unictype/categ_C.h: Likewise.
99880         * lib/unictype/categ_Cc.h: Likewise.
99881         * lib/unictype/categ_Cf.h: Likewise.
99882         * lib/unictype/categ_Cn.h: Likewise.
99883         * lib/unictype/categ_Co.h: Likewise.
99884         * lib/unictype/categ_Cs.h: Likewise.
99885         * lib/unictype/categ_L.h: Likewise.
99886         * lib/unictype/categ_Ll.h: Likewise.
99887         * lib/unictype/categ_Lm.h: Likewise.
99888         * lib/unictype/categ_Lo.h: Likewise.
99889         * lib/unictype/categ_Lt.h: Likewise.
99890         * lib/unictype/categ_Lu.h: Likewise.
99891         * lib/unictype/categ_M.h: Likewise.
99892         * lib/unictype/categ_Mc.h: Likewise.
99893         * lib/unictype/categ_Me.h: Likewise.
99894         * lib/unictype/categ_Mn.h: Likewise.
99895         * lib/unictype/categ_N.h: Likewise.
99896         * lib/unictype/categ_Nd.h: Likewise.
99897         * lib/unictype/categ_Nl.h: Likewise.
99898         * lib/unictype/categ_No.h: Likewise.
99899         * lib/unictype/categ_P.h: Likewise.
99900         * lib/unictype/categ_Pc.h: Likewise.
99901         * lib/unictype/categ_Pd.h: Likewise.
99902         * lib/unictype/categ_Pe.h: Likewise.
99903         * lib/unictype/categ_Pf.h: Likewise.
99904         * lib/unictype/categ_Pi.h: Likewise.
99905         * lib/unictype/categ_Po.h: Likewise.
99906         * lib/unictype/categ_Ps.h: Likewise.
99907         * lib/unictype/categ_S.h: Likewise.
99908         * lib/unictype/categ_Sc.h: Likewise.
99909         * lib/unictype/categ_Sk.h: Likewise.
99910         * lib/unictype/categ_Sm.h: Likewise.
99911         * lib/unictype/categ_So.h: Likewise.
99912         * lib/unictype/categ_Z.h: Likewise.
99913         * lib/unictype/categ_Zl.h: Likewise.
99914         * lib/unictype/categ_Zp.h: Likewise.
99915         * lib/unictype/categ_Zs.h: Likewise.
99916         * lib/unictype/categ_of.h: Likewise.
99917         * lib/unictype/combining.h: Likewise.
99918         * lib/unictype/ctype_alnum.h: Likewise.
99919         * lib/unictype/ctype_alpha.h: Likewise.
99920         * lib/unictype/ctype_blank.h: Likewise.
99921         * lib/unictype/ctype_cntrl.h: Likewise.
99922         * lib/unictype/ctype_digit.h: Likewise.
99923         * lib/unictype/ctype_graph.h: Likewise.
99924         * lib/unictype/ctype_lower.h: Likewise.
99925         * lib/unictype/ctype_print.h: Likewise.
99926         * lib/unictype/ctype_punct.h: Likewise.
99927         * lib/unictype/ctype_space.h: Likewise.
99928         * lib/unictype/ctype_upper.h: Likewise.
99929         * lib/unictype/ctype_xdigit.h: Likewise.
99930         * lib/unictype/decdigit.h: Likewise.
99931         * lib/unictype/digit.h: Likewise.
99932         * lib/unictype/mirror.h: Likewise.
99933         * lib/unictype/numeric.h: Likewise.
99934         * lib/unictype/pr_alphabetic.h: Likewise.
99935         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
99936         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
99937         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
99938         * lib/unictype/pr_bidi_block_separator.h: Likewise.
99939         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
99940         * lib/unictype/pr_bidi_common_separator.h: Likewise.
99941         * lib/unictype/pr_bidi_control.h: Likewise.
99942         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
99943         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
99944         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
99945         * lib/unictype/pr_bidi_european_digit.h: Likewise.
99946         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
99947         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
99948         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
99949         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
99950         * lib/unictype/pr_bidi_pdf.h: Likewise.
99951         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
99952         * lib/unictype/pr_bidi_whitespace.h: Likewise.
99953         * lib/unictype/pr_combining.h: Likewise.
99954         * lib/unictype/pr_composite.h: Likewise.
99955         * lib/unictype/pr_currency_symbol.h: Likewise.
99956         * lib/unictype/pr_dash.h: Likewise.
99957         * lib/unictype/pr_decimal_digit.h: Likewise.
99958         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
99959         * lib/unictype/pr_deprecated.h: Likewise.
99960         * lib/unictype/pr_diacritic.h: Likewise.
99961         * lib/unictype/pr_extender.h: Likewise.
99962         * lib/unictype/pr_format_control.h: Likewise.
99963         * lib/unictype/pr_grapheme_base.h: Likewise.
99964         * lib/unictype/pr_grapheme_extend.h: Likewise.
99965         * lib/unictype/pr_grapheme_link.h: Likewise.
99966         * lib/unictype/pr_hex_digit.h: Likewise.
99967         * lib/unictype/pr_hyphen.h: Likewise.
99968         * lib/unictype/pr_id_continue.h: Likewise.
99969         * lib/unictype/pr_id_start.h: Likewise.
99970         * lib/unictype/pr_ideographic.h: Likewise.
99971         * lib/unictype/pr_ids_binary_operator.h: Likewise.
99972         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
99973         * lib/unictype/pr_ignorable_control.h: Likewise.
99974         * lib/unictype/pr_iso_control.h: Likewise.
99975         * lib/unictype/pr_join_control.h: Likewise.
99976         * lib/unictype/pr_left_of_pair.h: Likewise.
99977         * lib/unictype/pr_line_separator.h: Likewise.
99978         * lib/unictype/pr_logical_order_exception.h: Likewise.
99979         * lib/unictype/pr_lowercase.h: Likewise.
99980         * lib/unictype/pr_math.h: Likewise.
99981         * lib/unictype/pr_non_break.h: Likewise.
99982         * lib/unictype/pr_not_a_character.h: Likewise.
99983         * lib/unictype/pr_numeric.h: Likewise.
99984         * lib/unictype/pr_other_alphabetic.h: Likewise.
99985         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
99986         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
99987         * lib/unictype/pr_other_id_continue.h: Likewise.
99988         * lib/unictype/pr_other_id_start.h: Likewise.
99989         * lib/unictype/pr_other_lowercase.h: Likewise.
99990         * lib/unictype/pr_other_math.h: Likewise.
99991         * lib/unictype/pr_other_uppercase.h: Likewise.
99992         * lib/unictype/pr_paired_punctuation.h: Likewise.
99993         * lib/unictype/pr_paragraph_separator.h: Likewise.
99994         * lib/unictype/pr_pattern_syntax.h: Likewise.
99995         * lib/unictype/pr_pattern_white_space.h: Likewise.
99996         * lib/unictype/pr_private_use.h: Likewise.
99997         * lib/unictype/pr_punctuation.h: Likewise.
99998         * lib/unictype/pr_quotation_mark.h: Likewise.
99999         * lib/unictype/pr_radical.h: Likewise.
100000         * lib/unictype/pr_sentence_terminal.h: Likewise.
100001         * lib/unictype/pr_soft_dotted.h: Likewise.
100002         * lib/unictype/pr_space.h: Likewise.
100003         * lib/unictype/pr_terminal_punctuation.h: Likewise.
100004         * lib/unictype/pr_titlecase.h: Likewise.
100005         * lib/unictype/pr_unassigned_code_value.h: Likewise.
100006         * lib/unictype/pr_unified_ideograph.h: Likewise.
100007         * lib/unictype/pr_uppercase.h: Likewise.
100008         * lib/unictype/pr_variation_selector.h: Likewise.
100009         * lib/unictype/pr_white_space.h: Likewise.
100010         * lib/unictype/pr_xid_continue.h: Likewise.
100011         * lib/unictype/pr_xid_start.h: Likewise.
100012         * lib/unictype/pr_zero_width.h: Likewise.
100013         * lib/unictype/scripts.h: Likewise.
100014         * lib/unictype/scripts_byname.gperf: Likewise.
100015         * lib/unictype/sy_c_ident.h: Likewise.
100016         * lib/unictype/sy_c_whitespace.h: Likewise.
100017         * lib/unictype/sy_java_ident.h: Likewise.
100018         * lib/unictype/sy_java_whitespace.h: Likewise.
100020         * lib/unictype/Makefile: New file.
100021         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
100022         glibc.
100023         * lib/unictype/3level.h: New file, copied from glibc.
100024         * lib/unictype/3levelbit.h: New file.
100026 2007-11-11  Bruno Haible  <bruno@clisp.org>
100028         * modules/gperf: New file.
100029         * modules/iconv_open (Depends-on): Add it.
100030         (Makefile.am): Remove the GPERF definition.
100032 2007-11-11  Bruno Haible  <bruno@clisp.org>
100034         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
100035         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
100037 2007-11-11  Bruno Haible  <bruno@clisp.org>
100039         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
100040         (usage): Remove function.
100042 2007-11-11  Bruno Haible  <bruno@clisp.org>
100044         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
100045         gl_FUNC_CEILF_LIBS.
100046         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
100047         gl_FUNC_CEIL_LIBS.
100048         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
100049         gl_FUNC_CEILL_LIBS.
100050         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
100051         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
100052         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
100054 2007-11-11  Bruno Haible  <bruno@clisp.org>
100056         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
100057         roundf were declared but do not exist on functions.
100058         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
100059         roundl were declared but do not exist on functions.
100060         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
100061         HAVE_FLOORL_AND_CEILL, respectively.
100062         Needed for Sun C on Solaris 10.
100064 2007-11-11  Bruno Haible  <bruno@clisp.org>
100066         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
100067         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
100068         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
100069         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
100070         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
100071         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
100072         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
100073         HAVE_DECL_ROUNDF.
100074         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
100075         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
100076         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
100077         of HAVE_DECL_ROUND*.
100078         * modules/math (Makefile.am): Update.
100080 2007-11-10  Bruno Haible  <bruno@clisp.org>
100082         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
100083         ptrdiff_t as m4/intl.m4.
100085 2007-11-10  Jim Meyering  <meyering@redhat.com>
100087         Avoid link failure for the argmatch test.
100088         * tests/test-argmatch.c (usage): Define function to avoid a link
100089         failure: argmatch_die requires a usage function.
100091 2007-11-09  Bruno Haible  <bruno@clisp.org>
100093         * doc/functions/snprintf.texi: Mention BeOS deficiency.
100094         * doc/functions/vsnprintf.texi: Likewise.
100095         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
100096         with a size argument < 2.
100098 2007-11-09  Bruno Haible  <bruno@clisp.org>
100100         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
100101         buffer. Fixes an inefficiency introduced on 2007-11-03.
100103 2007-11-09  Bruno Haible  <bruno@clisp.org>
100105         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
100106         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
100108 2007-11-08  Jim Meyering  <meyering@redhat.com>
100110         Change cache variable name prefix "jm_" to "gl_" everywhere.
100111         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
100112         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
100113         * m4/uptime.m4: s/gl_/jm_/
100115 2007-11-07  Bruno Haible  <bruno@clisp.org>
100117         Update to GNU gettext 0.17.
100118         * m4/intl.m4: Update to GNU gettext 0.17.
100119         * m4/po.m4: Likewise.
100120         * modules/gettext (Files): Remove m4/ulonglong.m4.
100121         (configure.ac): Require gettext infrastructure from version 0.17.
100123 2007-11-06  Bruno Haible  <bruno@clisp.org>
100125         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
100126         symbolic values are not defined in a public header.
100127         * lib/freadable.c (freadable) [QNX]: Likewise.
100128         * lib/freadahead.c (freadahead) [QNX]: Likewise.
100129         * lib/freading.c (freading) [QNX]: Likewise.
100130         * lib/fseterr.c (fseterr) [QNX]: Likewise.
100131         * lib/fwritable.c (fwritable) [QNX]: Likewise.
100132         * lib/fwriting.c (fwriting) [QNX]: Likewise.
100133         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
100134         Reported by Alain Magloire.
100136         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
100138 2007-11-05  Bruno Haible  <bruno@clisp.org>
100140         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
100141         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
100142         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
100143         Reported by Eric Blake.
100145 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100146             Bruno Haible  <bruno@clisp.org>
100148         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
100149         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
100150         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
100151         (malloc): Undefine also before including <stdlib.h>.
100152         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
100153         Needed on OSF/1 4.0.
100155 2007-11-05  Jim Meyering  <meyering@redhat.com>
100157         git-version-gen: sync from coreutils.
100158         * build-aux/git-version-gen: Add comments.
100159         Change the first '-' to '.' in the snapshot version string,
100160         e.g., 6.9-377-08144 -> 6.9.377-08144
100161         Remove first parameter.
100162         Don't declare a version "-dirty" merely because a time
100163         stamp has changed.
100165 2007-11-04  Bruno Haible  <bruno@clisp.org>
100167         * lib/lock.h: Protect all macro definitions containing an 'if'
100168         statement through a "do { ... } while (0)".
100169         * lib/tls.h: Likewise.
100171 2007-11-04  Bruno Haible  <bruno@clisp.org>
100173         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
100175 2007-11-04  Bruno Haible  <bruno@clisp.org>
100177         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
100178         * modules/fprintf-posix (Depends-on): Add nocrash.
100179         * modules/snprintf-posix (Depends-on): Likewise.
100180         * modules/sprintf-posix (Depends-on): Likewise.
100181         * modules/vasnprintf-posix (Depends-on): Likewise.
100182         * modules/vasprintf-posix (Depends-on): Likewise.
100183         * modules/vfprintf-posix (Depends-on): Likewise.
100184         * modules/vsnprintf-posix (Depends-on): Likewise.
100185         * modules/vsprintf-posix (Depends-on): Likewise.
100186         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
100187         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
100188         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
100189         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
100190         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
100191         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
100192         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
100194 2007-11-04  Bruno Haible  <bruno@clisp.org>
100196         * modules/nocrash: New file.
100197         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
100198         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
100200 2007-11-04  Bruno Haible  <bruno@clisp.org>
100202         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
100203         precision handling.
100204         * tests/test-vasprintf-posix.c (test_function): Likewise.
100205         * tests/test-snprintf-posix.h (test_function): Likewise.
100206         * tests/test-sprintf-posix.h (test_function): Likewise.
100208         Fix *printf behaviour for large precisions on mingw and BeOS.
100209         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
100210         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
100211         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
100212         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
100213         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
100214         gl_PRINTF_PRECISION and test its result. Invoke
100215         gl_PREREQ_VASNPRINTF_PRECISION.
100216         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
100217         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
100218         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
100219         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
100220         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
100221         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
100222         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
100223         * doc/functions/fprintf.texi: Update.
100224         * doc/functions/printf.texi: Update.
100225         * doc/functions/snprintf.texi: Update.
100226         * doc/functions/sprintf.texi: Update.
100227         * doc/functions/vfprintf.texi: Update.
100228         * doc/functions/vprintf.texi: Update.
100229         * doc/functions/vsnprintf.texi: Update.
100230         * doc/functions/vsprintf.texi: Update.
100232 2007-11-04  Bruno Haible  <bruno@clisp.org>
100234         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
100236 2007-11-04  Bruno Haible  <bruno@clisp.org>
100238         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
100239         Reported by Sylvain Beucler <beuc@gnu.org>.
100241 2007-11-03  Bruno Haible  <bruno@clisp.org>
100243         * tests/test-fprintf-posix2.sh: New file.
100244         * tests/test-fprintf-posix2.c: New file.
100245         * modules/fprintf-posix-tests (Files): Add them.
100246         (TESTS): Add test-fprintf-posix2.sh.
100247         (configure.ac): Check for getrlimit and setrlimit.
100248         (check_PROGRAMS): Add test-fprintf-posix2.
100250         * tests/test-printf-posix2.sh: New file.
100251         * tests/test-printf-posix2.c: New file.
100252         * modules/printf-posix-tests (Files): Add them.
100253         (TESTS): Add test-printf-posix2.sh.
100254         (configure.ac): Check for getrlimit and setrlimit.
100255         (check_PROGRAMS): Add test-printf-posix2.
100257         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
100258         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
100259         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
100260         (decode_double): New function, copied from decode_long_double.
100261         (scale10_round_decimal_decoded): New function, extracted from
100262         scale10_round_decimal_long_double.
100263         (scale10_round_decimal_long_double): Use it.
100264         (scale10_round_decimal_double): New function.
100265         (floorlog10): New function.
100266         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
100267         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
100268         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
100269         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
100270         gl_PRINTF_ENOMEM and test its result. Invoke
100271         gl_PREREQ_VASNPRINTF_ENOMEM.
100272         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
100273         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
100274         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
100275         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
100276         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
100277         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
100278         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
100279         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
100280         * modules/snprintf-posix (Depends-on): Likewise.
100281         * modules/sprintf-posix (Depends-on): Likewise.
100282         * modules/vasnprintf-posix (Depends-on): Likewise.
100283         * modules/vasprintf-posix (Depends-on): Likewise.
100284         * modules/vfprintf-posix (Depends-on): Likewise.
100285         * modules/vsnprintf-posix (Depends-on): Likewise.
100286         * modules/vsprintf-posix (Depends-on): Likewise.
100287         * doc/functions/fprintf.texi: Update.
100288         * doc/functions/printf.texi: Update.
100289         * doc/functions/snprintf.texi: Update.
100290         * doc/functions/sprintf.texi: Update.
100291         * doc/functions/vfprintf.texi: Update.
100292         * doc/functions/vprintf.texi: Update.
100293         * doc/functions/vsnprintf.texi: Update.
100294         * doc/functions/vsprintf.texi: Update.
100296 2007-11-03  Bruno Haible  <bruno@clisp.org>
100298         * modules/frexp-nolibm-tests: New file.
100300         * modules/frexp-nolibm: New file.
100301         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
100303 2007-11-03  Bruno Haible  <bruno@clisp.org>
100305         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
100306         value is C99 compliant.
100307         Needed for OSF/1 5.1.
100309 2007-11-03  Bruno Haible  <bruno@clisp.org>
100311         Fix out-of-memory handling of vasnprintf.
100312         * lib/printf-parse.c: Include <errno.h>.
100313         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
100314         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
100315         is already set.
100317 2007-11-02  Eric Blake  <ebb9@byu.net>
100319         Fix tests on cygwin.
100320         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
100322 2007-11-01  Bruno Haible  <bruno@clisp.org>
100324         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
100325         warning.
100326         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
100327         needed for POSIX compatibility.
100329 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
100331         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
100332         for compatibility with GNU.
100334 2007-11-01  Bruno Haible  <bruno@clisp.org>
100336         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
100337         (putenv): Renamed from rpl_putenv. Change argument type from
100338         'const char *' to 'char *'.
100339         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
100340         of defining putenv in config.h, just set REPLACE_PUTENV.
100341         * modules/putenv (Depends-on): Add stdlib.
100342         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
100343         (Include): Use <stdlib.h>.
100344         * lib/stdlib.in.h (putenv): New declaration.
100345         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
100346         REPLACE_PUTENV.
100347         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
100348         REPLACE_PUTENV.
100349         Needed for MacOS X 10.5.0.
100350         Reported by Peter O'Gorman <peter@pogma.com>.
100352 2007-11-01  Jim Meyering  <meyering@redhat.com>
100354         Treat an empty date string exactly like "0".
100355         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
100356         if the remaining date string (to be parsed) is empty, use "0".
100357         Reported by Mischa Molhoek and discussed in this thread:
100358         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
100360 2007-10-31  Bruno Haible  <bruno@clisp.org>
100362         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
100363         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
100364         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
100365         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
100366         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
100367         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
100369 2007-10-31  Bruno Haible  <bruno@clisp.org>
100371         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
100372         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
100373         (AC_TYPE_LONG_LONG_INT): Use it.
100374         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
100375         it as well.
100376         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
100377         to m4/longlong.m4.
100378         * modules/stdint (Files): Remove m4/ulonglong.m4.
100379         * modules/strtoull (Files): Use m4/longlong.m4 instead of
100380         m4/ulonglong.m4.
100381         * modules/strtoumax (Files): Likewise.
100383 2007-10-30  Bruno Haible  <bruno@clisp.org>
100385         * modules/xvasprintf-posix: New file.
100386         Suggested by Eric Blake.
100388 2007-10-30  Bruno Haible  <bruno@clisp.org>
100390         * modules/xprintf-posix-tests: New file.
100391         * tests/test-xprintf-posix.sh: New file.
100392         * tests/test-xprintf-posix.c: New file.
100393         * tests/test-xfprintf-posix.c: New file.
100395         * modules/xprintf-posix: New file.
100397 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100399         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
100400         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
100401         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
100403 2007-10-29  Bruno Haible  <bruno@clisp.org>
100405         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
100406         contain the special marker '_cv_'.
100407         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
100408         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
100409         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
100410         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
100411         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
100412         Reported by Ralf Wildenhues.
100414 2007-10-29  Bruno Haible  <bruno@clisp.org>
100416         * gnulib-tool (func_import): When --lgpl is not specified, set
100417         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
100418         GPLv3.
100419         Reported by Simon Josefsson.
100421 2007-10-28  Bruno Haible  <bruno@clisp.org>
100423         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
100424         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
100425         HAVE_DECL_ISFINITE.
100426         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
100427         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
100428         HAVE_DECL_ISFINITE.
100430 2007-10-28  Bruno Haible  <bruno@clisp.org>
100432         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
100433         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
100435 2007-10-28  Bruno Haible  <bruno@clisp.org>
100437         Fix link errors with Sun C 5.0 on Solaris 10.
100438         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
100439         function is declared but not present in the compiler's libm.
100440         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
100441         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
100442         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
100443         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
100444         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
100445         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
100446         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
100447         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
100448         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
100449         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
100450         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
100451         HAVE_DECL_FLOORL.
100453 2007-10-28  Bruno Haible  <bruno@clisp.org>
100455         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
100456         gl_FUNC_FLOORL. Cache the result.
100457         (gl_FUNC_FLOORL): Use it.
100458         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
100459         gl_FUNC_CEILL. Cache the result.
100460         (gl_FUNC_CEILL): Use it.
100462         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
100463         gl_FUNC_FLOOR. Cache the result.
100464         (gl_FUNC_FLOOR): Use it.
100465         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
100466         gl_FUNC_CEIL. Cache the result.
100467         (gl_FUNC_CEIL): Use it.
100469         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
100470         gl_FUNC_FLOORF. Cache the result.
100471         (gl_FUNC_FLOORF): Use it.
100472         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
100473         gl_FUNC_CEILF. Cache the result.
100474         (gl_FUNC_CEILF): Use it.
100476 2007-10-28  Bruno Haible  <bruno@clisp.org>
100478         * gnulib-tool: Allow specifying the LGPL version number through
100479         --lgpl=2 or --lgpl=3.
100480         (func_usage): Document --lgpl with argument.
100481         Handle --lgpl=... arguments.
100482         (func_import): Recognize also gl_LGPL calls with an argument. When
100483         --lgpl=2 is used and the module's license is just LGPL, report an
100484         error. Set sed_transform_lib_file according to the lgpl variable. In
100485         the generated files, use --lgpl or gl_LGPL invocations with argument,
100486         if necessary.
100487         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
100488         an LGPv2+ license.
100489         * doc/gnulib-tool.texi (Modified imports): Update explanation of
100490         gl_LGPL macro.
100492 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100493             Bruno Haible  <bruno@clisp.org>
100495         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
100496         (u16_uctomb_aux): Likewise.
100497         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
100498         !HAVE_INLINE.
100499         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
100501 2007-10-28  Bruno Haible  <bruno@clisp.org>
100503         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
100504         Invoke AM_GETTEXT_OPTION if it exists.
100505         * modules/vasprintf: Likewise.
100506         * modules/verror: Likewise.
100507         * modules/xprintf: Likewise.
100508         * modules/xvasprintf: Likewise.
100510 2007-10-27  Ben Pfaff  <blp@gnu.org>
100512         * lib/math.in.h: Define isfinite macro and prototypes for
100513         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
100514         implementations.
100515         * m4/math_h.m4: New substitutions for isfinite module.
100516         * lib/isfinite.c: New file.
100517         * m4/isfinite.m4: New file.
100518         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
100519         * modules/isfinite: New file.
100520         * modules/isfinite-tests: New file.
100521         * tests/tests-isfinite.c: New file.
100522         * doc/functions/isfinite.texi: Mention isfinite module.
100523         * MODULES.html.sh: Mention new module.
100525 2007-10-27  Ben Pfaff  <blp@gnu.org>
100527         Ralf Wildenhues reported that Tru64 4.0D declares the round
100528         functions but does not have definitions.
100529         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
100530         cannot be found in any library, set the output variable to
100531         "missing" instead of "".
100532         * m4/round.m4: Also use our substitute if we cannot find round in
100533         any library, even if it is declared.
100534         * m4/roundf.m4: Likewise for roundf.
100535         * m4/roundl.m4: Likewise for roundl.
100536         * lib/math.in.h: Undefine roundf, round, roundl before defining
100537         their replacements, to allow for hypothetical systems where these
100538         may be defined as macros but not available in libraries.
100540 2007-10-27  Bruno Haible  <bruno@clisp.org>
100542         * doc/gnulib.texi: Invoke @firstparagraphindent.
100543         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
100544         changes in gnulib.
100545         (Source changes): New section.
100547 2007-10-26  Bruno Haible  <bruno@clisp.org>
100549         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
100550         borrowed from autoconf.
100552 2007-10-26  Bruno Haible  <bruno@clisp.org>
100554         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
100555         strerror returned the empty string. Needed on HP-UX 11.00.
100557 2007-10-24  Micah Cowan  <micah@cowan.name>
100559         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
100560         * build-aux/bootstrap: Remove support for now-unnecessary option,
100561         --cvs-user, and envvars CVS_USER, CVS_RSH.
100563 2007-10-24  Jim Meyering  <meyering@redhat.com>
100565         Avoid diagnostics from sha1sum when there is no cached checksum.
100566         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
100567         if the po.s1 file hasn't been created yet.
100569         * build-aux/bootstrap: Sync from coreutils:
100570         2007-10-24  Jim Meyering  <meyering@redhat.com>
100571         Get gnulib from the git repository, not from an obsolete cvs one.
100572         * build-aux/bootstrap: Suggestion from Micah Cowan.
100573         2007-10-04  Jim Meyering  <jim@meyering.net>
100574         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
100575         (update_po_files): Work also when there are no .po files in po/.
100577 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
100579         * README: Append ".git" to git and cg examples.
100580         Problem reported by Benoit Sigoure.
100582 2007-10-23  Micah Cowan  <micah@cowan.name>
100584         * users.txt: Add wget.
100586 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100588         Fix linking of some unistdio tests on FreeBSD.
100589         * modules/unistdio/u16-vsnprintf-tests
100590         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
100591         * modules/unistdio/u16-vsprintf-tests
100592         (test_u16_vsnprintf1_LDADD): Likewise.
100593         * modules/unistdio/u32-vsnprintf-tests
100594         (test_u32_vsnprintf1_LDADD): Likewise.
100595         * modules/unistdio/u32-vsprintf-tests
100596         (test_u32_vsprintf1_LDADD): Likewise.
100597         * modules/unistdio/u8-vsnprintf-tests
100598         (test_u8_vsnprintf1_LDADD): Likewise.
100599         * modules/unistdio/u8-vsprintf-tests
100600         (test_u8_vsprintf1_LDADD): Likewise.
100601         * modules/unistdio/ulc-vsnprintf-tests
100602         (test_ulc_vsnprintf1_LDADD): Likewise.
100603         * modules/unistdio/ulc-vsprintf-tests
100604         (test_ulc_vsprintf1_LDADD): Likewise.
100606         Fix linking of some uniconv tests on FreeBSD.
100607         * modules/uniconv/u16-conv-from-enc-tests
100608         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
100609         * modules/uniconv/u16-conv-to-enc-tests
100610         (test_u16_conv_to_enc_LDADD): Likewise.
100611         * modules/uniconv/u16-strconv-from-enc-tests
100612         (test_u16_strconv_from_enc_LDADD): Likewise.
100613         * modules/uniconv/u16-strconv-to-enc-tests
100614         (test_u16_strconv_to_enc_LDADD): Likewise.
100615         * modules/uniconv/u32-conv-from-enc-tests
100616         (test_u32_conv_from_enc_LDADD): Likewise.
100617         * modules/uniconv/u32-conv-to-enc-tests
100618         (test_u32_conv_to_enc_LDADD): Likewise.
100619         * modules/uniconv/u32-strconv-from-enc-tests
100620         (test_u32_strconv_from_enc_LDADD): Likewise.
100621         * modules/uniconv/u32-strconv-to-enc-tests
100622         (test_u32_strconv_to_enc_LDADD): Likewise.
100623         * modules/uniconv/u8-conv-from-enc-tests
100624         (test_u8_conv_from_enc_LDADD): Likewise.
100625         * modules/uniconv/u8-conv-to-enc-tests
100626         (test_u8_conv_to_enc_LDADD): Likewise.
100627         * modules/uniconv/u8-strconv-from-enc-tests
100628         (test_u8_strconv_from_enc_LDADD): Likewise.
100629         * modules/uniconv/u8-strconv-to-enc-tests
100630         (test_u8_strconv_to_enc_LDADD): Likewise.
100632 2007-10-22  Bruno Haible  <bruno@clisp.org>
100634         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
100635         size.
100637 2007-10-22  Eric Blake  <ebb9@byu.net>
100639         Tweak x*printf documentation.
100640         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
100641         variable name and comments.
100642         Suggested by Bruno Haible.
100644 2007-10-22  Bruno Haible  <bruno@clisp.org>
100646         * lib/acl.c (copy_acl): Fix file name in comment.
100648 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
100650         Fix Tru64 problem with stdbool.h.
100651         * lib/stdbool.in.h (false, true):
100652         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
100653         Don't declare as an enum in this situation; it runs afoul of Tru64.
100654         Problem reported by Steven M. Schweda in
100655         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
100657 2007-10-22  Eric Blake  <ebb9@byu.net>
100659         Also wrap vf?printf.
100660         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
100661         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
100662         (xvprintf, xvfprintf): New functions.
100664 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100666         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
100667         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
100669         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
100670         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
100672 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
100674         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
100675         by Bruno Haible.
100677 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100679         * lib/getloadavg.c
100680         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
100681         Undef `sys' after including sys/table.h, for Tru64 4.0D.
100683         * tests/test-i-ring.c: Work for C89.
100685 2007-10-22  Bruno Haible  <bruno@clisp.org>
100687         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
100688         -1u, in preprocessor expression, so that we don't test for the bug
100689         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
100690         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
100692 2007-10-22  Eric Blake  <ebb9@byu.net>
100694         * tests/test-yesno.sh: Silence stderr during test.
100696 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100698         * modules/crypto/gc-camellia: New file.
100700         * m4/gc-camellia.m4: New file.
100702         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
100704         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
100706 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100708         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
100709         --help to stdout.  Reported by sms@antinode.org (Steven
100710         M. Schweda).
100712 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100714         * users.txt: Fix link to libksba.
100716 2007-10-21  Ben Pfaff  <blp@gnu.org>
100718         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
100719         round.c roundf implementation that depends on floorf and ceilf to
100720         be tested unconditionally.
100722 2007-10-21  Ben Pfaff  <blp@gnu.org>
100724         * m4/check-libm-func.m4: Removed.
100725         * m4/check-math-lib.m4: New file.
100726         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
100727         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
100728         definition and lack of AC_LIBOBJ([roundf]).
100729         * m4/roundl.m4: Ditto, and similarly for roundl.
100730         * modules/round: Reference new m4 file.
100731         * modules/roundf: Ditto.
100732         * modules/roundl: Ditto.
100733         * tests/test-round2.c (main): Use ROUND instead of round.
100734         Bug report from Bruno Haible.
100736 2007-10-21  Bruno Haible  <bruno@clisp.org>
100738         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
100739         context.
100741 2007-10-21  Bruno Haible  <bruno@clisp.org>
100743         * tests/test-wcwidth.c (main): Allow negative result for some control
100744         characters.
100746         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
100747         Needed on OSF/1 5.1.
100749 2007-10-21  Bruno Haible  <bruno@clisp.org>
100751         * tests/test-floorf1.c: Include isnanf.h.
100752         (main): Use isnanf() instead of isnan().
100753         * tests/test-ceilf1.c: Include isnanf.h.
100754         (main): Use isnanf() instead of isnan().
100755         * tests/test-truncf1.c: Include isnanf.h.
100756         (main): Use isnanf() instead of isnan().
100757         * tests/test-roundf1.c: Include isnanf.h.
100758         (main): Use isnanf() instead of isnan().
100760 2007-10-21  Eric Blake  <ebb9@byu.net>
100762         * users.txt: Update URL for m4.
100764 2007-10-21  Bruno Haible  <bruno@clisp.org>
100766         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
100768 2007-10-21  Bruno Haible  <bruno@clisp.org>
100770         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
100771         Git's management files if the CVS files are not present.
100773 2007-10-20  Bruno Haible  <bruno@clisp.org>
100775         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
100776         gcc-3.4.x.
100778 2007-10-20  Ben Pfaff  <blp@gnu.org>
100780         * lib/math.in.h: Declare round, roundf, roundl if we are providing
100781         implementations.
100782         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
100783         * lib/round.c: New file.
100784         * lib/roundf.c: New file.
100785         * lib/roundl.c: New file.
100786         * m4/round.m4: New file.
100787         * m4/roundf.m4: New file.
100788         * m4/roundl.m4: New file.
100789         * m4/check-libm-func-m4: New file.
100790         * modules/math: Replace round, roundf, roundl related @VARS@ in
100791         math.in.h.
100792         * modules/round: New file.
100793         * modules/round-tests: New file.
100794         * modules/roundf: New file.
100795         * modules/roundf-tests: New file.
100796         * modules/roundl: New file.
100797         * modules/roundl-tests: New file.
100798         * tests/test-round1.c: New file.
100799         * tests/test-round2.c: New file.
100800         * tests/test-roundf1.c: New file.
100801         * tests/test-roundf2.c: New file.
100802         * tests/test-roundl.c: New file.
100803         * doc/functions/round.texi: Mention round module.
100804         * doc/functions/roundf.texi: Mention roundf module.
100805         * doc/functions/roundl.texi: Mention roundl module.
100806         * MODULES.html.sh: Mention new modules.
100807         Thanks to Bruno Haible for suggestions.
100809 2007-10-20  Jim Meyering  <meyering@redhat.com>
100811         * lib/xprintf.c: Include <config.h> unconditionally.
100813         Change xprintf's license to GPL.
100814         * modules/xprintf (License): s/LGPL/GPL/, since this module
100815         depends on modules (exit and exitfail) which are GPL.
100816         Suggestion from Bruno Haible.
100818         xprintf fixes.
100819         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
100820         Use a clearer diagnostic.
100821         Patch from Bruno Haible.
100823 2007-10-20  Bruno Haible  <bruno@clisp.org>
100825         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
100826         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
100827         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100829 2007-10-20  Bruno Haible  <bruno@clisp.org>
100831         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
100832         precision in the comparison result > x - 1 or similar.
100833         * tests/test-ceilf2.c (correct_result_p): Likewise.
100834         * tests/test-truncf2.c (correct_result_p): Likewise.
100835         * tests/test-trunc2.c (correct_result_p): Likewise.
100836         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100838 2007-10-20  Bruno Haible  <bruno@clisp.org>
100840         * modules/ceil: New file.
100841         * m4/ceil.m4: New file.
100842         * doc/functions/ceil.texi: Mention the 'ceil' module.
100844 2007-10-20  Bruno Haible  <bruno@clisp.org>
100846         * modules/floor: New file.
100847         * m4/floor.m4: New file.
100848         * doc/functions/floor.texi: Mention the 'floor' module.
100850 2007-10-20  Bruno Haible  <bruno@clisp.org>
100852         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
100853         of %a.
100854         * modules/floorf-tests (Depends-on): Likewise.
100855         * modules/truncf-tests (Depends-on): Likewise.
100856         * modules/trunc-tests (Depends-on): Likewise.
100857         Reported by Ben Pfaff.
100859 2007-10-19  Jim Meyering  <meyering@redhat.com>
100861         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
100862         Don't bother testing specific errno values.  Just test ferror.
100864         New module: xprintf
100865         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
100867 2007-10-19  Bruno Haible  <bruno@clisp.org>
100869         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
100870         syntax.
100871         * modules/javaexec (Makefile.am): Likewise.
100872         * modules/relocatable-prog (Makefile.am): Likewise.
100873         Suggested by Jim Meyering.
100875 2007-10-18  Bruno Haible  <bruno@clisp.org>
100877         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
100878         Reported by Jim Meyering.
100880 2007-10-18  Eric Blake  <ebb9@byu.net>
100882         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
100884 2007-10-18  Bruno Haible  <bruno@clisp.org>
100886         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
100887         the format string into writable memory. Needed in Fortify conditions.
100889 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
100890             Bruno Haible  <bruno@clisp.org>
100892         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
100893         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
100894         * modules/trim (Depends-on): Add mbchar.
100895         (configure.ac): Add gl_FUNC_MBRTOWC.
100896         (Makefile.am): Augment lib_SOURCES.
100898 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
100900         Modify glob.c to use fstatat and dirfd, to simplify it.
100901         Suggested by Eric Blake.
100902         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
100903         Don't include <stdbool.h>; not used.
100904         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
100905         (link_exists_p): Simplify implementation, since we can now assume
100906         dirfd and fstatat.
100907         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
100909 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100911         * gnulib-tool (func_get_dependencies): Fix sed script to
100912         match only tests.
100914 2007-10-17  Bruno Haible  <bruno@clisp.org>
100916         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
100917         allow locale names without encoding suffix.
100918         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
100919         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
100921 2007-10-16  Bruno Haible  <bruno@clisp.org>
100923         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
100924         * lib/getgroups.c (getgroups): Likewise.
100925         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
100927 2007-10-16  Bruno Haible  <bruno@clisp.org>
100929         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
100930         * modules/malloc-posix (License): Likewise.
100931         * modules/realloc-posix (License): Likewise.
100932         * modules/calloc-posix (License): Likewise.
100933         * modules/intprops (License): Change from GPL to LGPL, with
100934         Paul Eggert's approval.
100936 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
100938         Merge glibc changes into lib/glob.c.
100940         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
100941         2007-10-15 04:59:03 UTC.  Here are the changes:
100943         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
100945         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
100947         * lib/glob.c: Add some branch prediction throughout.
100949         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
100951         [BZ #5103]
100952         * lib/glob.c (glob): Recognize patterns starting \/.
100954         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
100956         [BZ #3996]
100957         * lib/glob.c (attribute_hidden): Define if not defined.
100958         (glob): Unescape dirname, filename or username when needed and not
100959         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
100960         is NULL.  Handle unescaped [ in pattern without closing ].
100961         Don't pass GLOB_CHECK down to recursive glob for directories.
100962         (__glob_pattern_type): New function.
100963         (__glob_pattern_p): Implement using __glob_pattern_type.
100964         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
100965         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
100966         Remove unreachable code.
100968         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
100970         * lib/glob.c (glob_in_dir): Add some comments and asserts to
100971         explain why there are no leaks.
100973         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
100975         [BZ #3253]
100976         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
100977         time, rather allocate increasingly bigger arrays of pointers, if
100978         possible with alloca, if too large with malloc.
100980 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
100982         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
100983         Problem reported by H.Merijn Brand in
100984         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
100985         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
100986         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
100988 2007-10-15  Bruno Haible  <bruno@clisp.org>
100990         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
100991         with explicit rpl_ prefix.
100992         * lib/fopen.c (fopen): Likewise.
100993         * lib/freopen.c (freopen): Likewise.
100994         * lib/iconv.c (iconv): Likewise.
100995         * lib/iconv_close.c (iconv_close): Likewise.
100997 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100999         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
101001 2007-10-15  Bruno Haible  <bruno@clisp.org>
101003         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
101004         <stddef.h> instead of <stdlib.h> since we only need NULL.
101005         Reported by Ben Pfaff <blp@cs.stanford.edu>.
101007 2007-10-15  Bruno Haible  <bruno@clisp.org>
101009         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
101010         Replace paragraph talking about LIBOBJS.
101011         Reported by Colin Watson <cjwatson@debian.org>.
101013 2007-10-15  Bruno Haible  <bruno@clisp.org>
101015         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
101016         <stdlib.h> before using NULL.
101018 2007-10-15  Simon Josefsson  <simon@josefsson.org>
101020         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
101021         Reported by Albert Chin <china@thewrittenword.com>.
101023 2007-10-14  Bruno Haible  <bruno@clisp.org>
101025         * modules/iconv_open-utf-tests: New file.
101026         * tests/test-iconv-utf.c: New file.
101028         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
101029         * modules/iconv_open-utf: New file.
101030         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
101031         (iconv, iconv_close): New declarations.
101032         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
101033         be defined.
101034         (iconv_open): Add special handling of conversion between UTF-8 and
101035         UTF-{16,32}{BE,LE}.
101036         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
101037         * lib/iconv_close.c: New file.
101038         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
101039         gl_FUNC_ICONV_OPEN.
101040         (gl_FUNC_ICONV_OPEN): Use it.
101041         (gl_FUNC_ICONV_OPEN_UTF): New macro.
101042         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
101043         and REPLACE_ICONV_UTF.
101044         * modules/iconv_open (Depends-on): Add c-strcase.
101045         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
101046         ICONV_CONST.
101047         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
101049 2007-10-13  Albert Chin  <china@thewrittenword.com>
101050             Bruno Haible  <bruno@clisp.org>
101052         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
101053         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
101055 2007-10-13  Bruno Haible  <bruno@clisp.org>
101057         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
101058         defined, use the ISO C99 inline semantics.
101059         * lib/argp.h (ARGP_EI): Likewise.
101061 2007-10-13  Bruno Haible  <bruno@clisp.org>
101063         Handle 'inline' change in gcc 4.3.0.
101064         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
101065         argp_fmtstream_write, argp_fmtstream_set_lmargin,
101066         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
101067         argp_fmtstream_point): Disable 'extern' declaration if the function
101068         definition is going to be provided inline.
101069         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
101070         semantics, not the ISO C99 inline semantics.
101071         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
101072         'extern' declaration if the function definition is going to be provided
101073         inline.
101074         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
101075         the GNU C inline semantics, not the ISO C99 inline semantics. With
101076         GCC 4.2, avoid a warning.
101078 2007-10-13  Bruno Haible  <bruno@clisp.org>
101080         * lib/freading.h (freading): Enable the use of __freading for
101081         glibc >= 2.7.
101082         * lib/freading.c (freading): Likewise.
101084 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
101086         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
101087         "warning: C99 inline functions are not supported; using GNU89".
101089 2007-10-12  Bruno Haible  <bruno@clisp.org>
101091         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
101092         of 2.
101093         * tests/test-ceilf2.c: New file.
101094         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
101096         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
101097         * modules/ceilf-tests: Update.
101099 2007-10-12  Bruno Haible  <bruno@clisp.org>
101101         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
101102         of 2.
101103         * tests/test-floorf2.c: New file.
101104         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
101106         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
101107         * modules/floorf-tests: Update.
101109 2007-10-12  Bruno Haible  <bruno@clisp.org>
101111         * tests/test-trunc2.c: New file.
101112         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
101114         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
101115         * modules/trunc-tests: Update.
101117 2007-10-12  Bruno Haible  <bruno@clisp.org>
101119         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
101120         of 2.
101121         * tests/test-truncf2.c: New file.
101122         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
101124         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
101125         * modules/truncf-tests: Update.
101127 2007-10-11  Eric Blake  <ebb9@byu.net>
101129         Don't claim strerror is broken on Interix.
101130         * doc/functions/strerror.texi (strerror): Known broken systems are
101131         now Solaris 8, and not Interix.
101132         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
101133         Interix on cross-compile.
101134         Reported by Martin Koeppe in
101135         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
101137 2007-10-11  Bruno Haible  <bruno@clisp.org>
101139         * modules/i-ring-tests: New file.
101140         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
101141         instead of assert.
101143 2007-10-11  Bruno Haible  <bruno@clisp.org>
101145         * modules/filenamecat-tests: New file.
101146         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
101147         * lib/filenamecat.c: Remove test code.
101149 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
101151         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
101153         * lib/strerror.c: Include <string.h> always, to test interface,
101154         and to remove the need for the dummy.
101155         Include intprops.h to compute width instead of doing it ourselves
101156         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
101157         (strerror): Define it to return NULL if there's no system strerror.
101158         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
101159         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
101160         ancient pre-strerror Unix systems well any more.  Saying "unknown
101161         system error" is enough.
101162         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
101163         simpler strerror.c implementation.
101164         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
101165         Simplify the tests to reflect the simpler strerror implementation.
101166         * modules/strerror (Depends-on): Add intprops.
101168 2007-10-09  Eric Blake  <ebb9@byu.net>
101170         Silence test-fpending.
101171         * modules/fpending-tests (Files): Add wrapper script.
101172         * tests/test-fpending.sh: New file.
101174 2007-10-09  Bruno Haible  <bruno@clisp.org>
101176         * MODULES.html.sh (func_module): Don't create a hyperlink for
101177         function names like 'printf_frexp'.
101178         (Misc): Add crc, memxor.
101179         (Characteristics of floating types): New section.
101180         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
101181         isnanf-nolibm, signbit, trunc, truncf, truncl.
101182         (Enhancements for ISO C 99 functions): New subsection Input/output.
101183         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
101184         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
101185         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
101186         (Compatibility checks for POSIX:2001 functions): Add clock-time.
101187         (Enhancements for POSIX:2001 functions): Add chdir-long.
101188         (File system functions): Add areadlink, chdir-safer, read-file.
101189         Remove cycle-check.
101190         (File system as inode set): New section.
101191         (Date and time): Add gethrxtime.
101192         (Multithreading): Add openmp.
101193         (Internationalization functions): Add localename.
101194         (Unicode string functions): Add unistr/u*-mbsnlen.
101195         (Support for maintaining and releasing projects): Add git-version-gen.
101196         (Lone files): Remove directories.
101198 2007-10-08  Ben Pfaff  <blp@gnu.org>
101200         * lib/xmalloca.h: Fix typo in comment.
101202 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
101204         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
101205         when avoiding problems with integer overflow.  Use a portable test
101206         instead.
101208 2007-10-08  Simon Josefsson  <simon@josefsson.org>
101210         * modules/dummy (License): Change to LGPLv2+.
101211         * modules/float (License): Likewise
101212         * modules/realloc (License): Likewise
101213         * modules/stdlib (License): Likewise
101215 2007-10-07  Bruno Haible  <bruno@clisp.org>
101217         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
101218         * floor.c (TWO_MANT_DIG): Likewise.
101219         * ceil.c (TWO_MANT_DIG): Likewise.
101220         Reported by Ben Pfaff.
101222 2007-10-07  Bruno Haible  <bruno@clisp.org>
101224         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
101225         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
101226         * lib/frexp.c (FUNC): Likewise.
101227         * lib/printf-frexp.h (printf_frexp): Likewise.
101228         * lib/printf-frexpl.h (printf_frexpl): Likewise.
101229         * lib/printf-frexp.c (FUNC): Likewise.
101230         Suggested by Jim Meyering.
101232 2007-10-07  Jim Meyering  <meyering@redhat.com>
101234         Make xnanosleep's integer overflow test more robust.
101235         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
101236         so that gcc-4.3.0 doesn't optimize away this test for overflow.
101238 2007-10-07  Bruno Haible  <bruno@clisp.org>
101240         * NEWS: Mention the license change.
101242         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
101243         abbreviations in the modules files.
101245         Change copyright notice from GPLv2+ to GPLv3+.
101246         * README: Change copyright notice.
101247         * MODULES.html.sh: Likewise.
101248         * build-aux/bootstrap.conf: Likewise.
101249         * build-aux/config.libpath: Likewise.
101250         * build-aux/csharpcomp.sh.in: Likewise.
101251         * build-aux/csharpexec.sh.in: Likewise.
101252         * build-aux/install-reloc: Likewise.
101253         * build-aux/javacomp.sh.in: Likewise.
101254         * build-aux/javaexec.sh.in: Likewise.
101255         * build-aux/ldd.sh.in: Likewise.
101256         * build-aux/reloc-ldflags: Likewise.
101257         * build-aux/relocatable.sh.in: Likewise.
101258         * build-aux/x-to-1.in: Likewise.
101259         * check-module: Likewise.
101260         * config/srclistvars.sh: Likewise.
101261         * gnulib-tool: Likewise.
101262         * lib/acl-internal.h: Likewise.
101263         * lib/acl.c: Likewise.
101264         * lib/acl.h: Likewise.
101265         * lib/acl_entries.c: Likewise.
101266         * lib/areadlink-with-size.c: Likewise.
101267         * lib/areadlink.c: Likewise.
101268         * lib/areadlink.h: Likewise.
101269         * lib/argmatch.c: Likewise.
101270         * lib/argmatch.h: Likewise.
101271         * lib/argp-ba.c: Likewise.
101272         * lib/argp-eexst.c: Likewise.
101273         * lib/argp-fmtstream.c: Likewise.
101274         * lib/argp-fmtstream.h: Likewise.
101275         * lib/argp-fs-xinl.c: Likewise.
101276         * lib/argp-help.c: Likewise.
101277         * lib/argp-namefrob.h: Likewise.
101278         * lib/argp-parse.c: Likewise.
101279         * lib/argp-pin.c: Likewise.
101280         * lib/argp-pv.c: Likewise.
101281         * lib/argp-pvh.c: Likewise.
101282         * lib/argp-xinl.c: Likewise.
101283         * lib/argp.h: Likewise.
101284         * lib/at-func.c: Likewise.
101285         * lib/atanl.c: Likewise.
101286         * lib/backupfile.c: Likewise.
101287         * lib/backupfile.h: Likewise.
101288         * lib/basename.c: Likewise.
101289         * lib/binary-io.h: Likewise.
101290         * lib/byteswap.in.h: Likewise.
101291         * lib/c-stack.c: Likewise.
101292         * lib/c-stack.h: Likewise.
101293         * lib/c-strcasestr.c: Likewise.
101294         * lib/c-strcasestr.h: Likewise.
101295         * lib/c-strstr.c: Likewise.
101296         * lib/c-strstr.h: Likewise.
101297         * lib/c-strtod.c: Likewise.
101298         * lib/calloc.c: Likewise.
101299         * lib/canon-host.c: Likewise.
101300         * lib/canon-host.h: Likewise.
101301         * lib/canonicalize-lgpl.c: Likewise.
101302         * lib/canonicalize.c: Likewise.
101303         * lib/canonicalize.h: Likewise.
101304         * lib/ceil.c: Likewise.
101305         * lib/ceilf.c: Likewise.
101306         * lib/ceill.c: Likewise.
101307         * lib/chdir-long.c: Likewise.
101308         * lib/chdir-long.h: Likewise.
101309         * lib/chdir-safer.c: Likewise.
101310         * lib/chdir-safer.h: Likewise.
101311         * lib/chown.c: Likewise.
101312         * lib/classpath.c: Likewise.
101313         * lib/classpath.h: Likewise.
101314         * lib/clean-temp.c: Likewise.
101315         * lib/clean-temp.h: Likewise.
101316         * lib/cloexec.c: Likewise.
101317         * lib/close-stream.c: Likewise.
101318         * lib/closein.c: Likewise.
101319         * lib/closein.h: Likewise.
101320         * lib/closeout.c: Likewise.
101321         * lib/closeout.h: Likewise.
101322         * lib/concat-filename.c: Likewise.
101323         * lib/copy-file.c: Likewise.
101324         * lib/copy-file.h: Likewise.
101325         * lib/count-one-bits.h: Likewise.
101326         * lib/crc.c: Likewise.
101327         * lib/crc.h: Likewise.
101328         * lib/creat-safer.c: Likewise.
101329         * lib/csharpcomp.c: Likewise.
101330         * lib/csharpcomp.h: Likewise.
101331         * lib/csharpexec.c: Likewise.
101332         * lib/csharpexec.h: Likewise.
101333         * lib/cycle-check.c: Likewise.
101334         * lib/cycle-check.h: Likewise.
101335         * lib/diacrit.c: Likewise.
101336         * lib/diacrit.h: Likewise.
101337         * lib/diffseq.h: Likewise.
101338         * lib/dirchownmod.c: Likewise.
101339         * lib/dirent.in.h: Likewise.
101340         * lib/dirfd.c: Likewise.
101341         * lib/dirfd.h: Likewise.
101342         * lib/dirname.c: Likewise.
101343         * lib/dirname.h: Likewise.
101344         * lib/dummy.c: Likewise.
101345         * lib/dup-safer.c: Likewise.
101346         * lib/dup2.c: Likewise.
101347         * lib/eealloc.h: Likewise.
101348         * lib/error.c: Likewise.
101349         * lib/error.h: Likewise.
101350         * lib/euidaccess.c: Likewise.
101351         * lib/exclude.c: Likewise.
101352         * lib/exclude.h: Likewise.
101353         * lib/execute.c: Likewise.
101354         * lib/execute.h: Likewise.
101355         * lib/exitfail.c: Likewise.
101356         * lib/exitfail.h: Likewise.
101357         * lib/expl.c: Likewise.
101358         * lib/fatal-signal.c: Likewise.
101359         * lib/fatal-signal.h: Likewise.
101360         * lib/fbufmode.c: Likewise.
101361         * lib/fbufmode.h: Likewise.
101362         * lib/fchdir.c: Likewise.
101363         * lib/fchmodat.c: Likewise.
101364         * lib/fchownat.c: Likewise.
101365         * lib/fcntl--.h: Likewise.
101366         * lib/fcntl-safer.h: Likewise.
101367         * lib/fcntl.in.h: Likewise.
101368         * lib/fd-safer.c: Likewise.
101369         * lib/fflush.c: Likewise.
101370         * lib/file-has-acl.c: Likewise.
101371         * lib/file-set.c: Likewise.
101372         * lib/file-type.c: Likewise.
101373         * lib/file-type.h: Likewise.
101374         * lib/fileblocks.c: Likewise.
101375         * lib/filemode.c: Likewise.
101376         * lib/filemode.h: Likewise.
101377         * lib/filename.h: Likewise.
101378         * lib/filenamecat.c: Likewise.
101379         * lib/filenamecat.h: Likewise.
101380         * lib/findprog.c: Likewise.
101381         * lib/findprog.h: Likewise.
101382         * lib/float.in.h: Likewise.
101383         * lib/floor.c: Likewise.
101384         * lib/floorf.c: Likewise.
101385         * lib/floorl.c: Likewise.
101386         * lib/fopen-safer.c: Likewise.
101387         * lib/fopen.c: Likewise.
101388         * lib/fpending.c: Likewise.
101389         * lib/fpending.h: Likewise.
101390         * lib/fprintf.c: Likewise.
101391         * lib/fprintftime.h: Likewise.
101392         * lib/fpucw.h: Likewise.
101393         * lib/fpurge.c: Likewise.
101394         * lib/fpurge.h: Likewise.
101395         * lib/freadable.c: Likewise.
101396         * lib/freadable.h: Likewise.
101397         * lib/freadahead.c: Likewise.
101398         * lib/freadahead.h: Likewise.
101399         * lib/freading.c: Likewise.
101400         * lib/freading.h: Likewise.
101401         * lib/free.c: Likewise.
101402         * lib/freopen.c: Likewise.
101403         * lib/frexp.c: Likewise.
101404         * lib/frexpl.c: Likewise.
101405         * lib/fseek.c: Likewise.
101406         * lib/fseterr.c: Likewise.
101407         * lib/fseterr.h: Likewise.
101408         * lib/fstatat.c: Likewise.
101409         * lib/fstrcmp.c: Likewise.
101410         * lib/fstrcmp.h: Likewise.
101411         * lib/fsusage.c: Likewise.
101412         * lib/fsusage.h: Likewise.
101413         * lib/ftell.c: Likewise.
101414         * lib/ftello.c: Likewise.
101415         * lib/fts-cycle.c: Likewise.
101416         * lib/fts.c: Likewise.
101417         * lib/fts_.h: Likewise.
101418         * lib/full-read.c: Likewise.
101419         * lib/full-read.h: Likewise.
101420         * lib/full-write.c: Likewise.
101421         * lib/full-write.h: Likewise.
101422         * lib/fwritable.c: Likewise.
101423         * lib/fwritable.h: Likewise.
101424         * lib/fwriteerror.c: Likewise.
101425         * lib/fwriteerror.h: Likewise.
101426         * lib/fwriting.c: Likewise.
101427         * lib/fwriting.h: Likewise.
101428         * lib/gcd.c: Likewise.
101429         * lib/gcd.h: Likewise.
101430         * lib/getcwd.c: Likewise.
101431         * lib/getdate.h: Likewise.
101432         * lib/getdate.y: Likewise.
101433         * lib/getdomainname.c: Likewise.
101434         * lib/getdomainname.h: Likewise.
101435         * lib/getgroups.c: Likewise.
101436         * lib/gethostname.c: Likewise.
101437         * lib/gethrxtime.c: Likewise.
101438         * lib/gethrxtime.h: Likewise.
101439         * lib/getloadavg.c: Likewise.
101440         * lib/getndelim2.c: Likewise.
101441         * lib/getndelim2.h: Likewise.
101442         * lib/getnline.c: Likewise.
101443         * lib/getnline.h: Likewise.
101444         * lib/getopt.c: Likewise.
101445         * lib/getopt.in.h: Likewise.
101446         * lib/getopt1.c: Likewise.
101447         * lib/getopt_int.h: Likewise.
101448         * lib/getpagesize.h: Likewise.
101449         * lib/getsubopt.c: Likewise.
101450         * lib/gettime.c: Likewise.
101451         * lib/getugroups.c: Likewise.
101452         * lib/getugroups.h: Likewise.
101453         * lib/getusershell.c: Likewise.
101454         * lib/gl_anyavltree_list1.h: Likewise.
101455         * lib/gl_anyavltree_list2.h: Likewise.
101456         * lib/gl_anyhash_list1.h: Likewise.
101457         * lib/gl_anyhash_list2.h: Likewise.
101458         * lib/gl_anylinked_list1.h: Likewise.
101459         * lib/gl_anylinked_list2.h: Likewise.
101460         * lib/gl_anyrbtree_list1.h: Likewise.
101461         * lib/gl_anyrbtree_list2.h: Likewise.
101462         * lib/gl_anytree_list1.h: Likewise.
101463         * lib/gl_anytree_list2.h: Likewise.
101464         * lib/gl_anytree_oset.h: Likewise.
101465         * lib/gl_anytreehash_list1.h: Likewise.
101466         * lib/gl_anytreehash_list2.h: Likewise.
101467         * lib/gl_array_list.c: Likewise.
101468         * lib/gl_array_list.h: Likewise.
101469         * lib/gl_array_oset.c: Likewise.
101470         * lib/gl_array_oset.h: Likewise.
101471         * lib/gl_avltree_list.c: Likewise.
101472         * lib/gl_avltree_list.h: Likewise.
101473         * lib/gl_avltree_oset.c: Likewise.
101474         * lib/gl_avltree_oset.h: Likewise.
101475         * lib/gl_avltreehash_list.c: Likewise.
101476         * lib/gl_avltreehash_list.h: Likewise.
101477         * lib/gl_carray_list.c: Likewise.
101478         * lib/gl_carray_list.h: Likewise.
101479         * lib/gl_linked_list.c: Likewise.
101480         * lib/gl_linked_list.h: Likewise.
101481         * lib/gl_linkedhash_list.c: Likewise.
101482         * lib/gl_linkedhash_list.h: Likewise.
101483         * lib/gl_list.c: Likewise.
101484         * lib/gl_list.h: Likewise.
101485         * lib/gl_oset.c: Likewise.
101486         * lib/gl_oset.h: Likewise.
101487         * lib/gl_rbtree_list.c: Likewise.
101488         * lib/gl_rbtree_list.h: Likewise.
101489         * lib/gl_rbtree_oset.c: Likewise.
101490         * lib/gl_rbtree_oset.h: Likewise.
101491         * lib/gl_rbtreehash_list.c: Likewise.
101492         * lib/gl_rbtreehash_list.h: Likewise.
101493         * lib/gl_sublist.c: Likewise.
101494         * lib/gl_sublist.h: Likewise.
101495         * lib/group-member.c: Likewise.
101496         * lib/group-member.h: Likewise.
101497         * lib/hard-locale.c: Likewise.
101498         * lib/hard-locale.h: Likewise.
101499         * lib/hash-pjw.c: Likewise.
101500         * lib/hash-pjw.h: Likewise.
101501         * lib/hash-triple.c: Likewise.
101502         * lib/hash.c: Likewise.
101503         * lib/hash.h: Likewise.
101504         * lib/human.c: Likewise.
101505         * lib/human.h: Likewise.
101506         * lib/i-ring.c: Likewise.
101507         * lib/i-ring.h: Likewise.
101508         * lib/idcache.c: Likewise.
101509         * lib/imaxabs.c: Likewise.
101510         * lib/imaxdiv.c: Likewise.
101511         * lib/inet_pton.c: Likewise.
101512         * lib/inet_pton.h: Likewise.
101513         * lib/intprops.h: Likewise.
101514         * lib/inttostr.c: Likewise.
101515         * lib/inttostr.h: Likewise.
101516         * lib/inttypes.in.h: Likewise.
101517         * lib/isapipe.c: Likewise.
101518         * lib/isdir.c: Likewise.
101519         * lib/isnan.c: Likewise.
101520         * lib/isnan.h: Likewise.
101521         * lib/isnanf.c: Likewise.
101522         * lib/isnanf.h: Likewise.
101523         * lib/isnanl-nolibm.h: Likewise.
101524         * lib/isnanl.c: Likewise.
101525         * lib/isnanl.h: Likewise.
101526         * lib/javacomp.c: Likewise.
101527         * lib/javacomp.h: Likewise.
101528         * lib/javaexec.c: Likewise.
101529         * lib/javaexec.h: Likewise.
101530         * lib/javaversion.c: Likewise.
101531         * lib/javaversion.h: Likewise.
101532         * lib/javaversion.java: Likewise.
101533         * lib/lbrkprop.h: Likewise.
101534         * lib/lchmod.h: Likewise.
101535         * lib/lchown.c: Likewise.
101536         * lib/ldexpl.c: Likewise.
101537         * lib/linebreak.c: Likewise.
101538         * lib/linebreak.h: Likewise.
101539         * lib/linebuffer.c: Likewise.
101540         * lib/linebuffer.h: Likewise.
101541         * lib/locale.in.h: Likewise.
101542         * lib/logl.c: Likewise.
101543         * lib/long-options.c: Likewise.
101544         * lib/long-options.h: Likewise.
101545         * lib/lstat.c: Likewise.
101546         * lib/lstat.h: Likewise.
101547         * lib/math.in.h: Likewise.
101548         * lib/mbchar.c: Likewise.
101549         * lib/mbchar.h: Likewise.
101550         * lib/mbfile.h: Likewise.
101551         * lib/mbiter.h: Likewise.
101552         * lib/mbscasecmp.c: Likewise.
101553         * lib/mbscasestr.c: Likewise.
101554         * lib/mbschr.c: Likewise.
101555         * lib/mbscspn.c: Likewise.
101556         * lib/mbslen.c: Likewise.
101557         * lib/mbsncasecmp.c: Likewise.
101558         * lib/mbsnlen.c: Likewise.
101559         * lib/mbspbrk.c: Likewise.
101560         * lib/mbspcasecmp.c: Likewise.
101561         * lib/mbsrchr.c: Likewise.
101562         * lib/mbssep.c: Likewise.
101563         * lib/mbsspn.c: Likewise.
101564         * lib/mbsstr.c: Likewise.
101565         * lib/mbstok_r.c: Likewise.
101566         * lib/mbswidth.c: Likewise.
101567         * lib/mbswidth.h: Likewise.
101568         * lib/mbuiter.h: Likewise.
101569         * lib/memcasecmp.c: Likewise.
101570         * lib/memcasecmp.h: Likewise.
101571         * lib/memchr.c: Likewise.
101572         * lib/memcmp.c: Likewise.
101573         * lib/memcoll.c: Likewise.
101574         * lib/memcoll.h: Likewise.
101575         * lib/memcpy.c: Likewise.
101576         * lib/memrchr.c: Likewise.
101577         * lib/mkancesdirs.c: Likewise.
101578         * lib/mkdir-p.c: Likewise.
101579         * lib/mkdir-p.h: Likewise.
101580         * lib/mkdir.c: Likewise.
101581         * lib/mkdirat.c: Likewise.
101582         * lib/mkdtemp.c: Likewise.
101583         * lib/mkstemp-safer.c: Likewise.
101584         * lib/mkstemp.c: Likewise.
101585         * lib/modechange.c: Likewise.
101586         * lib/modechange.h: Likewise.
101587         * lib/mountlist.c: Likewise.
101588         * lib/mountlist.h: Likewise.
101589         * lib/mpsort.c: Likewise.
101590         * lib/nanosleep.c: Likewise.
101591         * lib/obstack.c: Likewise.
101592         * lib/obstack.h: Likewise.
101593         * lib/open-safer.c: Likewise.
101594         * lib/open.c: Likewise.
101595         * lib/openat-die.c: Likewise.
101596         * lib/openat-priv.h: Likewise.
101597         * lib/openat-proc.c: Likewise.
101598         * lib/openat.c: Likewise.
101599         * lib/openat.h: Likewise.
101600         * lib/pagealign_alloc.c: Likewise.
101601         * lib/pagealign_alloc.h: Likewise.
101602         * lib/physmem.c: Likewise.
101603         * lib/physmem.h: Likewise.
101604         * lib/pipe-safer.c: Likewise.
101605         * lib/pipe.c: Likewise.
101606         * lib/pipe.h: Likewise.
101607         * lib/posixtm.c: Likewise.
101608         * lib/posixtm.h: Likewise.
101609         * lib/posixver.c: Likewise.
101610         * lib/printf-frexp.c: Likewise.
101611         * lib/printf-frexp.h: Likewise.
101612         * lib/printf-frexpl.c: Likewise.
101613         * lib/printf-frexpl.h: Likewise.
101614         * lib/printf.c: Likewise.
101615         * lib/progname.c: Likewise.
101616         * lib/progname.h: Likewise.
101617         * lib/progreloc.c: Likewise.
101618         * lib/putenv.c: Likewise.
101619         * lib/quote.c: Likewise.
101620         * lib/quote.h: Likewise.
101621         * lib/quotearg.c: Likewise.
101622         * lib/quotearg.h: Likewise.
101623         * lib/raise.c: Likewise.
101624         * lib/readline.c: Likewise.
101625         * lib/readline.h: Likewise.
101626         * lib/readlink.c: Likewise.
101627         * lib/readtokens.c: Likewise.
101628         * lib/readtokens.h: Likewise.
101629         * lib/readtokens0.c: Likewise.
101630         * lib/readtokens0.h: Likewise.
101631         * lib/readutmp.c: Likewise.
101632         * lib/readutmp.h: Likewise.
101633         * lib/realloc.c: Likewise.
101634         * lib/relocwrapper.c: Likewise.
101635         * lib/rename-dest-slash.c: Likewise.
101636         * lib/rename.c: Likewise.
101637         * lib/rmdir.c: Likewise.
101638         * lib/rpmatch.c: Likewise.
101639         * lib/safe-read.c: Likewise.
101640         * lib/safe-read.h: Likewise.
101641         * lib/safe-write.c: Likewise.
101642         * lib/safe-write.h: Likewise.
101643         * lib/same-inode.h: Likewise.
101644         * lib/same.c: Likewise.
101645         * lib/same.h: Likewise.
101646         * lib/save-cwd.c: Likewise.
101647         * lib/save-cwd.h: Likewise.
101648         * lib/savedir.c: Likewise.
101649         * lib/savedir.h: Likewise.
101650         * lib/savewd.c: Likewise.
101651         * lib/savewd.h: Likewise.
101652         * lib/search.in.h: Likewise.
101653         * lib/setenv.c: Likewise.
101654         * lib/setenv.h: Likewise.
101655         * lib/settime.c: Likewise.
101656         * lib/sh-quote.c: Likewise.
101657         * lib/sh-quote.h: Likewise.
101658         * lib/sig2str.c: Likewise.
101659         * lib/sig2str.h: Likewise.
101660         * lib/signal.in.h: Likewise.
101661         * lib/signbitd.c: Likewise.
101662         * lib/signbitf.c: Likewise.
101663         * lib/signbitl.c: Likewise.
101664         * lib/sigprocmask.c: Likewise.
101665         * lib/sincosl.c: Likewise.
101666         * lib/sleep.c: Likewise.
101667         * lib/sprintf.c: Likewise.
101668         * lib/sqrtl.c: Likewise.
101669         * lib/stat-time.h: Likewise.
101670         * lib/stdio--.h: Likewise.
101671         * lib/stdio-safer.h: Likewise.
101672         * lib/stdlib--.h: Likewise.
101673         * lib/stdlib-safer.h: Likewise.
101674         * lib/stdlib.in.h: Likewise.
101675         * lib/stpcpy.c: Likewise.
101676         * lib/stpncpy.c: Likewise.
101677         * lib/strchrnul.c: Likewise.
101678         * lib/strcspn.c: Likewise.
101679         * lib/strerror.c: Likewise.
101680         * lib/strftime.c: Likewise.
101681         * lib/strftime.h: Likewise.
101682         * lib/striconveh.c: Likewise.
101683         * lib/striconveh.h: Likewise.
101684         * lib/striconveha.c: Likewise.
101685         * lib/striconveha.h: Likewise.
101686         * lib/stripslash.c: Likewise.
101687         * lib/strnlen1.c: Likewise.
101688         * lib/strnlen1.h: Likewise.
101689         * lib/strtod.c: Likewise.
101690         * lib/strtoimax.c: Likewise.
101691         * lib/strtok_r.c: Likewise.
101692         * lib/strtol.c: Likewise.
101693         * lib/strtoll.c: Likewise.
101694         * lib/strtoul.c: Likewise.
101695         * lib/strtoull.c: Likewise.
101696         * lib/sysexits.in.h: Likewise.
101697         * lib/tempname.c: Likewise.
101698         * lib/tempname.h: Likewise.
101699         * lib/timespec.h: Likewise.
101700         * lib/tls.c: Likewise.
101701         * lib/tls.h: Likewise.
101702         * lib/tmpdir.c: Likewise.
101703         * lib/tmpdir.h: Likewise.
101704         * lib/tmpfile-safer.c: Likewise.
101705         * lib/tmpfile.c: Likewise.
101706         * lib/trigl.c: Likewise.
101707         * lib/trigl.h: Likewise.
101708         * lib/trim.c: Likewise.
101709         * lib/trim.h: Likewise.
101710         * lib/trunc.c: Likewise.
101711         * lib/truncf.c: Likewise.
101712         * lib/truncl.c: Likewise.
101713         * lib/tsearch.c: Likewise.
101714         * lib/unicodeio.c: Likewise.
101715         * lib/unicodeio.h: Likewise.
101716         * lib/unistd--.h: Likewise.
101717         * lib/unistd-safer.h: Likewise.
101718         * lib/unistdio/ulc-fprintf.c: Likewise.
101719         * lib/unistdio/ulc-vfprintf.c: Likewise.
101720         * lib/unlinkdir.c: Likewise.
101721         * lib/unlinkdir.h: Likewise.
101722         * lib/unlocked-io.h: Likewise.
101723         * lib/unsetenv.c: Likewise.
101724         * lib/userspec.c: Likewise.
101725         * lib/utime.c: Likewise.
101726         * lib/utimecmp.c: Likewise.
101727         * lib/utimecmp.h: Likewise.
101728         * lib/utimens.c: Likewise.
101729         * lib/verify.h: Likewise.
101730         * lib/verror.c: Likewise.
101731         * lib/verror.h: Likewise.
101732         * lib/version-etc-fsf.c: Likewise.
101733         * lib/version-etc.c: Likewise.
101734         * lib/version-etc.h: Likewise.
101735         * lib/vfprintf.c: Likewise.
101736         * lib/vprintf.c: Likewise.
101737         * lib/vsprintf.c: Likewise.
101738         * lib/w32spawn.h: Likewise.
101739         * lib/wait-process.c: Likewise.
101740         * lib/wait-process.h: Likewise.
101741         * lib/wcwidth.c: Likewise.
101742         * lib/write-any-file.c: Likewise.
101743         * lib/xalloc-die.c: Likewise.
101744         * lib/xalloc.h: Likewise.
101745         * lib/xasprintf.c: Likewise.
101746         * lib/xgetcwd.c: Likewise.
101747         * lib/xgetcwd.h: Likewise.
101748         * lib/xgetdomainname.c: Likewise.
101749         * lib/xgetdomainname.h: Likewise.
101750         * lib/xgethostname.c: Likewise.
101751         * lib/xmalloc.c: Likewise.
101752         * lib/xmalloca.c: Likewise.
101753         * lib/xmalloca.h: Likewise.
101754         * lib/xmemcoll.c: Likewise.
101755         * lib/xnanosleep.c: Likewise.
101756         * lib/xreadlink.c: Likewise.
101757         * lib/xreadlink.h: Likewise.
101758         * lib/xsetenv.c: Likewise.
101759         * lib/xsetenv.h: Likewise.
101760         * lib/xstriconv.c: Likewise.
101761         * lib/xstriconv.h: Likewise.
101762         * lib/xstrndup.c: Likewise.
101763         * lib/xstrndup.h: Likewise.
101764         * lib/xstrtod.c: Likewise.
101765         * lib/xstrtod.h: Likewise.
101766         * lib/xstrtol-error.c: Likewise.
101767         * lib/xstrtol.c: Likewise.
101768         * lib/xstrtol.h: Likewise.
101769         * lib/xtime.h: Likewise.
101770         * lib/xvasprintf.c: Likewise.
101771         * lib/xvasprintf.h: Likewise.
101772         * lib/yesno.c: Likewise.
101773         * lib/yesno.h: Likewise.
101774         * posix-modules: Likewise.
101775         * tests/test-alloca-opt.c: Likewise.
101776         * tests/test-arcfour.c: Likewise.
101777         * tests/test-arctwo.c: Likewise.
101778         * tests/test-argmatch.c: Likewise.
101779         * tests/test-argp-2.sh: Likewise.
101780         * tests/test-argp.c: Likewise.
101781         * tests/test-arpa_inet.c: Likewise.
101782         * tests/test-array_list.c: Likewise.
101783         * tests/test-array_oset.c: Likewise.
101784         * tests/test-atexit.c: Likewise.
101785         * tests/test-avltree_list.c: Likewise.
101786         * tests/test-avltree_oset.c: Likewise.
101787         * tests/test-avltreehash_list.c: Likewise.
101788         * tests/test-base64.c: Likewise.
101789         * tests/test-binary-io.c: Likewise.
101790         * tests/test-byteswap.c: Likewise.
101791         * tests/test-c-ctype.c: Likewise.
101792         * tests/test-c-strcasecmp.c: Likewise.
101793         * tests/test-c-strcasestr.c: Likewise.
101794         * tests/test-c-strncasecmp.c: Likewise.
101795         * tests/test-c-strstr.c: Likewise.
101796         * tests/test-canonicalize-lgpl.c: Likewise.
101797         * tests/test-canonicalize.c: Likewise.
101798         * tests/test-carray_list.c: Likewise.
101799         * tests/test-ceilf.c: Likewise.
101800         * tests/test-ceill.c: Likewise.
101801         * tests/test-count-one-bits.c: Likewise.
101802         * tests/test-crc.c: Likewise.
101803         * tests/test-dirname.c: Likewise.
101804         * tests/test-fbufmode.c: Likewise.
101805         * tests/test-fcntl.c: Likewise.
101806         * tests/test-fflush.c: Likewise.
101807         * tests/test-floorf.c: Likewise.
101808         * tests/test-floorl.c: Likewise.
101809         * tests/test-fopen.c: Likewise.
101810         * tests/test-fprintf-posix.c: Likewise.
101811         * tests/test-fprintf-posix.h: Likewise.
101812         * tests/test-fpurge.c: Likewise.
101813         * tests/test-freadable.c: Likewise.
101814         * tests/test-freadahead.c: Likewise.
101815         * tests/test-freading.c: Likewise.
101816         * tests/test-freopen.c: Likewise.
101817         * tests/test-frexp.c: Likewise.
101818         * tests/test-frexpl.c: Likewise.
101819         * tests/test-fseek.c: Likewise.
101820         * tests/test-fseeko.c: Likewise.
101821         * tests/test-fseterr.c: Likewise.
101822         * tests/test-fstrcmp.c: Likewise.
101823         * tests/test-ftell.c: Likewise.
101824         * tests/test-ftello.c: Likewise.
101825         * tests/test-fwritable.c: Likewise.
101826         * tests/test-fwriting.c: Likewise.
101827         * tests/test-getaddrinfo.c: Likewise.
101828         * tests/test-getpass.c: Likewise.
101829         * tests/test-gettimeofday.c: Likewise.
101830         * tests/test-hmac-md5.c: Likewise.
101831         * tests/test-hmac-sha1.c: Likewise.
101832         * tests/test-iconv.c: Likewise.
101833         * tests/test-iconvme.c: Likewise.
101834         * tests/test-inttypes.c: Likewise.
101835         * tests/test-isnan.c: Likewise.
101836         * tests/test-isnanf.c: Likewise.
101837         * tests/test-isnanl-nolibm.c: Likewise.
101838         * tests/test-isnanl.c: Likewise.
101839         * tests/test-isnanl.h: Likewise.
101840         * tests/test-ldexpl.c: Likewise.
101841         * tests/test-linked_list.c: Likewise.
101842         * tests/test-linkedhash_list.c: Likewise.
101843         * tests/test-locale.c: Likewise.
101844         * tests/test-localename.c: Likewise.
101845         * tests/test-lock.c: Likewise.
101846         * tests/test-lseek.c: Likewise.
101847         * tests/test-malloca.c: Likewise.
101848         * tests/test-math.c: Likewise.
101849         * tests/test-mbscasecmp.c: Likewise.
101850         * tests/test-mbscasestr1.c: Likewise.
101851         * tests/test-mbscasestr2.c: Likewise.
101852         * tests/test-mbscasestr3.c: Likewise.
101853         * tests/test-mbscasestr4.c: Likewise.
101854         * tests/test-mbschr.c: Likewise.
101855         * tests/test-mbscspn.c: Likewise.
101856         * tests/test-mbsncasecmp.c: Likewise.
101857         * tests/test-mbspbrk.c: Likewise.
101858         * tests/test-mbspcasecmp.c: Likewise.
101859         * tests/test-mbsrchr.c: Likewise.
101860         * tests/test-mbsspn.c: Likewise.
101861         * tests/test-mbsstr1.c: Likewise.
101862         * tests/test-mbsstr2.c: Likewise.
101863         * tests/test-mbsstr3.c: Likewise.
101864         * tests/test-md5.c: Likewise.
101865         * tests/test-memmem.c: Likewise.
101866         * tests/test-netinet_in.c: Likewise.
101867         * tests/test-open.c: Likewise.
101868         * tests/test-printf-frexp.c: Likewise.
101869         * tests/test-printf-frexpl.c: Likewise.
101870         * tests/test-printf-posix.c: Likewise.
101871         * tests/test-printf-posix.h: Likewise.
101872         * tests/test-rbtree_list.c: Likewise.
101873         * tests/test-rbtree_oset.c: Likewise.
101874         * tests/test-rbtreehash_list.c: Likewise.
101875         * tests/test-read-file.c: Likewise.
101876         * tests/test-rijndael.c: Likewise.
101877         * tests/test-search.c: Likewise.
101878         * tests/test-signbit.c: Likewise.
101879         * tests/test-sleep.c: Likewise.
101880         * tests/test-snprintf-posix.c: Likewise.
101881         * tests/test-snprintf-posix.h: Likewise.
101882         * tests/test-snprintf.c: Likewise.
101883         * tests/test-sprintf-posix.c: Likewise.
101884         * tests/test-sprintf-posix.h: Likewise.
101885         * tests/test-stat-time.c: Likewise.
101886         * tests/test-stdbool.c: Likewise.
101887         * tests/test-stdint.c: Likewise.
101888         * tests/test-stdio.c: Likewise.
101889         * tests/test-stdlib.c: Likewise.
101890         * tests/test-stpncpy.c: Likewise.
101891         * tests/test-strcasestr.c: Likewise.
101892         * tests/test-striconv.c: Likewise.
101893         * tests/test-striconveh.c: Likewise.
101894         * tests/test-striconveha.c: Likewise.
101895         * tests/test-string.c: Likewise.
101896         * tests/test-sys_select.c: Likewise.
101897         * tests/test-sys_socket.c: Likewise.
101898         * tests/test-sys_stat.c: Likewise.
101899         * tests/test-sys_time.c: Likewise.
101900         * tests/test-sysexits.c: Likewise.
101901         * tests/test-time.c: Likewise.
101902         * tests/test-tls.c: Likewise.
101903         * tests/test-trunc.c: Likewise.
101904         * tests/test-truncf.c: Likewise.
101905         * tests/test-truncl.c: Likewise.
101906         * tests/test-unistd.c: Likewise.
101907         * tests/test-vasnprintf-posix.c: Likewise.
101908         * tests/test-vasnprintf-posix2.c: Likewise.
101909         * tests/test-vasnprintf.c: Likewise.
101910         * tests/test-vasprintf-posix.c: Likewise.
101911         * tests/test-vasprintf.c: Likewise.
101912         * tests/test-verify.c: Likewise.
101913         * tests/test-vfprintf-posix.c: Likewise.
101914         * tests/test-vprintf-posix.c: Likewise.
101915         * tests/test-vsnprintf-posix.c: Likewise.
101916         * tests/test-vsnprintf.c: Likewise.
101917         * tests/test-vsprintf-posix.c: Likewise.
101918         * tests/test-wchar.c: Likewise.
101919         * tests/test-wctype.c: Likewise.
101920         * tests/test-wcwidth.c: Likewise.
101921         * tests/test-xstrtol.c: Likewise.
101922         * tests/test-xvasprintf.c: Likewise.
101923         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
101924         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
101925         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
101926         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
101927         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
101928         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
101929         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
101930         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
101931         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
101932         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
101933         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
101934         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
101935         * tests/uniname/test-uninames.c: Likewise.
101936         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
101937         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
101938         * tests/unistdio/test-u16-printf1.h: Likewise.
101939         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
101940         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
101941         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
101942         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
101943         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
101944         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
101945         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
101946         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
101947         * tests/unistdio/test-u32-printf1.h: Likewise.
101948         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
101949         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
101950         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
101951         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
101952         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
101953         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
101954         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
101955         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
101956         * tests/unistdio/test-u8-printf1.h: Likewise.
101957         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
101958         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
101959         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
101960         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
101961         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
101962         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
101963         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
101964         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
101965         * tests/unistdio/test-ulc-printf1.h: Likewise.
101966         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
101967         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
101968         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
101969         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
101970         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
101971         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
101972         * tests/uniwidth/test-u16-strwidth.c: Likewise.
101973         * tests/uniwidth/test-u16-width.c: Likewise.
101974         * tests/uniwidth/test-u32-strwidth.c: Likewise.
101975         * tests/uniwidth/test-u32-width.c: Likewise.
101976         * tests/uniwidth/test-u8-strwidth.c: Likewise.
101977         * tests/uniwidth/test-u8-width.c: Likewise.
101978         * tests/uniwidth/test-uc_width.c: Likewise.
101979         * config/srclist-update: Likewise.
101980         (fixlicense): Update to GPLv3+.
101982         Change copyright notice from LGPLv2.1+ to LGPLv3+.
101983         * tests/test-tsearch.c: Change copyright notice.
101985         Change copyright notice from LGPLv2.0+ to LGPLv3+.
101986         * lib/c-strcaseeq.h: Change copyright notice.
101987         * lib/streq.h: Likewise.
101988         * lib/uniconv.h: Likewise.
101989         * lib/uniconv/u-conv-from-enc.h: Likewise.
101990         * lib/uniconv/u-conv-to-enc.h: Likewise.
101991         * lib/uniconv/u-strconv-from-enc.h: Likewise.
101992         * lib/uniconv/u-strconv-to-enc.h: Likewise.
101993         * lib/uniconv/u16-conv-from-enc.c: Likewise.
101994         * lib/uniconv/u16-conv-to-enc.c: Likewise.
101995         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
101996         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
101997         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
101998         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
101999         * lib/uniconv/u32-conv-from-enc.c: Likewise.
102000         * lib/uniconv/u32-conv-to-enc.c: Likewise.
102001         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
102002         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
102003         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
102004         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
102005         * lib/uniconv/u8-conv-from-enc.c: Likewise.
102006         * lib/uniconv/u8-conv-to-enc.c: Likewise.
102007         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
102008         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
102009         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
102010         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
102011         * lib/uniname.h: Likewise.
102012         * lib/uniname/uniname.c: Likewise.
102013         * lib/unistdio.h: Likewise.
102014         * lib/unistdio/u-asnprintf.h: Likewise.
102015         * lib/unistdio/u-asprintf.h: Likewise.
102016         * lib/unistdio/u-printf-args.c: Likewise.
102017         * lib/unistdio/u-printf-args.h: Likewise.
102018         * lib/unistdio/u-printf-parse.h: Likewise.
102019         * lib/unistdio/u-snprintf.h: Likewise.
102020         * lib/unistdio/u-sprintf.h: Likewise.
102021         * lib/unistdio/u-vasprintf.h: Likewise.
102022         * lib/unistdio/u-vsnprintf.h: Likewise.
102023         * lib/unistdio/u-vsprintf.h: Likewise.
102024         * lib/unistdio/u16-asnprintf.c: Likewise.
102025         * lib/unistdio/u16-asprintf.c: Likewise.
102026         * lib/unistdio/u16-printf-parse.c: Likewise.
102027         * lib/unistdio/u16-snprintf.c: Likewise.
102028         * lib/unistdio/u16-sprintf.c: Likewise.
102029         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
102030         * lib/unistdio/u16-u16-asprintf.c: Likewise.
102031         * lib/unistdio/u16-u16-snprintf.c: Likewise.
102032         * lib/unistdio/u16-u16-sprintf.c: Likewise.
102033         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
102034         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
102035         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
102036         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
102037         * lib/unistdio/u16-vasnprintf.c: Likewise.
102038         * lib/unistdio/u16-vasprintf.c: Likewise.
102039         * lib/unistdio/u16-vsnprintf.c: Likewise.
102040         * lib/unistdio/u16-vsprintf.c: Likewise.
102041         * lib/unistdio/u32-asnprintf.c: Likewise.
102042         * lib/unistdio/u32-asprintf.c: Likewise.
102043         * lib/unistdio/u32-printf-parse.c: Likewise.
102044         * lib/unistdio/u32-snprintf.c: Likewise.
102045         * lib/unistdio/u32-sprintf.c: Likewise.
102046         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
102047         * lib/unistdio/u32-u32-asprintf.c: Likewise.
102048         * lib/unistdio/u32-u32-snprintf.c: Likewise.
102049         * lib/unistdio/u32-u32-sprintf.c: Likewise.
102050         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
102051         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
102052         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
102053         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
102054         * lib/unistdio/u32-vasnprintf.c: Likewise.
102055         * lib/unistdio/u32-vasprintf.c: Likewise.
102056         * lib/unistdio/u32-vsnprintf.c: Likewise.
102057         * lib/unistdio/u32-vsprintf.c: Likewise.
102058         * lib/unistdio/u8-asnprintf.c: Likewise.
102059         * lib/unistdio/u8-asprintf.c: Likewise.
102060         * lib/unistdio/u8-printf-parse.c: Likewise.
102061         * lib/unistdio/u8-snprintf.c: Likewise.
102062         * lib/unistdio/u8-sprintf.c: Likewise.
102063         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
102064         * lib/unistdio/u8-u8-asprintf.c: Likewise.
102065         * lib/unistdio/u8-u8-snprintf.c: Likewise.
102066         * lib/unistdio/u8-u8-sprintf.c: Likewise.
102067         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
102068         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
102069         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
102070         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
102071         * lib/unistdio/u8-vasnprintf.c: Likewise.
102072         * lib/unistdio/u8-vasprintf.c: Likewise.
102073         * lib/unistdio/u8-vsnprintf.c: Likewise.
102074         * lib/unistdio/u8-vsprintf.c: Likewise.
102075         * lib/unistdio/ulc-asnprintf.c: Likewise.
102076         * lib/unistdio/ulc-asprintf.c: Likewise.
102077         * lib/unistdio/ulc-printf-parse.c: Likewise.
102078         * lib/unistdio/ulc-snprintf.c: Likewise.
102079         * lib/unistdio/ulc-sprintf.c: Likewise.
102080         * lib/unistdio/ulc-vasnprintf.c: Likewise.
102081         * lib/unistdio/ulc-vasprintf.c: Likewise.
102082         * lib/unistdio/ulc-vsnprintf.c: Likewise.
102083         * lib/unistdio/ulc-vsprintf.c: Likewise.
102084         * lib/unistr.h: Likewise.
102085         * lib/unistr/u-cpy-alloc.h: Likewise.
102086         * lib/unistr/u-cpy.h: Likewise.
102087         * lib/unistr/u-endswith.h: Likewise.
102088         * lib/unistr/u-move.h: Likewise.
102089         * lib/unistr/u-set.h: Likewise.
102090         * lib/unistr/u-startswith.h: Likewise.
102091         * lib/unistr/u-stpcpy.h: Likewise.
102092         * lib/unistr/u-stpncpy.h: Likewise.
102093         * lib/unistr/u-strcat.h: Likewise.
102094         * lib/unistr/u-strcpy.h: Likewise.
102095         * lib/unistr/u-strcspn.h: Likewise.
102096         * lib/unistr/u-strdup.h: Likewise.
102097         * lib/unistr/u-strlen.h: Likewise.
102098         * lib/unistr/u-strncat.h: Likewise.
102099         * lib/unistr/u-strncpy.h: Likewise.
102100         * lib/unistr/u-strnlen.h: Likewise.
102101         * lib/unistr/u-strpbrk.h: Likewise.
102102         * lib/unistr/u-strspn.h: Likewise.
102103         * lib/unistr/u-strstr.h: Likewise.
102104         * lib/unistr/u-strtok.h: Likewise.
102105         * lib/unistr/u16-check.c: Likewise.
102106         * lib/unistr/u16-chr.c: Likewise.
102107         * lib/unistr/u16-cmp.c: Likewise.
102108         * lib/unistr/u16-cpy-alloc.c: Likewise.
102109         * lib/unistr/u16-cpy.c: Likewise.
102110         * lib/unistr/u16-endswith.c: Likewise.
102111         * lib/unistr/u16-mblen.c: Likewise.
102112         * lib/unistr/u16-mbsnlen.c: Likewise.
102113         * lib/unistr/u16-mbtouc-aux.c: Likewise.
102114         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
102115         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
102116         * lib/unistr/u16-mbtouc.c: Likewise.
102117         * lib/unistr/u16-mbtoucr.c: Likewise.
102118         * lib/unistr/u16-move.c: Likewise.
102119         * lib/unistr/u16-next.c: Likewise.
102120         * lib/unistr/u16-prev.c: Likewise.
102121         * lib/unistr/u16-set.c: Likewise.
102122         * lib/unistr/u16-startswith.c: Likewise.
102123         * lib/unistr/u16-stpcpy.c: Likewise.
102124         * lib/unistr/u16-stpncpy.c: Likewise.
102125         * lib/unistr/u16-strcat.c: Likewise.
102126         * lib/unistr/u16-strchr.c: Likewise.
102127         * lib/unistr/u16-strcmp.c: Likewise.
102128         * lib/unistr/u16-strcpy.c: Likewise.
102129         * lib/unistr/u16-strcspn.c: Likewise.
102130         * lib/unistr/u16-strdup.c: Likewise.
102131         * lib/unistr/u16-strlen.c: Likewise.
102132         * lib/unistr/u16-strmblen.c: Likewise.
102133         * lib/unistr/u16-strmbtouc.c: Likewise.
102134         * lib/unistr/u16-strncat.c: Likewise.
102135         * lib/unistr/u16-strncmp.c: Likewise.
102136         * lib/unistr/u16-strncpy.c: Likewise.
102137         * lib/unistr/u16-strnlen.c: Likewise.
102138         * lib/unistr/u16-strpbrk.c: Likewise.
102139         * lib/unistr/u16-strrchr.c: Likewise.
102140         * lib/unistr/u16-strspn.c: Likewise.
102141         * lib/unistr/u16-strstr.c: Likewise.
102142         * lib/unistr/u16-strtok.c: Likewise.
102143         * lib/unistr/u16-to-u32.c: Likewise.
102144         * lib/unistr/u16-to-u8.c: Likewise.
102145         * lib/unistr/u16-uctomb-aux.c: Likewise.
102146         * lib/unistr/u16-uctomb.c: Likewise.
102147         * lib/unistr/u32-check.c: Likewise.
102148         * lib/unistr/u32-chr.c: Likewise.
102149         * lib/unistr/u32-cmp.c: Likewise.
102150         * lib/unistr/u32-cpy-alloc.c: Likewise.
102151         * lib/unistr/u32-cpy.c: Likewise.
102152         * lib/unistr/u32-endswith.c: Likewise.
102153         * lib/unistr/u32-mblen.c: Likewise.
102154         * lib/unistr/u32-mbsnlen.c: Likewise.
102155         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
102156         * lib/unistr/u32-mbtouc.c: Likewise.
102157         * lib/unistr/u32-mbtoucr.c: Likewise.
102158         * lib/unistr/u32-move.c: Likewise.
102159         * lib/unistr/u32-next.c: Likewise.
102160         * lib/unistr/u32-prev.c: Likewise.
102161         * lib/unistr/u32-set.c: Likewise.
102162         * lib/unistr/u32-startswith.c: Likewise.
102163         * lib/unistr/u32-stpcpy.c: Likewise.
102164         * lib/unistr/u32-stpncpy.c: Likewise.
102165         * lib/unistr/u32-strcat.c: Likewise.
102166         * lib/unistr/u32-strchr.c: Likewise.
102167         * lib/unistr/u32-strcmp.c: Likewise.
102168         * lib/unistr/u32-strcpy.c: Likewise.
102169         * lib/unistr/u32-strcspn.c: Likewise.
102170         * lib/unistr/u32-strdup.c: Likewise.
102171         * lib/unistr/u32-strlen.c: Likewise.
102172         * lib/unistr/u32-strmblen.c: Likewise.
102173         * lib/unistr/u32-strmbtouc.c: Likewise.
102174         * lib/unistr/u32-strncat.c: Likewise.
102175         * lib/unistr/u32-strncmp.c: Likewise.
102176         * lib/unistr/u32-strncpy.c: Likewise.
102177         * lib/unistr/u32-strnlen.c: Likewise.
102178         * lib/unistr/u32-strpbrk.c: Likewise.
102179         * lib/unistr/u32-strrchr.c: Likewise.
102180         * lib/unistr/u32-strspn.c: Likewise.
102181         * lib/unistr/u32-strstr.c: Likewise.
102182         * lib/unistr/u32-strtok.c: Likewise.
102183         * lib/unistr/u32-to-u16.c: Likewise.
102184         * lib/unistr/u32-to-u8.c: Likewise.
102185         * lib/unistr/u32-uctomb.c: Likewise.
102186         * lib/unistr/u8-check.c: Likewise.
102187         * lib/unistr/u8-chr.c: Likewise.
102188         * lib/unistr/u8-cmp.c: Likewise.
102189         * lib/unistr/u8-cpy-alloc.c: Likewise.
102190         * lib/unistr/u8-cpy.c: Likewise.
102191         * lib/unistr/u8-endswith.c: Likewise.
102192         * lib/unistr/u8-mblen.c: Likewise.
102193         * lib/unistr/u8-mbsnlen.c: Likewise.
102194         * lib/unistr/u8-mbtouc-aux.c: Likewise.
102195         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
102196         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
102197         * lib/unistr/u8-mbtouc.c: Likewise.
102198         * lib/unistr/u8-mbtoucr.c: Likewise.
102199         * lib/unistr/u8-move.c: Likewise.
102200         * lib/unistr/u8-next.c: Likewise.
102201         * lib/unistr/u8-prev.c: Likewise.
102202         * lib/unistr/u8-set.c: Likewise.
102203         * lib/unistr/u8-startswith.c: Likewise.
102204         * lib/unistr/u8-stpcpy.c: Likewise.
102205         * lib/unistr/u8-stpncpy.c: Likewise.
102206         * lib/unistr/u8-strcat.c: Likewise.
102207         * lib/unistr/u8-strchr.c: Likewise.
102208         * lib/unistr/u8-strcmp.c: Likewise.
102209         * lib/unistr/u8-strcpy.c: Likewise.
102210         * lib/unistr/u8-strcspn.c: Likewise.
102211         * lib/unistr/u8-strdup.c: Likewise.
102212         * lib/unistr/u8-strlen.c: Likewise.
102213         * lib/unistr/u8-strmblen.c: Likewise.
102214         * lib/unistr/u8-strmbtouc.c: Likewise.
102215         * lib/unistr/u8-strncat.c: Likewise.
102216         * lib/unistr/u8-strncmp.c: Likewise.
102217         * lib/unistr/u8-strncpy.c: Likewise.
102218         * lib/unistr/u8-strnlen.c: Likewise.
102219         * lib/unistr/u8-strpbrk.c: Likewise.
102220         * lib/unistr/u8-strrchr.c: Likewise.
102221         * lib/unistr/u8-strspn.c: Likewise.
102222         * lib/unistr/u8-strstr.c: Likewise.
102223         * lib/unistr/u8-strtok.c: Likewise.
102224         * lib/unistr/u8-to-u16.c: Likewise.
102225         * lib/unistr/u8-to-u32.c: Likewise.
102226         * lib/unistr/u8-uctomb-aux.c: Likewise.
102227         * lib/unistr/u8-uctomb.c: Likewise.
102228         * lib/unitypes.h: Likewise.
102229         * lib/uniwidth.h: Likewise.
102230         * lib/uniwidth/cjk.h: Likewise.
102231         * lib/uniwidth/u16-strwidth.c: Likewise.
102232         * lib/uniwidth/u16-width.c: Likewise.
102233         * lib/uniwidth/u32-strwidth.c: Likewise.
102234         * lib/uniwidth/u32-width.c: Likewise.
102235         * lib/uniwidth/u8-strwidth.c: Likewise.
102236         * lib/uniwidth/u8-width.c: Likewise.
102237         * lib/uniwidth/width.c: Likewise.
102239 2007-10-07  Bruno Haible  <bruno@clisp.org>
102241         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
102242         The file is still under LGPL (see modules/inttypes).
102244 2007-10-06  Bruno Haible  <bruno@clisp.org>
102246         * modules/trunc (Dependencies): Add 'extensions'.
102247         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
102248         Reported by Ben Pfaff <blp@gnu.org>.
102250 2007-10-06  Bruno Haible  <bruno@clisp.org>
102252         * modules/freopen-tests: New file.
102253         * tests/test-freopen.c: New file.
102255         * modules/fopen-tests: New file.
102256         * tests/test-fopen.c: New file.
102258         * modules/fopen: New file.
102259         * lib/fopen.c: New file.
102260         * m4/fopen.m4: New file.
102261         * modules/freopen: New file.
102262         * lib/freopen.c: New file.
102263         * m4/freopen.m4: New file.
102264         * lib/stdio.in.h (fopen, freopen): New declarations.
102265         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
102266         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
102267         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
102268         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
102269         * doc/functions/fopen.texi: Mention the 'fopen' module.
102270         * doc/functions/freopen.texi: Mention the 'freopen' module.
102272 2007-10-06  Bruno Haible  <bruno@clisp.org>
102274         * modules/open-tests: New file.
102275         * tests/test-open.c: New file.
102277         * modules/open: New file.
102278         * lib/open.c: New file.
102279         * m4/open.m4: New file.
102280         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
102281         lib/open.c does.
102282         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
102283         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
102284         macros.
102285         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
102286         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
102287         REPLACE_OPEN.
102288         * doc/functions/open.texi: Mention the 'open' module.
102290 2007-10-04  Bruno Haible  <bruno@clisp.org>
102292         * modules/ceill-tests: New file.
102293         * tests/test-ceill.c: New file.
102295         * modules/ceill: New file.
102296         * lib/ceill.c: Replace entire file.
102297         * m4/ceill.m4: New file.
102298         * lib/math.in.h (ceill): Replace declaration.
102299         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
102300         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
102301         * doc/functions/ceill.texi: Mention the 'ceill' module.
102302         * modules/mathl (Files): Remove lib/ceill.c.
102303         (Depends-on): Add ceill.
102305 2007-10-04  Bruno Haible  <bruno@clisp.org>
102307         * modules/ceilf-tests: New file.
102308         * tests/test-ceilf.c: New file.
102310         * modules/ceilf: New file.
102311         * lib/ceil.c: New file.
102312         * lib/ceilf.c: New file.
102313         * m4/ceilf.m4: New file.
102314         * lib/math.in.h (ceilf): New declaration.
102315         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
102316         HAVE_DECL_CEILF.
102317         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
102318         HAVE_DECL_CEILF.
102319         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
102321 2007-10-04  Bruno Haible  <bruno@clisp.org>
102323         * modules/floorl-tests: New file.
102324         * tests/test-floorl.c: New file.
102326         * modules/floorl: New file.
102327         * lib/floorl.c: Replace entire file.
102328         * m4/floorl.m4: New file.
102329         * lib/math.in.h (floorl): Replace declaration.
102330         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
102331         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
102332         * doc/functions/floorl.texi: Mention the 'floorl' module.
102333         * modules/mathl (Files): Remove lib/floorl.c.
102334         (Depends-on): Add floorl.
102336 2007-10-04  Bruno Haible  <bruno@clisp.org>
102338         * modules/floorf-tests: New file.
102339         * tests/test-floorf.c: New file.
102341         * modules/floorf: New file.
102342         * lib/floor.c: New file.
102343         * lib/floorf.c: New file.
102344         * m4/floorf.m4: New file.
102345         * lib/math.in.h (floorf): New declaration.
102346         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
102347         HAVE_DECL_FLOORF.
102348         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
102349         HAVE_DECL_FLOORF.
102350         * doc/functions/floorf.texi: Mention the 'floorf' module.
102352 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
102353             Bruno Haible  <bruno@clisp.org>
102355         Advertise for the Git server instead of the CVS server.
102356         * doc/gnulib-intro.texi (Steady Development): Mention the Git
102357         repository instead of the CVS one.
102358         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
102359         about all VCS systems generically.
102360         * doc/gnulib.texi (Introduction): Capitalize `Git'.
102362 2007-10-04  Bruno Haible  <bruno@clisp.org>
102364         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
102365         means.
102366         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
102368 2007-10-04  Bruno Haible  <bruno@clisp.org>
102370         * modules/truncl-tests: New file.
102371         * tests/test-truncl.c: New file.
102373         * modules/truncl: New file.
102374         * lib/truncl.c: New file.
102375         * m4/truncl.m4: New file.
102376         * lib/math.in.h (truncl): New declaration.
102377         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
102378         HAVE_DECL_TRUNCL.
102379         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
102380         HAVE_DECL_TRUNCL.
102381         * doc/functions/truncl.texi: Mention the 'truncl' module.
102383 2007-10-04  Bruno Haible  <bruno@clisp.org>
102385         * modules/truncf-tests: New file.
102386         * tests/test-truncf.c: New file.
102388         * modules/truncf: New file.
102389         * lib/trunc.c: Make paramerizable through USE_* macros.
102390         * lib/truncf.c: New file.
102391         * m4/truncf.m4: New file.
102392         * lib/math.in.h (truncf): New declaration.
102393         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
102394         HAVE_DECL_TRUNCF.
102395         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
102396         HAVE_DECL_TRUNCF.
102397         * doc/functions/truncf.texi: Mention the 'truncf' module.
102399 2007-10-03  Bruno Haible  <bruno@clisp.org>
102401         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
102402         augmentation also for tests modules.
102403         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
102404         * modules/atexit-tests (Makefile.am): Likewise.
102405         * modules/binary-io-tests (Makefile.am): Likewise.
102406         * modules/c-strcase-tests (Makefile.am): Likewise.
102407         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
102408         * modules/canonicalize-tests (Makefile.am): Likewise.
102409         * modules/closein-tests (Makefile.am): Likewise.
102410         * modules/fprintf-posix-tests (Makefile.am): Likewise.
102411         * modules/freadahead-tests (Makefile.am): Likewise.
102412         * modules/fseek-tests (Makefile.am): Likewise.
102413         * modules/fseeko-tests (Makefile.am): Likewise.
102414         * modules/ftell-tests (Makefile.am): Likewise.
102415         * modules/ftello-tests (Makefile.am): Likewise.
102416         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
102417         * modules/isnanl-tests (Makefile.am): Likewise.
102418         * modules/lseek-tests (Makefile.am): Likewise.
102419         * modules/mbscasecmp-tests (Makefile.am): Likewise.
102420         * modules/mbscasestr-tests (Makefile.am): Likewise.
102421         * modules/mbschr-tests (Makefile.am): Likewise.
102422         * modules/mbscspn-tests (Makefile.am): Likewise.
102423         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
102424         * modules/mbspbrk-tests (Makefile.am): Likewise.
102425         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
102426         * modules/mbsrchr-tests (Makefile.am): Likewise.
102427         * modules/mbsspn-tests (Makefile.am): Likewise.
102428         * modules/mbsstr-tests (Makefile.am): Likewise.
102429         * modules/printf-posix-tests (Makefile.am): Likewise.
102430         * modules/snprintf-posix-tests (Makefile.am): Likewise.
102431         * modules/sprintf-posix-tests (Makefile.am): Likewise.
102432         * modules/tsearch-tests (Makefile.am): Likewise.
102433         * modules/uniname/uniname-tests (Makefile.am): Likewise.
102434         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
102435         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
102436         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
102437         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
102438         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
102439         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
102440         * modules/vprintf-posix-tests (Makefile.am): Likewise.
102441         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
102442         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
102443         * modules/xstrtoimax-tests (Makefile.am): Likewise.
102444         * modules/xstrtol-tests (Makefile.am): Likewise.
102445         * modules/xstrtoumax-tests (Makefile.am): Likewise.
102446         * modules/yesno-tests (Makefile.am): Likewise.
102448 2007-10-03  Bruno Haible  <bruno@clisp.org>
102450         * modules/trunc-tests: New file.
102451         * tests/test-trunc.c: New file.
102453         * modules/trunc: New file.
102454         * lib/trunc.c: New file.
102455         * m4/trunc.m4: New file.
102456         * lib/math.in.h (trunc): New declaration.
102457         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
102458         HAVE_DECL_TRUNC.
102459         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
102460         HAVE_DECL_TRUNC.
102461         * doc/functions/trunc.texi: Mention the 'trunc' module.
102463 2007-10-03  Bruno Haible  <bruno@clisp.org>
102465         * tests/test-fpending.c: New file, mostly copied
102466         from coreutils/lib/t-fpending.c.
102467         * modules/fpending-tests: New file.
102469 2007-10-03  Bruno Haible  <bruno@clisp.org>
102471         Port the stdio extensions to QNX (untested).
102472         * lib/fseterr.c (fseterr): Add support for QNX.
102473         * lib/fbufmode.c (fbufmode): Likewise.
102474         * lib/freadable.c (freadable): Likewise.
102475         * lib/fwritable.c (fwritable): Likewise.
102476         * lib/freading.c (freading): Likewise.
102477         * lib/fwriting.c (fwriting): Likewise.
102478         * lib/freadahead.c (freadahed): Likewise.
102479         * lib/fpurge.c (fpurge): Likewise.
102480         * lib/fseeko.c (rpl_fseeko): Likewise.
102482 2007-10-03  Bruno Haible  <bruno@clisp.org>
102483             Jim Meyering  <jim@meyering.net>
102484             Eric Blake  <ebb9@byu.net>
102486         * doc/relocatable.texi: Use @command instead of @program.
102488 2007-10-02  Jim Meyering  <jim@meyering.net>
102490         Perform one more "_.h" -> ".in.h" substitution.
102491         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
102492         instead of unistd_.h here, too.
102494 2007-10-01  Bruno Haible  <bruno@clisp.org>
102496         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
102497         Needed for the alloca-opt module.
102499 2007-09-30  Bruno Haible  <bruno@clisp.org>
102501         * lib/alloca.in.h: Renamed from lib/alloca_.h.
102502         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
102503         alloca_.h.
102504         * lib/argz.in.h: Renamed from lib/argz_.h.
102505         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
102506         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
102507         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
102508         byteswap_.h.
102509         * lib/dirent.in.h: Renamed from lib/dirent_.h.
102510         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
102511         dirent_.h.
102512         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
102513         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
102514         fcntl_.h.
102515         * lib/float.in.h: Renamed from lib/float_.h.
102516         * modules/float (Files, Makefile.am): Use float.in.h instead of
102517         float_.h.
102518         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
102519         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
102520         fnmatch_.h.
102521         * lib/getopt.in.h: Renamed from lib/getopt_.h.
102522         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
102523         getopt_.h.
102524         * lib/glob.in.h: Renamed from lib/glob_.h.
102525         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
102526         * lib/iconv.in.h: Renamed from lib/iconv_.h.
102527         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
102528         iconv_.h.
102529         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
102530         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
102531         inttypes_.h.
102532         * lib/locale.in.h: Renamed from lib/locale_.h.
102533         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
102534         locale_.h.
102535         * lib/math.in.h: Renamed from lib/math_.h.
102536         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
102537         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
102538         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
102539         of netinet_in_.h. Add dependency.
102540         * lib/poll.in.h: Renamed from lib/poll_.h.
102541         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
102542         * lib/search.in.h: Renamed from lib/search_.h.
102543         * modules/search (Files, Makefile.am): Use search.in.h instead of
102544         search_.h.
102545         * lib/signal.in.h: Renamed from lib/signal_.h.
102546         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
102547         _signal.h.
102548         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
102549         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
102550         stdbool_.h.
102551         * lib/stdint.in.h: Renamed from lib/stdint_.h.
102552         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
102553         stdint_.h.
102554         * lib/stdio.in.h: Renamed from lib/stdio_.h.
102555         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
102556         stdio_.h.
102557         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
102558         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
102559         stdlib_.h.
102560         * lib/string.in.h: Renamed from lib/string_.h.
102561         * modules/string (Files, Makefile.am): Use string.in.h instead of
102562         string_.h.
102563         * doc/gnulib-tool.texi (Initial import): Update.
102564         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
102565         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
102566         of sys_select_.h. Add dependency.
102567         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
102568         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
102569         of sys_socket_.h.
102570         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
102571         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
102572         sys_stat_.h.
102573         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
102574         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
102575         sys_time_.h.
102576         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
102577         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
102578         sysexits_.h.
102579         * lib/time.in.h: Renamed from lib/time_.h.
102580         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
102581         * lib/unistd.in.h: Renamed from lib/unistd_.h.
102582         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
102583         unistd_.h.
102584         * lib/wchar.in.h: Renamed from lib/wchar_.h.
102585         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
102586         wchar_.h.
102587         * lib/wctype.in.h: Renamed from lib/wctype_.h.
102588         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
102589         wctype_.h.
102590         * build-aux/bootstrap (slurp): Update.
102591         * lib/.cppi-disable: Update.
102593 2007-09-30  Bruno Haible  <bruno@clisp.org>
102595         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
102596         Needed on BeOS.
102598 2007-09-30  Bruno Haible  <bruno@clisp.org>
102600         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
102602 2007-09-29  Bruno Haible  <bruno@clisp.org>
102604         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
102606 2007-09-29  Bruno Haible  <bruno@clisp.org>
102608         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
102609         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
102610         * build-aux/install-reloc: Compile also areadlink.c.
102611         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
102613 2007-09-29  Bruno Haible  <bruno@clisp.org>
102615         * gnulib-tool (func_emit_initmacro_done): Indentation.
102617 2007-09-29  Bruno Haible  <bruno@clisp.org>
102619         * README: Add CVS checkout update instructions.
102620         Info from Bob Proulx <bob@proulx.com>.
102622 2007-09-28  Eric Blake  <ebb9@byu.net>
102624         Provide move-if-change.
102625         * build-aux/move-if-change: New file, based on best practice
102626         rather than any canonical upstream location.
102628 2007-09-28  Jim Meyering  <jim@meyering.net>
102630         Fix canonicalize loop-detection corner case.
102631         Do not attempt to stat the symlink values stored via seen_triple.
102632         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
102633         on linux-2.6.18, (but not 2.6.22).
102634         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
102635         triple_compare.  The former compares dev,ino,filename, while the latter
102636         would actually stat dirname(filename) when dev and ino were equal.
102637         * lib/hash-triple.c: Install <string.h>.
102638         (STREQ): Define.
102639         (triple_compare_ino_str): New function.
102640         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
102642 2007-09-28  Eric Blake  <ebb9@byu.net>
102644         Enforce that AC_REPLACE_FUNCS files exist.
102645         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
102646         override check for typos.
102648         Fix test-closein on Solaris 10.
102649         * tests/test-closein.c (main): Don't assume stdin can be inherited
102650         closed on all systems.
102651         * tests/test-closein.sh: Likewise.
102652         Reported by Piotr Tarnowski.
102654 2007-09-28  Jim Meyering  <jim@meyering.net>
102656         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
102658 2007-09-27  Jim Meyering  <jim@meyering.net>
102660         canonicalize: Avoid a false-positive cycle failure.
102661         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
102662         Sort.  Remove cycle-check.
102663         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
102664         not cycle-check.h.
102665         (seen_triple): New function.
102666         (canonicalize_filename_mode): Use it instead of cycle-check.
102667         * tests/test-canonicalize.c: Add a test for this bug.
102668         * tests/test-canonicalize.sh: Set up and run the test.
102670         New module, file-set, from coreutils.
102671         * modules/file-set: Define it.
102672         * lib/file-set.c, lib/file-set.h: Implement.
102674         New module, hash-triple, from coreutils.
102675         * modules/hash-triple: Define it.
102676         * lib/hash-triple.c, lib/hash-triple.h: Implement.
102678 2007-09-25  Eric Blake  <ebb9@byu.net>
102680         Fix strerror on Interix.
102681         * lib/string_.h (strerror): Declare replacement.
102682         * doc/functions/strerror.texi (strerror): Document the Interix
102683         shortcoming.
102684         * modules/string (Makefile.am): Support new hooks.
102685         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
102686         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
102687         gl_FUNC_STRERROR_SEPARATE.
102688         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
102689         * lib/strerror.c (rpl_strerror): Provide replacement.
102690         * modules/strerror (Depends-on): Add string.
102691         (configure.ac): Detect use of module.
102692         * tests/test-strerror.c: New file.
102693         * modules/strerror-tests: New test module.
102694         * modules/argp (Depends-on): Add strerror.
102695         * modules/error (Depends-on): Likewise.
102696         Reported by Martin Koeppe.
102698 2007-09-24  Bruno Haible  <bruno@clisp.org>
102700         * README: Update git instructions.
102702 2007-09-24  Eric Blake  <ebb9@byu.net>
102704         Revert fpending breakage from 2007-09-08.
102705         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
102706         __fpending.c.
102708 2007-09-24  Jim Meyering  <jim@meyering.net>
102710         filenamecat.c: Add a test.
102711         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
102712         showing how the function works when DIR is the empty string.
102714 2007-09-21  Simon Josefsson  <simon@josefsson.org>
102716         * tests/test-canonicalize.sh: Turn on executable bit.
102718 2007-09-19  Eric Blake  <ebb9@byu.net>
102720         * README: Update CVS instructions.
102722 2007-09-18  Bruno Haible  <bruno@clisp.org>
102724         * modules/areadlink: New file.
102725         * lib/areadlink.h (areadlink): New declaration.
102726         * lib/areadlink.c: New file, based on lib/xreadlink.c.
102728 2007-09-17  Jim Meyering  <jim@meyering.net>
102730         * lib/savewd.c (ESTALE) [!defined]: Define.
102731         Reported to be required on Interix by Martin Koeppe.
102733 2007-09-17  Bruno Haible  <bruno@clisp.org>
102735         * gnulib-tool (func_version): Use $version.
102737 2007-09-16  Bruno Haible  <bruno@clisp.org>
102739         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
102740         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
102741         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
102742         Reported by Greg Schafer <gschafer@zip.com.au>.
102744 2007-09-15  Bruno Haible  <bruno@clisp.org>
102746         * gnulib-tool (sed): Try a little harder to make bash understand the
102747         alias.
102748         Reported by Bruce Korb <bruce.korb@gmail.com>.
102750 2007-09-13  Eric Blake  <ebb9@byu.net>
102752         * ChangeLog: Remove conflict markers.
102754 2007-09-13  Simon Josefsson  <simon@josefsson.org>
102756         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
102757         Reported by Bruno Haible <bruno@clisp.org>.
102759 2007-09-12  Bruno Haible  <bruno@clisp.org>
102761         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
102762         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
102763         is not defined.
102765 2007-09-12  Eric Blake  <ebb9@byu.net>
102767         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
102768         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
102769         Autoconf definition.
102770         * modules/euidaccess (Depends-on): Add extensions, for
102771         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
102772         * modules/fnmatch (Depends-on): Likewise.
102773         * modules/getaddrinfo (Depends-on): Likewise.
102774         * modules/getdelim (Depends-on): Likewise.
102775         * modules/getline (Depends-on): Likewise.
102776         * modules/getsubopt (Depends-on): Likewise.
102777         * modules/gettext (Depends-on): Likewise.
102778         * modules/group-member (Depends-on): Likewise.
102779         * modules/mbchar (Depends-on): Likewise.
102780         * modules/memmem (Depends-on): Likewise.
102781         * modules/mempcpy (Depends-on): Likewise.
102782         * modules/memrchr (Depends-on): Likewise.
102783         * modules/pagealign_alloc (Depends-on): Likewise.
102784         * modules/readutmp (Depends-on): Likewise.
102785         * modules/stpcpy (Depends-on): Likewise.
102786         * modules/stpncpy (Depends-on): Likewise.
102787         * modules/strchrnul (Depends-on): Likewise.
102788         * modules/strndup (Depends-on): Likewise.
102789         * modules/strsep (Depends-on): Likewise.
102790         * modules/strverscmp (Depends-on): Likewise.
102791         * modules/vasprintf (Depends-on): Likewise.
102792         * modules/wcwidth (Depends-on): Likewise.
102793         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
102794         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
102795         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
102796         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
102797         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
102798         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
102799         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
102800         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
102801         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
102802         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
102803         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
102804         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
102805         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
102806         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
102807         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
102808         * m4/readutmp.m4 (gl_READUTMP): Likewise.
102809         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
102810         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
102811         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
102812         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
102813         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
102814         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
102815         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
102816         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
102817         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
102818         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
102819         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
102820         so that lock.m4 can be used in gettext without extensions module.
102822 2007-09-11  Bruno Haible  <bruno@clisp.org>
102824         * m4/isc-posix.m4: Remove file.
102825         Suggested by Eric Blake.
102827 2007-09-11  Eric Blake  <ebb9@byu.net>
102829         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
102831 2007-09-10  Bruno Haible  <bruno@clisp.org>
102833         * posix-modules: Fix typo in error message.
102834         Reported by Matt <mkraai@beckman.com>.
102836 2007-09-09  Bruno Haible  <bruno@clisp.org>
102838         * doc/functions/getdelim.texi: Update list of platforms lacking the
102839         function.
102840         * doc/functions/getline.texi: Likewise.
102842 2007-09-09  Jim Meyering  <jim@meyering.net>
102844         * lib/hash.c (hash_initialize): Detect calloc failure.
102845         Reported by Bruno Haible.
102847 2007-09-09  Bruno Haible  <bruno@clisp.org>
102849         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
102850         malloc or realloc fails.
102852 2007-09-09  Bruno Haible  <bruno@clisp.org>
102854         * modules/getcwd (Depends-on): Add malloc-posix.
102855         * modules/glob (Depends-on): Likewise.
102856         * modules/putenv (Depends-on): Likewise.
102857         * modules/strdup (Depends-on): Likewise.
102858         * modules/getdelim (Depends-on): Add realloc-posix.
102859         * modules/read-file (Depends-on): Likewise.
102861 2007-09-09  Bruno Haible  <bruno@clisp.org>
102863         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
102864         (gl_FUNC_MALLOC_POSIX): Require it.
102865         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
102866         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
102867         * modules/realloc (Files): Add m4/malloc.m4.
102868         * modules/calloc (Files): Likewise.
102870 2007-09-09  Bruno Haible  <bruno@clisp.org>
102872         * modules/malloc-posix: New file.
102873         * modules/malloc (Depends-on): Add malloc-posix.
102874         * lib/malloc.c: Include errno.h.
102875         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
102876         and a POSIX-compatible malloc into a single function. Set ENOMEM
102877         when returning NULL.
102878         * m4/malloc.m4: New file.
102879         * doc/functions/malloc.texi: Mention the malloc-posix module.
102880         * lib/stdlib_.h (malloc): New declaration.
102881         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102882         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
102883         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
102884         and HAVE_MALLOC_POSIX.
102886 2007-09-09  Bruno Haible  <bruno@clisp.org>
102888         * modules/realloc-posix: New file.
102889         * modules/realloc (Depends-on): Add realloc-posix.
102890         * lib/realloc.c: Include errno.h.
102891         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
102892         and a POSIX-compatible realloc into a single function. Set ENOMEM
102893         when returning NULL.
102894         * m4/realloc.m4: New file.
102895         * doc/functions/realloc.texi: Mention the realloc-posix module.
102896         * lib/stdlib_.h (realloc): New declaration.
102897         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102898         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
102899         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
102900         and HAVE_REALLOC_POSIX.
102902 2007-09-09  Bruno Haible  <bruno@clisp.org>
102904         * modules/calloc-posix: New file.
102905         * modules/calloc (Depends-on): Add calloc-posix.
102906         * lib/calloc.c: Include errno.h.
102907         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
102908         and a POSIX-compatible calloc into a single function. Set ENOMEM
102909         when returning NULL.
102910         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
102911         * doc/functions/calloc.texi: Mention the calloc-posix module.
102912         * lib/stdlib_.h (calloc): New declaration.
102913         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102914         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
102915         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
102916         and HAVE_CALLOC_POSIX.
102918 2007-09-09  Bruno Haible  <bruno@clisp.org>
102920         Allow for modules to show an arbitrary notice.
102921         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
102922         * gnulib-tool: New option --extract-notice.
102923         (func_usage): Document it.
102924         (sed_extract_prog): Update.
102925         (func_get_notice): New function.
102926         (func_modules_notice): New function.
102927         (func_import, func_create_testdir): Invoke it.
102928         Suggested by Jim Meyering.
102930 2007-09-09  Bruno Haible  <bruno@clisp.org>
102932         * gnulib-tool: New options --verbose, --quiet.
102933         (func_usage): Document them.
102934         (verbose): New variable.
102935         (func_execute_command): New function.
102936         (func_import): Don't show the module list and the file list if
102937         $verbose < 0.
102938         (func_create_testdir): Likewise. Use func_execute_command.
102939         (func_create_megatestdir): Use func_execute_command.
102941 2007-09-08  Bruno Haible  <bruno@clisp.org>
102943         * gnulib-tool (func_import): Prefer rsync over wget when available,
102944         for fetching the PO files.
102946 2007-09-08  Bruno Haible  <bruno@clisp.org>
102948         * posix-modules: New file. Portions copied from gnulib-tool.
102949         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
102951 2007-09-08  Jim Meyering  <jim@meyering.net>
102953         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
102954         * lib/fpending.h: Rename from __fpending.h.
102955         * lib/fpending.c: Rename from __fpending.c.
102956         Include "fpending.h", not "__fpending.h".
102957         * lib/__fpending.h, lib/__fpending.c: Remove files.
102958         * modules/fpending (Files): Reflect new file names.
102959         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
102961 2007-09-08  Bruno Haible  <bruno@clisp.org>
102963         * m4/inttypes-h.m4: Remove stub file.
102965 2007-09-07  Simon Josefsson  <simon@josefsson.org>
102967         * doc/headers/stdint.texi: Discuss #include_next issue.
102969 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
102971         * build-aux/bootstrap: Remove obsolete comment about wget --help.
102973 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
102975         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
102976         in variable name.
102978 2007-09-03  Jim Meyering  <jim@meyering.net>
102980         New module: git-version-gen.
102981         * modules/git-version-gen: New file.
102983         Import changes from coreutils for bootstrap script.
102985         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
102987         bootstrap: uses rsync to download the .po files
102988         * build-aux/bootstrap (po_download_command_format): New global.
102989         (download_po_files): Use rsync.
102990         (update_po_files): Don't remove .po files after download,
102991         so future rsync runs can take advantage of the copies.
102993         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
102995         Solve the unnecessary-.po-file-regeneration problem once and for all.
102996         * build-aux/bootstrap (download_po_files): New function, renamed from
102997         get_translations.  Now, downloads, but doesn't update LINGUAS.
102998         (update_po_files): New function.
103000         bootstrap: Ignore more.
103001         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
103002         uniwidth to e.g., lib/.gitignore.
103003         (slurp): Handle the sys_stat_.h -> sys mapping, too.
103005         * build-aux/bootstrap: New setting: vc_ignore.
103006         (insert_sorted_if_absent): Create $file if absent.
103007         Adapt to new, possibly empty, list: $vc_ignore.
103009         bootstrap: generate more ignorable names
103010         * build-aux/bootstrap (slurp): When generating ignorable names,
103011         also map .sin to .sed, .gperf to .c, and .y to .c.
103013 2007-09-03  Jim Meyering  <jim@meyering.net>
103015         * build-aux/git-version-gen: New file, from coreutils.  For details, see
103016         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
103018 2007-09-02  Bruno Haible  <bruno@clisp.org>
103020         Fix mis-recognition of 'mcs' on QNX 6.
103021         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
103022         output contains the string "Mono".
103023         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
103024         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
103026 2007-09-01  Bruno Haible  <bruno@clisp.org>
103028         Fix collision between uniwidth/* and linebreak modules.
103029         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
103030         u32_width): Remove declarations.
103031         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
103032         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
103033         streq3, streq2, streq1, streq0): Remove functions.
103034         (STREQ): Remove macro.
103035         (is_cjk_encoding): Remove function.
103036         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
103037         (uc_width, u8_width, u16_width, u32_width): Remove functions.
103038         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
103039         * NEWS: Document the change.
103041 2007-09-01  Bruno Haible  <bruno@clisp.org>
103043         * lib/streq.h: Add double-inclusion guard.
103045 2007-09-01  Karl Berry  <karl@gnu.org>
103047         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
103049 2007-08-28  Jim Meyering  <jim@meyering.net>
103051         Rename mreadlink_with_size to areadlink_with_size.
103052         * NEWS: Document the change.
103053         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
103054         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
103055         * lib/mreadlink.h: Rename this to...
103056         * lib/areadlink.h: ...this.
103057         * modules/mreadlink-with-size: Rename this to...
103058         * modules/areadlink-with-size: ...this.
103059         * lib/canonicalize.c: Reflect the renaming.
103060         * modules/canonicalize: Likewise.
103062 2007-08-26  Bruno Haible  <bruno@clisp.org>
103064         * gnulib-tool (func_import): When deciding which files to remove,
103065         consider also dangling symbolic links.
103066         Reported by Eric Blake.
103068 2007-08-26  Bruno Haible  <bruno@clisp.org>
103070         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
103072 2007-08-23  Simon Josefsson  <simon@josefsson.org>
103074         * lib/readline.c: Don't include getline.h, the prototype is now
103075         found in stdio.h.
103077 2007-08-23  Jim Meyering  <jim@meyering.net>
103079         Getdelim touchup.
103080         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
103081         around the funlockfile call, since funlockfile never sets errno.
103082         Don't set errno upon failed realloc.
103084 2007-08-22  Eric Blake  <ebb9@byu.net>
103086         Getline touchups.
103087         * lib/getdelim.c (getdelim): Revert regression that required *n to
103088         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
103089         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
103090         getdelim, rather than whether implementation is missing.
103091         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
103092         * lib/stdio_.h (getline): Also declare if replacement is
103093         required.
103094         * doc/functions/getdelim.texi: New file.
103095         * doc/functions/getline.texi: Likewise.
103096         * doc/gnulib.texi (Function Substitutes): Add new files.
103097         Reported by Bruno Haible.
103099 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
103101         * users.txt: Add Guile.
103103 2007-08-22  Eric Blake  <ebb9@byu.net>
103105         * tests/test-getdelim.c (main): Use remove, not unlink.
103106         * tests/test-getline.c (main): Likewise.
103108         Move getline and getdelim into stdio.h, per POSIX 200x.
103109         * modules/getline (Files): Remove getline.h.
103110         (Depends-on): Add stdio.
103111         (configure.ac): Add module indicator.
103112         * modules/getdelim (Files): Remove getdelim.h.
103113         (Depends-on): Add stdio.
103114         (configure.ac): Add module indicator.
103115         * modules/stdio (Makefile.am): Work with new indicators.
103116         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
103117         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
103118         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
103119         * lib/getdelim.h: Delete.
103120         * lib/getline.h: Delete.
103121         * lib/stdio_.h (getdelim, getline): Declare.
103122         * modules/getdelim-tests: New module.
103123         * modules/getline-tests: Likewise.
103124         * tests/test-getdelim.c: New file.
103125         * tests/test-getline.c: Likewise.
103126         * NEWS: Document the change.
103127         * lib/getline.c: Update choice of header.
103128         * lib/csharpcomp.c: Likewise.
103129         * lib/getpass.c: Likewise.
103130         * lib/javacomp.c: Likewise.
103131         * lib/javaversion.c: Likewise.
103132         * lib/yesno.c: Likewise.
103133         * lib/getdelim.c: Likewise.
103134         (getdelim): Set errno on failure, and avoid memory leak.
103136 2007-08-19  Bruno Haible  <bruno@clisp.org>
103138         * modules/closein (Depends-on): Add freadahead.
103139         * lib/closein.c: Include freadahead.h.
103140         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
103141         is zero.
103143 2007-08-19  Bruno Haible  <bruno@clisp.org>
103145         * modules/freadahead-tests: New file.
103146         * tests/test-freadahead.sh: New file.
103147         * tests/test-freadahead.c: New file.
103149         * modules/freadahead: New file.
103150         * lib/freadahead.h: New file.
103151         * lib/freadahead.c: New file.
103152         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
103153         fbufmode, fpurge, freadable, fwritable.
103155 2007-08-19  Eric Blake  <ebb9@byu.net>
103157         Test yesno in combination with closein.
103158         * lib/yesno.c (yesno): Document use of stdin.
103159         * modules/yesno-tests (Files): New module.
103160         * tests/test-yesno.c (main): New file.
103161         * tests/test-yesno.sh: Likewise.
103163 2007-08-19  Bruno Haible  <bruno@clisp.org>
103165         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
103166         * lib/fseeko.c (rpl_fseeko): Likewise.
103167         * lib/fseterr.c (fseterr): Likewise.
103169 2007-08-19  Bruno Haible  <bruno@clisp.org>
103171         * tests/test-lseek.c (main): Disable a test for BeOS.
103172         * doc/functions/lseek.texi: Document the BeOS bug.
103174 2007-08-19  Bruno Haible  <bruno@clisp.org>
103175             Eric Blake  <ebb9@byu.net>
103177         * lib/lseek.c: Include <sys/stat.h>.
103178         (rpl_lseek): Add workaround code also for Unix platforms.
103179         Needed for BeOS.
103180         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
103181         * doc/functions/lseek.texi: Document BeOS definiency.
103183 2007-08-18  Bruno Haible  <bruno@clisp.org>
103185         * modules/fstrcmp-tests: New file.
103186         * tests/test-fstrcmp.c: New file.
103188 2007-08-18  Bruno Haible  <bruno@clisp.org>
103190         * modules/fstrcmp: New file, from GNU gettext with modifications.
103191         * lib/fstrcmp.h: New file, from GNU gettext.
103192         * lib/fstrcmp.c: New file, from GNU gettext.
103193         * MODULES.html.sh (String handling): Add fstrcmp.
103195 2007-08-18  Bruno Haible  <bruno@clisp.org>
103197         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
103198         'bool'.
103199         (diag, compareseq): Remove const from the ctxt argument.
103200         (USE_HEURISTIC): Undefine at the end.
103202 2007-08-18  Jim Meyering  <jim@meyering.net>
103204         New file: lib/idcache.h
103205         * NEWS: Mention the addition.
103206         * modules/idcache (Files): Add lib/idcache.h
103207         * lib/idcache.c: Include "idcache.h".
103208         Don't include <sys/types.h>.
103209         Add a FIXME comment.
103210         Move file-scoped "static" declarations to the top.
103211         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
103213 2007-08-17  Bruno Haible  <bruno@clisp.org>
103214         and Paul Eggert  <eggert@cs.ucla.edu>
103216         * MODULES.html.sh: Add diffseq.
103217         * modules/diffseq: New file.
103218         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
103219         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
103221 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
103223         Import changes from coreutils for bootstrap script.
103225         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
103227         * build-aux/bootstrap (slurp): Work even in environments where
103228         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
103229         current code does not slurp files whose names start with ".", and
103230         this looks like it might be a troublesome area.
103232         2007-07-11  Jim Meyering  <jim@meyering.net>
103234         If there's a GPL vN copyright comment, require that N == 3.
103236         2007-07-08  Jim Meyering  <jim@meyering.net>
103238         Run the coreutils-specific code only if tests/Makefile.am.in exists.
103239         * build-aux/bootstrap (mam_template): Move definition out of loop.
103241         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
103243         * build-aux/bootstrap (symlink_to_dir): Rename function from
103244         symlink_to_gnulib.  Add a directory parameter.  Update all
103245         callers.
103246         (cp_mark_as_generated): Also check for -- and link to -- files in
103247         gl/.
103249         2007-07-08  Jim Meyering  <jim@meyering.net>
103251         Adapt to deeper hierarchy in gnulib.
103252         * build-aux/bootstrap (symlink_to_dir): If the destination
103253         directory doesn't exist, create it. This is required at least for
103254         "lib/uniwidth/cjk.h".
103256         2007-05-15  Jim Meyering  <jim@meyering.net>
103258         * build-aux/bootstrap: Now that generated Makefile.am files
103259         are no longer under version control, they must be created at
103260         bootstrap time.
103262 2007-08-14  Ben Pfaff  <blp@gnu.org>
103264         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
103266 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
103268         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
103269         given the changes below.
103270         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
103271         even on hosts that have padding bits beyond the supported 64.
103273 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
103275         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
103276         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
103277         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
103278         depends on it.
103279         (xstrtol_error): Remove.
103280         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
103281         but with a different signature.
103282         (ATTRIBUTE_NORETURN, __attribute__): New macros.
103283         * lib/xstrtol-error.c: Include exitfail.h.
103284         (xstrtol_fatal): New function, with a different signature from the
103285         old xstrtol_error, so that the caller need not worry about passing
103286         in an exit status, or about storage management of the option argument.
103287         (xstrtol_error): Now a static function.  Redo signature to
103288         implement xstrtol_fatal.  Output the correct number of hyphens in
103289         front of the option so that the caller need not worry about
103290         storage management.
103291         (N_): New macro.
103292         (_): Remove; not used now.
103293         * modules/xstrtol: Depend on getopt.
103294         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
103295         of old STRTOL_FATAL_ERROR macro.
103296         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
103297         of test program.
103298         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
103299         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
103301 2007-08-08  Eric Blake  <ebb9@byu.net>
103303         * lib/xstrtol-error.c: Add missing include.
103305         Move xstrtol messages into gnulib domain, when --pobase is used.
103306         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
103307         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
103308         * modules/xstrtol (Files): Distribute new file.
103309         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
103310         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
103311         * tests/test-xstrtol.c: ...into new file.
103312         * tests/test-xstrtoul.c: Also test xstrtoul.
103313         * tests/test-xstrtoimax.c: Also test xstrtoimax.
103314         * tests/test-xstrtoumax.c: Also test xstrtoumax.
103315         * tests/test-xstrtol.sh: Drive the tests.
103316         * tests/test-xstrtoimax.sh: Likewise.
103317         * tests/test-xstrtoumax.sh: Likewise.
103318         * modules/xstrtol-tests: New module.
103319         * modules/xstrtoimax-tests: Likewise.
103320         * modules/xstrtoumax-tests: Likewise.
103322 2007-08-08  Jim Meyering  <jim@meyering.net>
103324         New function: mfile_name_concat.
103325         * lib/filenamecat.c (mfile_name_concat): New function, just like
103326         file_name_concat, but return NULL upon failure rather than exiting
103327         with a diagnostic.
103328         * lib/filenamecat.h: Declare it.
103330 2007-08-07  Bruno Haible  <bruno@clisp.org>
103332         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
103333         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
103334         warning from gcc.
103335         Reported by Eric Blake.
103337 2007-08-07  Simon Josefsson  <simon@josefsson.org>
103339         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
103340         * modules/crypto/arcfour (License): Likewise.
103341         * modules/crypto/des-tests (License): Likewise.
103342         * modules/crypto/gc-arctwo-tests (License): Likewise.
103343         * modules/crypto/gc-des-tests (License): Likewise.
103344         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
103345         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
103346         * modules/crypto/gc-md2-tests (License): Likewise.
103347         * modules/crypto/gc-md4-tests (License): Likewise.
103348         * modules/crypto/gc-md5-tests (License): Likewise.
103349         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
103350         * modules/crypto/gc-rijndael-tests (License): Likewise.
103351         * modules/crypto/gc-sha1-tests (License): Likewise.
103352         * modules/crypto/gc-tests (License): Likewise.
103353         * modules/crypto/hmac-md5 (License): Likewise.
103354         * modules/crypto/hmac-sha1 (License): Likewise.
103355         * modules/crypto/md2-tests (License): Likewise.
103356         * modules/crypto/md4-tests (License): Likewise.
103357         * modules/crypto/md5 (License): Likewise.
103358         * modules/crypto/rijndael (License): Likewise.
103359         * modules/crypto/sha1 (License): Likewise.
103360         * modules/memxor (License): Likewise.
103362 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
103363         and Bruno Haible  <bruno@clisp.org>
103365         * NEWS: Describe interface changes to human, xstrtol.
103366         * lib/human.h: Include <xstrtol.h>.
103367         (human_options): Return enum strtol_error, not int.  Remove
103368         bool arg; take int * instead.
103369         * lib/human.c: Don't include "gettext.h".
103370         (_): Remove; no longer used.
103371         Don't include <xstrtol.h>, since human.h does it.
103372         (human_options): Adjust to abovementioned interface changes.
103373         Do not report error to stderr; that's now the caller's
103374         responsibility.
103375         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
103376         interface change.
103377         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
103378         Str, Argument_type_string.  All uses changed.  Put " argument"
103379         in diagnostics to make them clearer.  Change wording of suffix
103380         message for clarity.
103381         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
103382         Argument_type_string.
103383         (STRTOL_FATAL_WARN): Remove; no longer used.
103384         * modules/human (Depends-on): Remove gettext-h.
103386 2007-08-06  Simon Josefsson  <simon@josefsson.org>
103388         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
103390 2007-07-31  Bruno Haible  <bruno@clisp.org>
103392         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
103393         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
103394         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
103396 2007-07-31  Bruno Haible  <bruno@clisp.org>
103398         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
103399         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
103401 2007-07-30  Bruno Haible  <bruno@clisp.org>
103403         * modules/base64 (License): Use the synonymous term "LGPLv2+".
103404         * modules/c-ctype (License): Likewise.
103405         * modules/c-strcase (License): Likewise.
103406         * modules/check-version (License): Likewise.
103407         * modules/iconv (License): Likewise.
103408         * modules/iconv_open (License): Likewise.
103409         * modules/read-file (License): Likewise.
103410         * modules/striconv (License): Likewise.
103411         * modules/strverscmp (License): Likewise.
103412         * modules/vasprintf (License): Likewise.
103413         * modules/crypto/des (License): Likewise.
103414         * modules/crypto/gc (License): Likewise.
103415         * modules/crypto/gc-arcfour (License): Likewise.
103416         * modules/crypto/gc-arctwo (License): Likewise.
103417         * modules/crypto/gc-des (License): Likewise.
103418         * modules/crypto/gc-hmac-md5 (License): Likewise.
103419         * modules/crypto/gc-hmac-sha1 (License): Likewise.
103420         * modules/crypto/gc-md2 (License): Likewise.
103421         * modules/crypto/gc-md4 (License): Likewise.
103422         * modules/crypto/gc-md5 (License): Likewise.
103423         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
103424         * modules/crypto/gc-random (License): Likewise.
103425         * modules/crypto/gc-rijndael (License): Likewise.
103426         * modules/crypto/gc-sha1 (License): Likewise.
103427         * modules/crypto/md2 (License): Likewise.
103428         * modules/crypto/md4 (License): Likewise.
103430 2007-07-30  Jim Meyering  <jim@meyering.net>
103432         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
103433         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
103434         it has valid stat data.  This bug would cause du not to count the
103435         sizes of inaccessible directories.
103436         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
103437         in <http://bugzilla.redhat.com/250077>.
103439 2007-07-25  Peter O'Gorman  <peter@pogma.com>
103440             Bruno Haible  <bruno@clisp.org>
103442         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
103443         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
103444         #include_next, gives a diagnostic about it, but reports no error in
103445         the exit code.
103446         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
103448 2007-07-24  Ben Pfaff  <blp@gnu.org>
103450         Improve name: "count-one-bits" is better than "popcount".
103451         * MODULES.html.sh: Update name.
103452         * lib/popcount.h: Renamed lib/count-one-bits.h.
103453         (popcount): Renamed count_one_bits.
103454         (popcountl): Renamed count_one_bits_l.
103455         (popcountll): Renamed count_one_bits_ll.
103456         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
103457         * modules/popcount: Renamed module/count-one-bits.
103458         * modules/popcount-tests: Renamed module/count-one-bits-tests.
103459         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
103461 2007-07-23  Ben Pfaff  <blp@gnu.org>
103463         * lib/popcount.h (popcount32): Reduce size of constants, to allow
103464         better code generation, and add U to large constants to avoid
103465         warnings, in non-GCC case.
103466         Suggested by Bruno Haible.
103468 2007-07-23  Ben Pfaff  <blp@gnu.org>
103470         * lib/popcount.h: Use verify_true instead of if...abort.
103471         * modules/popcount: Depend on verify module.
103472         Suggested by Jim Meyering.
103474 2007-07-23  Bruno Haible  <bruno@clisp.org>
103476         * gnulib-tool (func_import): Create a .cvsignore file also when the
103477         directory is not yet in CVS but the toplevel directory is. When
103478         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
103479         Reported by Karl Berry.
103481 2007-07-22  Ben Pfaff  <blp@gnu.org>
103483         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
103484         case.
103485         Suggested by Eric Blake.
103487 2007-07-22  Ben Pfaff  <blp@gnu.org>
103489         New module: popcount.
103490         * MODULES.html.sh: Add popcount.
103491         * modules/popcount: New file.
103492         * modules/popcount-tests: New file.
103493         * tests/test-popcount.c: New file.
103494         * lib/popcount.h: New file.
103495         * m4/popcount.m4: New file.
103497 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
103499         * build-aux/announce-gen: Update to GPLv3.
103501         * build-aux/config.guess: Update from config.
103503 2007-07-21  Bruno Haible  <bruno@clisp.org>
103505         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
103506         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
103508 2007-07-20  Jim Meyering  <jim@meyering.net>
103510         * check-module: Diagnose a self-dependency.
103512 2007-07-19  Bruno Haible  <bruno@clisp.org>
103514         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
103515         empty.
103516         Reported by Eric Blake.
103518 2007-07-18  Bruno Haible  <bruno@clisp.org>
103520         * gnulib-tool: New options --po-base, --po-domain.
103521         (func_usage): Document them.
103522         (pobase, po_domain): New variables.
103523         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
103524         DEFAULT_TEXT_DOMAIN.
103525         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
103526         (func_import): Consider pobase and po_domain. Create a po/ directory.
103527         (func_create_testdir): Set pobase and po_domain to empty.
103528         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
103529         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
103531 2007-07-18  Bruno Haible  <bruno@clisp.org>
103533         * gnulib-tool (func_get_automake_snippet): Synthesize also an
103534         EXTRA_DIST augmentation for files in build-aux/.
103536 2007-07-16  Bruno Haible  <bruno@clisp.org>
103538         * modules/lseek (License): Use the synonymous term "LGPLv2+".
103539         * modules/getdelim (License): Likewise.
103541 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
103543         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
103544         * modules/d-type (License): Likewise.
103545         * modules/extensions (License): Likewise.
103546         * modules/fnmatch (License): Likewise.
103547         * modules/fseeko (License): Likewise.
103548         * modules/getaddrinfo (License): Likewise.
103549         * modules/getline (License): Likewise.
103550         * modules/getlogin_r (License): Likewise.
103551         * modules/getpass (License): Likewise.
103552         * modules/gettimeofday (License): Likewise.
103553         * modules/glob (License): Likewise.
103554         * modules/inet_ntop (License): Likewise.
103555         * modules/malloc (License): Likewise.
103556         * modules/malloca (License): Likewise.
103557         * modules/memmem (License): Likewise.
103558         * modules/mempcpy (License): Likewise.
103559         * modules/memset (License): Likewise.
103560         * modules/minmax (License): Likewise.
103561         * modules/mktime (License): Likewise.
103562         * modules/netinet_in (License): Likewise.
103563         * modules/pathmax (License): Likewise.
103564         * modules/poll (License): Likewise.
103565         * modules/regex (License): Likewise.
103566         * modules/snprintf (License): Likewise.
103567         * modules/stdbool (License): Likewise.
103568         * modules/stdint (License): Likewise.
103569         * modules/stdio (License): Likewise.
103570         * modules/strcase (License): Likewise.
103571         * modules/strcasestr (License): Likewise.
103572         * modules/strdup (License): Likewise.
103573         * modules/string (License): Likewise.
103574         * modules/strndup (License): Likewise.
103575         * modules/strnlen (License): Likewise.
103576         * modules/strpbrk (License): Likewise.
103577         * modules/strptime (License): Likewise.
103578         * modules/strsep (License): Likewise.
103579         * modules/sys_select (License): Likewise.
103580         * modules/sys_socket (License): Likewise.
103581         * modules/sys_stat (License): Likewise.
103582         * modules/sys_time (License): Likewise.
103583         * modules/time (License): Likewise.
103584         * modules/time_r (License): Likewise.
103585         * modules/timegm (License): Likewise.
103586         * modules/unistd (License): Likewise.
103587         * modules/vsnprintf (License): Likewise.
103588         * modules/wctype (License): Likewise.
103590 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103592         * modules/argz (License): LGPLv2+.
103594 2007-07-15  Karl Berry  <karl@gnu.org>
103596         * doc/gnulib.texi: revise node structure per new fdl.texi.
103598 2007-07-14  Bruno Haible  <bruno@clisp.org>
103600         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
103601         the output file.
103602         * lib/uniname/uninames.h: Regenerated.
103604 2007-07-14  Karl Berry  <karl@gnu.org>
103606         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
103607         omitting sectioning and index commands.
103609 2007-07-13  Bruno Haible  <bruno@clisp.org>
103611         New gnulib-tool option --more-symlinks.
103612         * gnulib-tool (func_usage): Document --more-symlinks.
103613         (do_copyrights): New variable.
103614         Recognize option --more-symlinks.
103615         (func_import): Don't add a copyright notice transform to
103616         sed_transform_lib_file if do_copyrights is empty.
103618 2007-07-13  Bruno Haible  <bruno@clisp.org>
103620         * lib/vasnprintf.c (decimal_point_char): Define also if
103621         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
103622         && !NEED_PRINTF_DIRECTIVE_A.
103623         Reported by Clemens Koller <clemens.koller@anagramm.de> via
103624         Gary V. Vaughan <gary@gnu.org>.
103626 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
103628         * lib/inttypes_.h: Undo previous change, since it was fixed
103629         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
103631 2007-07-13  Bruno Haible  <bruno@clisp.org>
103633         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
103634         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
103636 2007-07-13  Jim Meyering  <jim@meyering.net>
103638         df: Don't fail for Tru64's "file-on-file mount".
103639         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
103640         so we fall through and use statfs instead.  Details here:
103641         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
103642         Reported by Albert Chin.
103644 2007-07-13  Bruno Haible  <bruno@clisp.org>
103646         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
103647         * modules/configmake (License): Likewise.
103648         * modules/gettext (License): Likewise.
103649         * modules/gettext-h (License): Likewise.
103650         * modules/include_next (License): Likewise.
103651         * modules/link-warning (License): Likewise.
103652         * modules/localcharset (License): Likewise.
103653         * modules/localename (License): Likewise.
103654         * modules/lock (License): Likewise.
103655         * modules/relocatable-lib-lgpl (License): Likewise.
103656         * modules/size_max (License): Likewise.
103657         * modules/vasnprintf (License): Likewise.
103658         * modules/wchar (License): Likewise.
103659         * modules/xsize (License): Likewise.
103661 2007-07-13  Bruno Haible  <bruno@clisp.org>
103663         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
103664         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
103666 2007-07-12  Bruno Haible  <bruno@clisp.org>
103668         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
103669         in the modules files.
103671 2007-07-11  Karl Berry  <karl@gnu.org>
103673         * MODULES.html.sh (func_module): use
103674          sed -e '\|^'"${includefile}"'$|d'
103675          instead of /.../d, to avoid errors on $includefile's containing /.
103677 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
103679         * gnulib-tool (func_import): Avoid duplication of --avoid
103680         statements
103681         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
103682         names to `_' in variable names.
103684 2007-07-10  Eric Blake  <ebb9@byu.net>
103686         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
103687         * NEWS: Document this change.
103689 2007-07-08  Bruno Haible  <bruno@clisp.org>
103691         Update to Unicode 5.0.
103692         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
103693         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
103694         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
103695         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
103696         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
103697         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
103698         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
103699         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
103700         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
103701         U+10A3F, U+1D242..U+1D244.
103702         (nonspacing_table_ind): Update.
103703         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
103704         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
103706 2007-07-08  Bruno Haible  <bruno@clisp.org>
103708         Update to Unicode 5.0.
103709         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
103710         code transform. Extend the name index field of unicode_name_to_code and
103711         unicode_code_to_name from 16 to 24 bits.
103712         * lib/uniname/uniname.c (unicode_character_name,
103713         unicode_name_character): Add the range 0x12xxx to the code transform.
103714         * lib/uniname/uninames.h: Regenerated.
103715         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
103717 2007-07-07  Bruno Haible  <bruno@clisp.org>
103719         * modules/wcwidth-tests: New file.
103720         * tests/test-wcwidth.c: New file.
103722         Work around MacOS X wcwidth() bug.
103723         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
103724         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
103725         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
103726         original wcwidth in non-UTF-8 locales.
103727         * modules/wcwidth (Depends-on): Add localcharset, streq,
103728         uniwidth/width.
103729         * doc/functions/wcwidth.texi: Update.
103731 2007-07-07  Bruno Haible  <bruno@clisp.org>
103733         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
103734         (wcwidth): New declaration.
103735         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
103736         macros.
103737         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
103738         here. Prepare for creating <wchar.h> unconditionally.
103739         * modules/wchar (Depends-on): Add link-warning.
103740         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
103741         REPLACE_WCWIDTH, and GL_LINK_WARNING.
103742         * lib/wcwidth.h: Remove file.
103743         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
103744         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
103745         * modules/wcwidth (Files): Remove lib/wcwidth.h.
103746         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
103747         (Include): Replace wcwidth.h with <wchar.h>.
103748         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
103749         * lib/mbchar.h: Don't include wcwidth.h.
103750         * lib/mbswidth.c: Likewise.
103751         * NEWS: Mention the change.
103753 2007-07-07  Bruno Haible  <bruno@clisp.org>
103755         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
103756         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
103757         definition with an external declaration.
103758         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
103759         defined as a function. Remove AC_C_INLINE requirement.
103760         * modules/wcwidth (Files): Add lib/wcwidth.c.
103761         (Makefile.am): Remove redundant statement.
103763 2007-07-07  Bruno Haible  <bruno@clisp.org>
103765         * MODULES.html.sh (Unicode string functions): Add the new modules.
103767         * tests/uniwidth/test-u32-strwidth.c: New file.
103768         * modules/uniwidth/u32-strwidth-tests: New file.
103770         * lib/uniwidth/u32-strwidth.c: New file.
103771         * modules/uniwidth/u32-strwidth: New file.
103773         * tests/uniwidth/test-u16-strwidth.c: New file.
103774         * modules/uniwidth/u16-strwidth-tests: New file.
103776         * lib/uniwidth/u16-strwidth.c: New file.
103777         * modules/uniwidth/u16-strwidth: New file.
103779         * tests/uniwidth/test-u8-strwidth.c: New file.
103780         * modules/uniwidth/u8-strwidth-tests: New file.
103782         * lib/uniwidth/u8-strwidth.c: New file.
103783         * modules/uniwidth/u8-strwidth: New file.
103785         * tests/uniwidth/test-u32-width.c: New file.
103786         * modules/uniwidth/u32-width-tests: New file.
103788         * lib/uniwidth/u32-width.c: New file.
103789         * modules/uniwidth/u32-width: New file.
103791         * tests/uniwidth/test-u16-width.c: New file.
103792         * modules/uniwidth/u16-width-tests: New file.
103794         * lib/uniwidth/u16-width.c: New file.
103795         * modules/uniwidth/u16-width: New file.
103797         * tests/uniwidth/test-u8-width.c: New file.
103798         * modules/uniwidth/u8-width-tests: New file.
103800         * lib/uniwidth/u8-width.c: New file.
103801         * modules/uniwidth/u8-width: New file.
103803         * tests/uniwidth/test-uc_width.c: New file.
103804         * modules/uniwidth/width-tests: New file.
103806         * lib/uniwidth/width.c: New file, from GNU libiconv.
103807         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
103808         * modules/uniwidth/width: New file.
103810         * lib/uniwidth.h: New file, from GNU libiconv.
103811         * modules/uniwidth/base: New file.
103813 2007-07-07  Bruno Haible  <bruno@clisp.org>
103815         * lib/uniname.h: New file, from GNU gettext.
103816         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
103817         * lib/uniname/uninames.h: New file, from GNU gettext.
103818         * lib/uniname/uniname.c: New file, from GNU gettext.
103819         * tests/uniname/test-uninames.sh: New file.
103820         * tests/uniname/test-uninames.c: New file, from GNU gettext.
103821         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
103822         * modules/uniname/base: New file.
103823         * modules/uniname/uniname: New file.
103824         * modules/uniname/uniname-tests: New file.
103825         * MODULES.html.sh (Unicode string functions): Add the new modules.
103827 2007-07-06  Bruno Haible  <bruno@clisp.org>
103829         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
103831 2007-07-06  Bruno Haible  <bruno@clisp.org>
103833         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
103834         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
103835         includes <cygwin/sys_time.h> which includes <sys/select.h> which
103836         include <sys/time.h>.
103837         Reported by Eric Blake.
103839 2007-07-06  Eric Blake  <ebb9@byu.net>
103841         Fix testing canonicalize on cygwin.
103842         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
103843         Revert patch from 2007-06-19.
103844         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
103845         canonicalize module is also in use.
103846         * tests/test-canonicalize.c: New file.
103847         * tests/test-canonicalize.sh: Likewise.
103848         * modules/canonicalize-tests: Likewise.
103850 2007-07-06  Jim Meyering  <jim@meyering.net>
103852         * lib/getugroups.c (getugroups): Detect getgrent failure.
103853         Adjust comment to reflect reality: this function may return -1.
103855 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
103857         * build-aux/bootstrap (TP_URL,get_translations): Update to use
103858         the new TP address.
103859         (usage): Fix typo
103860         (gnulib_mk): New variable.
103862 2007-07-05  Jim Meyering  <jim@meyering.net>
103864         Don't let endgrent clobber errno, no matter how improbable.
103865         * lib/getugroups.c (getugroups): Save and restore errno around
103866         endgrent call.
103868         Close the group DB even when failing with 2^31 or more members.
103869         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
103871 2007-07-04  Jim Meyering  <jim@meyering.net>
103873         * lib/getugroups.h: New file.
103874         * lib/getugroups.c: Include "getugroups.h".
103875         Remove uses of "register" keyword.
103876         Move local variable, "cp", down into scope where used.
103877         Give "username" parameter the "const" attribute.
103878         * modules/getugroups (Files): Add lib/getugroups.h
103880 2007-07-04  Karl Berry  <karl@gnu.org>
103882         * MODULES.html.sh (func_all_modules): Complete rename of
103883         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
103885 2007-07-02  Bruno Haible  <bruno@clisp.org>
103887         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
103888         mode, when inttypes.h comes from gnulib.
103889         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
103891 2007-07-02  Simon Josefsson  <simon@josefsson.org>
103893         * NEWS: Mention lgpl module name change.
103895         * modules/lgpl-2.1: Renamed from lgpl.
103897         * NEWS: Mention gpl module name change.
103899         * modules/gpl-3.0: New file, based on gpl-2.0.
103901         * modules/gpl-2.0: Renamed from gpl.
103903         * modules/gpl: Fix filename, doc/gpl.texi is now found at
103904         doc/gpl-2.0.texi.
103906 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
103908         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
103909         #define __STDC_LIMIT_MACROS temporarily while including
103910         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
103911         Problem reported by Joel E. Denny in
103912         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
103914 2007-07-01  Bruno Haible  <bruno@clisp.org>
103916         * lib/unistdio.h: New file.
103917         * lib/unistdio/u-asnprintf.h: New file.
103918         * lib/unistdio/u-asprintf.h: New file.
103919         * lib/unistdio/u-printf-args.c: New file.
103920         * lib/unistdio/u-printf-args.h: New file.
103921         * lib/unistdio/u-printf-parse.h: New file.
103922         * lib/unistdio/u-snprintf.h: New file.
103923         * lib/unistdio/u-sprintf.h: New file.
103924         * lib/unistdio/u-vasprintf.h: New file.
103925         * lib/unistdio/u-vsnprintf.h: New file.
103926         * lib/unistdio/u-vsprintf.h: New file.
103927         * lib/unistdio/ulc-asnprintf.c: New file.
103928         * lib/unistdio/ulc-asprintf.c: New file.
103929         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
103930         * lib/unistdio/ulc-printf-parse.c: New file.
103931         * lib/unistdio/ulc-snprintf.c: New file.
103932         * lib/unistdio/ulc-sprintf.c: New file.
103933         * lib/unistdio/ulc-vasnprintf.c: New file.
103934         * lib/unistdio/ulc-vasprintf.c: New file.
103935         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
103936         * lib/unistdio/ulc-vsnprintf.c: New file.
103937         * lib/unistdio/ulc-vsprintf.c: New file.
103938         * lib/unistdio/u8-asnprintf.c: New file.
103939         * lib/unistdio/u8-asprintf.c: New file.
103940         * lib/unistdio/u8-printf-parse.c: New file.
103941         * lib/unistdio/u8-snprintf.c: New file.
103942         * lib/unistdio/u8-sprintf.c: New file.
103943         * lib/unistdio/u8-vasnprintf.c: New file.
103944         * lib/unistdio/u8-vasprintf.c: New file.
103945         * lib/unistdio/u8-vsnprintf.c: New file.
103946         * lib/unistdio/u8-vsprintf.c: New file.
103947         * lib/unistdio/u8-u8-asnprintf.c: New file.
103948         * lib/unistdio/u8-u8-asprintf.c: New file.
103949         * lib/unistdio/u8-u8-snprintf.c: New file.
103950         * lib/unistdio/u8-u8-sprintf.c: New file.
103951         * lib/unistdio/u8-u8-vasnprintf.c: New file.
103952         * lib/unistdio/u8-u8-vasprintf.c: New file.
103953         * lib/unistdio/u8-u8-vsnprintf.c: New file.
103954         * lib/unistdio/u8-u8-vsprintf.c: New file.
103955         * lib/unistdio/u16-asnprintf.c: New file.
103956         * lib/unistdio/u16-asprintf.c: New file.
103957         * lib/unistdio/u16-printf-parse.c: New file.
103958         * lib/unistdio/u16-snprintf.c: New file.
103959         * lib/unistdio/u16-sprintf.c: New file.
103960         * lib/unistdio/u16-vasnprintf.c: New file.
103961         * lib/unistdio/u16-vasprintf.c: New file.
103962         * lib/unistdio/u16-vsnprintf.c: New file.
103963         * lib/unistdio/u16-vsprintf.c: New file.
103964         * lib/unistdio/u16-u16-asnprintf.c: New file.
103965         * lib/unistdio/u16-u16-asprintf.c: New file.
103966         * lib/unistdio/u16-u16-snprintf.c: New file.
103967         * lib/unistdio/u16-u16-sprintf.c: New file.
103968         * lib/unistdio/u16-u16-vasnprintf.c: New file.
103969         * lib/unistdio/u16-u16-vasprintf.c: New file.
103970         * lib/unistdio/u16-u16-vsnprintf.c: New file.
103971         * lib/unistdio/u16-u16-vsprintf.c: New file.
103972         * lib/unistdio/u32-asnprintf.c: New file.
103973         * lib/unistdio/u32-asprintf.c: New file.
103974         * lib/unistdio/u32-printf-parse.c: New file.
103975         * lib/unistdio/u32-snprintf.c: New file.
103976         * lib/unistdio/u32-sprintf.c: New file.
103977         * lib/unistdio/u32-vasnprintf.c: New file.
103978         * lib/unistdio/u32-vasprintf.c: New file.
103979         * lib/unistdio/u32-vsnprintf.c: New file.
103980         * lib/unistdio/u32-vsprintf.c: New file.
103981         * lib/unistdio/u32-u32-asnprintf.c: New file.
103982         * lib/unistdio/u32-u32-asprintf.c: New file.
103983         * lib/unistdio/u32-u32-snprintf.c: New file.
103984         * lib/unistdio/u32-u32-sprintf.c: New file.
103985         * lib/unistdio/u32-u32-vasnprintf.c: New file.
103986         * lib/unistdio/u32-u32-vasprintf.c: New file.
103987         * lib/unistdio/u32-u32-vsnprintf.c: New file.
103988         * lib/unistdio/u32-u32-vsprintf.c: New file.
103989         * tests/unistdio/test-ulc-asnprintf1.c: New file.
103990         * tests/unistdio/test-ulc-asnprintf1.h: New file.
103991         * tests/unistdio/test-ulc-printf1.h: New file.
103992         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
103993         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
103994         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
103995         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
103996         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
103997         * tests/unistdio/test-ulc-vasprintf1.c: New file.
103998         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
103999         * tests/unistdio/test-ulc-vsprintf1.c: New file.
104000         * tests/unistdio/test-u8-asnprintf1.c: New file.
104001         * tests/unistdio/test-u8-asnprintf1.h: New file.
104002         * tests/unistdio/test-u8-printf1.h: New file.
104003         * tests/unistdio/test-u8-vasnprintf1.c: New file.
104004         * tests/unistdio/test-u8-vasnprintf2.c: New file.
104005         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
104006         * tests/unistdio/test-u8-vasnprintf3.c: New file.
104007         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
104008         * tests/unistdio/test-u8-vasprintf1.c: New file.
104009         * tests/unistdio/test-u8-vsnprintf1.c: New file.
104010         * tests/unistdio/test-u8-vsprintf1.c: New file.
104011         * tests/unistdio/test-u16-asnprintf1.c: New file.
104012         * tests/unistdio/test-u16-asnprintf1.h: New file.
104013         * tests/unistdio/test-u16-printf1.h: New file.
104014         * tests/unistdio/test-u16-vasnprintf1.c: New file.
104015         * tests/unistdio/test-u16-vasnprintf2.c: New file.
104016         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
104017         * tests/unistdio/test-u16-vasnprintf3.c: New file.
104018         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
104019         * tests/unistdio/test-u16-vasprintf1.c: New file.
104020         * tests/unistdio/test-u16-vsnprintf1.c: New file.
104021         * tests/unistdio/test-u16-vsprintf1.c: New file.
104022         * tests/unistdio/test-u32-asnprintf1.c: New file.
104023         * tests/unistdio/test-u32-asnprintf1.h: New file.
104024         * tests/unistdio/test-u32-printf1.h: New file.
104025         * tests/unistdio/test-u32-vasnprintf1.c: New file.
104026         * tests/unistdio/test-u32-vasnprintf2.c: New file.
104027         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
104028         * tests/unistdio/test-u32-vasnprintf3.c: New file.
104029         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
104030         * tests/unistdio/test-u32-vasprintf1.c: New file.
104031         * tests/unistdio/test-u32-vsnprintf1.c: New file.
104032         * tests/unistdio/test-u32-vsprintf1.c: New file.
104033         * modules/unistdio/base: New file.
104034         * modules/unistdio/u-printf-args: New file.
104035         * modules/unistdio/ulc-asnprintf: New file.
104036         * modules/unistdio/ulc-asprintf: New file.
104037         * modules/unistdio/ulc-fprintf: New file.
104038         * modules/unistdio/ulc-printf-parse: New file.
104039         * modules/unistdio/ulc-snprintf: New file.
104040         * modules/unistdio/ulc-sprintf: New file.
104041         * modules/unistdio/ulc-vasnprintf: New file.
104042         * modules/unistdio/ulc-vasprintf: New file.
104043         * modules/unistdio/ulc-vfprintf: New file.
104044         * modules/unistdio/ulc-vsnprintf: New file.
104045         * modules/unistdio/ulc-vsprintf: New file.
104046         * modules/unistdio/u8-asnprintf: New file.
104047         * modules/unistdio/u8-asprintf: New file.
104048         * modules/unistdio/u8-printf-parse: New file.
104049         * modules/unistdio/u8-snprintf: New file.
104050         * modules/unistdio/u8-sprintf: New file.
104051         * modules/unistdio/u8-vasnprintf: New file.
104052         * modules/unistdio/u8-vasprintf: New file.
104053         * modules/unistdio/u8-vsnprintf: New file.
104054         * modules/unistdio/u8-vsprintf: New file.
104055         * modules/unistdio/u8-u8-asnprintf: New file.
104056         * modules/unistdio/u8-u8-asprintf: New file.
104057         * modules/unistdio/u8-u8-snprintf: New file.
104058         * modules/unistdio/u8-u8-sprintf: New file.
104059         * modules/unistdio/u8-u8-vasnprintf: New file.
104060         * modules/unistdio/u8-u8-vasprintf: New file.
104061         * modules/unistdio/u8-u8-vsnprintf: New file.
104062         * modules/unistdio/u8-u8-vsprintf: New file.
104063         * modules/unistdio/u16-asnprintf: New file.
104064         * modules/unistdio/u16-asprintf: New file.
104065         * modules/unistdio/u16-printf-parse: New file.
104066         * modules/unistdio/u16-snprintf: New file.
104067         * modules/unistdio/u16-sprintf: New file.
104068         * modules/unistdio/u16-vasnprintf: New file.
104069         * modules/unistdio/u16-vasprintf: New file.
104070         * modules/unistdio/u16-vsnprintf: New file.
104071         * modules/unistdio/u16-vsprintf: New file.
104072         * modules/unistdio/u16-u16-asnprintf: New file.
104073         * modules/unistdio/u16-u16-asprintf: New file.
104074         * modules/unistdio/u16-u16-snprintf: New file.
104075         * modules/unistdio/u16-u16-sprintf: New file.
104076         * modules/unistdio/u16-u16-vasnprintf: New file.
104077         * modules/unistdio/u16-u16-vasprintf: New file.
104078         * modules/unistdio/u16-u16-vsnprintf: New file.
104079         * modules/unistdio/u16-u16-vsprintf: New file.
104080         * modules/unistdio/u32-asnprintf: New file.
104081         * modules/unistdio/u32-asprintf: New file.
104082         * modules/unistdio/u32-printf-parse: New file.
104083         * modules/unistdio/u32-snprintf: New file.
104084         * modules/unistdio/u32-sprintf: New file.
104085         * modules/unistdio/u32-vasnprintf: New file.
104086         * modules/unistdio/u32-vasprintf: New file.
104087         * modules/unistdio/u32-vsnprintf: New file.
104088         * modules/unistdio/u32-vsprintf: New file.
104089         * modules/unistdio/u32-u32-asnprintf: New file.
104090         * modules/unistdio/u32-u32-asprintf: New file.
104091         * modules/unistdio/u32-u32-snprintf: New file.
104092         * modules/unistdio/u32-u32-sprintf: New file.
104093         * modules/unistdio/u32-u32-vasnprintf: New file.
104094         * modules/unistdio/u32-u32-vasprintf: New file.
104095         * modules/unistdio/u32-u32-vsnprintf: New file.
104096         * modules/unistdio/u32-u32-vsprintf: New file.
104097         * modules/unistdio/ulc-asnprintf-tests: New file.
104098         * modules/unistdio/ulc-vasnprintf-tests: New file.
104099         * modules/unistdio/ulc-vasprintf-tests: New file.
104100         * modules/unistdio/ulc-vsnprintf-tests: New file.
104101         * modules/unistdio/ulc-vsprintf-tests: New file.
104102         * modules/unistdio/u8-asnprintf-tests: New file.
104103         * modules/unistdio/u8-vasnprintf-tests: New file.
104104         * modules/unistdio/u8-vasprintf-tests: New file.
104105         * modules/unistdio/u8-vsnprintf-tests: New file.
104106         * modules/unistdio/u8-vsprintf-tests: New file.
104107         * modules/unistdio/u16-asnprintf-tests: New file.
104108         * modules/unistdio/u16-vasnprintf-tests: New file.
104109         * modules/unistdio/u16-vasprintf-tests: New file.
104110         * modules/unistdio/u16-vsnprintf-tests: New file.
104111         * modules/unistdio/u16-vsprintf-tests: New file.
104112         * modules/unistdio/u32-asnprintf-tests: New file.
104113         * modules/unistdio/u32-vasnprintf-tests: New file.
104114         * modules/unistdio/u32-vasprintf-tests: New file.
104115         * modules/unistdio/u32-vsnprintf-tests: New file.
104116         * modules/unistdio/u32-vsprintf-tests: New file.
104117         * MODULES.html.sh (Unicode string functions): Add the new modules.
104119 2007-07-01  Bruno Haible  <bruno@clisp.org>
104121         * lib/sprintf.c (sprintf): Limit the available length estimation,
104122         to avoid address wraparound.
104123         * lib/vsprintf.c (vsprintf): Likewise.
104124         * modules/sprintf-posix (Dependencies): Add stdint.
104125         * modules/vsprintf-posix (Dependencies): Likewise.
104127 2007-07-01  Bruno Haible  <bruno@clisp.org>
104129         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
104130         Windows PATH as well. Conservative double-quoting. Comments.
104132 2007-07-01  Bruno Haible  <bruno@clisp.org>
104133             Eric Blake  <ebb9@byu.net>
104134             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104136         * gnulib-tool (self_abspathname): Fix algorithm to cope with
104137         empty components in $PATH, denoting '.'.
104139 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104141         * gnulib-tool: Fix indentation.
104142         (func_create_megatestdir): Likewise.
104143         Report by Bruno Haible.
104145 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104147         Sync from Automake.
104148         * build-aux/gnupload: Fix shell portability issues with for loops.
104149         Report by Karl Berry.
104151 2007-06-29  Simon Josefsson  <simon@josefsson.org>
104153         * build-aux/maint.mk (POURL): Use translationproject.org.
104155 2007-06-27  Simon Josefsson  <simon@josefsson.org>
104156             Bruno Haible  <bruno@clisp.org>
104158         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
104159         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
104160         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
104161         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
104162         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
104164 2007-06-27  Bruno Haible  <bruno@clisp.org>
104166         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
104167         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
104169 2007-06-26  Karl Berry  <karl@gnu.org>
104171         * MODULES.html.sh: remove xreadlink-with-size.
104173 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
104175         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
104176         method that I hope also handles the double-include problem noted
104177         by Bruno Haible in
104178         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
104180 2007-06-23  Bruno Haible  <bruno@clisp.org>
104182         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
104183         Don't let the 'mostlyclean' target fail if the last subdirectory could
104184         not be removed.
104185         Reported by Karl Berry.
104187 2007-06-23  Bruno Haible  <bruno@clisp.org>
104189         * gnulib-tool (echo): Add a speedier workaround for ksh.
104190         * tests/test-echo.sh: Likewise.
104192 2007-06-23  Bruno Haible  <bruno@clisp.org>
104194         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
104195         * tests/test-echo.sh: Likewise.
104197 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104199         * gnulib-tool (IFS): Initialize early, so we don't set it to
104200         empty later.
104201         (self_abspathname): Rewrite algorithm to set it, reindent.
104202         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
104203         (func_create_megatestdir): Merge some sed scripts.
104205 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
104207         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
104208         exposed by Sun Studio 11 cc on Solaris 8.
104210 2007-06-22  Bruno Haible  <bruno@clisp.org>
104212         * gnulib-tool (echo): Ensure the echo primitive does not interpret
104213         backslashes.
104214         * tests/test-echo.sh: New file.
104216 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104218         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
104219         simplify `sed_replace_build_aux' scripts, they are portable but
104220         echoing them with `echo' is not.
104221         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
104223 2007-06-21  Karl Berry  <karl@gnu.org>
104225         * config/srclist.txt: guess we can't handle the licenses via
104226         srclist at the moment.
104228 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
104230         * MODULES.html.sh: Add include_next.
104231         * modules/include_next: New file.
104233 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
104235         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
104236         INCLUDE_NEXT.
104237         (gl_CHECK_NEXT_HEADERS): New macro.
104238         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
104239         the obsolescent gl_ABSOLUTE_HEADER.
104240         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
104241         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
104242         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
104243         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
104244         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
104245         * m4/math_h.m4 (gl_MATH_H): Likewise.
104246         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
104247         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
104248         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
104249         * m4/stdint.m4 (gl_STDINT_H): Likewise.
104250         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
104251         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
104252         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
104253         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
104254         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
104255         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
104256         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
104257         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
104258         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
104259         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
104260         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
104261         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
104262         * m4/inttypes.m4 (gl_INTTYPES_H): Define
104263         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
104264         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
104265         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
104266         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
104267         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
104268         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
104269         * lib/float_.h: Likewise.
104270         * lib/inttypes_.h: Likewise.
104271         * lib/math_.h: Likewise.
104272         * lib/search_.h: Likewise.
104273         * lib/signal_.h: Likewise.
104274         * lib/stdint_.h: Likewise.
104275         * lib/stdio_.h: Likewise.
104276         * lib/stdlib_.h: Likewise.
104277         * lib/string_.h: Likewise.
104278         * lib/sys_stat_.h: Likewise.
104279         * lib/sys_time_.h: Likewise.
104280         * lib/time_.h: Likewise.
104281         * lib/unistd_.h: Likewise.
104282         * lib/wchar_.h: Likewise.
104283         * lib/wctype_.h: Likewise.
104284         * lib/dirent_.h: Likewise.
104285         * lib/iconv_.h: Likewise.
104286         * lib/locale_.h: Likewise.
104287         * lib/netinet_in_.h: Likewise.
104288         * lib/sys_select_.h: Likewise.
104289         * lib/sys_socket_.h: Likewise.
104290         * lib/sysexits_.h: Likewise.
104291         * modules/fcntl (Depends-on): Depend on include_next, not
104292         absolute_header.
104293         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
104294         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
104295         * modules/fchdir: Likewise.
104296         * modules/float: Likewise.
104297         * modules/iconv_open: Likewise.
104298         * modules/inttypes: Likewise.
104299         * modules/locale: Likewise.
104300         * modules/math: Likewise.
104301         * modules/netinet_in: Likewise.
104302         * modules/search: Likewise.
104303         * modules/signal: Likewise.
104304         * modules/stdint: Likewise.
104305         * modules/stdio: Likewise.
104306         * modules/stdlib: Likewise.
104307         * modules/string: Likewise.
104308         * modules/sys_select: Likewise.
104309         * modules/sys_socket: Likewise.
104310         * modules/sys_stat: Likewise.
104311         * modules/sys_time: Likewise.
104312         * modules/sysexits: Likewise.
104313         * modules/time: Likewise.
104314         * modules/unistd: Likewise.
104315         * modules/wchar: Likewise.
104316         * modules/wctype: Likewise.
104317         * modules/sys_stat: Change maintainer to "all".
104318         * modules/unistd: Likewise.
104320 2007-06-20  Karl Berry  <karl@gnu.org>
104322         * config/srclist.txt: track www changes in license files.
104324 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
104326         * build-aux/bootstrap: Remove stray dot.
104327         Make sure build_aux settings are honored when linking
104328         gnulib_extra_files.
104330 2007-06-19  Eric Blake  <ebb9@byu.net>
104332         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
104333         Allow compilation on cygwin.
104335 2007-06-19  Jim Meyering  <jim@meyering.net>
104337         xreadlink-with-size: Remove module.  No longer used.
104338         Ex-callers now use xreadlink or mreadlink-with-size.
104339         * modules/xreadlink-with-size: Remove module.
104340         * lib/xreadlink-with-size.c: Remove file.
104341         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
104342         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
104343         just before the function definition *is* accurate.
104345         Eliminate one way canonicalize_filename_mode could exit.
104346         * lib/canonicalize.c (canonicalize_filename_mode):
104347         Use mreadlink_with_size, not xreadlink_with_size.
104349 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
104351         Detect porting problems to FreeBSD/arm, which has time_t wider than
104352         long int.  Original problem reported for GNU diff by Xin Li in
104353         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
104354         * modules/getdate (Depends-on): Add intprops, verify.
104355         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
104356         is an integer type no wider than long int.
104358 2007-06-18  Jim Meyering  <jim@meyering.net>
104360         New module: mreadlink-with-size.
104361         * MODULES.html.sh: Add mreadlink-with-size.
104362         * modules/mreadlink-with-size: New module
104363         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
104364         not xreadlink-with-size.
104365         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
104367 2007-06-16  Bruno Haible  <bruno@clisp.org>
104369         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
104370         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
104371         Reported by Gary V. Vaughan <gary@gnu.org>.
104373 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
104375         Revamp lchown so that it lives in unistd.h where it belongs.
104376         * lib/lchown.h: Remove.
104377         * lib/dirchownmod.c: Don't include lib/lchown.h.
104378         * lib/fchownat.c: Likewise.
104379         * lib/openat.c: Likewise.
104380         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
104381         does not follow symlinks.
104382         (EOPNOTSUPP): Define if not defined.
104383         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
104384         is defined to 0.
104385         (lchown): New decl.
104386         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
104387         Do not check for lchown decl.
104388         Set REPLACE_LCHOWN.
104389         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
104390         REPLACE_LCHOWN.
104391         * modules/chown: Make it clear it follows symlinks.
104392         * modules/lchown: Make it clear it doesn't follow symlinks.
104393         (Files): Remove lib/lchown.h
104394         (Depends-on): Add unistd.
104395         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
104396         (Include): Include <unistd.h>, not "lchown.h".
104397         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
104398         REPLACE_LCHOWN.
104400 2007-06-15  Jim Meyering  <jim@meyering.net>
104402         Change license (GPL to LGPL) of fsusage and dependents.
104403         * modules/fsusage (License): Change to LGPL.
104404         * modules/full-read (License): Likewise.
104405         * modules/full-write (License): Likewise.
104406         * modules/safe-read (License): Likewise.
104407         * modules/safe-write (License): Likewise.
104409 2007-06-14  Ben Pfaff  <blp@gnu.org>
104411         Missing part of allocsa -> malloca transition.
104412         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
104413         gl_MALLOCA.
104415 2007-06-12  Bruno Haible  <bruno@clisp.org>
104417         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
104418         to ia64, x86_64, i386.
104419         Reported by Eric Blake.
104421 2007-06-12  Bruno Haible  <bruno@clisp.org>
104423         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
104424         cross-compiling to x86_64.
104426 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
104428         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
104429         glitch reported by Ralf Wildenhues in
104430         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
104432         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
104433         Vin Shelton.
104435 2007-06-11  Bruno Haible  <bruno@clisp.org>
104437         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
104438         replacement string.
104439         Reported by Eric Blake.
104441 2007-06-10  Bruno Haible  <bruno@clisp.org>
104443         Prepare vasnprintf code for use with Unicode strings.
104444         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
104445         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
104446         TYPE_U32_STRING.
104447         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
104448         a_u32_string variants.
104449         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
104450         * lib/printf-args.c: Don't include config.h and the specification
104451         header if PRINTF_FETCHARGS is already defined.
104452         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
104453         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
104454         TYPE_U16_STRING, TYPE_U32_STRING.
104455         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
104456         u16_directive, u16_directives, u32_directive, u32_directives): New
104457         types.
104458         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
104459         New declarations.
104460         * lib/printf-parse.c: Don't include config.h and the specification
104461         header if PRINTF_PARSE is already defined. Eliminate the set of
104462         parameters for WIDE_CHAR_VERSION; the user of this file must provide
104463         them now. Include c-ctype.h.
104464         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
104465         directive and CHAR_T_ONLY_ASCII.
104466         * lib/vasnprintf.c: Don't include config.h and the specification header
104467         if VASNPRINTF is already defined.
104468         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
104469         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
104470         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
104471         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
104472         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
104473         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
104474         code accordingly.
104475         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
104476         pad_ourselves also in this case, with the 'c' and 's' directives, and
104477         with a different notion of "width".
104478         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
104480 2007-06-10  Bruno Haible  <bruno@clisp.org>
104482         * modules/unistr/u32-mbsnlen: New file.
104483         * lib/unistr/u32-mbsnlen.c: New file.
104485         * modules/unistr/u16-mbsnlen: New file.
104486         * lib/unistr/u16-mbsnlen.c: New file.
104488         * modules/unistr/u8-mbsnlen: New file.
104489         * lib/unistr/u8-mbsnlen.c: New file.
104491         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
104492         declarations.
104494 2007-06-10  Bruno Haible  <bruno@clisp.org>
104496         * lib/string_.h (mbsnlen): New declaration.
104497         * lib/mbsnlen.c: New file.
104498         * m4/mbsnlen.m4: New file.
104499         * modules/mbsnlen: New file.
104500         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
104501         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
104502         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
104504 2007-06-10  Bruno Haible  <bruno@clisp.org>
104506         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
104508 2007-06-10  Bruno Haible  <bruno@clisp.org>
104510         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
104511         * lib/mbuiter.h: Likewise.
104513 2007-06-10  Bruno Haible  <bruno@clisp.org>
104515         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
104516         declaration.
104518 2007-06-10  Karl Berry  <karl@gnu.org>
104520         * config/srclist.txt: remove gettext entries, Bruno prefers
104521         to update individually.
104523 2007-06-10  Bruno Haible  <bruno@clisp.org>
104525         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
104526         'maxlen'. Ensure only length + width bytes are allocated, not
104527         length + 1 + width.
104529 2007-06-09  Bruno Haible  <bruno@clisp.org>
104531         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
104532         (CHAR_T): Remove macro.
104533         (VASNPRINTF): Update.
104535 2007-06-09  Bruno Haible  <bruno@clisp.org>
104537         * MODULES.html.sh (Unicode string functions): Add the new modules.
104539         * modules/uniconv/u32-conv-to-enc: New file.
104540         * lib/uniconv/u32-conv-to-enc.c: New file.
104541         * modules/uniconv/u32-conv-to-enc-tests: New file.
104542         * tests/uniconv/test-u32-conv-to-enc.c: New file.
104544         * modules/uniconv/u16-conv-to-enc: New file.
104545         * lib/uniconv/u16-conv-to-enc.c: New file.
104546         * lib/uniconv/u-conv-to-enc.h: New file.
104547         * modules/uniconv/u16-conv-to-enc-tests: New file.
104548         * tests/uniconv/test-u16-conv-to-enc.c: New file.
104550         * modules/uniconv/u8-conv-to-enc: New file.
104551         * lib/uniconv/u8-conv-to-enc.c: New file.
104552         * modules/uniconv/u8-conv-to-enc-tests: New file.
104553         * tests/uniconv/test-u8-conv-to-enc.c: New file.
104555         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
104556         u32_conv_to_encoding): New declarations.
104558 2007-06-09  Bruno Haible  <bruno@clisp.org>
104560         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
104562 2007-06-09  Bruno Haible  <bruno@clisp.org>
104564         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
104565         * modules/malloca: Renamed from modules/allocsa, updated.
104566         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
104567         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
104568         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
104569         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
104570         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
104571         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
104572         * modules/xmalloca: Renamed from modules/xallocsa, updated.
104573         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
104574         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
104575         * modules/c-strcasestr (Depends-on): Update.
104576         * lib/c-strcasestr.c: Update.
104577         * modules/c-strstr (Depends-on): Update.
104578         * lib/c-strstr.c: Update.
104579         * modules/canonicalize-lgpl (Depends-on): Update.
104580         * lib/canonicalize-lgpl.c: Update.
104581         * modules/clean-temp (Depends-on): Update.
104582         * lib/clean-temp.c: Update.
104583         * modules/csharpcomp (Depends-on): Update.
104584         * lib/csharpcomp.c: Update.
104585         * modules/csharpexec (Depends-on): Update.
104586         * lib/csharpexec.c: Update.
104587         * modules/javacomp (Depends-on): Update.
104588         * lib/javacomp.c: Update.
104589         * modules/javaexec (Depends-on): Update.
104590         * lib/javaexec.c: Update.
104591         * modules/mbscasestr (Depends-on): Update.
104592         * lib/mbscasestr.c: Update.
104593         * modules/mbsstr (Depends-on): Update.
104594         * lib/mbsstr.c: Update.
104595         * modules/setenv (Depends-on): Update.
104596         * lib/setenv.c: Update.
104597         * modules/strcasestr (Depends-on): Update.
104598         * lib/strcasestr.c: Update.
104599         * modules/striconveha (Depends-on): Update.
104600         * lib/striconveha.c: Update.
104601         * modules/relocatable-prog-wrapper (Files): Update.
104602         * lib/relocwrapper.c: Update.
104603         * build-aux/install-reloc: Update.
104604         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
104606 2007-06-08  Bruno Haible  <bruno@clisp.org>
104608         Port to uClibc.
104609         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
104610         * lib/fpurge.c (fpurge): Likewise.
104611         * lib/freading.c (freading): Likewise.
104612         * lib/fseeko.c (rpl_fseeko): Likewise.
104613         * lib/fseterr.c (fseterr): Likewise.
104614         * lib/fwriting.c (fwriting): Likewise.
104615         * tests/test-fflush.c (main): Avoid a failure on uClibc.
104617 2007-06-08  Bruno Haible  <bruno@clisp.org>
104619         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
104620         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
104621         * modules/gettext (Files): Add m4/intlmacosx.m4.
104623 2007-06-07  Bruno Haible  <bruno@clisp.org>
104625         * modules/localename-tests: New file.
104626         * tests/test-localename.c: New file.
104628         New module 'localename'.
104629         * lib/localename.h: New file.
104630         * lib/localename.c: New file, from GNU gettext.
104631         * m4/localename.m4: New file.
104632         * modules/localename: New file.
104634 2007-06-07  Bruno Haible  <bruno@clisp.org>
104636         Work around the lack of <wchar.h> on some builds of uClibc.
104637         * doc/headers/wchar.texi: Update.
104638         * lib/wchar_.h: Include <wchar.h> only if it exists.
104639         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
104640         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
104641         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
104642         doesn't exist.
104643         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
104644         * modules/mbfile (Depends-on): Add wchar.
104645         * modules/mbiter (Depends-on): Likewise.
104646         * modules/mbuiter (Depends-on): Likewise.
104647         Reported by Simon Josefsson.
104649 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
104651         Work around problem reported by Steven M. Schweda in
104652         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
104653         Tru64 5.1B with the Compaq compiler environment installed declares
104654         an 'isblank' function but does not define it in the C library.
104655         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
104656         * lib/regex_internal.h (isblank): Likewise.
104657         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
104658         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
104660 2007-06-05  Bruno Haible  <bruno@clisp.org>
104662         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
104663         ia64.
104664         * modules/printf-safe: New file.
104665         * modules/fprintf-posix (Depends-on): Add printf-safe.
104666         * modules/printf-posix (Depends-on): Likewise.
104667         * modules/snprintf-posix (Depends-on): Likewise.
104668         * modules/sprintf-posix (Depends-on): Likewise.
104669         * modules/vasnprintf-posix (Depends-on): Likewise.
104670         * modules/vasprintf-posix (Depends-on): Likewise.
104671         * modules/vfprintf-posix (Depends-on): Likewise.
104672         * modules/vprintf-posix (Depends-on): Likewise.
104673         * modules/vsnprintf-posix (Depends-on): Likewise.
104674         * modules/vsprintf-posix (Depends-on): Likewise.
104675         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
104676         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
104677         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
104678         "no" on i386, x86_64, ia64.
104679         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
104680         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104681         on i386, x86_64, ia64.
104682         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
104683         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104684         on i386, x86_64, ia64.
104685         * tests/test-vasnprintf-posix.c: Include float.h.
104686         (LDBL80_WORDS): New macro.
104687         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104688         on i386, x86_64, ia64.
104689         * tests/test-vasprintf-posix.c: Include float.h.
104690         (LDBL80_WORDS): New macro.
104691         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104692         on i386, x86_64, ia64.
104693         * tests/test-snprintf-posix.c: Include float.h.
104694         * tests/test-sprintf-posix.c: Likewise.
104695         * tests/test-vsnprintf-posix.c: Likewise.
104696         * tests/test-vsprintf-posix.c: Likewise.
104698 2007-06-05  Bruno Haible  <bruno@clisp.org>
104700         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
104701         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
104702         non-IEEE numbers on i386, x86_64, ia64.
104703         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
104704         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
104705         * tests/test-isnanl.h: Include float.h.
104706         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
104708 2007-06-05  Bruno Haible  <bruno@clisp.org>
104710         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
104711         also the %a / %A. Handle the %a / %A code before this extra handling.
104713 2007-06-05  Bruno Haible  <bruno@clisp.org>
104715         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
104716         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
104718 2007-06-05  Bruno Haible  <bruno@clisp.org>
104720         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
104721         typo in variable name.
104723 2007-06-05  Eric Blake  <ebb9@byu.net>
104725         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
104726         Reported by Simon Josefsson.
104728 2007-06-04  Bruno Haible  <bruno@clisp.org>
104730         Avoid test failures on some PowerPC platforms.
104731         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
104732         Define differently for PowerPC.
104733         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
104734         Reported by Gary V. Vaughan <gary@gnu.org>.
104736 2007-06-02  Bruno Haible  <bruno@clisp.org>
104738         Fix test-stdint failure on FreeBSD/ia64.
104739         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
104740         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
104741         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
104742         * doc/headers/stdint.texi: Update.
104744 2007-06-01  Bruno Haible  <bruno@clisp.org>
104746         * tests/test-binary-io.c (main): Pass a third argument to open().
104747         Reported by Gary V. Vaughan <gary@gnu.org>.
104749 2007-06-01  Bruno Haible  <bruno@clisp.org>
104751         * doc/functions/frexpl.texi: Update for mingw.
104753 2007-06-01  Bruno Haible  <bruno@clisp.org>
104755         * tests/test-lseek.c (main): Disable test of errno for invalid third
104756         argument.
104757         * doc/functions/lseek.texi: Update.
104758         Reported by Gary V. Vaughan <gary@gnu.org>.
104760 2007-05-28  Bruno Haible  <bruno@clisp.org>
104762         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
104764 2007-05-31  Eric Blake  <ebb9@byu.net>
104766         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
104767         cross compiling.
104769 2007-05-30  Eric Blake  <ebb9@byu.net>
104770         and Bruno Haible  <bruno@clisp.org>
104772         Work around mingw test failures exposed by m4-1.4.9b.
104773         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
104774         * tests/test-unistd.c: Disable uid_t and git_t tests for the
104775         moment.
104777 2007-05-30  Bruno Haible  <bruno@clisp.org>
104779         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
104780         assuming that they are closed. Needed on HP-UX 11.
104782 2007-05-29  Bruno Haible  <bruno@clisp.org>
104784         Fix a problem with #include_next.
104785         * lib/dirent_.h: Split the double-inclusion guard.
104786         * lib/fcntl_.h: Likewise.
104787         * lib/float_.h: Likewise.
104788         * lib/iconv_.h: Likewise.
104789         * lib/inttypes_.h: Likewise.
104790         * lib/locale_.h: Likewise.
104791         * lib/math_.h: Likewise.
104792         * lib/netinet_in_.h: Likewise.
104793         * lib/search_.h: Likewise.
104794         * lib/signal_.h: Likewise.
104795         * lib/stdint_.h: Likewise.
104796         * lib/stdio_.h: Likewise.
104797         * lib/stdlib_.h: Likewise.
104798         * lib/string_.h: Likewise.
104799         * lib/sys_select_.h: Likewise.
104800         * lib/sys_socket_.h: Likewise.
104801         * lib/sys_stat_.h: Likewise.
104802         * lib/sys_time_.h: Likewise.
104803         * lib/sysexits_.h: Likewise.
104804         * lib/time_.h: Likewise.
104805         * lib/unistd_.h: Likewise.
104806         * lib/wchar_.h: Likewise.
104807         * lib/wctype_.h: Likewise.
104809 2007-05-29  Bruno Haible  <bruno@clisp.org>
104811         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
104812         for the moment.
104814 2007-05-29  Bruno Haible  <bruno@clisp.org>
104816         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
104817         invocation.
104818         Reported by Eric Blake.
104820 2007-05-29  Bruno Haible  <bruno@clisp.org>
104822         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
104823         compiling case.
104825 2007-05-29  Eric Blake  <ebb9@byu.net>
104826             Bruno Haible  <bruno@clisp.org>
104828         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
104829         cross compiles.
104831 2007-05-28  Eric Blake  <ebb9@byu.net>
104833         * modules/closein-tests (test_closein_LDADD): Support test on
104834         cygwin with libtool.
104836 2007-05-28  Bruno Haible  <bruno@clisp.org>
104838         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
104839         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
104840         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
104841         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
104842         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
104843         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
104844         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
104845         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
104846         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
104848 2007-05-28  Eric Blake  <ebb9@byu.net>
104850         Unconditionally include <config.h> in unit tests.
104851         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
104852         * tests/test-allocsa.c, tests/test-arcfour.c,
104853         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
104854         tests/test-array_list.c, tests/test-array_oset.c,
104855         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
104856         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
104857         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
104858         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
104859         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
104860         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
104861         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
104862         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
104863         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
104864         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
104865         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
104866         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
104867         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
104868         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
104869         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
104870         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
104871         test-md5.c, test-memmem.c, test-printf-posix.c,
104872         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
104873         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
104874         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
104875         test-strcasestr.c, test-striconv.c, test-striconveh.c,
104876         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
104877         test-vasnprintf-posix2.c, test-vasnprintf.c,
104878         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
104879         test-vfprintf-posix.c, test-vprintf-posix.c,
104880         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
104881         test-xvasprintf.c: Likewise.
104883 2007-05-28  Bruno Haible  <bruno@clisp.org>
104885         * gnulib-tool (func_import): Remember the --with-tests command-line
104886         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
104887         Reported by Eric Blake.
104889 2007-05-28  Bruno Haible  <bruno@clisp.org>
104891         * modules/ftell-tests: New file.
104892         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
104893         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
104895         * lib/ftell.c: New file.
104896         * modules/ftell: New file.
104897         * m4/ftell.m4: New file.
104898         * doc/functions/ftell.texi: Update.
104899         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
104900         REPLACE_FTELL.
104901         * lib/stdio_.h (rpl_ftell): New declaration.
104902         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
104903         REPLACE_FTELL.
104905 2007-05-28  Eric Blake  <ebb9@byu.net>
104907         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
104909 2007-05-28  Bruno Haible  <bruno@clisp.org>
104911         * modules/fseek-tests: New file.
104912         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
104913         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
104915         * lib/fseek.c: New file.
104916         * modules/fseek: New file.
104917         * m4/fseek.m4: New file.
104918         * doc/functions/fseek.texi: Update.
104919         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
104920         REPLACE_FSEEK.
104921         * lib/stdio_.h (rpl_fseek): New declaration.
104922         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
104923         REPLACE_FSEEK.
104925 2007-05-28  Bruno Haible  <bruno@clisp.org>
104927         * lib/stdio_.h (fflush): More comments.
104929 2007-05-28  Bruno Haible  <bruno@clisp.org>
104931         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
104932         runtime test.
104934 2007-05-28  Eric Blake  <ebb9@byu.net>
104936         Improve lseek module.
104937         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
104938         * lib/unistd_.h (lseek): Scale back link warning message.
104939         * tests/test-lseek.c: Beef up test.
104940         * tests/test-lseek.sh: Exercise more facets of lseek.
104941         Reported by Bruno Haible.
104943 2007-05-28  Bruno Haible  <bruno@clisp.org>
104945         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
104946         to define.
104948 2007-05-27  Bruno Haible  <bruno@clisp.org>
104950         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
104952 2007-05-27  Bruno Haible  <bruno@clisp.org>
104954         * modules/openmp: New file.
104955         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
104956         Noah Misch.
104958 2007-05-26  Bruno Haible  <bruno@clisp.org>
104960         * modules/chdir-long (Depends-on): Add fchdir.
104961         * modules/chdir-safer (Depends-on): Likewise.
104962         * modules/fts (Depends-on): Likewise.
104963         * modules/fts-lgpl (Depends-on): Likewise.
104964         * modules/openat (Depends-on): Likewise.
104965         * modules/savewd (Depends-on): Likewise.
104967 2007-05-24  Eric Blake  <ebb9@byu.net>
104969         Fix lseek on mingw.
104970         * modules/lseek: New module.
104971         * m4/lseek.m4: New file.
104972         * lib/lseek.c: New file.
104973         * modules/lseek-tests: New file.
104974         * tests/test-lseek.c: New file.
104975         * tests/test-lseek.sh: New file.
104976         * MODULES.html.sh: Document lseek module.
104977         * modules/fflush (Depends-on): Add lseek, fseeko.
104978         * modules/fseeko (Depends-on): Likewise.
104979         * modules/ftello (Depends-on): Likewise.
104980         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
104981         broken.
104982         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
104983         broken.
104984         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
104985         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
104986         * lib/ftello.c (rpl_ftello): Likewise.
104987         * tests/test-fseeko.c (main): Test this.
104988         * tests/test-fseeko.sh: Likewise.
104989         * tests/test-ftello.c (main): Likewise.
104990         * tests/test-ftello.sh: Likewise.
104991         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
104992         implies replacing fseek.
104993         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
104994         HAVE_FTELLO.
104995         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
104996         * modules/unistd (Makefile.am): Likewise.
104997         * lib/unistd_.h (lseek): Declare a replacement.
104998         * doc/functions/lseek.texi (lseek): Document this fix.
104999         * doc/functions/fseek.texi (fseek): Likewise.
105000         * doc/functions/ftell.texi (ftell): Likewise.
105002 2007-05-24  Bruno Haible  <bruno@clisp.org>
105004         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
105005         in the printed representation of a NaN.
105006         * tests/test-vasprintf-posix.c (test_function): Likewise.
105007         * tests/test-snprintf-posix.h (test_function): Likewise.
105008         * tests/test-sprintf-posix.h (test_function): Likewise.
105009         Reported by Eric Blake.
105011 2007-05-23  Eric Blake  <ebb9@byu.net>
105013         Fix fseeko/ftello on cygwin 1.5.24.
105014         * doc/functions/fseeko.texi (fseeko): Document the fix.
105015         * doc/functions/ftello.texi (ftello): Document the fix.
105016         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
105017         * doc/functions/stdout.text (stdout): New file.
105018         * doc/functions/stderr.text (stderr): New file.
105019         * doc/gnulib.texi (Function Substitutes): Use new files.
105020         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
105021         prior to 1.7.0.
105022         * tests/test-ftello.c (main): Likewise for ftello.
105023         * tests/test-fseeko.sh: New file.
105024         * tests/test-ftello.sh: New file.
105025         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
105026         with seekable stdin.
105027         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
105028         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
105029         (gl_REPLACE_FSEEKO): New macro.
105030         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
105031         * modules/fseeko (Files): Distribute fseeko.c.
105032         * modules/ftello (Files): Distribute ftello.c.
105033         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
105034         mode.
105035         * lib/ftello.c (rpl_ftello): New file.
105036         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
105037         fseeko, ftello.
105038         (gl_STDIN_LARGE_OFFSET): New macro.
105039         * modules/stdio (Makefile.am): Perform the replacement.
105040         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
105042 2007-05-23  Bruno Haible  <bruno@clisp.org>
105044         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
105045         GNULIB_POSIXCHECK is defined.
105047 2007-05-21  Bruno Haible  <bruno@clisp.org>
105049         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
105050         Check also the output for NaN arguments. When cross-compiling, guess
105051         no on IRIX.
105052         * lib/vasnprintf.c: Update comments.
105053         * tests/test-vasnprintf-posix.c (strisnan): New function.
105054         (test_function): Use it.
105055         * tests/test-vasprintf-posix.c (strisnan): New function.
105056         (test_function): Use it.
105057         * tests/test-snprintf-posix.h (strisnan): New function.
105058         (test_function): Use it.
105059         * tests/test-sprintf-posix.h (strisnan): New function.
105060         (test_function): Use it.
105061         Reported by Eric Blake.
105063 2007-05-20  Bruno Haible  <bruno@clisp.org>
105065         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
105066         numbers that fails on BeOS.
105067         * doc/functions/frexpl.texi: Update.
105069 2007-05-20  Jim Meyering  <jim@meyering.net>
105071         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
105072         forced upon us by glibc-2.6.
105074 2007-05-20  Bruno Haible  <bruno@clisp.org>
105076         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
105077         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
105078         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
105079         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
105080         NEED_PRINTF_INFINITE.
105081         (is_infinitel): New function.
105082         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
105083         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
105084         gl_PREREQ_VASNPRINTF_INFINITE.
105085         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
105086         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105087         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
105088         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
105089         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
105090         gl_PREREQ_VASNPRINTF_INFINITE.
105091         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105092         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_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         * doc/functions/fprintf.texi: Update.
105099         * doc/functions/printf.texi: Update.
105100         * doc/functions/snprintf.texi: Update.
105101         * doc/functions/sprintf.texi: Update.
105102         * doc/functions/vfprintf.texi: Update.
105103         * doc/functions/vprintf.texi: Update.
105104         * doc/functions/vsnprintf.texi: Update.
105105         * doc/functions/vsprintf.texi: Update.
105107 2007-05-20  Bruno Haible  <bruno@clisp.org>
105109         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
105110         was not found in libc.
105111         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
105113 2007-05-20  Bruno Haible  <bruno@clisp.org>
105115         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
105116         printed as "-nan" instead of "nan".
105117         * tests/test-vasprintf-posix.c (test_function): Likewise.
105118         * tests/test-snprintf-posix.h (test_function): Likewise.
105119         * tests/test-sprintf-posix.h (test_function): Likewise.
105120         Needed for HP-UX 11.
105122 2007-05-20  Jim Meyering  <jim@meyering.net>
105124         Fix buggy test for the fchownat-deref bug.
105125         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
105126         symlink required for the run-test.  Without it, this test would
105127         always declare that fchownat doesn't work, and client code would
105128         unnecessarily use the replacement function with fixed libc.
105129         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
105130         Reported by Greg Schafer.
105132 2007-05-19  Bruno Haible  <bruno@clisp.org>
105134         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
105135         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
105136         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
105137         Needed for IRIX 6.5 and Solaris 2.5.1.
105139 2007-05-19  Bruno Haible  <bruno@clisp.org>
105141         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
105142         (test_function): Skip tests involving -0.0 on platforms where
105143         -0.0 = 0.0.
105144         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
105145         (test_function): Skip tests involving -0.0 on platforms where
105146         -0.0 = 0.0.
105147         * tests/test-snprintf-posix.h (have_minus_zero): New function.
105148         (test_function): Skip tests involving -0.0 on platforms where
105149         -0.0 = 0.0.
105150         * tests/test-sprintf-posix.h (have_minus_zero): New function.
105151         (test_function): Skip tests involving -0.0 on platforms where
105152         -0.0 = 0.0.
105153         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
105154         tests.
105155         * tests/test-printf-posix.h (test_function): Likewise.
105156         * tests/test-printf-posix.output: Remove all -0.0 related results.
105157         Needed for IRIX 6.5.
105159 2007-05-19  Bruno Haible  <bruno@clisp.org>
105161         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
105162         printed as "nan0x7fffffff" instead of "nan".
105163         * tests/test-vasprintf-posix.c (test_function): Likewise.
105164         * tests/test-snprintf-posix.h (test_function): Likewise.
105165         * tests/test-sprintf-posix.h (test_function): Likewise.
105166         * tests/test-fprintf-posix.h (NaN): Remove macro.
105167         (test_function): Remove all NaN related tests.
105168         * tests/test-printf-posix.h (NaN): Remove macro.
105169         (test_function): Remove all NaN related tests.
105170         * tests/test-printf-posix.output: Remove all NaN related results.
105171         Needed for IRIX 6.5.
105173 2007-05-19  Bruno Haible  <bruno@clisp.org>
105175         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
105176         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
105178 2007-05-19  Bruno Haible  <bruno@clisp.org>
105180         * lib/float_.h: New file.
105181         * m4/float_h.m4: New file.
105182         * modules/float: New file.
105183         * modules/isnanl (Dependencies): Add float.
105184         * modules/isnanl-nolibm (Dependencies): Likewise.
105185         * modules/mathl (Dependencies): Likewise.
105186         * modules/printf-frexpl (Dependencies): Likewise.
105187         * modules/signbit (Dependencies): Likewise.
105188         * modules/vasnprintf (Dependencies): Likewise.
105189         * doc/headers/float.texi: Update.
105191 2007-05-19  Jim Meyering  <jim@meyering.net>
105193         * lib/utimens.c (gl_futimens): Rename from futimens,
105194         now that glibc-2.6 declares futimens.
105195         * lib/utimens.h: Likewise.
105197 2007-05-19  Bruno Haible  <bruno@clisp.org>
105199         Avoid test failures on mingw.
105200         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
105201         * tests/test-printf-posix.sh: Likewise.
105202         * tests/test-vfprintf-posix.sh: Likewise.
105203         * tests/test-vprintf-posix.sh: Likewise.
105205 2007-05-19  Bruno Haible  <bruno@clisp.org>
105207         Fix *printf result for NaN, Inf, -0.0 on mingw.
105208         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
105209         * lib/vasnprintf.c: Include math.h and isnan.h.
105210         (is_infinite_or_zero): New function.
105211         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
105212         values in the %f, %F, %e, %E, %g, %G directives.
105213         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
105214         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105215         gl_PRINTF_INFINITE and test its result. Invoke
105216         gl_PREREQ_VASNPRINTF_INFINITE.
105217         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105218         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105219         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105220         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105221         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105222         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105223         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105224         * doc/functions/fprintf.texi: Update.
105225         * doc/functions/printf.texi: Update.
105226         * doc/functions/snprintf.texi: Update.
105227         * doc/functions/sprintf.texi: Update.
105228         * doc/functions/vfprintf.texi: Update.
105229         * doc/functions/vprintf.texi: Update.
105230         * doc/functions/vsnprintf.texi: Update.
105231         * doc/functions/vsprintf.texi: Update.
105233 2007-05-19  Bruno Haible  <bruno@clisp.org>
105235         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
105236         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
105237         Instead of multiplying with 10^k, set extra_zeroes to k.
105238         (scale10_round_long_double): Remove function.
105240 2007-05-18  Bruno Haible  <bruno@clisp.org>
105242         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
105243         introduced on 2007-05-06.
105245 2007-05-18  Bruno Haible  <bruno@clisp.org>
105247         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
105248         %g directives.
105249         * tests/test-vasprintf-posix.c (test_function): Likewise.
105250         * tests/test-snprintf-posix.h (test_function): Likewise.
105251         * tests/test-sprintf-posix.h (test_function): Likewise.
105253 2007-05-18  Bruno Haible  <bruno@clisp.org>
105255         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
105256         (strmatch): New function.
105257         (test_function): Test the %f directive on numbers of various exponents.
105258         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
105259         (strmatch): New function.
105260         (test_function): Test the %f directive on numbers of various exponents.
105261         * tests/test-snprintf-posix.h (strmatch): New function.
105262         (test_function): Test the %f directive on numbers of various exponents.
105263         * tests/test-sprintf-posix.h (strmatch): New function.
105264         (test_function): Test the %f directive on numbers of various exponents.
105265         * tests/test-snprintf-posix.c (SIZEOF): New macro.
105266         * tests/test-sprintf-posix.c (SIZEOF): New macro.
105267         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
105268         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
105270 2007-05-18  Bruno Haible  <bruno@clisp.org>
105272         Add support for 'long double' number output.
105273         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
105274         * lib/vasnprintf.c: Include math.h and float+.h.
105275         (mp_limb_t): New type.
105276         (GMP_LIMB_BITS): New macro.
105277         (mp_twolimb_t): New type.
105278         (GMP_TWOLIMB_BITS): New macro.
105279         (mpn_t): New type.
105280         (multiply, divide, convert_to_decimal, decode_long_double,
105281         scale10_round_long_double, scale10_round_decimal_long_double,
105282         floorlog10l): New functions.
105283         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
105284         for the %f, %F, %e, %E, %g, %G directives.
105285         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
105286         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105287         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
105288         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
105289         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105290         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105291         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105292         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105293         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105294         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105295         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105296         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
105297         * modules/snprintf-posix (Depends-on): Likewise.
105298         * modules/sprintf-posix (Depends-on): Likewise.
105299         * modules/vasnprintf-posix (Depends-on): Likewise.
105300         * modules/vasprintf-posix (Depends-on): Likewise.
105301         * modules/vfprintf-posix (Depends-on): Likewise.
105302         * modules/vsnprintf-posix (Depends-on): Likewise.
105303         * modules/vsprintf-posix (Depends-on): Likewise.
105304         * modules/vasnprintf (Files): Add lib/float+.h.
105305         * doc/functions/fprintf.texi: Update.
105306         * doc/functions/printf.texi: Update.
105307         * doc/functions/snprintf.texi: Update.
105308         * doc/functions/sprintf.texi: Update.
105309         * doc/functions/vfprintf.texi: Update.
105310         * doc/functions/vprintf.texi: Update.
105311         * doc/functions/vsnprintf.texi: Update.
105312         * doc/functions/vsprintf.texi: Update.
105314 2007-05-18  Bruno Haible  <bruno@clisp.org>
105316         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
105318 2007-05-18  Bruno Haible  <bruno@clisp.org>
105320         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
105321         for printing 64-bit integers. Needed for mingw.
105323 2007-05-18  Bruno Haible  <bruno@clisp.org>
105325         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
105326         gl_FUNC_FREXPL_WORKS.
105327         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
105329 2007-05-18  Bruno Haible  <bruno@clisp.org>
105331         * modules/frexpl-nolibm-tests: New file.
105333         * modules/frexpl-nolibm: New file.
105334         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
105336 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
105338         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
105339         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
105340         GCC 4.2, which otherwise issues a lot of warnings.
105341         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
105342         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
105343         Likewise.
105344         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
105345         * modules/iconv_open (iconv.h): Likewise.
105346         * modules/locale (locale.h): Likewise.
105347         * modules/netinet_in (netinet/in.h): Likewise.
105348         * modules/sys_select (sys_select.h): Likewise.
105349         * modules/sys_socket (sys/socket.h): Likewise.
105350         * modules/sys_stat (sys/stat.h): Likewise.
105351         * modules/sysexits (sysexits.h): Likewise.
105352         * modules/unistd (unistd.h): Likewise.
105354 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
105356         * modules/closein-tests (Makefile.am): Distribute
105357         `test-closein.sh'.
105359 2007-05-17  Bruno Haible  <bruno@clisp.org>
105361         * tests/test-printf-posix.output: Renamed from
105362         tests/test-fprintf-posix.out.
105363         * modules/fprintf-posix-tests: Update.
105364         * modules/printf-posix-tests: Update.
105365         * modules/vfprintf-posix-tests: Update.
105366         * modules/vprintf-posix-tests: Update.
105367         * tests/test-fprintf-posix.sh: Update.
105368         * tests/test-printf-posix.sh: Update.
105369         * tests/test-vfprintf-posix.sh: Update.
105370         * tests/test-vprintf-posix.sh: Update.
105371         Reported by Ralf Wildenhues.
105373 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
105375         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
105376         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
105377         GCC 4.2, which otherwise issues a lot of warnings.
105378         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
105379         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
105380         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
105381         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
105382         it should no longer be needed.
105383         * lib/string_.h: Likewise.
105384         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
105385         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
105386         * modules/inttypes (inttypes.h): Likewise.
105387         * modules/math (math.h): Likewise.
105388         * modules/search (search.h): Likewise.
105389         * modules/signal (signal.h): Likewise.
105390         * modules/stdint (stdint.h): Likewise.
105391         * modules/stdio (stdio.h): Likewise.
105392         * modules/stdlib (stdlib.h): Likewise.
105393         * modules/string (string.h): Likewise.
105394         * modules/sys_time (sys/time.h): Likewise.
105395         * modules/time (time.h): Likewise.
105396         * modules/wchar (wchar.h): Likewise.
105397         * modules/wctype (wtype.h): Likewise.
105399 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
105401         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
105403 2007-05-13  Bruno Haible  <bruno@clisp.org>
105405         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
105406         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
105407         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
105408         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
105409         (gl_PREREQ_STRTOK_R): Don't require it here.
105411 2007-05-13  Bruno Haible  <bruno@clisp.org>
105413         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
105414         when used in C++ mode.
105416 2007-05-12  Bruno Haible  <bruno@clisp.org>
105418         * lib/linebuffer.h: Tweak doc.
105419         * lib/linebuffer.c: Likewise.
105421 2007-05-12  James Youngman  <jay@gnu.org>
105423         * lib/linebuffer.c (readlinebuffer_delim): New function,
105424         like readlinebuffer, but use a caller-specified delimiter.
105425         (readlinebuffer): Just call readlinebuffer_delim with '\n'
105426         as the delimiter.
105427         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
105429 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
105431         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
105432         * modules/openat (Files): Remove openat-die.c.
105433         (Depends-on): Add openat-die.
105434         * modules/openat-die: New module.
105436 2007-05-06  Bruno Haible  <bruno@clisp.org>
105438         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
105439         Update with info about Cygwin.
105440         * doc/functions/fprintf.texi: Update.
105441         * doc/functions/printf.texi: Update.
105442         * doc/functions/snprintf.texi: Update.
105443         * doc/functions/sprintf.texi: Update.
105444         * doc/functions/vfprintf.texi: Update.
105445         * doc/functions/vprintf.texi: Update.
105446         * doc/functions/vsnprintf.texi: Update.
105447         * doc/functions/vsprintf.texi: Update.
105448         Reported by Eric Blake.
105450 2007-05-06  Bruno Haible  <bruno@clisp.org>
105452         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
105453         padding ourselves for the floating-point directives.
105454         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
105455         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
105456         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105457         gl_PRINTF_FLAG_ZERO and test its result. Invoke
105458         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
105459         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105460         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
105461         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105462         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105463         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105464         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105465         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105466         * tests/test-snprintf-posix.h (test_function): Also check the width
105467         and some flags in the %f directive.
105468         * tests/test-sprintf-posix.h (test_function): Likewise.
105469         * tests/test-vasnprintf-posix.c (test_function): Likewise.
105470         * tests/test-vasprintf-posix.c (test_function): Likewise.
105471         * doc/functions/fprintf.texi: Update.
105472         * doc/functions/printf.texi: Update.
105473         * doc/functions/snprintf.texi: Update.
105474         * doc/functions/sprintf.texi: Update.
105475         * doc/functions/vfprintf.texi: Update.
105476         * doc/functions/vprintf.texi: Update.
105477         * doc/functions/vsnprintf.texi: Update.
105478         * doc/functions/vsprintf.texi: Update.
105480 2007-05-06  Bruno Haible  <bruno@clisp.org>
105482         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
105483         pass the ' flag character to sprintf or snprintf.
105484         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
105485         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
105486         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105487         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
105488         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
105489         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105490         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
105491         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105492         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105493         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105494         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105495         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105496         * tests/test-snprintf-posix.h (test_function): Also check the grouping
105497         flag.
105498         * tests/test-sprintf-posix.h (test_function): Likewise.
105499         * tests/test-vasnprintf-posix.c (test_function): Likewise.
105500         * tests/test-vasprintf-posix.c (test_function): Likewise.
105501         * doc/functions/fprintf.texi: Update.
105502         * doc/functions/printf.texi: Update.
105503         * doc/functions/snprintf.texi: Update.
105504         * doc/functions/sprintf.texi: Update.
105505         * doc/functions/vfprintf.texi: Update.
105506         * doc/functions/vprintf.texi: Update.
105507         * doc/functions/vsnprintf.texi: Update.
105508         * doc/functions/vsprintf.texi: Update.
105510 2007-05-01  Bruno Haible  <bruno@clisp.org>
105512         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
105514 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
105516         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
105517         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
105519 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
105521         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
105522         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
105523         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
105525 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
105527         * lib/argp-help.c (struct hol_entry): New member `ord'.
105528         (HOL_ENTRY_PTRCMP): Use ord for comparison
105529         (hol_sort): Initialize ord.
105531 2007-05-01  Bruno Haible  <bruno@clisp.org>
105533         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
105534         Reported by Eric Blake.
105535         * doc/gnulib.texi (Function Substitutes): Update.
105537 2007-05-01  Bruno Haible  <bruno@clisp.org>
105539         * doc/functions.texi: Remove file, now redundant through
105540         doc/functions/*.texi.
105542 2007-05-01  Bruno Haible  <bruno@clisp.org>
105544         * modules/argp (Depends-on): Add sleep.
105546 2007-05-01  Bruno Haible  <bruno@clisp.org>
105548         * modules/sleep-tests: New file.
105549         * tests/test-sleep.c: New file.
105551         * modules/sleep: New file.
105552         * lib/sleep.c: New file.
105553         * m4/sleep.m4: New file.
105554         * lib/unistd_.h (sleep): New declaration.
105555         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
105556         HAVE_SLEEP.
105557         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
105558         * doc/functions/sleep.texi: Document the sleep module.
105560 2007-05-01  Bruno Haible  <bruno@clisp.org>
105562         * lib/sigprocmask.h: Remove file.
105563         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
105564         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
105565         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
105566         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
105567         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
105568         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
105569         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
105570         HAVE_SIGSET_T as a shell variable.
105571         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
105572         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
105573         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
105574         (Depends-on): Add signal. Remove verify.
105575         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
105576         (Include): Mention <signal.h> instead of sigprocmask.h.
105577         * NEWS: Mention the change.
105578         * lib/fatal-signal.c: Don't include sigprocmask.h.
105580 2007-05-01  Bruno Haible  <bruno@clisp.org>
105582         * modules/signal: New file.
105583         * lib/signal_.h: New file.
105584         * m4/signal_h.m4: New file.
105586 2007-05-01  Bruno Haible  <bruno@clisp.org>
105588         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
105589         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
105590         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
105591         HAVE_WCTYPE_CTMP_BUG into wctype.h.
105593 2007-05-01  Bruno Haible  <bruno@clisp.org>
105595         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
105596         configure time.
105597         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
105598         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
105599         * modules/sys_stat (Makefile.am): Substitute their values into
105600         sys/stat.h.
105602 2007-05-01  Bruno Haible  <bruno@clisp.org>
105604         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
105605         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
105606         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
105608 2007-05-01  Bruno Haible  <bruno@clisp.org>
105610         * doc/header/assert.texi: Undo last change: don't mention the gnulib
105611         'assert' module here.
105613 2007-05-01  Bruno Haible  <bruno@clisp.org>
105615         * doc/functions/*.texi: New files.
105616         * doc/functions/google-ranking.txt: New file.
105617         * doc/gnulib.texi (Function Substitutes): New chapter.
105618         (ctime, inet_ntoa): Remove sections.
105619         * doc/ctime.texi: Remove file.
105620         * doc/inet_ntoa.texi: Remove file.
105621         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
105622         dependencies.
105623         (%.info): New rule, specifying a --reference-limit.
105625 2007-05-01  Bruno Haible  <bruno@clisp.org>
105627         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
105629 2007-05-01  Bruno Haible  <bruno@clisp.org>
105631         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
105632         the portability of 'mkdir' to mingw systems.
105634 2007-05-01  Bruno Haible  <bruno@clisp.org>
105636         * doc/headers/google-ranking.txt: New file.
105638 2007-04-30  Eric Blake  <ebb9@byu.net>
105640         Prefer fseeko to fseek.
105641         * modules/getpass (Depends-on): Add fseeko.
105642         * lib/getpass.c (getpass): Use fseeko, not fseek.
105644 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
105646         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
105647         assumes the sorting is stable, while most qsort implementations
105648         are not.  Use argument addresses to ensure they never compare as
105649         equal.
105651         * tests/test-argp-2.sh (usage-indent test): Fix output
105652         (func_compare): Restore diff options
105653         * tests/test-argp.c: Restore #include "progname.h"
105655 2007-04-29  Bruno Haible  <bruno@clisp.org>
105657         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
105658         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105659         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
105660         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105661         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
105662         (configure.ac): Define CHECK_SNPRINTF_POSIX.
105663         (TESTS, check_PROGRAMS): Add test-snprintf.
105664         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
105665         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
105666         (TESTS, check_PROGRAMS): Add test-vsnprintf.
105667         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
105668         assertions that fail on HP-UX, OSF/1, or IRIX.
105669         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
105671 2007-04-29  Bruno Haible  <bruno@clisp.org>
105673         * MODULES.html.sh (posix_functions): Remove 'contents'.
105675 2007-04-29  Karl Berry  <karl@gnu.org>
105677         * config/srclist.txt (gendocs_template_min): new entry.
105679 2007-04-29  Bruno Haible  <bruno@clisp.org>
105681         Work around fpurge bug on BSD systems.
105682         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
105683         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
105684         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
105685         fpurge to rpl_fpurge if the system already has this function.
105686         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
105687         the case where the system already has this function. Correct invariants
105688         on BSD systems.
105689         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
105690         BSD systems.
105692 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
105694         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
105695         proposed by Sven Verdoolaege.
105697         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
105698         options.
105699         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
105700         (usage and help tests): Update
105702 2007-04-29  Bruno Haible  <bruno@clisp.org>
105704         * tests/test-fflush.c (main): Use a file of size 17, not 10.
105705         Print more information in case of failure. Disable a test on BeOS.
105707 2007-04-29  Bruno Haible  <bruno@clisp.org>
105709         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
105710         This helps debugging on systems on which no gdb is available.
105712 2007-04-29  Bruno Haible  <bruno@clisp.org>
105714         * lib/freading.h: Improve comments.
105715         * lib/fwriting.h: Likewise.
105716         * tests/test-freading.c (main): Don't check freading immediately after
105717         repositioning. Needed for glibc.
105719 2007-04-29  Bruno Haible  <bruno@clisp.org>
105721         * lib/freading.c (freading): Trivial simplification.
105723 2007-04-28  Bruno Haible  <bruno@clisp.org>
105725         * tests/test-fwriting.c (main): Also test the interaction between
105726         fflush and fwriting.
105727         * modules/fwriting-tests (Depends-on): Add fflush.
105729         * tests/test-freading.c (main): Also test the interaction between
105730         fflush and freading.
105731         * modules/freading-tests (Depends-on): Add fflush.
105733 2007-04-28  Bruno Haible  <bruno@clisp.org>
105735         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
105736         fseeko and ftello.
105737         Suggested by Eric Blake.
105739 2007-04-28  Jim Meyering  <jim@meyering.net>
105741         Avoid false-negative in gl_STDINT_H's C99 conformance test.
105742         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
105743         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
105745 2007-04-27  Eric Blake  <ebb9@byu.net>
105747         * doc/headers/assert.texi (assert.h): Document assert module use.
105749 2007-04-27  Bruno Haible  <bruno@clisp.org>
105751         * doc/headers/*.texi: New files.
105752         * doc/gnulib.texi (Header File Substitutes): New chapter.
105753         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
105754         dependencies.
105755         (standards.info ,standards.html, standards.dvi): Update dependencies.
105756         (mostlyclean, clean): New targets.
105758 2007-04-27  Bruno Haible  <bruno@clisp.org>
105760         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
105761         * modules/sysexits (Files, Makefile.am): Update.
105763         * lib/sys_socket_.h: Renamed from lib/socket_.h.
105764         * modules/sys_socket (Files, Makefile.am): Update.
105766         * lib/sys_stat_.h: Renamed from lib/stat_.h.
105767         * modules/sys_stat (Files, Makefile.am): Update.
105769 2007-04-27  Eric Blake  <ebb9@byu.net>
105771         * lib/freading.h: Improve comments.
105772         * lib/fwriting.h: Likewise.
105773         * lib/fflush.c: Likewise.
105775         Fix closein for mingw.
105776         * modules/closein-tests: Add tests for closein.
105777         * tests/test-closein.c: New file.
105778         * tests/test-closein.sh: Likewise.
105779         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
105780         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
105782 2007-04-27  Bruno Haible  <bruno@clisp.org>
105784         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
105785         version is < 6.
105786         * lib/math_.h [__DECC]: Likewise.
105787         * lib/stdio_.h [__DECC]: Likewise.
105788         * lib/stdlib_.h [__DECC]: Likewise.
105789         * lib/string_.h [__DECC]: Likewise.
105790         * lib/time_.h [__DECC]: Likewise.
105791         * lib/wchar_.h [__DECC]: Likewise.
105792         * lib/wctype_.h [__DECC]: Likewise.
105794 2007-04-27  Bruno Haible  <bruno@clisp.org>
105796         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
105798 2007-04-27  Bruno Haible  <bruno@clisp.org>
105800         * lib/fflush.c: Add comments.
105801         * modules/fpurge-tests (Depends-on): Add fflush.
105802         * modules/freadable-tests (Depends-on): Likewise.
105803         * modules/fwritable-tests (Depends-on): Likewise.
105805 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
105807         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
105808         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
105809         Report by Bruno Haible <bruno@clisp.org>.
105811 2007-04-26  Eric Blake  <ebb9@byu.net>
105813         Fix fflush on mingw.
105814         * modules/fflush (Depends-on): Add freading.
105815         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
105816         but unread data.
105818 2007-04-26  Eric Blake  <ebb9@byu.net>
105819         and Bruno Haible  <bruno@clisp.org>
105821         Implement freading and fwriting.
105822         * lib/freading.c: New file.
105823         * lib/freading.h: Likewise.
105824         * m4/freading.m4: Likewise.
105825         * modules/freading: Likewise.
105826         * modules/freading-tests: Likewise.
105827         * tests/test-freading.c: Likewise.
105828         * lib/fwriting.c: New file.
105829         * lib/fwriting.h: Likewise.
105830         * m4/fwriting.m4: Likewise.
105831         * modules/fwriting: Likewise.
105832         * modules/fwriting-tests: Likewise.
105833         * tests/test-fwriting.c: Likewise.
105834         * MODULES.html.sh (File stream based Input/Output): Mention them.
105836 2007-04-26  Bruno Haible  <bruno@clisp.org>
105838         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
105839         'long' when we assume it.
105840         Suggested by Eric Blake.
105842 2007-04-26  Bruno Haible  <bruno@clisp.org>
105844         Ensure fseeko, ftello are declared on glibc systems.
105845         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
105846         * modules/fseeko (configure.ac-early): Likewise.
105847         * modules/ftello (configure.ac-early): Likewise.
105848         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
105849         AC_FUNC_FSEEKO for this.
105850         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
105851         (gl_CHECK_FSEEKO): Remove macro.
105853 2007-04-26  Bruno Haible  <bruno@clisp.org>
105855         * tests/test-fflush.c (main): Also check the ftell result after
105856         fflush and fseek/fseeko.
105857         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
105858         file descriptor position cache in the stream.
105859         * lib/fseeko.c (rpl_fseeko): Likewise.
105861 2007-04-26  Bruno Haible  <bruno@clisp.org>
105863         * modules/fflush-tests (Depends-on): Add fseeko.
105865 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
105866             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
105868         * lib/argz_.h: ensure error_t definition is obtained in same
105869         mechanism system argz.h would have.
105870         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
105871         argz facilities are known bad.  Err on the side of caution if
105872         cross-compiling.
105874 2007-04-25  Eric Blake  <ebb9@byu.net>
105876         * lib/fpurge.c (includes): Use stdlib.h for free.
105877         * tests/test-fflush.c (main): Also test fflush-fseeko.
105879 2007-04-25  Bruno Haible  <bruno@clisp.org>
105881         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
105882         * lib/fseeko.c: New file.
105883         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
105884         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
105885         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
105886         gl_FUNC_FSEEKO.
105887         (gl_FUNC_FSEEKO): Invoke it.
105888         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
105889         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
105890         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
105892 2007-04-25  Bruno Haible  <bruno@clisp.org>
105894         * modules/fflush (Depends-on): Add ftello.
105896 2007-04-25  Bruno Haible  <bruno@clisp.org>
105898         * modules/ftello-tests: New file.
105899         * tests/test-ftello.c: New file.
105901         * modules/ftello: New file.
105902         * m4/ftello.m4: New file.
105903         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
105904         HAVE_FTELLO.
105905         * lib/stdio_.h (ftello): New declaration.
105906         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
105907         HAVE_FTELLO.
105909 2007-04-25  Bruno Haible  <bruno@clisp.org>
105911         * modules/fseeko-tests: New file.
105912         * tests/test-fseeko.c: New file.
105914         * modules/fseeko: New file.
105915         * m4/fseeko.m4: New file.
105916         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
105917         HAVE_FSEEKO.
105918         * lib/stdio_.h (fseeko): New declaration.
105919         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
105920         HAVE_FSEEKO.
105922 2007-04-25  Bruno Haible  <bruno@clisp.org>
105924         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
105926 2007-04-25  Bruno Haible  <bruno@clisp.org>
105928         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
105929         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
105930         * tests/test-unistd.c: Likewise.
105931         * tests/test-fcntl.c: Likewise.
105933 2007-04-23  Eric Blake  <ebb9@byu.net>
105935         * lib/fflush.c: Fix missing include.
105936         Reported by Bruno Haible.
105938 2007-04-23  Bruno Haible  <bruno@clisp.org>
105940         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
105941         Reported by Eric Blake.
105943 2007-04-23  Bruno Haible  <bruno@clisp.org>
105945         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
105947 2007-04-23  Bruno Haible  <bruno@clisp.org>
105949         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
105951 2007-04-23  Bruno Haible  <bruno@clisp.org>
105953         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
105954         Needed on HP-UX 11.
105956 2007-04-16  Eric Blake  <ebb9@byu.net>
105958         Make fflush rely on fpurge.
105959         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
105960         open coding all variants.
105961         * modules/fflush (Depends-on): Add fpurge and unistd.
105962         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
105963         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
105965         Fix --with-tests compilation on cygwin.
105966         * modules/argmatch-tests (Makefile.am): List gnulib library first
105967         in LDADD.
105968         * modules/argp-tests (Makefile.am): Likewise.
105969         * modules/array-list-tests (Makefile.am): Likewise.
105970         * modules/array-oset-tests (Makefile.am): Likewise.
105971         * modules/avltree-list-tests (Makefile.am): Likewise.
105972         * modules/avltree-oset-tests (Makefile.am): Likewise.
105973         * modules/avltreehash-list-tests (Makefile.am): Likewise.
105974         * modules/carray-list-tests (Makefile.am): Likewise.
105975         * modules/dirname-tests (Makefile.am): Likewise.
105976         * modules/frexp-tests (Makefile.am): Likewise.
105977         * modules/isnanl-tests (Makefile.am): Likewise.
105978         * modules/linked-list-tests (Makefile.am): Likewise.
105979         * modules/linkedhash-list-tests (Makefile.am): Likewise.
105980         * modules/lock-tests (Makefile.am): Likewise.
105981         * modules/rbtree-list-tests (Makefile.am): Likewise.
105982         * modules/rbtree-oset-tests (Makefile.am): Likewise.
105983         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
105984         * modules/tls-tests (Makefile.am): Likewise.
105985         * modules/tsearch-tests (Makefile.am): Likewise.
105986         * modules/xvasprintf-tests (Makefile.am): Likewise.
105988         Fix fpurge for cygwin.
105989         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
105990         value.
105991         * modules/fpurge-tests (Depends-on): Clean up trash.
105993 2007-04-16  Simon Josefsson  <simon@josefsson.org>
105995         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
105997         * m4/autobuild.m4: Re-indent.
105999 2007-04-13  Bruno Haible  <bruno@clisp.org>
106001         * modules/fpurge-tests: New file.
106002         * tests/test-fpurge.c: New file.
106004         * modules/fpurge: New file.
106005         * lib/fpurge.h: New file.
106006         * lib/fpurge.c: New file.
106007         * m4/fpurge.m4: New file.
106009 2007-04-13  Bruno Haible  <bruno@clisp.org>
106011         * modules/fbufmode-tests: New file.
106012         * tests/test-fbufmode.c: New file.
106014         * modules/fbufmode: New file.
106015         * lib/fbufmode.h: New file.
106016         * lib/fbufmode.c: New file.
106017         * m4/fbufmode.m4: New file.
106019 2007-04-13  Bruno Haible  <bruno@clisp.org>
106021         * modules/fwritable-tests: New file.
106022         * tests/test-fwritable.c: New file.
106024         * modules/fwritable: New file.
106025         * lib/fwritable.h: New file.
106026         * lib/fwritable.c: New file.
106027         * m4/fwritable.m4: New file.
106029 2007-04-13  Bruno Haible  <bruno@clisp.org>
106031         * modules/freadable-tests: New file.
106032         * tests/test-freadable.c: New file.
106034         * modules/freadable: New file.
106035         * lib/freadable.h: New file.
106036         * lib/freadable.c: New file.
106037         * m4/freadable.m4: New file.
106039 2007-04-13  Bruno Haible  <bruno@clisp.org>
106041         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
106042         MOSTLYCLEANFILES.
106044 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
106046         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
106047         gzip bootstrap.conf to avoid dragging in i18n machinery.
106048         (gnulib_tool_option): Use it.
106050 2007-04-13  Bruno Haible  <bruno@clisp.org>
106052         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
106053         %F directives.
106054         * tests/test-vasprintf-posix.c (test_function): Likewise.
106055         * tests/test-snprintf-posix.h (test_function): Likewise.
106056         * tests/test-sprintf-posix.h (test_function): Likewise.
106057         * tests/test-fprintf-posix.h (test_function): Likewise.
106058         * tests/test-printf-posix.h (test_function): Likewise.
106059         * tests/test-fprintf-posix.out: Likewise.
106061 2007-04-13  Bruno Haible  <bruno@clisp.org>
106063         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
106064         * modules/tls-tests (configure.ac): Likewise.
106065         Reported by Arto C. Nirkko <anirkko@insel.ch>.
106067 2007-04-13  Bruno Haible  <bruno@clisp.org>
106069         * lib/tls.c (glthread_tls_get): Fix return type.
106070         Patch by Arto C. Nirkko <anirkko@insel.ch>.
106072 2007-04-12  Eric Blake  <ebb9@byu.net>
106074         * modules/gettime (Depends-on): Remove gettime.
106075         Reported by Dmitry V. Levin.
106077 2007-04-12  Bruno Haible  <bruno@clisp.org>
106079         * modules/fflush (Include): Mention <stdio.h>.
106080         * modules/strtoimax (Include): Mention <inttypes.h>.
106081         * modules/strtoumax (Include): Likewise.
106083 2007-04-12  Eric Blake  <ebb9@byu.net>
106085         * .cvsignore: New file.
106086         * .gitignore: Likewise.
106088 2007-04-12  Bruno Haible  <bruno@clisp.org>
106090         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
106091         not before, since $(LDADD) often contains libgnu.a.
106092         * modules/striconv-tests (test_striconv_LDADD): Likewise.
106093         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
106094         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
106095         Needed on Cygwin.
106097 2007-04-12  Eric Blake  <ebb9@byu.net>
106099         Work around glibc's failure to flush stdin on fclose.
106100         * lib/closein.c (close_stdin): Flush stdin before closing.
106102         Work around glibc's failure to reset seekable stdin on exit.
106103         * modules/closein: New module.
106104         * lib/closein.c: New file.
106105         * lib/closein.h: Likewise.
106106         * m4/closein.m4: Likewise.
106107         * MODULES.html.sh (File stream based Input/Output): Document it.
106109 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106111         * gnulib-tool: Rename generated 'autobuild' script to
106112         'do-autobuild' in --create-megatestdir output.
106114         * doc/gnulib.texi (Build robot for gnulib): Fix.
106116 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106118         * modules/sysexits (Depends-on): Add absolute-header.
106120 2007-04-12  Eric Blake  <ebb9@byu.net>
106122         No need to preserve errno on success.
106123         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
106124         Reported by Bruno Haible.
106126 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106128         * MODULES.html.sh (Support for maintaining and releasing
106129         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
106131 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106133         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
106135 2007-04-12  Simon Josefsson  <simon@josefsson.org>
106137         * modules/autobuild: New module.
106139         * m4/autobuild.m4: New file.
106141 2007-04-11  Bruno Haible  <bruno@clisp.org>
106143         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
106144         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
106145         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
106146         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
106147         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
106148         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106149         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106150         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
106151         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106152         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106153         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
106154         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106155         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106156         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
106157         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106158         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106159         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
106160         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106161         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106162         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
106163         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106164         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106165         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
106166         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106167         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106168         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
106169         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
106170         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
106171         Reported by Eric Blake.
106173 2007-04-11  Bruno Haible  <bruno@clisp.org>
106175         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
106177 2007-04-10  Bruno Haible  <bruno@clisp.org>
106179         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
106180         for NaN and Infinity. Needed on FreeBSD 6.1.
106181         * tests/test-vasnprintf-posix.c (test_function): Undo last change
106182         regarding results for "%010a" of Infinity and NaN.
106183         * tests/test-vasprintf-posix.c (test_function): Likewise.
106184         * tests/test-snprintf-posix.h (test_function): Likewise.
106185         * tests/test-sprintf-posix.h (test_function): Likewise.
106186         * tests/test-fprintf-posix.h (test_function): Likewise.
106187         * tests/test-printf-posix.h (test_function): Likewise.
106188         * tests/test-fprintf-posix.out: Likewise.
106190 2007-04-10  Bruno Haible  <bruno@clisp.org>
106192         * modules/locale-tests: New file.
106193         * tests/test-locale.c: New file.
106195         * modules/locale: New file.
106196         * lib/locale_.h: New file.
106197         * m4/locale_h.m4: New file.
106199 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
106200             Bruno Haible  <bruno@clisp.org>
106202         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
106203         be determined, test for availability of the copysignf, copysign,
106204         copysignl functions.
106205         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
106206         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
106207         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
106209 2007-04-09  Eric Blake  <ebb9@byu.net>
106211         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
106212         * modules/stdio (Makefile.am): Support fflush.
106213         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
106214         * modules/fflush: New file.
106215         * lib/fflush.c: Likewise.
106216         * m4/fflush.m4: Likewise.
106217         * modules/fflush-tests: New test.
106218         * tests/test-fflush.c: Likewise.
106219         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
106221 2007-04-06  Bruno Haible  <bruno@clisp.org>
106223         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
106224         (VASNPRINTF): Use signbit for faster determination whether to print a
106225         minus sign.
106226         * modules/vasnprintf (Files): Remove lib/float+.h.
106227         * modules/fprintf-posix (Depends-on): Add signbit.
106228         * modules/snprintf-posix (Depends-on): Likewise.
106229         * modules/sprintf-posix (Depends-on): Likewise.
106230         * modules/vasnprintf-posix (Depends-on): Likewise.
106231         * modules/vasprintf-posix (Depends-on): Likewise.
106232         * modules/vfprintf-posix (Depends-on): Likewise.
106233         * modules/vsnprintf-posix (Depends-on): Likewise.
106234         * modules/vsprintf-posix (Depends-on): Likewise.
106236 2007-04-06  Bruno Haible  <bruno@clisp.org>
106238         * tests/test-frexp.c (main): Test also the sign bit of zero results.
106239         * tests/test-frexpl.c (main): Likewise.
106240         * tests/test-ldexpl.c (main): Likewise.
106241         * modules/frexp-tests (Depends-on): Add signbit.
106242         * modules/frexpl-tests (Depdends-on): Likewise.
106243         * modules/ldexpl-tests (Depdends-on): Likewise.
106245 2007-04-06  Bruno Haible  <bruno@clisp.org>
106247         * modules/signbit-tests: New file.
106248         * tests/test-signbit.c: New file.
106250         * modules/signbit: New file.
106251         * lib/signbitf.c: New file.
106252         * lib/signbitd.c: New file.
106253         * lib/signbitl.c: New file.
106254         * m4/signbit.m4: New file.
106255         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
106256         (signbit): New macro.
106257         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
106258         REPLACE_SIGNBIT.
106259         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
106260         REPLACE_FREXPL into math.h.
106262 2007-04-06  Bruno Haible  <bruno@clisp.org>
106264         * modules/isnanf-nolibm-tests: New file.
106265         * tests/test-isnanf.c: New file.
106267         * modules/isnanf-nolibm: New file.
106268         * lib/isnanf.h: New file.
106269         * lib/isnanf.c: New file.
106270         * lib/isnan.c: Consider the USE_FLOAT macro.
106271         * m4/isnanf.m4: New file.
106273 2007-04-06  Bruno Haible  <bruno@clisp.org>
106275         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
106276         (Link): New section.
106278         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
106280 2007-04-06  Bruno Haible  <bruno@clisp.org>
106282         Assume the 'long double' type.
106283         * m4/longdouble.m4: Remove file.
106284         * config/srclist.txt: Don't mention longdouble.m4.
106285         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
106286         * lib/float+.h: Likewise.
106287         * lib/frexp.c: Likewise.
106288         * lib/printf-args.h: Likewise.
106289         * lib/printf-args.c: Likewise.
106290         * lib/printf-frexp.c: Likewise.
106291         * lib/printf-parse.c: Likewise.
106292         * lib/vasnprintf.c: Likewise.
106293         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
106294         * m4/intl.m4: Likewise.
106295         * m4/isnanl.m4: Likewise.
106296         * m4/printf.m4: Likewise.
106297         * m4/printf-frexpl.m4: Likewise.
106298         * m4/vasnprintf.m4: Likewise.
106299         * modules/allocsa (Files): Remove m4/longdouble.m4.
106300         * modules/gettext (Files): Likewise.
106301         * modules/relocatable-prog-wrapper (Files): Likewise.
106302         * modules/vasnprintf (Files): Likewise.
106303         * modules/isnanl (Files): Likewise.
106304         (Include): Simplify.
106305         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
106306         (Include): Simplify.
106307         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
106308         (Include): Simplify.
106309         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
106310         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106311         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
106312         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106313         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
106314         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106315         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
106316         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106317         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
106318         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106319         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
106320         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
106321         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
106322         * tests/test-isnanl.c: Likewise.
106323         * tests/test-snprintf-posix.h: Likewise.
106324         * tests/test-sprintf-posix.h: Likewise.
106325         * tests/test-vasnprintf-posix.c: Likewise.
106326         * tests/test-vasnprintf-posix2.c: Likewise.
106327         * tests/test-vasprintf-posix.c: Likewise.
106329 2007-04-06  Bruno Haible  <bruno@clisp.org>
106331         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
106332         * lib/math_.h [__DECC]: Include the overridden include file through
106333         #include_next, outside the double-inclusion guard.
106334         * lib/stdio_.h [__DECC]: Likewise.
106335         * lib/stdlib_.h [__DECC]: Likewise.
106336         * lib/string_.h [__DECC]: Likewise.
106337         * lib/time_.h [__DECC]: Likewise.
106338         * lib/wchar_.h [__DECC]: Likewise.
106339         * lib/wctype_.h [__DECC]: Likewise.
106340         * lib/inttypes_.h [__DECC]: Likewise.
106341         Reported by Albert Chin <china@thewrittenword.com> in
106342         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
106344 2007-04-04  Eric Blake  <ebb9@byu.net>
106346         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
106347         1.5.x.
106349 2007-04-04  Bruno Haible  <bruno@clisp.org>
106351         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
106352         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
106354 2007-04-04  Bruno Haible  <bruno@clisp.org>
106356         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
106357         results for "%010a" of Infinity and NaN.
106358         * tests/test-vasprintf-posix.c (test_function): Likewise.
106359         * tests/test-snprintf-posix.h (test_function): Likewise.
106360         * tests/test-sprintf-posix.h (test_function): Likewise.
106361         * tests/test-fprintf-posix.h (test_function): Remove these tests.
106362         * tests/test-printf-posix.h (test_function): Likewise.
106363         * tests/test-fprintf-posix.out: Update.
106364         Needed for FreeBSD 6.1.
106366 2007-04-04  Bruno Haible  <bruno@clisp.org>
106368         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
106369         directly used by the gnulib modules nor by gnulib-tool.
106371 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
106373         * DEPENDENCIES: Give overall description of version dependency
106374         desirability.  Use more-typical names for apps.
106375         Add shell, coreutils, diffutils, grep, tar, gzip.
106377 2007-04-04  Simon Josefsson  <simon@josefsson.org>
106379         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
106381 2007-04-04  Karl Berry  <karl@gnu.org>
106383         * MODULES.html.sh (func_module): missing '.
106385 2007-04-03  Bruno Haible  <bruno@clisp.org>
106387         * modules/argmatch-tests (Makefile.am): New variable
106388         test_argmatch_LDADD.
106389         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
106390         * modules/array-list-tests (Makefile.am): New variable
106391         test_array_list_LDADD.
106392         * modules/array-oset-tests (Makefile.am): New variable
106393         test_array_oset_LDADD.
106394         * modules/avltree-list-tests (Makefile.am): New variable
106395         test_avltree_list_LDADD.
106396         * modules/avltree-oset-tests (Makefile.am): New variable
106397         test_avltree_oset_LDADD.
106398         * modules/avltreehash-list-tests (Makefile.am): New variable
106399         test_avltreehash_list_LDADD.
106400         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
106401         test_canonicalize_lgpl_LDADD.
106402         * modules/carray-list-tests (Makefile.am): New variable
106403         test_carray_list_LDADD.
106404         * modules/dirname-tests (Makefile.am): New variable
106405         test_dirname_LDADD.
106406         * modules/linked-list-tests (Makefile.am): New variable
106407         test_linked_list_LDADD.
106408         * modules/linkedhash-list-tests (Makefile.am): New variable
106409         test_linkedhash_list_LDADD.
106410         * modules/rbtree-list-tests (Makefile.am): New variable
106411         test_rbtree_list_LDADD.
106412         * modules/rbtree-oset-tests (Makefile.am): New variable
106413         test_rbtree_oset_LDADD.
106414         * modules/rbtreehash-list-tests (Makefile.am): New variable
106415         test_rbtreehash_list_LDADD.
106416         * modules/xvasprintf-tests (Makefile.am): New variable
106417         test_xvasprintf_LDADD.
106418         Reported by Eric Blake.
106420 2007-04-03  Eric Blake  <ebb9@byu.net>
106422         * DEPENDENCIES: Weaken m4 requirements.
106424 2007-04-03  Bruno Haible  <bruno@clisp.org>
106426         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
106427         * modules/isnanl-tests (configure.ac): Likewise.
106429 2007-04-03  Ben Pfaff  <blp@gnu.org>
106431         * modules/iconv_open: Add $(srcdir)/ to source directory
106432         references in Makefile fragments that call gperf, to fix VPATH
106433         builds.
106435 2007-04-03  Bruno Haible  <bruno@clisp.org>
106437         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
106438         * lib/ldexpl.c: Undo last change.
106440 2007-04-03  Bruno Haible  <bruno@clisp.org>
106442         * modules/printf-frexpl (Depends-on): Undo last change.
106443         (Files): Add m4/ldexpl.m4.
106445 2007-04-03  Bruno Haible  <bruno@clisp.org>
106447         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
106448         * modules/isnanl (Link): New section.
106450         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
106451         * modules/frexp (Link): New section.
106453         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
106454         * modules/frexpl (Link): New section.
106456         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
106457         * modules/ldexpl (Link): New section.
106459 2007-04-03  Bruno Haible  <bruno@clisp.org>
106461         * modules/TEMPLATE-EXTENDED: New file.
106462         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
106464 2007-04-03  Bruno Haible  <bruno@clisp.org>
106466         * DEPENDENCIES: New file.
106467         Suggested by Simon Josefsson.
106469 2007-04-03  Bruno Haible  <bruno@clisp.org>
106471         * doc/gnulib.texi: Escape @.
106473 2007-04-03  James Youngman  <jay@gnu.org>
106474         and Paul Eggert  <eggert@cs.ucla.edu>
106476         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
106477         birthtime on all systems that have birthtime, not just those which
106478         use st_birthtimensec rather than st_birthtim.  Putting zero in
106479         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
106480         that the birth time is not available for files on an NFS mount.
106482 2007-04-03  Simon Josefsson  <simon@josefsson.org>
106484         * modules/memxor: Move back from crypto/, suggested by Bruno.
106485         * modules/crypto/hmac-sha1: Fix memxor dependency.
106487         * modules/crypto/gc: Moved from ../.
106489 2007-04-02  Eric Blake  <ebb9@byu.net>
106491         * lib/ldexpl.c (includes): Avoid libm.
106493         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
106495 2007-04-02  Bruno Haible  <bruno@clisp.org>
106497         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
106498         on IRIX.
106500 2007-04-02  Bruno Haible  <bruno@clisp.org>
106502         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
106503         x86 or x86_64 platforms running MacOS X.
106504         Reported by Ryan Schmidt <@ryandesign.com>.
106506 2007-04-02  Bruno Haible  <bruno@clisp.org>
106508         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
106509         i386.
106511 2007-04-01  Simon Josefsson  <simon@josefsson.org>
106513         * modules/crypto/arcfour: Moved from ../.
106514         * modules/crypto/arcfour-tests: Moved from ../.
106515         * modules/crypto/arctwo: Moved from ../.
106516         * modules/crypto/arctwo-tests: Moved from ../.
106517         * modules/crypto/des: Moved from ../.
106518         * modules/crypto/des-tests: Moved from ../.
106519         * modules/crypto/gc-arcfour: Moved from ../.
106520         * modules/crypto/gc-arcfour-tests: Moved from ../.
106521         * modules/crypto/gc-arctwo: Moved from ../.
106522         * modules/crypto/gc-arctwo-tests: Moved from ../.
106523         * modules/crypto/gc-des: Moved from ../.
106524         * modules/crypto/gc-des-tests: Moved from ../.
106525         * modules/crypto/gc-hmac-md5: Moved from ../.
106526         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
106527         * modules/crypto/gc-hmac-sha1: Moved from ../.
106528         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
106529         * modules/crypto/gc-md2: Moved from ../.
106530         * modules/crypto/gc-md2-tests: Moved from ../.
106531         * modules/crypto/gc-md4: Moved from ../.
106532         * modules/crypto/gc-md4-tests: Moved from ../.
106533         * modules/crypto/gc-md5: Moved from ../.
106534         * modules/crypto/gc-md5-tests: Moved from ../.
106535         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
106536         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
106537         * modules/crypto/gc-random: Moved from ../.
106538         * modules/crypto/gc-rijndael: Moved from ../.
106539         * modules/crypto/gc-rijndael-tests: Moved from ../.
106540         * modules/crypto/gc-sha1: Moved from ../.
106541         * modules/crypto/gc-sha1-tests: Moved from ../.
106542         * modules/crypto/gc-tests: Moved from ../.
106543         * modules/crypto/hmac-md5: Moved from ../.
106544         * modules/crypto/hmac-md5-tests: Moved from ../.
106545         * modules/crypto/hmac-sha1: Moved from ../.
106546         * modules/crypto/hmac-sha1-tests: Moved from ../.
106547         * modules/crypto/md2: Moved from ../.
106548         * modules/crypto/md2-tests: Moved from ../.
106549         * modules/crypto/md4: Moved from ../.
106550         * modules/crypto/md4-tests: Moved from ../.
106551         * modules/crypto/md5: Moved from ../.
106552         * modules/crypto/md5-tests: Moved from ../.
106553         * modules/crypto/memxor: Moved from ../.
106554         * modules/crypto/rijndael: Moved from ../.
106555         * modules/crypto/rijndael-tests: Moved from ../.
106556         * modules/crypto/sha1: Moved from ../.
106558 2007-03-30  James Youngman  <jay@gnu.org>
106560         * tests/test-stat-time.c (prepare_test): use chmod() rather than
106561         rename() to change the ctime of a file (because ctime is unaffected
106562         by rename on jfs2 on AIX 5.1).
106563         (main): Start by doing cleanup, in case a previous run failed leaving
106564         test files behind.
106566 2007-03-31  Bruno Haible  <bruno@clisp.org>
106568         Support old proprietary implementations of iconv.
106569         * modules/iconv_open: New file.
106570         * lib/iconv_.h: New file.
106571         * m4/iconv_h.m4: New file.
106572         * lib/iconv_open.c: New file.
106573         * lib/iconv_open-aix.gperf: New file.
106574         * lib/iconv_open-hpux.gperf: New file.
106575         * lib/iconv_open-irix.gperf: New file.
106576         * lib/iconv_open-osf.gperf: New file.
106577         * m4/iconv_open.m4: New file.
106578         * modules/linebreak (Depends-on): Add iconv_open.
106579         * modules/striconv (Depends-on): Likewise.
106580         * modules/striconveh (Depends-on): Likewise.
106581         * modules/unicodeio (Depends-on): Likewise.
106582         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
106583         (iconv_t)(-1).
106584         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
106585         conversion if cd is (iconv_t)(-1).
106586         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
106587         is not possible.
106589 2007-03-31  Bruno Haible  <bruno@clisp.org>
106591         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
106592         work on Solaris either. Protect also second use of "autodetect_jp".
106594 2007-03-31  Bruno Haible  <bruno@clisp.org>
106596         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
106597         the function is not present.
106599 2007-03-31  Bruno Haible  <bruno@clisp.org>
106601         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
106602         the function is not present.
106604 2007-03-31  Bruno Haible  <bruno@clisp.org>
106606         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
106607         a bug in HP-UX iconv_open().
106609 2007-03-31  Bruno Haible  <bruno@clisp.org>
106611         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
106612         (Mathematics <math.h>): New section, add fpieee.
106613         (Input/output <stdio.h>): Add fseterr.
106614         (Mathematics <math.h>): New section, add printf-frexp.
106615         (Container data structures): Add sublist.
106616         (Core language properties): Add fpucw, inline.
106617         (Functions for greatest-width integer types <inttypes.h>): Add
106618         imaxabs, imaxdiv, inttypes.
106619         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
106620         isnanl-nolibm, ldexp.
106621         (Mathematics <math.h>): New section, add printf-frexpl.
106622         (Support for systems lacking POSIX:2001): Add fprintf-posix,
106623         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
106624         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
106625         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
106626         (Unicode string functions): Add unistr/u*-mbtoucr.
106627         (Java): Add javacomp-script, javaexec-script.
106628         (C#): Add csharpcomp-script, csharpexec-script.
106629         (Support for building libraries and executables): Add havelib,
106630         relocatable-*.
106631         (Support for maintaining and releasing projects): Renamed from
106632         'Support for maintaining and release projects'. Add announce-gen.
106634 2007-03-31  Bruno Haible  <bruno@clisp.org>
106636         * README: Talk primarily about git.
106637         (git and CVS): Renamed from CVS.
106638         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
106639         gnulib is available through git.
106640         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
106642 2007-03-30  Bruno Haible  <bruno@clisp.org>
106644         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
106645         * lib/poll_.h: Likewise.
106646         * lib/stat_.h: Likewise.
106647         * lib/sys_time_.h: Likewise.
106648         * lib/sysexit_.h: Likewise.
106649         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
106650         * lib/stdbool_.h: Likewise.
106651         * lib/byteswap_.h: Add double-inclusion guard.
106653 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
106655         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
106657 2007-03-30  Karl Berry  <karl@gnu.org>
106659         * config/srclist-update: double space after USA in the license
106660         substitution, since that's how it's usually (?) written.
106662 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
106664         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
106665         reported by Bruno Haible.
106667 2007-03-29  Bruno Haible  <bruno@clisp.org>
106669         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
106670         a bug in AIX iconv().
106672 2007-03-29  Bruno Haible  <bruno@clisp.org>
106674         * modules/ldexpl-tests: New file.
106675         * tests/test-ldexpl.c: New file.
106677 2007-03-29  Bruno Haible  <bruno@clisp.org>
106679         * lib/ldexpl.c: Include fpucw.h.
106680         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
106681         multiplication.
106682         * modules/ldexpl (Depends-on): Add fpucw.
106684 2007-03-29  Bruno Haible  <bruno@clisp.org>
106686         * modules/ldexpl: New file.
106687         * m4/ldexpl.m4: New file.
106688         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
106689         set.
106690         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
106691         REPLACE_LDEXPL.
106692         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
106693         REPLACE_LDEXPL.
106694         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
106695         gl_FUNC_LDEXPL_WORKS.
106696         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
106697         * modules/mathl (Files): Remove lib/ldexpl.c.
106698         (Depends-on): Add ldexpl.
106700 2007-03-29  Bruno Haible  <bruno@clisp.org>
106702         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
106704 2007-03-29  Bruno Haible  <bruno@clisp.org>
106706         * tests/test-striconveh.c (main): Don't assume that a direct conversion
106707         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
106708         and possibly also HP-UX.
106709         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
106710         work on AIX, IRIX, HP-UX, OSF/1.
106711         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
106712         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
106713         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
106714         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
106715         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
106716         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
106718 2007-03-29  Bruno Haible  <bruno@clisp.org>
106720         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
106722 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
106724         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
106725         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
106727 2007-03-29  Eric Blake  <ebb9@byu.net>
106729         * lib/acl-internal.h: Remove redundant include.
106730         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
106731         Cygwin when a file is locked.
106733 2007-03-29  Bruno Haible  <bruno@clisp.org>
106735         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
106736         file.
106737         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
106739 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
106741         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
106742         try to remove a parent directory if the child couldn't be removed
106743         (except for the first rmdir, which could fail because the child
106744         doesn't exist).  Problem reported by Jeff Blaine in
106745         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
106747 2007-03-28  Bruno Haible  <bruno@clisp.org>
106749         * lib/striconveh.c (utf8conv_carefully): New function.
106750         (mem_cd_iconveh_internal): Invoke it.
106752 2007-03-28  Bruno Haible  <bruno@clisp.org>
106754         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
106755         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
106756         input.
106757         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
106758         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
106759         unistr/u8-uctomb.
106761 2007-03-28  Bruno Haible  <bruno@clisp.org>
106763         * modules/unistr/u8-mbtoucr: New file.
106764         * lib/unistr/u8-mbtoucr.c: New file.
106765         * modules/unistr/u16-mbtoucr: New file.
106766         * lib/unistr/u16-mbtoucr.c: New file.
106767         * modules/unistr/u16-mbtoucr: New file.
106768         * lib/unistr/u16-mbtoucr.c: New file.
106769         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
106771 2007-03-27  Simon Josefsson  <simon@josefsson.org>
106772             Bruno Haible  <bruno@clisp.org>
106774         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
106775         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
106776         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
106778         * m4/stdio_h.m4: Add stubs for vasprintf too.
106780         * modules/stdio: Support vasprintf in sed command.
106782         * modules/vasprintf: Depend on stdio for prototypes.  Remove
106783         vasprintf.h.  Add stdio module indicator.
106785         * lib/stdio_.h: Declare asprintf and vasprintf, based on
106786         vasprintf.h.
106788         * lib/vasprintf.h: File removed.
106790         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
106791         * lib/vasprintf.c: Ditto.
106792         * lib/xvasprintf.c: Ditto.
106793         * tests/test-vasprintf-posix.c: Ditto.
106794         * tests/test-vasprintf.c: Ditto.
106796 2007-03-27  Bruno Haible  <bruno@clisp.org>
106798         Make vasnprintf multithread-safe.
106799         * lib/vasnprintf.c (decimal_point_char): New function.
106800         (VASNPRINTF): Use it.
106801         Suggested by Simon Josefsson.
106803 2007-03-27  Eric Blake  <ebb9@byu.net>
106805         Support sub-second birthtime on cygwin.
106806         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
106807         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
106808         (get_stat_birthtime): Also work with st_birthtim.
106810 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
106812         * lib/stat-time.h (USE_BIRTHTIME): Remove.
106813         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
106814         (get_stat_birthtime_ns): Do not try to use "spare" fields.
106815         (get_stat_birthtime_ns): Simplify compile-time tests.
106816         (get_stat_birthtime): Change the API to look like
106817         get_stat_mtime etc., except return a negative tv_nsec on error.
106818         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
106819         Don't check for "spare" fields.
106820         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
106821         or for struct stat.st_birthtime, as these tests aren't used.
106822         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
106824 2007-03-27  Bruno Haible  <bruno@clisp.org>
106826         * lib/stat-time.h: Include <sys/stat.h>.
106828 2007-03-27  James Youngman  <jay@gnu.org>
106830         * lib/stat-time.h (get_stat_birthtime): New function for
106831           retrieving st_birthtime as provided by UFS2 (hence *BSD).
106832         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
106833           and its variants.
106834         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
106835         * modules/stat-time-test: New file.
106836         * tests/test-stat-time.c: New test, devised by Bruno Haible.
106838 2007-03-26  Bruno Haible  <bruno@clisp.org>
106840         Better support of signalling NaNs.
106841         * lib/atanl.c: Include isnanl.h.
106842         (atanl): Perform test for NaN at the beginning of the function and
106843         through a call to isnanl.
106844         * lib/cosl.c: Include isnanl.h.
106845         (cosl): Perform test for NaN at the beginning of the function and
106846         through a call to isnanl.
106847         * lib/ldexpl.c: Include isnanl.h.
106848         (ldexpl): Perform test for NaN through a call to isnanl.
106849         * lib/logl.c: Include isnanl.h.
106850         (logl): Perform test for NaN at the beginning of the function and
106851         through a call to isnanl.
106852         * lib/sinl.c: Include isnanl.h.
106853         (sinl): Perform test for NaN at the beginning of the function and
106854         through a call to isnanl.
106855         * lib/sqrtl.c: Include isnanl.h.
106856         (sqrtl): Perform test for NaN at the beginning of the function and
106857         through a call to isnanl.
106858         * lib/tanl.c: Include isnanl.h.
106859         (tanl): Perform test for NaN at the beginning of the function and
106860         through a call to isnanl.
106861         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
106862         * modules/mathl (Depends-on): Add isnanl.
106864 2007-03-26  Eric Blake  <ebb9@byu.net>
106866         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
106867         regression in logic sense of previous patch.
106869 2007-03-26  Bruno Haible  <bruno@clisp.org>
106871         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
106872         unportable shell command "if ! ...".
106873         Reported by Ralf Wildenhues.
106875 2007-03-25  Bruno Haible  <bruno@clisp.org>
106877         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
106878         <sysexits.h> file, and only add EX_CONFIG.
106879         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
106880         absolute file name and whether it is sufficient. Substitute also
106881         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
106882         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
106883         ABSOLUTE_SYSEXITS_H into sysexits.h.
106885 2007-03-25  Bruno Haible  <bruno@clisp.org>
106887         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
106888         hints is NULL.
106890 2007-03-25  Bruno Haible  <bruno@clisp.org>
106892         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
106893         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
106895 2007-03-25  Bruno Haible  <bruno@clisp.org>
106897         * lib/vasnprintf.c: Include langinfo.h.
106898         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
106899         multithread-safe.
106900         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
106901         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
106902         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
106903         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
106904         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
106905         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
106906         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
106907         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
106908         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
106909         Reported by Simon Josefsson.
106911 2007-03-25  Bruno Haible  <bruno@clisp.org>
106913         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
106914         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
106915         * modules/vasnprintf (Depends-on): Add stdint.
106917 2007-03-25  Bruno Haible  <bruno@clisp.org>
106919         * modules/fpieee: New file.
106920         * m4/fpieee.m4: New file.
106921         * modules/isnan-nolibm (Depends-on): Add fpieee.
106922         * modules/isnanl-nolibm (Depends-on): Add fpieee.
106923         * modules/isnanl (Depends-on): Add fpieee.
106925 2007-03-25  Bruno Haible  <bruno@clisp.org>
106927         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
106929 2007-03-25  Bruno Haible  <bruno@clisp.org>
106931         Avoid test failures on IRIX 6.5.
106932         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
106933         (main): Use it.
106934         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
106935         macros.
106936         (main): Use them.
106938 2007-03-25  Bruno Haible  <bruno@clisp.org>
106940         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
106941         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
106942         exists but doesn't work.
106943         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
106944         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
106945         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
106946         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
106947         math.h.
106949 2007-03-25  Bruno Haible  <bruno@clisp.org>
106951         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
106952         returns inf. Needed on IRIX 6.5.
106954 2007-03-25  Bruno Haible  <bruno@clisp.org>
106956         * tests/test-frexpl.c: Include isnanl-nolibm.h.
106957         (main): Use isnanl instead of x != x idiom.
106958         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
106960         * tests/test-frexp.c: Include isnan.h.
106961         (main): Use isnan instead of x != x idiom.
106962         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
106964 2007-03-25  Bruno Haible  <bruno@clisp.org>
106966         * tests/test-frexp.c (NaN): New function/macro.
106967         (main): Use it instead of 0.0 / 0.0.
106968         * tests/test-isnan.c (NaN): New function/macro.
106969         (main): Use it instead of 0.0 / 0.0.
106970         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
106971         (test_function): Use it instead of 0.0 / 0.0.
106972         * tests/test-vasprintf-posix.c (NaN): New function/macro.
106973         (test_function): Use it instead of 0.0 / 0.0.
106974         * tests/test-snprintf-posix.h (NaN): New function/macro.
106975         (test_function): Use it instead of 0.0 / 0.0.
106976         * tests/test-sprintf-posix.h (NaN): New function/macro.
106977         (test_function): Use it instead of 0.0 / 0.0.
106978         * tests/test-fprintf-posix.h (NaN): New function/macro.
106979         (test_function): Use it instead of 0.0 / 0.0.
106980         * tests/test-printf-posix.h (NaN): New function/macro.
106981         (test_function): Use it instead of 0.0 / 0.0.
106983         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
106985 2007-03-25  Bruno Haible  <bruno@clisp.org>
106987         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
106989 2007-03-25  Bruno Haible  <bruno@clisp.org>
106991         * lib/regexec.c (merge_state_with_log): Make static.
106993 2007-03-25  Bruno Haible  <bruno@clisp.org>
106995         * lib/trigl.c (kernel_rem_pio2): Make static.
106997 2007-03-25  Bruno Haible  <bruno@clisp.org>
106999         * lib/sincosl.c (sincosl_table): Make static.
107001 2007-03-25  Bruno Haible  <bruno@clisp.org>
107003         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
107004         if the compiler does not support C99.
107006 2007-03-25  Bruno Haible  <bruno@clisp.org>
107008         * modules/time (Makefile.am): Ensure all rule action lines start with a
107009         tab.
107011 2007-03-24  Bruno Haible  <bruno@clisp.org>
107013         * modules/tsearch-tests: New file.
107014         * tests/test-tsearch.sh: New file.
107015         * tests/test-tsearch.c: New file, mostly copied from glibc.
107017         * modules/search-tests: New file.
107018         * tests/test-search.c: New file.
107020         * modules/search: New file.
107021         * lib/search_.h: New file, incorporating lib/tsearch.h.
107022         * m4/search_h.m4: New file.
107023         * lib/tsearch.h: Remove file.
107024         * lib/tsearch.c: Include search.h instead of tsearch.h.
107025         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
107026         HAVE_TSEARCH.
107027         * modules/tsearch (Files): Remove lib/tsearch.h.
107028         (Depends-on): Add search.
107029         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
107030         (Include): Change tsearch.h into search.h.
107032 2007-03-24  Bruno Haible  <bruno@clisp.org>
107034         * modules/fpucw: New file.
107035         * lib/fpucw.h: New file.
107036         * lib/frexp.c: Include fpucw.h.
107037         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
107038         (FUNC): Use them.
107039         * lib/printf-frexp.c: Include fpucw.h.
107040         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
107041         (FUNC): Use them.
107042         * lib/vasnprintf.c: Include fpucw.h.
107043         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
107044         'long double' calculations.
107045         * tests/test-frexpl.c: Include fpucw.h.
107046         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
107047         * tests/test-printf-frexpl.c: Include fpucw.h.
107048         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
107049         * modules/frexpl (Depends-on): Add fpucw.
107050         * modules/printf-frexpl (Depends-on): Likewise.
107051         * modules/fprintf-posix (Depends-on): Likewise.
107052         * modules/snprintf-posix (Depends-on): Likewise.
107053         * modules/sprintf-posix (Depends-on): Likewise.
107054         * modules/vasnprintf-posix (Depends-on): Likewise.
107055         * modules/vasprintf-posix (Depends-on): Likewise.
107056         * modules/vfprintf-posix (Depends-on): Likewise.
107057         * modules/vsnprintf-posix (Depends-on): Likewise.
107058         * modules/vsprintf-posix (Depends-on): Likewise.
107059         * modules/frexpl-tests (Depends-on): Likewise.
107060         * modules/printf-frexpl-tests (Depends-on): Likewise.
107062 2007-03-24  Bruno Haible  <bruno@clisp.org>
107064         * lib/float+.h: New file.
107065         * lib/isnan.c: Include float+.h.
107066         (SIZE): New macro.
107067         (FUNC): Compare only SIZE bytes of the value.
107068         * lib/vasnprintf.c: Include float+.h.
107069         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
107070         SIZEOF_LDBL or SIZEOF_DBL bytes.
107071         * modules/isnan-nolibm (Files): Add lib/float+.h.
107072         * modules/isnanl-nolibm (Files): Add lib/float+.h.
107073         * modules/isnanl (Files): Add lib/float+.h.
107074         * modules/vasnprintf (Files): Add lib/float+.h.
107076 2007-03-24  Bruno Haible  <bruno@clisp.org>
107078         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
107079         include isnanl-nolibm.h.
107081 2007-03-24  Bruno Haible  <bruno@clisp.org>
107083         * tests/test-read-file.c (main): Don't produce spurious output for
107084         expected situations. Make the test fail if it encountered unexpected
107085         results.
107087 2007-03-24  Bruno Haible  <bruno@clisp.org>
107089         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
107090         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
107092 2007-03-24  Bruno Haible  <bruno@clisp.org>
107094         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
107096 2007-03-24  Bruno Haible  <bruno@clisp.org>
107098         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
107099         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
107101         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
107102         * modules/utf8-ucs4: Turn into a symbolic link to module
107103         unistr/u8-mbtouc.
107105         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
107106         utf8-ucs4-unsafe.
107107         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
107108         unistr/u8-mbtouc-unsafe.
107110         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
107111         * modules/utf16-ucs4: Turn into a symbolic link to module
107112         unistr/u16-mbtouc.
107114         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
107115         utf16-ucs4-unsafe.
107116         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
107117         unistr/u16-mbtouc-unsafe.
107119         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
107120         * modules/ucs4-utf8: Turn into a symbolic link to module
107121         unistr/u8-ubtomb.
107123         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
107124         * modules/ucs4-utf16: Turn into a symbolic link to module
107125         unistr/u16-ubtomb.
107127 2007-03-24  Bruno Haible  <bruno@clisp.org>
107129         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
107130         Enable the function only if HAVE_INLINE.
107131         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
107132         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
107133         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
107134         Enable the function only if HAVE_INLINE.
107135         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
107136         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
107137         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
107138         Enable the function only if HAVE_INLINE.
107139         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
107140         Enable the function only if HAVE_INLINE.
107141         * modules/utf8-ucs4: Update.
107142         * modules/utf8-ucs4-unsafe: Update.
107143         * modules/utf16-ucs4: Update.
107144         * modules/utf16-ucs4-unsafe: Update.
107145         * modules/ucs4-utf8: Update.
107146         * modules/ucs4-utf16: Update.
107148 2007-03-24  Bruno Haible  <bruno@clisp.org>
107150         * lib/utf8-ucs4.h: Remove file.
107151         * lib/utf8-ucs4-unsafe.h: Remove file.
107152         * lib/utf16-ucs4.h: Remove file.
107153         * lib/utf16-ucs4-unsafe.h: Remove file.
107154         * lib/ucs4-utf8.h: Remove file.
107155         * lib/ucs4-utf16.h: Remove file.
107156         * lib/unistr.h: Include their previous contents.
107157         * m4/utf-ucs4.m4: Remove file.
107158         * m4/ucs4-utf.m4: Remove file.
107159         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
107160         (Depends-on): Add unistr/base.
107161         (configure.ac): Remove gl_UTF_UCS4.
107162         (Makefile.am): Update.
107163         (Include): Change to unistr.h.
107164         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
107165         (Depends-on): Add unistr/base.
107166         (configure.ac): Remove gl_UTF_UCS4.
107167         (Makefile.am): Update.
107168         (Include): Change to unistr.h.
107169         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
107170         (Depends-on): Add unistr/base.
107171         (configure.ac): Remove gl_UTF_UCS4.
107172         (Makefile.am): Update.
107173         (Include): Change to unistr.h.
107174         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
107175         (Depends-on): Add unistr/base.
107176         (configure.ac): Remove gl_UTF_UCS4.
107177         (Makefile.am): Update.
107178         (Include): Change to unistr.h.
107179         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
107180         (Depends-on): Add unistr/base.
107181         (configure.ac): Remove gl_UCS4_UTF.
107182         (Makefile.am): Update.
107183         (Include): Change to unistr.h.
107184         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
107185         (Depends-on): Add unistr/base.
107186         (configure.ac): Remove gl_UCS4_UTF.
107187         (Makefile.am): Update.
107188         (Include): Change to unistr.h.
107189         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
107190         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
107191         utf8-ucs4-unsafe.h.
107192         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
107193         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
107194         utf16-ucs4-unsafe.h.
107195         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
107196         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
107197         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
107198         * lib/unistr/u8-strchr.c: Likewise.
107199         * lib/unistr/u8-strrchr.c: Likewise.
107200         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
107201         * lib/unistr/u16-strchr.c: Likewise.
107202         * lib/unistr/u16-strrchr.c: Likewise.
107203         * lib/striconveh.c: Update.
107204         * lib/linebreak.c: Update.
107206 2007-03-24  Bruno Haible  <bruno@clisp.org>
107208         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
107209         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
107211 2007-03-22  Bruno Haible  <bruno@clisp.org>
107213         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
107215 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
107217         * MODULES.html.sh (File system functions): New module write-any-file.
107218         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
107219         * m4/write-any-file.m4: New files.
107221 2007-03-23  Eric Blake  <ebb9@byu.net>
107223         * gnulib-tool: Rearrange space-tab sequences, since some editors
107224         like to eat them.
107226 2007-03-23  Eric Blake  <ebb9@byu.net>
107228         * lib/version-etc.c (version_etc_va): Update license wording to
107229         be more concise.  Recommended by Richard Stallman.
107231 2007-03-22  Bruno Haible  <bruno@clisp.org>
107233         * lib/poll.c (MSG_PEEK): New fallback definition.
107235 2007-03-22  Bruno Haible  <bruno@clisp.org>
107237         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
107238         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
107239         (main): Update.
107240         Fixes a compilation error on BeOS.
107242 2007-03-22  Bruno Haible  <bruno@clisp.org>
107244         * modules/frexpl-tests: New file.
107245         * tests/test-frexpl.c: New file.
107247         * modules/frexpl: New file.
107248         * m4/frexpl.m4: New file.
107249         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
107250         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
107251         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
107252         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
107253         (Depends-on): Add frexpl. Remove isnanl-nolibm.
107254         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
107256 2007-03-22  Bruno Haible  <bruno@clisp.org>
107258         * lib/frexpl.c: Share code with lib/frexp.c.
107259         * modules/mathl (Files): Add lib/frexp.c.
107260         (Depends-on): Add isnanl-nolibm.
107262 2007-03-22  Bruno Haible  <bruno@clisp.org>
107264         * modules/printf-frexp (Files): Add m4/frexp.m4.
107265         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
107266         only if the found frexp function actually works.
107268 2007-03-22  Bruno Haible  <bruno@clisp.org>
107270         * lib/frexp.c: Remove older implementation that uses divisions.
107272 2007-03-21  Bruno Haible  <bruno@clisp.org>
107274         * modules/frexp-tests: New file.
107275         * tests/test-frexp.c: New file.
107277         * modules/frexp: New file.
107278         * lib/frexp.c: New file.
107279         * m4/frexp.m4: New file.
107280         * lib/math_.h (frexp): New declaration.
107281         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
107282         REPLACE_FREXP.
107283         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
107285 2007-03-21  Bruno Haible  <bruno@clisp.org>
107287         * modules/isnanl-tests: New file.
107288         * tests/test-isnanl.c: New file.
107290         * modules/isnanl: New file.
107291         * lib/isnanl.h: New file.
107292         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
107293         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
107294         gl_FUNC_ISNANL_WORKS.
107295         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
107296         New macros.
107298 2007-03-21  Bruno Haible  <bruno@clisp.org>
107300         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
107301         lib/isnanl.h.
107302         (Include): Update.
107303         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
107304         * lib/vasnprintf.c: Update.
107305         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
107306         tests/test-isnanl.h, remove tests/test-isnanl.c.
107307         (Makefile.am): Update.
107308         * tests/test-isnanl-nolibm.c: New file.
107309         * tests/test-isnanl.h: New file.
107310         * tests/test-isnanl.c: Remove file.
107312 2007-03-21  Jim Meyering  <jim@meyering.net>
107314         When trying to open ".", treat ESTALE like EACCES.
107315         * lib/savewd.c (savewd_save): Resort to forking not just upon
107316         failure with EACCES, but also when errno is ESTALE.
107318 2007-03-20  Bruno Haible  <bruno@clisp.org>
107320         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
107321         Needed on AIX 5.1. Reported by Matthew Woehlke.
107323 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
107325         Suggestions by Bruno Haible:
107326         * lib/acl-internal.h: Include "gettext.h" rather than rolling
107327         our own.
107328         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
107329         * modules/acl (Depends-on): Add gettext.
107331 2007-03-19  Bruno Haible  <bruno@clisp.org>
107333         * modules/iconvme: Remove file.
107334         * lib/iconvme.h: Remove file.
107335         * lib/iconvme.c: Remove file.
107336         * m4/iconvme.m4: Remove file.
107338 2007-03-19  Bruno Haible  <bruno@clisp.org>
107340         * doc/relocatable-maint.texi: Break long shell script line.
107341         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
107343 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
107345         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
107346         handle file_has_acl.
107347         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
107348         * lib/acl.c: Move header inclusions and related macro defns into
107349         lib/acl-internal.h.
107350         (S_ISLNK): Remove defn, since that's now done for us.
107351         (file_has_acl): Move to lib/file-has-acl.c.
107352         Call acl_trivial if available.  This is the crucial part of the fix.
107353         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
107354         shared within the library.  Rewrite a bit, partly to make it compatible
107355         with the GNU coding style.
107356         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
107357         Remove unnecessary double-quotes.
107358         Don't test for acl_to_text; the build will catch that.
107359         Replace acl_entries if it doesn't exist and it is needed.
107360         Check for -lsec and acl_trivial (as used on Solaris 10).
107361         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
107362         lib/file-has-acl.c.
107363         (Depends-on): Add sys_stat, for S_ISLNK.
107365 2007-03-19  Ben Pfaff  <blp@gnu.org>
107367         * doc/gnulib.texi: Fix typos.
107368         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
107370 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
107372         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
107373         If size is zero here, buf must be zero.
107375 2007-03-19  Simon Josefsson  <simon@josefsson.org>
107377         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
107378         <bruno@clisp.org>.
107380 2007-03-18  Bruno Haible  <bruno@clisp.org>
107382         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
107383         Suggested by Eric Blake.
107385 2007-03-18  Ben Pfaff  <blp@gnu.org>
107387         * doc/relocatable.texi: Recommend using as prefix a directory
107388         that does not exist and will never be created.  Based on
107389         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
107390         and others.
107392 2007-03-17  Bruno Haible  <bruno@clisp.org>
107394         * lib/fchownat.c: Include lchown.h.
107396 2007-03-17  Bruno Haible  <bruno@clisp.org>
107398         Fix endless loop when the given allocated size was > INT_MAX.
107399         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
107400         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
107401         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
107402         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
107403         * lib/sprintf.c (sprintf): Likewise.
107405 2007-03-17  Bruno Haible  <bruno@clisp.org>
107407         * tests/test-argp-2.sh (func_compare): Output a context diff.
107409 2007-03-17  Bruno Haible  <bruno@clisp.org>
107411         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
107412         locale's decimal-point character.
107414 2007-03-17  Bruno Haible  <bruno@clisp.org>
107416         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
107417         before comparing it. Needed because on some platforms (e.g. x86) a
107418         'long double' occupies less bytes than sizeof (long double).
107420 2007-03-17  Bruno Haible  <bruno@clisp.org>
107422         * tests/test-crc.c (main): Make printf statements 64-bit clean.
107423         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
107424         * tests/test-getaddrinfo.c (simple): Likewise.
107425         * tests/test-read-file.c (main): Likewise.
107427 2007-03-17  Bruno Haible  <bruno@clisp.org>
107429         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
107431 2007-03-17  Bruno Haible  <bruno@clisp.org>
107433         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
107434         unused variable.
107436 2007-03-17  Bruno Haible  <bruno@clisp.org>
107438         * tests/test-c-strcasecmp.c: Include c-strcase.h.
107439         * tests/test-c-strncasecmp.c: Likewise.
107441 2007-03-17  Bruno Haible  <bruno@clisp.org>
107443         * modules/stdlib (Depends-on): Add unistd.
107444         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
107445         Needed for MacOS X 10.3.
107447 2007-03-17  Bruno Haible  <bruno@clisp.org>
107449         * lib/unistr/u-strdup.h: Include <stdlib.h>.
107451 2007-03-17  Bruno Haible  <bruno@clisp.org>
107453         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
107455 2007-03-17  Bruno Haible  <bruno@clisp.org>
107457         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
107458         to reflect files copied from gnulib (with or without modifications).
107459         Suggested by Jim Meyering.
107461 2007-03-17  Eric Blake  <ebb9@byu.net>
107463         * NEWS: Document stdlib change from 2007-02-18.
107465 2007-03-17  Jim Meyering  <jim@meyering.net>
107467         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
107468         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
107469         someone uses a name containing shell meta-characters.
107470         Reported by Alfred M. Szmidt.
107472         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
107474 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
107476         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
107477         and copy gettext configuration files only if configure.ac contains
107478         a use of AM_GNU_GETTEXT_VERSION.
107480 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
107482         * build-aux/bootstrap (gnulib_name): New variable.
107483         (gnulib_tool_options): Use it.
107485 2007-03-13  Simon Josefsson  <simon@josefsson.org>
107487         * tests/test-des.c: Use new namespace.
107489 2007-03-15  Bruno Haible  <bruno@clisp.org>
107491         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
107492         Reported by James Youngman <jay@gnu.org>.
107494 2007-03-15  Bruno Haible  <bruno@clisp.org>
107496         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
107497         declared prototype. Needed with cc on OSF/1 5.1.
107499 2007-03-15  Bruno Haible  <bruno@clisp.org>
107501         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
107502         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
107503         (struct gl_list_implementation): Add dispose_fn argument to the
107504         'create_empty', 'create' methods.
107505         (struct gl_list_impl_base): Add field 'dispose_fn'.
107506         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
107507         argument.
107508         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
107509         dispose_fn argument.
107510         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
107511         dispose_fn on the dropped values.
107512         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
107513         dispose_fn argument.
107514         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
107515         dropped values.
107516         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
107517         (gl_tree_remove_node): Call dispose_fn on the dropped value.
107518         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
107519         (gl_tree_remove_node): Call dispose_fn on the dropped value.
107520         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
107521         argument.
107522         (gl_tree_list_free): Call dispose_fn on the dropped values.
107523         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
107524         the dropped values.
107525         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
107526         Add dispose_fn argument.
107527         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
107528         Call dispose_fn on the dropped values.
107529         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
107530         Add dispose_fn argument.
107531         (gl_sublist_create): Initialize the 'dispose_fn' field.
107532         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
107533         * tests/test-array_list.c (main): Update.
107534         * tests/test-carray_list.c (main): Update.
107535         * tests/test-avltree_list.c (main): Update.
107536         * tests/test-rbtree_list.c (main): Update.
107537         * tests/test-avltreehash_list.c (main): Update.
107538         * tests/test-rbtreehash_list.c (main): Update.
107539         * tests/test-linked_list.c (main): Update.
107540         * tests/test-linkedhash_list.c (main): Update.
107541         * tests/test-array_oset.c (main): Update.
107543 2007-03-15  Bruno Haible  <bruno@clisp.org>
107545         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
107546         (gl_oset_create_empty): Add dispose_fn argument.
107547         (struct gl_oset_implementation): Add dispose_fn argument to
107548         'create_empty' method.
107549         (struct gl_oset_impl_base): Add dispose_fn field.
107550         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
107551         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
107552         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
107553         values.
107554         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
107555         (gl_tree_oset_free): Call dispose_fn on the dropped values.
107556         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
107557         dropped value.
107558         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
107559         dropped value.
107560         * tests/test-array_oset.c (main): Update.
107561         * tests/test-avltree_oset.c (main): Update.
107562         * tests/test-rbtree_oset.c (main): Update.
107563         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
107565 2007-03-13  Bruno Haible  <bruno@clisp.org>
107567         * tests/test-stdbool.c (i): Update after last patch.
107569 2007-03-12  Bruno Haible  <bruno@clisp.org>
107571         * lib/quotearg.c: Include <wctype.h> early, before the definition of
107572         the iswprint macro. Needed on Solaris 2.5.1.
107574 2007-03-12  Bruno Haible  <bruno@clisp.org>
107576         * tests/test-printf-frexp.c (main): Declare x as volatile.
107578 2007-03-12  Simon Josefsson  <simon@josefsson.org>
107580         * doc/gnulib.texi (Build robot for gnulib): New section.
107582 2007-03-12  Jim Meyering  <jim@meyering.net>
107584         * build-aux/bootstrap: New file.
107585         * build-aux/bootstrap.conf: New file, from coreutils.
107587 2007-03-11  Bruno Haible  <bruno@clisp.org>
107589         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
107591 2007-03-12  Simon Josefsson  <simon@josefsson.org>
107593         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
107594         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
107595         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
107597 2007-03-11  Bruno Haible  <bruno@clisp.org>
107599         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
107600         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
107602 2007-03-11  Bruno Haible  <bruno@clisp.org>
107604         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
107605         formula. Needed for SunPRO C 5.0.
107607 2007-03-11  Bruno Haible  <bruno@clisp.org>
107609         * modules/long-options (Depends-on): Add getopt.
107611 2007-03-11  Bruno Haible  <bruno@clisp.org>
107613         * modules/modechange (Depends-on): Add stdbool.
107615 2007-03-11  Bruno Haible  <bruno@clisp.org>
107617         * modules/i-ring (Depends-on): Add stdbool.
107619 2007-03-11  Bruno Haible  <bruno@clisp.org>
107621         * modules/gc-des (Depends-on): Add stdbool.
107623 2007-03-11  Bruno Haible  <bruno@clisp.org>
107625         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
107627 2007-03-11  Bruno Haible  <bruno@clisp.org>
107629         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
107631 2007-03-11  Bruno Haible  <bruno@clisp.org>
107633         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
107635 2007-03-11  Bruno Haible  <bruno@clisp.org>
107637         * lib/vasnprintf.c (sprintf): Undefine.
107639 2007-03-11  Bruno Haible  <bruno@clisp.org>
107641         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
107642         initializers in SunPRO C and Compaq C compilers.
107644 2007-03-11  Bruno Haible  <bruno@clisp.org>
107646         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
107647         decrementing code ANSI C compliant.
107649 2007-03-11  Bruno Haible  <bruno@clisp.org>
107651         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
107652         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
107654 2007-03-11  Bruno Haible  <bruno@clisp.org>
107656         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
107657         <stdbool.h> substitute doesn't pass.
107659 2007-03-11  Bruno Haible  <bruno@clisp.org>
107661         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
107663 2007-03-11  Bruno Haible  <bruno@clisp.org>
107665         * gnulib-tool (func_create_megatestdir): Create also an autobuild
107666         script, for submission to autobuild.josefsson.org.
107668 2007-03-10  Bruno Haible  <bruno@clisp.org>
107670         * modules/canonicalize-lgpl-tests: New file.
107671         * tests/test-canonicalize-lgpl.sh: New file.
107672         * tests/test-canonicalize-lgpl.c: New file.
107674         * modules/c-strcase-tests: New file.
107675         * tests/test-c-strcase.sh: New file.
107676         * tests/test-c-strcasecmp.c: New file.
107677         * tests/test-c-strncasecmp.c: New file.
107679         * modules/atexit-tests: New file.
107680         * tests/test-atexit.sh: New file.
107681         * tests/test-atexit.c: New file.
107683 2007-03-10  Bruno Haible  <bruno@clisp.org>
107685         * tests/test-binary-io.sh: Use temporary filenames that are not so
107686         likely to clash with those of other tests (in a parallel make).
107687         * tests/test-binary-io.c: Likewise.
107689 2007-03-10  Bruno Haible  <bruno@clisp.org>
107691         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
107692         fallback; use #error instead.
107693         Suggested by Simon Josefsson.
107695 2007-03-10  Bruno Haible  <bruno@clisp.org>
107697         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
107698         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
107699         first and the last.
107701 2007-03-10  Bruno Haible  <bruno@clisp.org>
107703         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
107705 2007-03-10  Bruno Haible  <bruno@clisp.org>
107707         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
107708         "make distcheck".
107709         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
107710         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
107711         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
107713 2007-03-10  Bruno Haible  <bruno@clisp.org>
107715         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
107716         variable.
107717         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
107718         variable.
107720 2007-03-09  Eric Blake  <ebb9@byu.net>
107721         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
107723         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
107724         types are not being provided by gnulib.
107725         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
107726         types are supported.
107728 2007-03-10  Bruno Haible  <bruno@clisp.org>
107730         * lib/stdio_.h (__attribute__): New macro.
107731         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
107732         vsprintf): Specify __attribute__ __format__ for GCC.
107733         Suggested by Eric Blake.
107735 2007-03-09  Bruno Haible  <bruno@clisp.org>
107737         * modules/printf-posix-tests: New file.
107738         * tests/test-printf-posix.sh: New file.
107739         * tests/test-printf-posix.c: New file.
107741         * modules/printf-posix: New file.
107742         * lib/printf.c: New file.
107743         * m4/printf-posix-rpl.m4: New file.
107744         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
107745         REPLACE_PRINTF.
107746         * lib/stdio_.h (printf): New declaration.
107747         (format, __format__, ____printf____, ____scanf____, ____strftime____,
107748         ____strfmon____): New macros.
107749         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
107750         REPLACE_PRINTF.
107752 2007-03-09  Bruno Haible  <bruno@clisp.org>
107754         * tests/test-vasnprintf-posix2.sh: New file.
107755         * tests/test-vasnprintf-posix2.c: New file.
107756         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
107757         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
107758         (Makefile.am): Activate test-vasnprintf-posix2.sh.
107760         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
107761         a locale dependent decimal point, rather than always '.'.
107763 2007-03-09  Eric Blake  <ebb9@byu.net>
107765         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
107766         spite of platforms like Tandem/NSK that define it to -1.
107768 2007-03-08  Bruno Haible  <bruno@clisp.org>
107770         * modules/vprintf-posix-tests: New file.
107771         * tests/test-vprintf-posix.sh: New file.
107772         * tests/test-vprintf-posix.c: New file.
107773         * tests/test-printf-posix.h: New file.
107775         * modules/vprintf-posix: New file.
107776         * lib/vprintf.c: New file.
107777         * m4/vprintf-posix.m4: New file.
107778         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
107779         REPLACE_VPRINTF.
107780         * lib/stdio_.h (vprintf): New declaration.
107781         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
107782         REPLACE_VPRINTF.
107784 2007-03-08  Bruno Haible  <bruno@clisp.org>
107786         * modules/fprintf-posix-tests: New file.
107787         * tests/test-fprintf-posix.sh: New file.
107788         * tests/test-fprintf-posix.c: New file.
107790         * modules/fprintf-posix: New file.
107791         * lib/fprintf.c: New file.
107792         * m4/fprintf-posix.m4: New file.
107793         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
107794         REPLACE_FPRINTF.
107795         * lib/stdio_.h (fprintf): New declaration.
107796         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
107797         REPLACE_FPRINTF.
107799 2007-03-08  Bruno Haible  <bruno@clisp.org>
107801         * modules/vfprintf-posix-tests: New file.
107802         * tests/test-vfprintf-posix.sh: New file.
107803         * tests/test-vfprintf-posix.c: New file.
107804         * tests/test-fprintf-posix.h: New file.
107805         * tests/test-fprintf-posix.out: New file.
107807         * modules/vfprintf-posix: New file.
107808         * lib/vfprintf.c: New file.
107809         * m4/vfprintf-posix.m4: New file.
107810         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
107811         REPLACE_VFPRINTF.
107812         * lib/stdio_.h (vfprintf): New declaration.
107813         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
107814         REPLACE_VFPRINTF.
107816 2007-03-08  Bruno Haible  <bruno@clisp.org>
107818         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
107820 2007-03-08  Bruno Haible  <bruno@clisp.org>
107822         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
107823         instead of 'expr' invocations.
107824         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
107825         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
107826         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
107827         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
107828         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
107829         Suggested by Paul Eggert.
107831 2007-03-08  Bruno Haible  <bruno@clisp.org>
107833         * modules/fseterr-tests: New file.
107834         * tests/test-fseterr.c: New file.
107836         * modules/fseterr: New file.
107837         * lib/fseterr.h: New file.
107838         * lib/fseterr.c: New file.
107840 2007-03-08  Bruno Haible  <bruno@clisp.org>
107842         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
107843         * lib/getopt_.h: Likewise.
107844         * lib/mbswidth.h: Likewise.
107845         * lib/setenv.h: Likewise.
107846         * lib/vasnprintf.h: Likewise.
107847         * lib/vasprintf.h: Likewise.
107848         * lib/verror.h: Likewise.
107849         * lib/xsetenv.h: Likewise.
107850         * lib/xvasprintf.h: Likewise.
107852 2007-03-08  Jim Meyering  <jim@meyering.net>
107854         * users.txt: Add parted.
107856         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
107858 2007-03-07  Bruno Haible  <bruno@clisp.org>
107860         * m4/printf.m4: Make the shell script snippets copy&pastable.
107862 2007-03-02  Bruno Haible  <bruno@clisp.org>
107864         * lib/netinet_in_.h: New file.
107865         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
107866         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
107867         * modules/netinet_in (Files): Add lib/netinet_in_.h.
107868         (Depends-on): Add absolute-header.
107869         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
107870         into netinet/in.h.
107872 2007-03-03  Bruno Haible  <bruno@clisp.org>
107874         * lib/sys_select_.h: New file.
107875         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
107876         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
107877         * modules/sys_select (Files): Add lib/sys_select_.h.
107878         (Depends-on): Add absolute-header.
107879         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
107880         into sys/select.h.
107882 2007-03-02  Bruno Haible  <bruno@clisp.org>
107884         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
107885         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
107886         values.
107887         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
107888         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
107889         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
107890         * modules/sys_socket (Depends-on): Add absolute-header.
107891         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
107892         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
107893         (Include): Remove requirement of inclusion of <sys/types.h>.
107895 2007-03-02  Bruno Haible  <bruno@clisp.org>
107897         * lib/byteswap_.h (bswap_32): Fix formula.
107899 2007-03-06  Bruno Haible  <bruno@clisp.org>
107901         * modules/sprintf-posix-tests: New file.
107902         * tests/test-sprintf-posix.c: New file.
107904         * modules/sprintf-posix: New file.
107905         * lib/sprintf.c: New file.
107906         * m4/sprintf-posix.m4: New file.
107907         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
107908         REPLACE_SPRINTF.
107909         * lib/stdio_.h (sprintf): New declaration.
107910         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
107911         REPLACE_SPRINTF.
107913 2007-03-06  Bruno Haible  <bruno@clisp.org>
107915         * modules/vsprintf-posix-tests: New file.
107916         * tests/test-vsprintf-posix.c: New file.
107917         * tests/test-sprintf-posix.h: New file.
107919         * modules/vsprintf-posix: New file.
107920         * lib/vsprintf.c: New file.
107921         * m4/vsprintf-posix.m4: New file.
107922         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
107923         REPLACE_VSPRINTF.
107924         * lib/stdio_.h (vsprintf): New declaration.
107925         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
107926         REPLACE_VSPRINTF.
107928 2007-03-06  Bruno Haible  <bruno@clisp.org>
107930         * modules/vsnprintf (Depend-on): Remove minmax.
107932 2007-03-06  Bruno Haible  <bruno@clisp.org>
107934         * modules/snprintf-posix-tests: New file.
107935         * tests/test-snprintf-posix.c: New file.
107937         * modules/snprintf-posix: New file.
107938         * m4/snprintf-posix.m4: New file.
107939         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
107940         gl_FUNC_SNPRINTF.
107941         (gl_FUNC_SNPRINTF): Invoke it.
107942         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
107943         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
107944         is set.
107945         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
107947 2007-03-06  Bruno Haible  <bruno@clisp.org>
107949         * modules/vsnprintf-posix-tests: New file.
107950         * tests/test-vsnprintf-posix.c: New file.
107951         * tests/test-snprintf-posix.h: New file.
107953         * modules/vsnprintf-posix: New file.
107954         * m4/vsnprintf-posix.m4: New file.
107955         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
107956         gl_FUNC_VSNPRINTF.
107957         (gl_FUNC_VSNPRINTF): Invoke it.
107958         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
107959         * lib/stdio_.h (vsnprintf): Define as a replacement if
107960         REPLACE_VSNPRINTF is set.
107961         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
107963 2007-03-06  Bruno Haible  <bruno@clisp.org>
107965         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
107966         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
107968 2007-03-06  Bruno Haible  <bruno@clisp.org>
107970         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
107971         (asinl): Declare also if HAVE_DECL_ASINL is set.
107972         (atanl): Declare also if HAVE_DECL_ATANL is set.
107973         (ceill): Declare also if HAVE_DECL_CEILL is set.
107974         (cosl): Declare also if HAVE_DECL_COSL is set.
107975         (expl): Declare also if HAVE_DECL_EXPL is set.
107976         (floorl): Declare also if HAVE_DECL_FLOORL is set.
107977         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
107978         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
107979         (logl): Declare also if HAVE_DECL_LOGL is set.
107980         (sinl): Declare also if HAVE_DECL_SINL is set.
107981         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
107982         (tanl): Declare also if HAVE_DECL_TANL is set.
107983         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
107984         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
107985         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
107986         declaration of frexpl, ldexpl.
107987         * modules/printf-frexpl (Depends-on): Add math.
107988         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
107990 2007-03-05  Bruno Haible  <bruno@clisp.org>
107992         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
107993         frexpl and ldexpl are declared.
107994         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
107996 2007-03-05  Bruno Haible  <bruno@clisp.org>
107998         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
107999         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
108001 2007-03-05  Bruno Haible  <bruno@clisp.org>
108003         * lib/stdio_.h: Include <stddef.h>.
108005 2007-03-05  Bruno Haible  <bruno@clisp.org>
108007         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
108009 2007-03-05  Bruno Haible  <bruno@clisp.org>
108011         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
108012         NetBSD 4, from Ralf Wildenhues.
108014 2007-03-04  Bruno Haible  <bruno@clisp.org>
108016         * lib/vasprintf.h: Update #if logic for the case when the functions
108017         exist but are overridden.
108019 2007-03-04  Bruno Haible  <bruno@clisp.org>
108021         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
108022         implementations: glibc-2.4 and MacOS X 10.3.
108023         * tests/test-vasnprintf-posix.c (test_function): Test also the case
108024         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
108025         * tests/test-vasprintf-posix.c (test_function): Likewise.
108027 2007-03-04  Bruno Haible  <bruno@clisp.org>
108029         * modules/vasprintf-posix-tests: New file.
108030         * tests/test-vasprintf-posix.c: New file.
108032         * modules/vasprintf-posix: New file.
108033         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
108034         defined.
108035         * m4/vasprintf-posix.m4: New file.
108036         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
108037         gl_FUNC_VASPRINTF.
108038         (gl_FUNC_VASPRINTF): Invoke it.
108039         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
108040         here.
108041         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
108043 2007-03-04  Bruno Haible  <bruno@clisp.org>
108045         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
108046         REPLACE_GETTIMEOFDAY.
108047         * modules/sys_time (Makefile.am): Likewise.
108048         * m4/sys_time_h.m4: Likewise.
108049         * m4/gettimeofday.m4: Likewise.
108051 2007-03-04  Bruno Haible  <bruno@clisp.org>
108053         * modules/vasnprintf-posix-tests: New file.
108054         * tests/test-vasnprintf-posix.c: New file.
108056         * modules/vasnprintf-posix: New file.
108057         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
108058         printf-frexpl.h.
108059         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
108060         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
108061         REPLACE_VASNPRINTF is defined.
108062         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
108063         gl_FUNC_VASNPRINTF.
108064         (gl_FUNC_VASNPRINTF): Invoke it.
108065         * m4/vasnprintf-posix.m4: New file.
108066         * m4/printf.m4: New file.
108068 2007-03-04  Bruno Haible  <bruno@clisp.org>
108070         Compile progreloc.c only if --enable-relocatable is specified.
108071         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
108072         if --enable-relocatable was specified.
108073         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
108074         lib_SOURCES.
108076 2007-03-04  Jim Meyering  <jim@meyering.net>
108078         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
108079         Use it consistently, rather than enumerating errno constants.
108081 2007-03-04  Bruno Haible  <bruno@clisp.org>
108083         * modules/xvasprintf-tests: New file.
108084         * tests/test-xvasprintf.c: New file.
108086         * modules/vasprintf-tests: New file.
108087         * tests/test-vasprintf.c: New file.
108089         * modules/vasnprintf-tests: New file.
108090         * tests/test-vasnprintf.c: New file.
108092         * modules/vsnprintf-tests: New file.
108093         * tests/test-vsnprintf.c: New file.
108095         * modules/snprintf-tests: New file.
108096         * tests/test-snprintf.c: New file.
108098 2007-03-04  Bruno Haible  <bruno@clisp.org>
108100         Compile relocatable.c only if --enable-relocatable is specified.
108101         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
108102         gl_RELOCATABLE_LIBRARY.
108103         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
108104         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
108105         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
108106         gl_RELOCATABLE_LIBRARY.
108107         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
108108         (Makefile.am): Remove lib_SOURCES.
108109         * modules/relocatable-lib-lgpl (configure.ac): Invoke
108110         gl_RELOCATABLE_LIBRARY.
108111         (Makefile.am): Remove lib_SOURCES.
108112         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
108113         always.
108114         * modules/relocatable-prog-wrapper (configure.ac): Invoke
108115         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
108117 2007-03-04  Bruno Haible  <bruno@clisp.org>
108119         * modules/argmatch-tests: New file.
108120         * tests/test-argmatch.c: New file.
108122         * tests/test-allocsa.c (main): Halve the number of loop runs.
108124         * modules/alloca-opt-tests: New file.
108125         * tests/test-alloca-opt.c: New file.
108127 2007-03-04  Jim Meyering  <jim@meyering.net>
108129         Work around difference between Linux ACLs and Solaris 10 ZFS.
108130         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
108131         for EINVAL.
108133 2007-03-03  Bruno Haible  <bruno@clisp.org>
108135         * modules/relocatable-prog (Depends-on): Add back progreloc's
108136         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
108138 2007-03-03  Bruno Haible  <bruno@clisp.org>
108140         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
108141         * modules/relocatable-lib: New file.
108143 2007-03-03  Bruno Haible  <bruno@clisp.org>
108145         * modules/relocatable-prog: Renamed from modules/relocatable.
108146         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
108148 2007-03-03  Bruno Haible  <bruno@clisp.org>
108150         * modules/relocatable-script (Files): Add doc/relocatable.texi,
108151         m4/relocatable-lib.m4.
108152         (Depends-on): Remove 'relocatable'.
108153         (configure.ac): Add gl_RELOCATABLE_NOP.
108155 2007-03-03  Bruno Haible  <bruno@clisp.org>
108157         * modules/relocatable-prog-wrapper: New file.
108158         * modules/relocatable (Depends-on): Add it. Remove all other
108159         dependencies except progname.
108160         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
108162         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
108163         (gl_FUNC_STRERROR): Nop.
108164         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
108166         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
108167         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
108169         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
108170         (gl_FUNC_READLINK): Update.
108172         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
108174 2007-03-03  Bruno Haible  <bruno@clisp.org>
108176         * lib/xreadlink.c: Include <unistd.h> unconditionally.
108177         * modules/xreadlink (Depends-on): Add unistd.
108178         * modules/xreadlink-with-size (Depends-on): Likewise.
108180 2007-03-03  Bruno Haible  <bruno@clisp.org>
108182         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
108183         extracted from gt_FUNC_SETENV.
108184         (gt_FUNC_SETENV): Remove macro.
108185         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
108186         remove gt_FUNC_SETENV.
108188 2007-03-03  Bruno Haible  <bruno@clisp.org>
108190         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
108191         ENABLE_RELOCATABLE here.
108192         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
108194 2007-03-03  Bruno Haible  <bruno@clisp.org>
108196         * modules/rbtreehash-list-tests (Depends-on): Add progname.
108197         * tests/test-rbtreehash_list.c: Include progname.h.
108198         (main): Call set_program_name.
108200         * modules/rbtree-oset-tests (Depends-on): Add progname.
108201         * tests/test-rbtree_oset.c: Include progname.h.
108202         (main): Call set_program_name.
108204         * modules/rbtree-list-tests (Depends-on): Add progname.
108205         * tests/test-rbtree_list.c: Include progname.h.
108206         (main): Call set_program_name.
108208         * modules/linked-list-tests (Depends-on): Add progname.
108209         * tests/test-linked_list.c: Include progname.h.
108210         (main): Call set_program_name.
108212 2007-03-03  Bruno Haible  <bruno@clisp.org>
108214         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
108215         All uses of __restrict changed to _Restrict_.
108216         * lib/glob_.h (__restrict): Remove macro.
108218 2007-03-02  Bruno Haible  <bruno@clisp.org>
108220         * modules/gettext (configure.ac): Require gettext infrastructure
108221         from version 0.16.1.
108223 2007-03-02  Bruno Haible  <bruno@clisp.org>
108225         * modules/linkedhash-list-tests (Depends-on): Add progname.
108226         * tests/test-linkedhash_list.c: Include progname.h.
108227         (main): Call set_program_name.
108229         * modules/carray-list-tests (Depends-on): Add progname.
108230         * tests/test-carray_list.c: Include progname.h.
108231         (main): Call set_program_name.
108233         * modules/avltreehash-list-tests (Depends-on): Add progname.
108234         * tests/test-avltreehash_list.c: Include progname.h.
108235         (main): Call set_program_name.
108237         * modules/avltree-oset-tests (Depends-on): Add progname.
108238         * tests/test-avltree_oset.c: Include progname.h.
108239         (main): Call set_program_name.
108241         * modules/avltree-list-tests (Depends-on): Add progname.
108242         * tests/test-avltree_list.c: Include progname.h.
108243         (main): Call set_program_name.
108245         * modules/array-oset-tests (Depends-on): Add progname.
108246         * tests/test-array_oset.c: Include progname.h.
108247         (main): Call set_program_name.
108249         * modules/array-list-tests (Depends-on): Add progname.
108250         * tests/test-array_list.c: Include progname.h.
108251         (main): Call set_program_name.
108253         * modules/argp-tests (Depends-on): Add progname.
108254         * tests/test-argp.c: Include argp.h first. Include progname.h.
108255         (main): Call set_program_name.
108257 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
108259         * doc/gnulib-tool.texi (Initial import): Reword description of
108260         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
108261         limited effect even if defined after the first system include.
108263 2007-03-01  Bruno Haible  <bruno@clisp.org>
108265         * build-aux/config.libpath: Update to libtool-1.5.22.
108266         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
108268 2007-03-01  Bruno Haible  <bruno@clisp.org>
108270         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
108271         foo_CFLAGS.
108272         Reported by Ralf Wildenhues.
108274 2007-03-01  Bruno Haible  <bruno@clisp.org>
108276         * build-aux/install-reloc: Remove object files left over by some
108277         compilers.
108278         Reported by Ralf Wildenhues.
108280 2007-03-01  Bruno Haible  <bruno@clisp.org>
108282         * build-aux/install-reloc: Break long lines.
108284 2007-03-01  Bruno Haible  <bruno@clisp.org>
108286         * doc/relocatable.texi: Document that it may not work on OpenBSD.
108287         Reported by Ralf Wildenhues.
108289 2007-03-01  Bruno Haible  <bruno@clisp.org>
108291         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
108292         include ordering constraints.
108294 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
108296         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
108297         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
108298         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
108299         as another example.
108300         * lib/time_.h: Fix misspelling.
108301         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
108302         Require gl_HEADER_TIME_H_DEFAULTS.
108303         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
108304         * m4/time_r.m4 (gl_TIME_R): Likewise.
108305         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
108307 2007-03-01  Bruno Haible  <bruno@clisp.org>
108309         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
108310         * m4/utimens.m4 (gl_UTIMENS): Likewise.
108312 2007-03-01  Jim Meyering  <jim@meyering.net>
108314         * modules/xreadlink (Maintainer): Add my name.
108315         * modules/xreadlink-with-size (Depends-on): Alphabetize.
108317 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
108318             Bruno Haible  <bruno@clisp.org>
108320         * build-aux/install-reloc: Compile also c-ctype.c.
108321         * build-aux/relocatable.sh.in: New file.
108322         * doc/relocatable.texi: New file.
108323         * doc/relocatable-maint.texi: New file.
108324         * doc/gnulib.texi: Include relocatable-maint.texi.
108325         * lib/progreloc.c: Include unistd.h unconditionally.
108326         * lib/relocwrapper.c: Include unistd.h unconditionally.
108327         Include c-ctype.h.
108328         (add_dotbin): Use c_tolower.
108329         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
108330         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
108331         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
108332         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
108333         to m4/relocatable-lib.m4.
108334         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
108335         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
108336         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
108337         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
108338         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
108339         * modules/relocatable: New file.
108340         * modules/relocatable-lib: New file.
108341         * modules/relocatable-script: New file.
108343 2007-02-28  Bruno Haible  <bruno@clisp.org>
108345         Import --enable-relocatable infrastructure.
108346         * build-aux/config.libpath: New file, from GNU gettext.
108347         * build-aux/install-reloc: New file, from GNU gettext.
108348         * build-aux/reloc-ldflags: New file, from GNU gettext.
108349         * lib/relocatable.h: New file, from GNU gettext.
108350         * lib/relocatable.c: New file, from GNU gettext.
108351         * lib/relocwrapper.c: New file, from GNU gettext.
108352         * m4/relocatable.m4: New file, from GNU gettext.
108354 2007-02-28  Bruno Haible  <bruno@clisp.org>
108356         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
108358         * modules/xreadlink: New file, from GNU gettext with modifications.
108359         * lib/xreadlink.c: New file, from GNU gettext.
108360         * lib/xreadlink.h: Add comments.
108361         (xreadlink): New declaration.
108363         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
108364         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
108365         lib/xreadlink-with-size.c.
108366         (configure.ac): Remove gl_XREADLINK invocation.
108367         (Makefile.am): Augment lib_SOURCES.
108368         * m4/xreadlink.m4: Remove file.
108369         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
108370         (xreadlink_with_size): Renamed from xreadink.
108371         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
108372         * modules/canonicalize (Depends-on): Replace xreadlink with
108373         xreadlink-with-size.
108374         * lib/canonicalize.c (canonicalize_filename_mode): Update.
108376 2007-02-25  Jim Meyering  <jim@meyering.net>
108378         * build-aux/announce-gen: When complaining about excess arguments,
108379         list them.
108381 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
108383         * README: Document signed integer overflow situation more
108384         accurately.
108386 2007-02-25  Bruno Haible  <bruno@clisp.org>
108388         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
108389         'a' or 'A' conversion.
108391 2007-02-25  Bruno Haible  <bruno@clisp.org>
108393         * modules/filename: Renamed from modules/pathname.
108394         (Files): Replace lib/pathname.h with lib/filename.h. Replace
108395         lib/concatpath.c with lib/concat-filename.c.
108396         (Makefile.am): Update.
108397         (Include): Replace pathname.h with filename.h.
108398         * lib/filename.h: Renamed from lib/pathname.h.
108399         (concatenated_filename): Renamed from concatenated_pathname.
108400         * lib/concat-filename.c: Renamed from lib/concatpath.c.
108401         (concatenated_filename): Renamed from concatenated_pathname.
108402         * lib/findprog.c: Include filename.h instead of pathname.h.
108403         (find_in_path): Update.
108404         * lib/javacomp.c: Include filename.h instead of pathname.h.
108405         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
108406         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
108407         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
108408         is_oldgcj_14_13_usable, is_javac_usable): Update.
108409         * lib/javaexec.c: Include filename.h instead of pathname.h.
108410         (execute_java_class): Update.
108411         * modules/findprog: Update.
108412         * modules/javacomp: Update.
108413         * modules/javaexec: Update.
108414         * MODULES.html.sh (File system functions): Add 'filename', remove
108415         'pathname'.
108417 2007-02-25  Bruno Haible  <bruno@clisp.org>
108419         * modules/printf-frexpl-tests: New file.
108420         * tests/test-printf-frexpl.c: New file.
108422         * modules/printf-frexpl: New file.
108423         * lib/printf-frexpl.h: New file.
108424         * lib/printf-frexpl.c: New file.
108425         * m4/printf-frexpl.m4: New file.
108427 2007-02-25  Bruno Haible  <bruno@clisp.org>
108429         * modules/printf-frexp-tests: New file.
108430         * tests/test-printf-frexp.c: New file.
108432         * modules/printf-frexp: New file.
108433         * lib/printf-frexp.h: New file.
108434         * lib/printf-frexp.c: New file.
108435         * m4/printf-frexp.m4: New file.
108437 2007-02-25  Bruno Haible  <bruno@clisp.org>
108439         Assume automake >= 1.10 for the tests.
108440         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
108441         * modules/arctwo-tests: Likewise.
108442         * modules/argp-tests: Likewise.
108443         * modules/avltree-list-tests: Likewise.
108444         * modules/avltree-oset-tests: Likewise.
108445         * modules/avltreehash-list-tests: Likewise.
108446         * modules/carray-list-tests: Likewise.
108447         * modules/crc-tests: Likewise.
108448         * modules/des-tests: Likewise.
108449         * modules/gc-arcfour-tests: Likewise.
108450         * modules/gc-arctwo-tests: Likewise.
108451         * modules/gc-des-tests: Likewise.
108452         * modules/gc-hmac-md5-tests: Likewise.
108453         * modules/gc-hmac-sha1-tests: Likewise.
108454         * modules/gc-md2-tests: Likewise.
108455         * modules/gc-md4-tests: Likewise.
108456         * modules/gc-md5-tests: Likewise.
108457         * modules/gc-pbkdf2-sha1-tests: Likewise.
108458         * modules/gc-rijndael-tests: Likewise.
108459         * modules/gc-sha1-tests: Likewise.
108460         * modules/gc-tests: Likewise.
108461         * modules/getaddrinfo-tests: Likewise.
108462         * modules/hmac-md5-tests: Likewise.
108463         * modules/hmac-sha1-tests: Likewise.
108464         * modules/linked-list-tests: Likewise.
108465         * modules/linkedhash-list-tests: Likewise.
108466         * modules/lock-tests: Likewise.
108467         * modules/md2-tests: Likewise.
108468         * modules/md4-tests: Likewise.
108469         * modules/md5-tests: Likewise.
108470         * modules/rbtree-list-tests: Likewise.
108471         * modules/rbtree-oset-tests: Likewise.
108472         * modules/rbtreehash-list-tests: Likewise.
108473         * modules/read-file-tests: Likewise.
108474         * modules/rijndael-tests: Likewise.
108475         * modules/stdint-tests: Likewise.
108476         * modules/tls-tests: Likewise.
108478 2007-02-24  Bruno Haible  <bruno@clisp.org>
108480         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
108481         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
108482         function; instead check whether isnan with a double argument links.
108483         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
108484         function; instead check whether isnan with a 'long double' argument
108485         links.
108486         Reported by Eric Blake <ebb9@byu.net>.
108488 2007-02-24  Bruno Haible  <bruno@clisp.org>
108490         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
108491         defined.
108492         * lib/isnanl.c: Remove all code. Just include isnan.c.
108493         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
108495 2007-02-25  Jim Meyering  <jim@meyering.net>
108497         Avoid conflicting types for 'unsetenv' on FreeBSD.
108498         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
108499         conflicting with FreeBSD's (5.0 and 6.1) function declaration
108500         in stdlib.h.
108502 2007-02-24  Bruno Haible  <bruno@clisp.org>
108504         * modules/isnanl-nolibm-tests: New file.
108505         * tests/test-isnanl.c: New file.
108507         * modules/isnanl-nolibm: New file.
108508         * lib/isnanl.h: New file.
108509         * lib/isnanl.c: New file.
108510         * m4/isnanl.m4: New file.
108512 2007-02-24  Bruno Haible  <bruno@clisp.org>
108514         * modules/isnan-nolibm-tests: New file.
108515         * tests/test-isnan.c: New file.
108517         * modules/isnan-nolibm: New file.
108518         * lib/isnan.h: New file.
108519         * lib/isnan.c: New file.
108520         * m4/isnan.m4: New file.
108522 2007-02-24  Bruno Haible  <bruno@clisp.org>
108524         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
108525         assume that an exponent fits in 20 bits.
108527 2007-02-24  Jim Meyering  <jim@meyering.net>
108529         * m4/regex.m4: Update the description of the configure-time option,
108530         --without-included-regex, to state accurately what the defaults are,
108531         and perhaps to give people an idea why using this option is risky.
108533 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
108535         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
108536         loops on small arguments.  This attempts to avoid the problem
108537         Bruno Haible reported for AIX 4.3.2 in
108538         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
108540 2007-02-23  Bruno Haible  <bruno@clisp.org>
108542         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
108543         Needed for help2man.
108545 2007-02-23  Karl Berry  <karl@gnu.org>
108547         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
108548         exists, foo.h should be cvs-ignored, not committed.
108550 2007-02-23  Eric Blake  <ebb9@byu.net>
108552         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
108553         * lib/stat-time.h (includes): Likewise.
108554         * lib/utimecmp.c (includes): Likewise.
108555         * lib/utimens.h (includes): Likewise.
108556         * lib/getdate.y (includes): Also include "timespec.h" for use
108557         internal to the module.
108558         * modules/utimens (Depends-on): Revert yesterday's patch.
108559         * modules/nanosleep (Depends-on): Add missing dependency.
108561 2007-02-22  Bruno Haible  <bruno@clisp.org>
108563         * lib/glob.c: Don't include getlogin_r.h.
108565 2007-02-22  Jim Meyering  <jim@meyering.net>
108567         * modules/utimens (Depends-on): Add timespec, required for
108568         utimens.h's inclusion of timespec.h.
108570 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
108572         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
108573         long unreadable paths in GNU/Linux.  Problem reported by Andreas
108574         Schwab in
108575         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
108576         I'll try to think of a better way to fix the Solaris problem.
108578         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
108579         like glibc; on Solaris 10, it fails with errno == EINVAL.
108580         POSIX says the behavior is unspecified if the first argument is NULL,
108581         so play it safe and never pass NULL to the system getcwd.
108583 2007-02-21  Jim Meyering  <jim@meyering.net>
108585         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
108586         of gettimeofday.  It would conflict with the one now always
108587         provided via sys_time_.h.  Reported by Matthew Woehlke, as
108588         an IRIX 6.5 build failure.
108590 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
108592         Minor fixups to port to Solaris 10 with Sun C 5.8.
108593         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
108594         * modules/getcwd (Depends-on): Add dirfd.
108595         * lib/putenv.c (putenv): #undef it.
108596         (rpl_putenv): New decl.
108597         (malloc, free): Include <stdlib.h> rather than prototyping separately.
108599 2007-02-20  Bruno Haible  <bruno@clisp.org>
108601         * modules/stdio-tests: New file.
108602         * tests/test-stdio.c: New file.
108604         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
108605         (Depends-on): Add stdio.
108606         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
108607         (Include): Use <stdio.h> instead of vsnprintf.h.
108608         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
108609         HAVE_DECL_VSNPRINTF.
108610         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
108612         * modules/snprintf (Files): Remove lib/snprintf.h.
108613         (Depends-on): Add stdio.
108614         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
108615         (Include): Use <stdio.h> instead of snprintf.h.
108616         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
108617         HAVE_DECL_SNPRINTF.
108618         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
108619         * lib/getaddrinfo.c: Likewise.
108621         * modules/stdio: New file.
108622         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
108623         * lib/snprintf.h: Remove file.
108624         * lib/vsnprintf.h: Remove file.
108625         * lib/.cppi-disable: Remove snprintf.h.
108626         * m4/stdio_h.m4: New file.
108627         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
108629 2007-02-20  Jim Meyering  <jim@meyering.net>
108631         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
108632         used by e.g., mingw.  From Bruno Haible.
108634 2007-02-19  Bruno Haible  <bruno@clisp.org>
108636         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
108637         warnings.
108638         Reported by Ben Pfaff <blp@cs.stanford.edu>.
108640 2007-02-19  Bruno Haible  <bruno@clisp.org>
108642         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
108643         from mingw users.
108645 2007-02-19  Bruno Haible  <bruno@clisp.org>
108647         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
108648         warnings.
108649         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
108651 2007-02-19  Jim Meyering  <jim@meyering.net>
108653         Don't use FD after a successful "fdopendir (fd)".
108654         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
108655         Reset it by calling dirfd on the just-obtained DIR*.
108657         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
108658         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
108660 2007-02-18  Bruno Haible  <bruno@clisp.org>
108662         * lib/readlink.c: Include <unistd.h>.
108663         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
108664         HAVE_READLINK.
108665         * modules/readlink (Depends-on): Add unistd.
108666         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108667         (Include): Add <unistd.h>.
108669         * lib/getlogin_r.h: Remove file.
108670         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
108671         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
108672         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
108673         HAVE_DECL_GETLOGIN_R.
108674         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
108675         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108676         (Include): Use <unistd.h> instead of getlogin_r.h.
108678         * lib/getcwd.h: Remove file.
108679         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
108680         * lib/xgetcwd.c: Likewise.
108681         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
108682         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
108683         * modules/getcwd (Files): Remove lib/getcwd.h.
108684         (Depends-on): Add unistd.
108685         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108686         (Include): Use <unistd.h> instad of getcwd.h.
108688         * lib/ftruncate.c: Include <unistd.h> first.
108689         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
108690         Set HAVE_FTRUNCATE.
108691         * modules/ftruncate (Depends-on): Add unistd.
108692         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108694         * lib/fchdir.c: Include <unistd.h> first.
108695         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
108696         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
108697         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
108698         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108699         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
108701         * lib/dup2.c: Include <unistd.h> first.
108702         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
108703         HAVE_DUP2.
108704         * modules/dup2 (Depends-on): Add unistd.
108705         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108707         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
108708         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
108709         REPLACE_CHOWN. Don't define chown as a macro here.
108710         * modules/chown (Depends-on): Add unistd.
108711         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108713         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
108714         Add definition for GL_LINK_WARNING.
108715         (chown, dup2): New declarations.
108716         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
108717         link warning.
108718         (ftruncate): New declaration.
108719         (getcwd): New declaration, taken from old getcwd.h.
108720         (getlogin_r): New declaration, taken from old getlogin_r.h.
108721         (readlink): New declaration.
108722         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
108723         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
108724         (gl_PREREQ_UNISTD): Remove macro.
108725         (gl_UNISTD_MODULE_INDICATOR): New macro.
108726         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
108727         many new variables. Don't set UNISTD_H.
108728         * modules/unistd (Description): Change.
108729         (Depends-on): Add link-warning.
108730         (configure.ac): Update.
108731         (Makefile.am): Create unistd.h always. Substitute many new variables
108732         into it.
108734 2007-02-18  Bruno Haible  <bruno@clisp.org>
108736         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
108737         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
108738         HAVE_GETSUBOPT.
108739         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
108740         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
108741         * lib/getsubopt.h: Remove file.
108742         * modules/getsubopt (Files): Remove lib/getsubopt.h.
108743         (Depends-on): Add stdlib.
108744         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108745         (Includes): Use <stdlib.h> instead of getsubopt.h.
108746         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
108747         Set HAVE_GETSUBOPT.
108748         * lib/getsubopt.c: Don't include getsubopt.h.
108750 2007-02-18  Bruno Haible  <bruno@clisp.org>
108752         * modules/fchdir (Depends-on): Add dup2.
108754 2007-02-18  Bruno Haible  <bruno@clisp.org>
108756         * lib/stdlib_.h: Handle glibc's special invocation convention
108757         specially.
108759 2007-02-18  Bruno Haible  <bruno@clisp.org>
108761         * modules/stdlib-tests: New file.
108762         * tests/test-stdlib.c: New file.
108764         * modules/mkstemp (Files): Remove lib/mkstemp.h.
108765         (Depends-on): Add stdlib.
108766         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108767         (Includes): Use <stdlib.h> instead of mkstemp.h.
108768         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
108769         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
108770         * lib/mkstemp.c: Don't include mkstemp.h.
108771         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
108772         * lib/stdlib--.h: Don't include mkstemp.h.
108774         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
108775         (Depends-on): Add stdlib.
108776         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108777         (Includes): Use <stdlib.h> instead of mkdtemp.h.
108778         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
108779         HAVE_MKDTEMP.
108780         * lib/mkdtemp.c: Don't include mkdtemp.h.
108781         * lib/clean-temp.c: Don't include mkdtemp.h.
108783         * modules/exit (Files): Remove lib/exit.h.
108784         (Depends-on): Add stdlib.
108785         (Makefile.am): Remove lib_SOURCES.
108786         (Include): Use <stdlib.h> instead of exit.h.
108787         * lib/argmatch.c: Don't include exit.h.
108788         * lib/execute.c: Likewise.
108789         * lib/pagealign_alloc.c: Likewise.
108790         * lib/pipe.c: Likewise.
108791         * lib/wait-process.c: Likewise.
108792         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
108793         * lib/exitfail.c: Likewise.
108794         * lib/savewd.c: Likewise.
108795         * lib/xsetenv.c: Likewise.
108797         * modules/stdlib: New file.
108798         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
108799         and extra comments about mkstemp().
108800         * lib/exit.h: Remove file.
108801         * lib/mkdtemp.h: Remove file.
108802         * lib/mkstemp.h: Remove file.
108803         * m4/stdlib_h.m4: New file.
108804         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
108806 2007-02-18  Bruno Haible  <bruno@clisp.org>
108808         * modules/math-tests: New file.
108809         * tests/test-math.c: New file.
108811         * modules/math: New file.
108812         * modules/mathl (Files): Remove lib/mathl.h.
108813         (Depends-on): Add math.
108814         (Makefile.am): Don't mention mathl.h.
108815         (Include): Use <math.h> instead of mathl.h.
108816         * lib/math_.h: New file.
108817         * lib/mathl.h: Remove file.
108818         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
108819         mathl.h.
108820         * lib/asinl.c: Likewise.
108821         * lib/atanl.c: Likewise.
108822         * lib/ceill.c: Likewise.
108823         * lib/cosl.c: Likewise.
108824         * lib/expl.c: Likewise.
108825         * lib/floorl.c: Likewise.
108826         * lib/frexpl.c: Likewise.
108827         * lib/ldexpl.c: Likewise.
108828         * lib/logl.c: Likewise.
108829         * lib/sincosl.c: Likewise.
108830         * lib/sinl.c: Likewise.
108831         * lib/sqrtl.c: Likewise.
108832         * lib/tanl.c: Likewise.
108833         * lib/trigl.c: Likewise.
108834         * m4/math_h.m4: New file.
108835         * MODULES.html.sh (Mathematics): Add math.
108837 2007-02-17  Bruno Haible  <bruno@clisp.org>
108839         * modules/wctype-tests: New file.
108840         * tests/test-wctype.c: New file.
108842         * modules/wchar-tests: New file.
108843         * tests/test-wchar.c: New file.
108845         * modules/unistd-tests: New file.
108846         * tests/test-unistd.c: New file.
108848         * modules/time-tests: New file.
108849         * tests/test-time.c: New file.
108851         * modules/sysexits-tests: New file.
108852         * tests/test-sysexits.c: New file.
108854         * modules/sys_time-tests: New file.
108855         * tests/test-sys_time.c: New file.
108857         * modules/sys_stat-tests: New file.
108858         * tests/test-sys_stat.c: New file.
108860         * modules/sys_socket-tests: New file.
108861         * tests/test-sys_socket.c: New file.
108863         * modules/sys_select-tests: New file.
108864         * tests/test-sys_select.c: New file.
108866         * modules/string-tests: New file.
108867         * tests/test-string.c: New file.
108869         * modules/stdbool-tests: New file.
108870         * tests/test-stdbool.c: New file.
108872         * modules/netinet_in-tests: New file.
108873         * tests/test-netinet_in.c: New file.
108875         * modules/inttypes-tests: New file.
108876         * tests/test-inttypes.c: New file.
108878         * modules/fcntl-tests: New file.
108879         * tests/test-fcntl.c: New file.
108881         * modules/byteswap-tests: New file.
108882         * tests/test-byteswap.c: New file.
108884         * modules/arpa_inet-tests: New file.
108885         * tests/test-arpa_inet.c: New file.
108887 2007-02-17  Bruno Haible  <bruno@clisp.org>
108889         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
108890         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
108891         if the corresponding module is not enabled. Emit link warnings if
108892         the function is used nevertheless.
108893         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
108894         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
108895         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
108896         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
108897         * modules/inttypes (Depends-on): Add link-warning.
108898         (Makefile.am): Copy the contents of build-aux/link-warning.h into
108899         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
108900         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
108901         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
108902         * modules/imaxdiv (configure.ac): Likewise.
108903         * modules/strtoimax (configure.ac): Likewise.
108904         * modules/strtoumax (configure.ac): Likewise.
108906 2007-02-17  Bruno Haible  <bruno@clisp.org>
108908         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
108909         gl_STRING_MODULE_INDICATOR_DEFAULTS.
108910         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
108911         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
108913 2007-02-17  Bruno Haible  <bruno@clisp.org>
108915         * modules/link-warning: New file.
108916         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
108917         * lib/string_.h (GL_LINK_WARNING): Remove definition.
108918         * modules/string (Depends-on): Add link-warning.
108919         (Makefile.am): Copy the contents of build-aux/link-warning.h into
108920         string.h.
108921         * MODULES.html.sh (Support for building libraries and executables): Add
108922         link-warning.
108924 2007-02-17  Bruno Haible  <bruno@clisp.org>
108926         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
108927         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
108928         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
108929         long lines.
108931 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
108932             Bruno Haible  <bruno@clisp.org>
108934         * modules/tmpfile: New file.
108935         * lib/tmpfile.c: New file.
108936         * m4/tmpfile.m4: New file.
108937         * MODULES.html.sh (func_all_modules): New section "Input/output".
108939 2007-02-15  Bruno Haible  <bruno@clisp.org>
108941         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
108942         (supports_delete_on_close): New function.
108943         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
108945 2007-02-14  Bruno Haible  <bruno@clisp.org>
108947         * modules/mbspcasecmp-tests: New file.
108948         * tests/test-mbspcasecmp.sh: New file.
108949         * tests/test-mbspcasecmp.c: New file.
108951         New module mbspcasecmp.
108952         * modules/mbspcasecmp: New file.
108953         * lib/mbspcasecmp.c: New file.
108954         * lib/string_.h (strncasecmp): Change warning message.
108955         (mbspcasecmp): New declaration.
108956         * m4/mbspcasecmp.m4: New file.
108957         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108958         GNULIB_MBSPCASECMP.
108959         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
108960         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
108962 2007-02-14  Bruno Haible  <bruno@clisp.org>
108964         * modules/mbsncasecmp-tests: New file.
108965         * tests/test-mbsncasecmp.sh: New file.
108966         * tests/test-mbsncasecmp.c: New file.
108968         New module mbsncasecmp.
108969         * modules/mbsncasecmp: New file.
108970         * lib/mbsncasecmp.c: New file.
108971         * lib/string_.h (mbsncasecmp): New declaration.
108972         * m4/mbsncasecmp.m4: New file.
108973         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108974         GNULIB_MBSNCASECMP.
108975         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
108976         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
108978 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
108980         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
108981         Verify that it doesn't overlap with our flags.
108982         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
108983         do not have the desired effect in multibyte locales; instead, use
108984         mbscasecmp.
108985         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
108986         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
108987         we don't require GNU fnmatch ourselves (if our users require it, they
108988         should do so explicitly).
108990         Fix regex code so it doesn't rely on strcasecmp.
108991         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
108992         Otherwise, include gnulib's langinfo.h.
108993         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
108994         undesirable behavior in non-C locales.  Instead, rely on localecharset.
108995         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
108996         * modules/regex (FILES): Remove m4/codeset.m4.
108997         (Depends-on): Add localcharset.  Remove strcase.
108999 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109001         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
109002         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
109004 2007-02-13  Bruno Haible  <bruno@clisp.org>
109006         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
109007         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
109009 2007-02-12  Bruno Haible  <bruno@clisp.org>
109011         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
109012         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
109013         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
109014         time warning rather than a link error.
109016 2007-02-12  Bruno Haible  <bruno@clisp.org>
109018         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
109019         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
109020         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
109022 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
109024         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
109025         args, not 2.
109027 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
109029         New module 'time', so that apps can include <time.h> as per
109030         POSIX and GNU instead of separate include files like time_r.h
109031         and timegm.h.  This implementation tries out a simpler approach
109032         for replacing decls in standard include files (as compared to
109033         the string module), somewhat as an experiment.
109035         * config/srclist.txt: Comment out mktime.c for now.
109036         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
109037         since it doesn't apply any more.  Use generic wording instead.
109038         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
109039         'time'.
109040         * lib/time_.h, m4/time_h.m4, modules/time: New files.
109041         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
109042         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
109043         Don't include <sys/types.h>; no longer needed since we assume C89.
109044         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
109045         * lib/strftime.c: Likewise.
109046         * lib/time_r.c: Likewise.
109047         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
109048         * lib/nanosleep.c: Include <time.h> first, to check interface.
109049         * lib/strptime.c: Likewise.
109050         * lib/time_r.c: Likewise.
109051         * lib/timegm.c: Likewise.
109052         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
109053         needed.
109054         * lib/timegm.c: Don't include timegm.h; no longer needed.
109055         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
109056         time.h now handles any problems in that area.
109057         (struct timespec, nanosleep): Remove; time.h now arranges for these.
109058         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
109059         that time.h defines struct timespec.
109060         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
109061         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
109062         handles that.
109063         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
109064         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
109065         needed.  Set REPLACE_LOCALTIME.
109066         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
109067         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
109068         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
109069         nanosleep; time_h.m4 now does that.  Don't require
109070         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
109071         module handles this now.
109072         * modules/getdate (Depends-on): Remove timespec.  Add time.
109073         * modules/nanosleep (Depends-on): Likewise.
109074         * modules/stat-time (Depends-on): Likewise.
109075         * modules/nanosleep (Include): Include time.h, not timespec.h.
109076         * modules/strptime (Files): Remove lib/strptime.h.
109077         (Depends-on): Add extensions, time.
109078         (Include): Include time.h, not strptime.h.
109079         * modules/time_r (Files): Remove lib/time_r.h.
109080         (Depends-on): Add time.
109081         (Include): Include time.h, not time_r.h.
109082         * modules/timegm: Likewise.
109083         * modules/timespec (Description): Now does timespec-related decls
109084         of our own, instead of struct timespec itself.
109085         (Depends-on): Add time; remove extensions.
109086         (Maintainer): Add self.
109087         * modules/utimecmp (Depends-on): Add time; remove timespec.
109088         * modules/utimens (Depends-on): Likewise.
109089         * modules/xnanosleep (Depends-on): Likewise.
109091 2007-02-11  Bruno Haible  <bruno@clisp.org>
109093         * lib/c-strstr.c: Include allocsa.h.
109094         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
109095         * lib/c-strcasestr.c: Include allocsa.h.
109096         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
109097         * lib/strcasestr.c: Include allocsa.h.
109098         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
109099         * lib/mbsstr.c: Include allocsa.h.
109100         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
109101         allocsa/freesa instead of malloc/free.
109102         * lib/mbscasestr.c: Include allocsa.h.
109103         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
109104         allocsa/freesa instead of malloc/free.
109105         * modules/c-strstr (Depends-on): Add allocsa.
109106         * modules/c-strcasestr (Depends-on): Likewise.
109107         * modules/strcasestr (Depends-on): Likewise.
109108         * modules/mbsstr (Depends-on): Likewise.
109109         * modules/mbscasestr (Depends-on): Likewise.
109111 2007-02-11  Bruno Haible  <bruno@clisp.org>
109113         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
109115         * modules/mbsspn-tests: New file.
109116         * tests/test-mbsspn.sh: New file.
109117         * tests/test-mbsspn.c: New file.
109119 2007-02-11  Bruno Haible  <bruno@clisp.org>
109121         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
109123         * modules/mbspbrk-tests: New file.
109124         * tests/test-mbspbrk.sh: New file.
109125         * tests/test-mbspbrk.c: New file.
109127 2007-02-11  Bruno Haible  <bruno@clisp.org>
109129         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
109130         unneeded cast.
109132         * modules/mbscspn-tests: New file.
109133         * tests/test-mbscspn.sh: New file.
109134         * tests/test-mbscspn.c: New file.
109136 2007-02-11  Bruno Haible  <bruno@clisp.org>
109138         * modules/mbscasecmp-tests: New file.
109139         * tests/test-mbscasecmp.sh: New file.
109140         * tests/test-mbscasecmp.c: New file.
109142 2007-02-11  Bruno Haible  <bruno@clisp.org>
109144         Ensure O(n) worst-case complexity of mbscasestr.
109145         * lib/mbscasestr.c: Include stdbool.h.
109146         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
109147         functions.
109148         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
109149         the bookkeeping indicates that it's worth it.
109150         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
109152         * modules/mbscasestr-tests: New file.
109153         * tests/test-mbscasestr1.c: New file.
109154         * tests/test-mbscasestr2.sh: New file.
109155         * tests/test-mbscasestr2.c: New file.
109156         * tests/test-mbscasestr3.sh: New file.
109157         * tests/test-mbscasestr3.c: New file.
109158         * tests/test-mbscasestr4.sh: New file.
109159         * tests/test-mbscasestr4.c: New file.
109160         * m4/locale-tr.m4: New file.
109162 2007-02-11  Bruno Haible  <bruno@clisp.org>
109164         Ensure O(n) worst-case complexity of mbsstr.
109165         * lib/mbsstr.c: Include stdbool.h.
109166         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
109167         functions.
109168         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
109169         bookkeeping indicates that it's worth it.
109170         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
109172         * modules/mbsstr-tests: New file.
109173         * tests/test-mbsstr1.c: New file.
109174         * tests/test-mbsstr2.sh: New file.
109175         * tests/test-mbsstr2.c: New file.
109176         * tests/test-mbsstr3.sh: New file.
109177         * tests/test-mbsstr3.c: New file.
109178         * m4/locale-fr.m4: New file.
109180 2007-02-11  Bruno Haible  <bruno@clisp.org>
109182         * lib/mbsrchr.c (mbsrchr): Fix bug.
109184         * modules/mbsrchr-tests: New file.
109185         * tests/test-mbsrchr.sh: New file.
109186         * tests/test-mbsrchr.c: New file.
109188 2007-02-11  Bruno Haible  <bruno@clisp.org>
109190         * lib/mbschr.c (mbschr): Fix bug.
109192         * modules/mbschr-tests: New file.
109193         * tests/test-mbschr.sh: New file.
109194         * tests/test-mbschr.c: New file.
109195         * m4/locale-zh.m4: New file.
109197 2007-02-11  Bruno Haible  <bruno@clisp.org>
109199         Support for copying multibyte string iterators.
109200         * lib/mbiter.h: Include <string.h>.
109201         (mbiter_multi_copy): New function.
109202         (mbi_copy): New macro.
109203         * lib/mbuiter.h: Include <string.h>.
109204         (mbuiter_multi_copy): New function.
109205         (mbui_copy): New macro.
109207 2007-02-11  Bruno Haible  <bruno@clisp.org>
109209         New module mbslen.
109210         * modules/mbslen: New file.
109211         * lib/mbslen.c: New file.
109212         * lib/string_.h (mbslen): New declaration.
109213         * m4/mbslen.m4: New file.
109214         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109215         GNULIB_MBSLEN.
109216         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
109217         * MODULES.html.sh (Internationalization functions): Add mbslen.
109219 2007-02-11  Bruno Haible  <bruno@clisp.org>
109221         Ensure O(n) worst-case complexity of strcasestr substitute.
109222         * lib/strcasestr.c: Include stdbool.h.
109223         (knuth_morris_pratt): New function.
109224         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
109225         bookkeeping indicates that it's worth it.
109226         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
109228         * modules/strcasestr-tests: New file.
109229         * tests/test-strcasestr.c: New file.
109231 2007-02-11  Bruno Haible  <bruno@clisp.org>
109233         Ensure O(n) worst-case complexity of c_strcasestr.
109234         * lib/c-strcasestr.c: Include stdbool.h, string.h.
109235         (knuth_morris_pratt): New function.
109236         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
109237         the bookkeeping indicates that it's worth it.
109238         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
109240         * modules/c-strcasestr-tests: New file.
109241         * tests/test-c-strcasestr.c: New file.
109243 2007-02-11  Bruno Haible  <bruno@clisp.org>
109245         Ensure O(n) worst-case complexity of c_strstr.
109246         * lib/c-strstr.c: Include stdbool.h, string.h.
109247         (knuth_morris_pratt): New function.
109248         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
109249         bookkeeping indicates that it's worth it.
109250         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
109252         * lib/c-strstr.c: Complete rewrite for maintainability.
109254         * modules/c-strstr-tests: New file.
109255         * tests/test-c-strstr.c: New file.
109257 2007-02-11  Bruno Haible  <bruno@clisp.org>
109259         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
109260         5.2.1 and earlier, whereby \055 was treated just like the range
109261         delimiter '-'.
109262         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
109264 2007-02-08  Bruno Haible  <bruno@clisp.org>
109266         * modules/regex (Depends-on): Add stdbool.
109267         Reported by Dalibor Topic <robilad@kaffe.org>.
109269 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
109271         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
109272         Prefer returning from main to exiting from it.
109273         Remove unnecessary parens after sizeof.
109275 2007-02-05  Bruno Haible  <bruno@clisp.org>
109277         New module mbssep.
109278         * modules/mbssep: New file.
109279         * lib/mbssep.c: New file.
109280         * lib/string_.h (strsep): Add a conditional link warning.
109281         (mbssep): New declaration.
109282         * m4/mbssep.m4: New file.
109283         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109284         GNULIB_MBSSEP.
109285         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
109286         * MODULES.html.sh (Internationalization functions): Add mbssep.
109288 2007-02-05  Bruno Haible  <bruno@clisp.org>
109290         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
109291         Optimize search in case of 1 delimiter.
109293 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
109295         * lib/acl.h: Include sys/types.h before sys/acl.h.
109297 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
109299         Merge upstream fix for glibc bugzilla #3957:
109301         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
109303         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
109304         bit for RE_HAT_LISTS_NOT_NEWLINE.
109305         (build_charclass_op): Remove bogus comment.
109307 2007-02-05  Simon Josefsson  <simon@josefsson.org>
109309         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
109311 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
109313         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
109314         * lib/memmem.c [!defined _LIBC]: Include config.h.
109316 2007-02-04  Bruno Haible  <bruno@clisp.org>
109318         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
109319         warning message.
109321 2007-02-04  Bruno Haible  <bruno@clisp.org>
109323         New module mbstok_r.
109324         * modules/mbstok_r: New file.
109325         * lib/mbstok_r.c: New file.
109326         * lib/string_.h (strtok_r): Change argument names to match the
109327         comments. Add a conditional link warning.
109328         (mbstok_r): New declaration.
109329         * m4/mbstok_r.m4: New file.
109330         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109331         GNULIB_MBSTOK_R.
109332         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
109333         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
109335 2007-02-04  Bruno Haible  <bruno@clisp.org>
109337         New module mbsspn.
109338         * modules/mbsspn: New file.
109339         * lib/mbsspn.c: New file.
109340         * lib/string_.h (strspn): Add a conditional link warning.
109341         (mbsspn): New declaration.
109342         * m4/mbsspn.m4: New file.
109343         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109344         GNULIB_MBSSPN.
109345         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
109346         * MODULES.html.sh (Internationalization functions): Add mbsspn.
109348 2007-02-04  Bruno Haible  <bruno@clisp.org>
109350         New module mbspbrk.
109351         * modules/mbspbrk: New file.
109352         * lib/mbspbrk.c: New file.
109353         * lib/string_.h (strpbrk): Add a conditional link warning.
109354         (mbspbrk): New declaration.
109355         * m4/mbspbrk.m4: New file.
109356         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109357         GNULIB_MBSPBRK.
109358         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
109359         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
109361 2007-02-04  Bruno Haible  <bruno@clisp.org>
109363         New module mbscspn.
109364         * modules/mbscspn: New file.
109365         * lib/mbscspn.c: New file.
109366         * lib/string_.h (strcspn): Add a conditional link warning.
109367         (mbscspn): New declaration.
109368         * m4/mbscspn.m4: New file.
109369         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109370         GNULIB_MBSCSPN.
109371         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
109372         * MODULES.html.sh (Internationalization functions): Add mbscspn.
109374 2007-02-04  Bruno Haible  <bruno@clisp.org>
109376         New module mbscasestr, reduced goal of strcasestr.
109377         * modules/mbscasestr: New file.
109378         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
109379         (mbscasestr): Renamed from strcasestr.
109380         * lib/strcasestr.c: Don't include mbuiter.h.
109381         (strcasestr): Remove support for multibyte locales.
109382         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
109383         Change the conditional link warning.
109384         (mbscasestr): New declaration.
109385         * m4/mbscasestr.m4: New file.
109386         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
109387         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
109388         REPLACE_STRCASESTR.
109389         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
109390         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
109391         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
109392         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
109393         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
109394         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
109395         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
109396         (Depends-on): Remove mbuiter.
109397         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
109399 2007-02-04  Bruno Haible  <bruno@clisp.org>
109401         Simplify handling of strncasecmp.
109402         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
109403         the conditional link warning.
109404         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
109405         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
109406         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
109407         * modules/strcase (configure.ac): Don't invoke
109408         gl_STRING_MODULE_INDICATOR.
109409         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
109411 2007-02-04  Bruno Haible  <bruno@clisp.org>
109413         New module mbscasecmp, reduced goal of strcasecmp.
109414         * modules/mbscasecmp: New file.
109415         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
109416         (mbscasecmp): Renamed from strcasecmp.
109417         * lib/strcasecmp.c: Don't include mbuiter.h.
109418         (strcasecmp): Remove support for multibyte locales.
109419         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
109420         Change the conditional link warning.
109421         (mbscasecmp): New declaration.
109422         * m4/mbscasecmp.m4: New file.
109423         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
109424         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
109425         REPLACE_STRCASECMP.
109426         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
109427         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109428         GNULIB_MBSCASECMP.
109429         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
109430         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
109431         * modules/strcase (Files): Remove m4/mbrtowc.m4.
109432         (Depends-on): Remove mbuiter.
109433         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
109435 2007-02-04  Bruno Haible  <bruno@clisp.org>
109437         New module mbsstr. Remove module strstr.
109438         * modules/mbsstr: New file.
109439         * modules/strstr: Remove file.
109440         * lib/mbsstr.c: Renamed from lib/strstr.c.
109441         (mbsstr): Renamed from strstr.
109442         * lib/string_.h (strstr): Remove declaration. Change the conditional
109443         link warning.
109444         (mbsstr): New declaration.
109445         * m4/mbsstr.m4: New file.
109446         * m4/strstr.m4: Remove file.
109447         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
109448         REPLACE_STRSTR.
109449         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
109450         Don't initialize GNULIB_STRSTR.
109451         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
109452         substitute GNULIB_STRSTR and REPLACE_STRSTR.
109453         * MODULES.html.sh (Internationalization functions): Add mbsstr.
109454         (Support for systems lacking ANSI C 89): Remove strstr.
109456 2007-02-04  Bruno Haible  <bruno@clisp.org>
109458         New module mbsrchr.
109459         * modules/mbsrchr: New file.
109460         * lib/mbsrchr.c: New file.
109461         * lib/string_.h (strrchr): Add a conditional link warning.
109462         (mbsrchr): New declaration.
109463         * m4/mbsrchr.m4: New file.
109464         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109465         GNULIB_MBSRCHR.
109466         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
109467         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
109469 2007-02-04  Bruno Haible  <bruno@clisp.org>
109471         New module mbschr.
109472         * modules/mbschr: New file.
109473         * lib/mbschr.c: New file.
109474         * lib/string_.h (strchr): Add a conditional link warning.
109475         (mbschr): New declaration.
109476         * m4/mbschr.m4: New file.
109477         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109478         GNULIB_MBSCHR.
109479         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
109480         * MODULES.html.sh (Internationalization functions): Add mbschr.
109482 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
109484         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
109486         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
109488 2007-02-04  Bruno Haible  <bruno@clisp.org>
109490         New module description section 'configure.ac-early'.
109491         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
109492         (func_get_autoconf_early_snippet): New function.
109493         (func_import, func_create_testdir): Use it. Remove special cases for
109494         modules 'extensions' and 'lock'.
109495         * modules/extensions (configure.ac-early): Require
109496         gl_USE_SYSTEM_EXTENSIONS.
109497         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
109499 2007-02-04  Bruno Haible  <bruno@clisp.org>
109501         Make use of gcj-4.3's -fsource and -ftarget option.
109502         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
109503         and if so try the options -fsource and -ftarget.
109504         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
109505         source_version, ftarget_option, target_version arguments.
109506         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
109507         (is_envjavac_oldgcj_14_14_usable): Renamed from
109508         is_envjavac_gcj_14_14_usable.
109509         (is_envjavac_oldgcj_14_13_usable): Renamed from
109510         is_envjavac_gcj_14_13_usable.
109511         (is_gcj_present): Update.
109512         (is_gcj_43, is_gcj43_usable): New functions.
109513         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
109514         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
109515         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
109516         try the options -fsource and -ftarget.
109518 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
109520         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
109521         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
109522         larger value.
109524 2007-02-03  Jim Meyering  <jim@meyering.net>
109526         Give tools a better chance to allocate space for very large buffers.
109527         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
109529         Make pwd and readlink work also when run with an unreadable parent dir
109530         on systems with openat support.
109531         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
109532         provided getcwd function, even when we have openat support.
109533         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
109535 2007-02-02  Bruno Haible  <bruno@clisp.org>
109537         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
109538         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
109539         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
109540         portability problems if one of these functions is only used on specific
109541         platforms.
109542         Reported by Paul Eggert.
109544 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
109546         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
109547         is causing more trouble than it's curing.
109548         * lib/regex_internal.h (__mempcpy): Remove.
109549         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
109550         (and make the code a tad smaller to boot).
109551         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
109553 2007-02-02  Jim Meyering  <jim@meyering.net>
109555         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
109556         section, not in the Makefile.am: one.
109558 2007-02-02  Eric Blake  <ebb9@byu.net>
109560         * lib/strchrnul.c: Always include config.h first.
109562         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
109563         gnulib strstr is not necessary here.
109565 2007-02-02  Simon Josefsson  <simon@josefsson.org>
109567         * m4/socklen.m4: Fix typo.
109569 2007-02-02  Eric Blake  <ebb9@byu.net>
109571         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
109572         * modules/netinet_in (Makefile.am): Likewise.
109574 2007-02-01  Bruno Haible  <bruno@clisp.org>
109576         * lib/string_.h (GL_LINK_WARNING): New macro.
109577         (strcasecmp, strstr, strcasestr): If provided by the system,
109578         conditionally define as a macro that leads to a warning instead of to
109579         an error.
109580         (strncasecmp): Conditionally define as a macro that leads to a warning.
109582 2007-02-01  Karl Berry  <karl@gnu.org>
109584         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
109586 2007-02-01  Bruno Haible  <bruno@clisp.org>
109588         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
109589         renamings.
109591 2007-02-01  Eric Blake  <ebb9@byu.net>
109593         * modules/regex (Depends-on): Revert dependence on mempcpy.
109594         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
109595         module's definition of mempcpy.
109596         Reported by Paul Eggert.
109598 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
109600         * lib/string_.h: If the gnulib module XYZ is not present, undefine
109601         the symbol XYZ before redefining it.  This fixes a problem with
109602         programs that don't use XYZ, when compiled on systems that define
109603         XYZ to something else.
109605 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
109607         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
109608         occurs when "mkdir -m foo" creates a setgid directory that is (1)
109609         writeable to group or other and (2) is intended to have a special
109610         mode bit that is set or cleared.  In such a case, the directory
109611         should be neither group- nor other-writeable until the special
109612         mode bits are right.
109614 2007-01-31  Eric Blake  <ebb9@byu.net>
109616         * modules/mountlist (Depends-on): Add strstr.
109618         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
109619         bug.
109620         * modules/string (Makefile.am): Remove redundant replacement.
109621         * modules/regex (Depends-on): Add mempcpy.
109623 2007-01-31  Bruno Haible  <bruno@clisp.org>
109625         New module description field 'Link'.
109626         * gnulib-tool (func_usage): Document --extract-link-directive.
109627         (sed_extract_prog): Recognize 'Link' directive.
109628         (func_get_link_directive): New function.
109629         (func_import): Show summary of link directives.
109630         Handle --extract-link-directive option.
109631         * modules/acl (Link): New section.
109632         * modules/clock-time (Link): New section.
109633         * modules/euidaccess (Link): New section.
109634         * modules/gettext (Link): New section.
109635         * modules/iconv (Link): New section.
109636         * modules/lock (Link): New section.
109637         * modules/nanosleep (Link): New section.
109638         * modules/readline (Link): New section.
109640 2007-01-27  Bruno Haible  <bruno@clisp.org>
109642         Enforce the use of gnulib modules for unportable <string.h> functions.
109643         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
109644         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
109645         (gl_HEADER_STRING_H_BODY): Require it.
109646         * lib/string_.h: If the gnulib module XYZ is not present, redefine
109647         the symbol XYZ to one that gives a link error.
109648         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
109649         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
109650         * modules/mempcpy (configure.ac): Likewise.
109651         * modules/memrchr (configure.ac): Likewise.
109652         * modules/stpcpy (configure.ac): Likewise.
109653         * modules/stpncpy (configure.ac): Likewise.
109654         * modules/strcase (configure.ac): Likewise.
109655         * modules/strcasestr (configure.ac): Likewise.
109656         * modules/strchrnul (configure.ac): Likewise.
109657         * modules/strdup (configure.ac): Likewise.
109658         * modules/strndup (configure.ac): Likewise.
109659         * modules/strnlen (configure.ac): Likewise.
109660         * modules/strpbrk (configure.ac): Likewise.
109661         * modules/strsep (configure.ac): Likewise.
109662         * modules/strstr (configure.ac): Likewise.
109663         * modules/strtok_r (configure.ac): Likewise.
109665 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
109667         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
109669 2007-01-30  Jim Meyering  <jim@meyering.net>
109671         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
109673 2007-01-29  Bruno Haible  <bruno@clisp.org>
109675         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
109676         * lib/execute.c: Likewise.
109677         * lib/pipe.c: Likewise.
109678         * lib/printf-args.h: Likewise.
109679         * lib/printf-args.c: Likewise.
109680         * lib/printf-parse.c: Likewise.
109681         * lib/vasnprintf.c: Likewise.
109683 2007-01-29  Eric Blake  <ebb9@byu.net>
109685         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
109686         declaration.
109688 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
109690         * lib/strptime.h (strptime): Use 'restrict' for args where
109691         POSIX requires this.
109692         * lib/strptime.c (strptime): Likewise.
109693         Change license notice from LGPL to GPL, since gnulib-tool will
109694         change this as needed.
109695         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
109696         defined.
109697         Include "strptime.h" first, to check interface.
109698         Do not #undef _LIBC and _NL_CURRENT.
109699         Do not include <stdlib.h>; no longer needed.
109700         Include "time_r.h" and declare ptime_locale_status
109701         only if _LIBC is not defined.
109702         (__P): Remove unused macro.
109703         (match_string): Bring back glibc version, but use it only if _LIBC
109704         is defined.
109705         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
109706         Remove unnecessary assertion and abort() call.
109707         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
109708         * m4/strptime.m4: Fix serial number comment.
109709         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
109710         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
109711         (Depends-on): Add time_r.
109713 2007-01-29  Bruno Haible  <bruno@clisp.org>
109715         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
109716         strptime.
109717         * modules/strptime (Depends-on): Add stdbool.
109718         * lib/strptime.h: Include <time.h> always. Add comments.
109720 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
109722         * modules/strptime: New file.
109723         * lib/strptime.h: New file.
109724         * lib/strptime.c: New file.
109725         * m4/strptime.m4: New file.
109727 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
109729         * MODULES.html.sh: New module mpsort.
109730         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
109732         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
109733         a circularity problem with HP-UX ia64 reported by Bob Proulx in
109734         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
109735         All uses changed.
109736         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
109737         All uses changed.
109738         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
109739         to _Restrict_.
109740         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
109741         the parameter matches the prototype.
109743 2007-01-28  Jim Meyering  <jim@meyering.net>
109745         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
109746         sys/time.h here, reverting that part of the previous patch:
109747         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
109749 2007-01-28  Bruno Haible  <bruno@clisp.org>
109751         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
109752         value of $(SYS_TIME_H).
109753         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
109754         remove it conditionally, too. [added by Jim Meyering]
109755         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
109756         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
109757         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
109758         GETTIMEOFDAY_REPLACEMENT to 1.
109760 2007-01-28  Bruno Haible  <bruno@clisp.org>
109762         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
109763         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
109764         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
109765         Set UNISTD_H instead of UNISTD_H2.
109766         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
109768 2007-01-28  Bruno Haible  <bruno@clisp.org>
109770         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
109771         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
109773 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109775         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
109776         (func_create_testdir): Ensure C locale for `grep' and `tr'
109777         character ranges.
109778         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
109779         ACLOCAL_AMFLAGS parsing state machine.
109781 2007-01-27  Bruno Haible  <bruno@clisp.org>
109783         * modules/unistr/base: Update.
109785 2007-01-27  Bruno Haible  <bruno@clisp.org>
109787         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
109788         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
109789         * modules/unistr/u32-mbtouc-unsafe: Renamed from
109790         modules/unistr/u32-mbtouc.
109791         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
109792         * lib/unistr.h: Update.
109793         * lib/linebreak.c: Update.
109794         * modules/unistr/u32-mbtouc: Renamed from
109795         modules/unistr/u32-mbtouc-safe.
109796         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
109797         * lib/unistr.h: Update.
109798         * lib/unistr/u32-to-u8.c: Update.
109799         * lib/unistr/u32-to-u16.c: Update.
109801 2007-01-27  Bruno Haible  <bruno@clisp.org>
109803         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
109804         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
109805         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
109806         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
109807         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
109808         * modules/unistr/u16-mbtouc-unsafe: Renamed from
109809         modules/unistr/u16-mbtouc.
109810         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
109811         * lib/unistr.h: Update.
109812         * lib/linebreak.c: Update.
109813         * modules/linebreak: Update.
109814         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
109815         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
109816         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
109817         * modules/unistr/u16-mbtouc: Renamed from
109818         modules/unistr/u16-mbtouc-safe.
109819         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
109820         * lib/unistr.h: Update.
109821         * lib/unistr/u16-to-u8.c: Update.
109822         * modules/unistr/u16-to-u8: Update.
109823         * lib/unistr/u16-to-u32.c: Update.
109824         * modules/unistr/u16-to-u32: Update.
109826 2007-01-27  Bruno Haible  <bruno@clisp.org>
109828         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
109829         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
109830         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
109831         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
109832         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
109833         * modules/unistr/u8-mbtouc-unsafe: Renamed from
109834         modules/unistr/u8-mbtouc.
109835         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
109836         * lib/unistr.h: Update.
109837         * lib/striconveh.c: Update.
109838         * modules/striconveh: Update.
109839         * lib/linebreak.c: Update.
109840         * modules/linebreak: Update.
109841         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
109842         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
109843         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
109844         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
109845         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
109846         * lib/unistr.h: Update.
109847         * lib/striconveh.c: Update.
109848         * modules/striconveh: Update.
109849         * lib/unistr/u8-to-u16.c: Update.
109850         * modules/unistr/u8-to-u16: Update.
109851         * lib/unistr/u8-to-u32.c: Update.
109852         * modules/unistr/u8-to-u32: Update.
109854 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109856         Sync from Libtool.
109857         * lib/argz.c: Do not include strings.h nor memory.h, include
109858         string.h unconditionally.  Patch by Simon Josefsson.
109860 2007-01-27  Bruno Haible  <bruno@clisp.org>
109862         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
109863         from gl_HEADER_STRING_H_BODY.
109864         (gl_HEADER_STRING_H_BODY): Require it.
109865         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
109866         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
109867         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
109868         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
109869         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
109870         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
109871         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
109872         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
109873         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
109874         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
109875         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
109876         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
109877         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
109878         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
109879         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
109881 2007-01-27  Bruno Haible  <bruno@clisp.org>
109883         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
109884         check_PROGRAMS into noinst_PROGRAMS.
109885         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
109886         check_PROGRAMS in this case.
109887         (func_import): Set for_test to false.
109888         (func_create_testdir): Set for_test to true.
109890 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109891             Bruno Haible  <bruno@clisp.org>
109893         * modules/strcasestr (Files): Remove lib/strcasestr.h.
109894         (Depends-on): Add string.
109895         (Includes): Use <string.h> instead of strcasestr.h.
109896         * modules/string (Makefile.am): Also substitute the value of
109897         REPLACE_STRCASESTR.
109898         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
109899         assume strcasestr is declared in <string.h> not <strings.h>. Also
109900         set REPLACE_STRCASESTR.
109901         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
109902         REPLACE_STRCASESTR.
109903         * lib/strcasestr.h: Remove file.
109904         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
109905         * lib/string_.h (strcasestr): New declaration.
109907 2007-01-27  Bruno Haible  <bruno@clisp.org>
109909         * lib/string_.h: Use 'extern'.
109911 2007-01-27  Jim Meyering  <jim@meyering.net>
109913         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
109914         of set-but-not-used local, "q".
109916         * lib/mempcpy.c: Include <config.h> before <string.h>.
109917         This fixes a compilation error on HP-UX, due to the system's
109918         "restrict"-using mempcpy prototype.
109920 2007-01-26  Bruno Haible  <bruno@clisp.org>
109922         Small optimization.
109923         * lib/javacomp.c: Include c-strstr.h.
109924          (is_envjavac_gcj): Use c_strstr instead of strstr.
109925         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
109927 2007-01-26  Bruno Haible  <bruno@clisp.org>
109929         * MODULES.html.sh (Unicode string functions): Add the new modules.
109931         * modules/uniconv/u32-strconv-to-locale: New file.
109932         * lib/uniconv/u32-strconv-to-locale.c: New file.
109934         * modules/uniconv/u16-strconv-to-locale: New file.
109935         * lib/uniconv/u16-strconv-to-locale.c: New file.
109937         * modules/uniconv/u8-strconv-to-locale: New file.
109938         * lib/uniconv/u8-strconv-to-locale.c: New file.
109940         * modules/uniconv/u32-strconv-from-locale: New file.
109941         * lib/uniconv/u32-strconv-from-locale.c: New file.
109943         * modules/uniconv/u16-strconv-from-locale: New file.
109944         * lib/uniconv/u16-strconv-from-locale.c: New file.
109946         * modules/uniconv/u8-strconv-from-locale: New file.
109947         * lib/uniconv/u8-strconv-from-locale.c: New file.
109949         * modules/uniconv/u32-strconv-to-enc: New file.
109950         * lib/uniconv/u32-strconv-to-enc.c: New file.
109951         * modules/uniconv/u32-strconv-to-enc-tests: New file.
109952         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
109954         * modules/uniconv/u16-strconv-to-enc: New file.
109955         * lib/uniconv/u16-strconv-to-enc.c: New file.
109956         * lib/uniconv/u-strconv-to-enc.h: New file.
109957         * modules/uniconv/u16-strconv-to-enc-tests: New file.
109958         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
109960         * modules/uniconv/u8-strconv-to-enc: New file.
109961         * lib/uniconv/u8-strconv-to-enc.c: New file.
109962         * modules/uniconv/u8-strconv-to-enc-tests: New file.
109963         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
109965         * modules/uniconv/u32-strconv-from-enc: New file.
109966         * lib/uniconv/u32-strconv-from-enc.c: New file.
109967         * modules/uniconv/u32-strconv-from-enc-tests: New file.
109968         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
109970         * modules/uniconv/u16-strconv-from-enc: New file.
109971         * lib/uniconv/u16-strconv-from-enc.c: New file.
109972         * modules/uniconv/u16-strconv-from-enc-tests: New file.
109973         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
109975         * modules/uniconv/u8-strconv-from-enc: New file.
109976         * lib/uniconv/u8-strconv-from-enc.c: New file.
109977         * lib/uniconv/u-strconv-from-enc.h: New file.
109978         * modules/uniconv/u8-strconv-from-enc-tests: New file.
109979         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
109981         * modules/uniconv/u32-conv-from-enc: New file.
109982         * lib/uniconv/u32-conv-from-enc.c: New file.
109983         * modules/uniconv/u32-conv-from-enc-tests: New file.
109984         * tests/uniconv/test-u32-conv-from-enc.c: New file.
109986         * modules/uniconv/u16-conv-from-enc: New file.
109987         * lib/uniconv/u16-conv-from-enc.c: New file.
109988         * lib/uniconv/u-conv-from-enc.h: New file.
109989         * modules/uniconv/u16-conv-from-enc-tests: New file.
109990         * tests/uniconv/test-u16-conv-from-enc.c: New file.
109992         * modules/uniconv/u8-conv-from-enc: New file.
109993         * lib/uniconv/u8-conv-from-enc.c: New file.
109994         * modules/uniconv/u8-conv-from-enc-tests: New file.
109995         * tests/uniconv/test-u8-conv-from-enc.c: New file.
109997         * modules/uniconv/base: New file.
109998         * lib/uniconv.h: New file.
110000 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
110002         * doc/gnulib-tool.texi (Initial import): Update to match current
110003         behavior with strdup module.
110004         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
110005         * lib/memmem.h: Remove; all uses removed.  This is now done
110006         by <string.h>.
110007         * lib/mempcpy.h: Likewise.
110008         * lib/memrchr.h: Likewise.
110009         * lib/stpcpy.h: Likewise.
110010         * lib/stpncpy.h: Likewise.
110011         * lib/strcase.h: Likewise.
110012         * lib/strchrnul.h: Likewise.
110013         * lib/strdup.h: Likewise.
110014         * lib/strndup.h: Likewise.
110015         * lib/strnlen.h: Likewise.
110016         * lib/strpbrk.h: Likewise.
110017         * lib/strsep.h: Likewise.
110018         * lib/strstr.h: Likewise.
110019         * lib/strtok_r.h: Likewise.
110020         * lib/string_.h: New file.
110021         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
110022         Rely on <string.h> instead.
110023         * lib/canon-host.c: Likewise.
110024         * lib/chdir-long.c: Likewise.
110025         * lib/concatpath.c: Likewise.
110026         * lib/exclude.c: Likewise.
110027         * lib/fchdir.c: Likewise.
110028         * lib/getaddrinfo.c: Likewise.
110029         * lib/getcwd.c: Likewise.
110030         * lib/getsubopt.c: Likewise.
110031         * lib/glob.c: Likewise.
110032         * lib/hard-locale.c: Likewise.
110033         * lib/iconvme.c: Likewise.
110034         * lib/javacomp.c: Likewise.
110035         * lib/mempcpy.c: Likewise.
110036         * lib/memrchr.c: Likewise.
110037         * lib/regex_internal.h: Likewise.
110038         * lib/stpncpy.c: Likewise.
110039         * lib/strcasecmp.c: Likewise.
110040         * lib/strchrnul.c: Likewise.
110041         * lib/strdup.c: Likewise.
110042         * lib/striconv.c: Likewise.
110043         * lib/striconveh.c: Likewise.
110044         * lib/striconveha.c: Likewise.
110045         * lib/strncasecmp.c: Likewise.
110046         * lib/strndup.c: Likewise.
110047         * lib/strnlen.c: Likewise.
110048         * lib/strsep.c: Likewise.
110049         * lib/strstr.c: Likewise.
110050         * lib/strtok_r.c: Likewise.
110051         * lib/userspec.c: Likewise.
110052         * lib/w32spawn.h: Likewise.
110053         * lib/xstrndup.c: Likewise.
110054         * lib/mountlist.c (strstr): Remove decl.
110055         * m4/string_h.m4: New file.
110056         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
110057         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
110058         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
110059         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
110060         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
110061         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
110062         Set REPLACE_STRCASECMP if necessary.
110063         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
110064         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
110065         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
110066         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
110067         HAVE_DECL_STRDUP if necessary.
110068         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
110069         since gl_FUNC_STRNDUP does that now.
110070         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
110071         Check for decl here...
110072         (gl_PREREQ_STRNLEN): ... not here.
110073         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
110074         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
110075         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
110076         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
110077         necessary.
110078         * modules/string: New file.
110079         * modules/memmem (Files): Remove special-purpose include file.
110080         (Depends-on): Add string.
110081         (Include): Include <string.h>, not the removed file.
110082         * modules/mempcpy: Likewise.
110083         * modules/memrchr: Likewise.
110084         * modules/stpcpy: Likewise.
110085         * modules/stpncpy: Likewise.
110086         * modules/strcase: Likewise.
110087         * modules/strchrnul: Likewise.
110088         * modules/strdup: Likewise.
110089         * modules/strndup: Likewise.
110090         * modules/strnlen: Likewise.
110091         * modules/strpbrk: Likewise.
110092         * modules/strsep: Likewise.
110093         * modules/strstr: Likewise.
110094         * modules/strtok_r: Likewise.
110095         * tests/test-dirname.c: Don't include "strdup.h", since
110096         <string.h> now suffices.
110097         * tests/test-memmem.c: Don't include "memmem.h", since
110098         <string.h> now suffices.
110100 2007-01-25  Bruno Haible  <bruno@clisp.org>
110102         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
110103         *resultp is 0.
110105         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
110106         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
110107         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
110108         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
110110         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
110111         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
110112         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
110113         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
110114         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
110115         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
110117 2007-01-24  Bruno Haible  <bruno@clisp.org>
110119         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
110120         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
110121         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
110122         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
110123         gl_FUNC_FTS_CORE.
110124         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
110125         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
110126         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
110127         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
110128         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
110129         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
110130         gl_FUNC_FCHOWNAT.
110131         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
110132         gl_FUNC_STRFTIME.
110133         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
110134         Reported by Ralf Wildenhues.
110136 2007-01-24  Bruno Haible  <bruno@clisp.org>
110138         Drop AC_REQUIRE calls that are redundant with the module dependencies.
110139         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
110140         gl_GETADDRINFO.
110141         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
110142         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
110143         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
110145 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
110147         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
110148         Don't use 'exit'; just return from 'main'.
110149         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
110151         * lib/fnmatch_.h: Readjust white space and comments to match
110152         glibc, to avoid spurious diffs.
110154 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
110156         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
110157         2004-12-01 change by Jakub Jelinek, since this code won't compile
110158         if !LIBC.  Problem reported by Bob Proulx.
110160 2007-01-23  Bruno Haible  <bruno@clisp.org>
110162         * lib/striconveh.c: Include c-strcaseeq.h.
110163         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
110164         * modules/striconveh (Depends-on): Add c-strcaseeq.
110166 2007-01-23  Bruno Haible  <bruno@clisp.org>
110168         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
110170         * modules/c-strcaseeq: New file.
110171         * lib/c-strcaseeq.h: New file.
110173         * modules/streq: New file.
110174         * lib/streq.h: New file.
110176 2007-01-23  Bruno Haible  <bruno@clisp.org>
110178         * modules/striconveha-tests: New file.
110179         * tests/test-striconveha.c: New file.
110181         * lib/striconveha.h: Include <stdbool.h>.
110182         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
110183         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
110184         (mem_iconveha_notranslit): Renamed from mem_iconveha.
110185         (mem_iconveha): New function.
110186         (str_iconveha_notranslit): Renamed from str_iconveha.
110187         (str_iconveha): New function.
110188         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
110189         c-strcase.
110191 2007-01-23  Bruno Haible  <bruno@clisp.org>
110193         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
110194         encodings without forgiving before trying any encoding with handler.
110195         (str_iconveha): Try all encodings without forgiving before trying any
110196         encoding with handler.
110198 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
110200         Import the following changes from libc.
110202         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
110204         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
110206         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
110208         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
110209         normal_bracket label.
110211         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
110213         [BZ #361]
110214         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
110215         to normal_bracket after fetching the next character.
110217 2007-01-22  Bruno Haible  <bruno@clisp.org>
110219         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
110220         argument.
110221         * lib/striconveh.c (iconv_carefully_1): New function.
110222         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
110223         argument.
110224         (str_cd_iconveh): Update.
110225         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
110226         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
110227         * tests/test-striconveh.c (MAGIC): New macro.
110228         (new_offsets): New function.
110229         (main): Test call with and without offsets.
110231 2007-01-22  Bruno Haible  <bruno@clisp.org>
110233         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
110234         * modules/sys_select (Makefile.am): Likewise.
110235         * modules/sys_socket (Makefile.am): Likewise.
110236         * modules/sys_time (Makefile.am): Likewise.
110238 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
110240         * modules/gettimeofday (License): Change from GPL to LGPL, since
110241         gettimeofday is a library function.
110243 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110245         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
110247 2007-01-21  Bruno Haible  <bruno@clisp.org>
110249         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
110251 2007-01-21  Bruno Haible  <bruno@clisp.org>
110253         * modules/striconveha: New file.
110254         * lib/striconveha.h: New file.
110255         * lib/striconveha.c: New file.
110256         * MODULES.html.sh (Internationalization functions): Add striconveha.
110257         * lib/striconv.c (str_iconv): Optimize the case of an empty input
110258         string.
110259         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
110261 2007-01-21  Bruno Haible  <bruno@clisp.org>
110263         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
110264         * lib/striconveh.c (str_iconveh): Likewise.
110266 2007-01-21  Bruno Haible  <bruno@clisp.org>
110268         * lib/striconveh.h (mem_iconveh): New declaration.
110269         * lib/striconveh.c (mem_iconveh): New function.
110270         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
110272 2007-01-21  Bruno Haible  <bruno@clisp.org>
110274         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
110276         * lib/striconveh.h (mem_cd_iconveh): Change specification.
110277         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
110278         original result buffer.
110279         (str_cd_iconveh): Update.
110280         * tests/test-striconveh.c (main): Update.
110282         * lib/striconv.h (mem_cd_iconv): Change specification.
110283         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
110284         result buffer.
110285         (str_cd_iconv): Update.
110286         * tests/test-striconv.c (main): Update.
110288 2007-01-21  Bruno Haible  <bruno@clisp.org>
110290         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
110292 2007-01-20  Jim Meyering  <jim@meyering.net>
110294         * lib/userspec.c (parse_with_separator): If a user or group string
110295         starts with "+", skip the corresponding name-to-ID look-up, since
110296         such a look-up must fail: user and group names may not include "+".
110298 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
110300         * lib/poll.c: Include sys/time.h and time.h unconditionally,
110301         since we now assume the sys_time module.
110302         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
110303         check for sys/time.h; no longer needed.
110304         * modules/poll (Depends-on): Depend on sys_time.
110306 2007-01-18  Bruno Haible  <bruno@clisp.org>
110308         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
110309         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
110311         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
110312         gettimeofday.
110314         * tests/test-gettimeofday.c: Include <time.h>.
110315         (dummy): Remove variable.
110317         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
110318         gl_HEADER_SYS_TIME_H.
110319         (gl_HEADER_SYS_TIME_H): New macro.
110321         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
110322         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110323         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
110324         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
110325         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110326         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
110327         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
110328         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110329         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
110330         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
110331         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110333         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
110334         last change; it caused a compilation error when cross-compiling to
110335         Cygwin.
110337 2007-01-18  Jim Meyering  <jim@meyering.net>
110339         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
110340         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
110341         than the race-prone "test -d sys || mkdir sys".
110342         (configure.ac): Use AC_PROG_MKDIR_P.
110343         * modules/sys_select: Likewise.
110344         * modules/sys_socket: Likewise.
110345         * modules/sys_time: Likewise.
110347 2007-01-18  Eric Blake  <ebb9@byu.net>
110349         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
110350         replace gettimeofday.
110351         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
110352         name, to avoid infinite recursion.
110354 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
110356         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
110357         module sys_time.
110358         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
110359         assume timespec.h defines struct timeval.
110360         * lib/settime.c: Likewise.
110361         * lib/utimens.c: Likewise.
110362         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
110363         since we now assume the gettimeofday module.
110364         * lib/tempname.c (__gen_tempname): Likewise.
110365         * lib/gettimeofday.h: Remove.
110366         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
110367         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
110368         Include <time.h>, for 'time()'.
110369         (localtime_buffer_addr): Also use this workaround if
110370         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
110371         to simplify the uses.  All uses changed.
110372         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
110373         that #undef is inside {}, and 'const' follows type name consistently.
110374         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
110375         (gettimeofday): Do not use the maximum possible value for
110376         tv->tv_usec, since that might break usages other than ls.c.
110377         Instead, we'll leave ls.c alone.  This undoes today's patch
110378         by Bruno.  Add a compile-time warning for 1s-clock resolution;
110379         we've never observed the problem but might as well keep the
110380         canary.
110381         * lib/nanosleep.c: Include timespec.h first, for interface check.
110382         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
110383         now assume the sys_time module.
110384         * lib/tempname.c: Likewise.
110385         * lib/timespec.h: Likewise.
110386         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
110387         needed.
110388         * lib/strftime.c: Likewise.
110389         * lib/timespec.h: Likewise.
110390         * lib/posixtm.c: Include posixtm.h first, for interface check.
110391         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
110392         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
110393         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
110394         * lib/sys_time_.h: New file.
110395         * lib/timespec.h (struct timespec): Use long int, not long.
110396         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
110397         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
110398         Remove obsolescent call to AC_HEADER_TIME.
110399         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
110400         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
110401         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
110402         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
110403         Likewise.
110404         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
110405         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
110406         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
110407         into the sys_time module.  Check for gettimeofday just once.
110408         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
110409         for gettimeofday signature to just check the signature.  Merely
110410         compile it, since linking doesn't test signature.  Improve test for
110411         whether gettimeofday.o is actually needed.
110412         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
110413         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
110414         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
110415         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110416         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
110417         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
110418         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
110419         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
110420         than worrying about sys/time.h.
110421         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
110422         Don't bother worrying about TIME_WITH_SYS_TIME.
110423         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
110424         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
110425         * m4/sys_time_h.m4: New file.
110426         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
110427         Don't include sys/time.h.  Return from main rather than exiting.
110428         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
110429         all uses changed.
110430         * modules/gethrxtime (Depends-on): Add sys_time.
110431         * modules/gettime (Depends-on): Likewise.
110432         * modules/gettimeofday (Depends-on): Likewise.
110433         * modules/nanosleep (Depends-on): Likewise.
110434         * modules/settime (Depends-on): Likewise.
110435         * modules/tempname (Depends-on): Likewise.
110436         * modules/utimens (Depends-on): Likewise.
110437         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
110438         (Include): Change back to <sys/time.h>.
110439         (Maintainer): Add self.
110440         * modules/sys_time: New file.
110441         * modules/tempname (Depends-on): Add gettimeofday.
110442         * tests/test-gettimeofday.c: Include <sys/time.h>
110443         rather than gettimeofday.h.
110445 2007-01-17  Bruno Haible  <bruno@clisp.org>
110447         * gnulib-tool (func_get_license): Revert last patch. Instead, let
110448         the license default to GPL.
110449         (func_create_testdir): Don't complain if a module is LGPL and its
110450         tests module depends on GPLed modules.
110452 2007-01-17  Bruno Haible  <bruno@clisp.org>
110454         * lib/gettimeofday.c (gettimeofday): Add code for the case
110455         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
110456         maximum possible value for tv->tv_usec, rather than the minimum one.
110458 2005-10-08  Martin Lambers  <marlam@marlam.de>
110459 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
110460 2007-01-16  Bruno Haible  <bruno@clisp.org>
110462         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
110463         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
110464         gl_FUNC_GETTIMEOFDAY.
110465         (Include): Add gettimeofday.h.
110466         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
110467         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
110468         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
110469         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
110470         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
110471         * lib/gettimeofday.h: New file.
110472         * lib/gettimeofday.c: Include <sys/timeb.h>.
110473         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
110474         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110475         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
110476         fall back on time().
110478         * tests/test-gettimeofday.c: New file.
110479         * modules/gettimeofday-tests: New file.
110481 2007-01-16  Eric Blake  <ebb9@byu.net>
110483         * modules/fnmatch (Depends-on): Depend on wchar.
110484         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
110485         * m4/fnmatch.m4: Likewise.
110486         * modules/mbchar (Makefile.am): Assume <wchar.h>.
110487         * m4/mbchar.m4: Likewise.
110488         * modules/mbswidth (Depends-on): Depend on wchar.
110489         * lib/mbswidth.c: Assume <wchar.h>.
110490         * m4/mbswidth.m4: Likewise.
110491         * modules/quotearg (Depends-on): Depend on wchar.
110492         * lib/quotearg.c: Assume <wchar.h>.
110493         * m4/quotearg.m4: Likewise.
110494         * modules/regex (Depends-on): Depend on wchar.
110495         * lib/regex_internal.h: Assume <wchar.h>.
110496         * m4/regex.m4: Likewise.
110497         * modules/stdint (Depends-on): Depend on wchar.
110498         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
110499         * m4/stdint.m4: Likewise.
110500         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
110501         * modules/strftime (Depends-on): Depend on wchar.
110502         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
110503         * modules/strtol (Depends-on): Depend on wchar.
110504         * lib/strtol.c: Assume <wchar.h>.
110505         * modules/wcwidth (Depends-on): Depend on wchar.
110506         * lib/wcwidth.h: Assume <wchar.h>.
110507         * m4/wcwidth.m4: Likewise.
110509 2007-01-16  Bruno Haible  <bruno@clisp.org>
110511         * modules/csharpexec-script: New, created from...
110512         * modules/csharpexec: ... this.
110514 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
110516         * modules/javaexec-script: New, created from...
110517         * modules/javaexec: ... this.
110519 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110521         * modules/poll (Dependencies): Add sys_select.
110523 2007-01-15  Jim Meyering  <jim@meyering.net>
110525         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
110526         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
110527         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
110528         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
110530 2007-01-15  Bruno Haible  <bruno@clisp.org>
110532         * modules/striconveh: New file.
110533         * lib/striconveh.h: New file.
110534         * lib/striconveh.c: New file.
110535         * MODULES.html.sh (Internationalization functions): Add striconveh.
110537         * modules/striconveh-tests: New file.
110538         * tests/test-striconveh.c: New file.
110540 2007-01-15  Bruno Haible  <bruno@clisp.org>
110542         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
110543         not from GNU libiconv or GNU libc.
110545 2007-01-15  Bruno Haible  <bruno@clisp.org>
110547         * doc/gnulib-intro.texi (Copyright): Explain the different license
110548         terms for module descriptions, autoconf macros, tests, documentation.
110550 2007-01-14  Bruno Haible  <bruno@clisp.org>
110552         * modules/striconv-tests: New file.
110553         * tests/test-striconv.c: New file.
110555 2007-01-14  Bruno Haible  <bruno@clisp.org>
110557         * modules/iconv-tests: New file.
110558         * tests/test-iconv.c: New file.
110560 2007-01-14  Bruno Haible  <bruno@clisp.org>
110562         * gnulib-tool (func_get_license): For test modules, use the license of
110563         the main module.
110565 2007-01-14  Bruno Haible  <bruno@clisp.org>
110567         * modules/iconv (Include): Clarify that <iconv.h> can only be included
110568         if iconv is found to exist.
110570 2007-01-14  Bruno Haible  <bruno@clisp.org>
110572         * modules/c-ctype-tests: New file.
110573         * tests/test-c-ctype.c: New file.
110575 2007-01-14  Bruno Haible  <bruno@clisp.org>
110577         * modules/binary-io-tests: New file.
110578         * tests/test-binary-io.sh: New file.
110579         * tests/test-binary-io.c: New file.
110581 2007-01-14  Bruno Haible  <bruno@clisp.org>
110583         * modules/array-oset-tests: New file.
110584         * tests/test-array_oset.c: New file.
110586 2007-01-14  Bruno Haible  <bruno@clisp.org>
110588         * modules/array-list-tests: New file.
110589         * tests/test-array_list.c: New file.
110591 2007-01-14  Bruno Haible  <bruno@clisp.org>
110593         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
110594         and make.
110595         Reported by Simon Josefsson in
110596         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
110598 2007-01-14  Bruno Haible  <bruno@clisp.org>
110600         * modules/allocsa-tests: New file.
110601         * tests/test-allocsa.c: New file.
110603 2007-01-14  Bruno Haible  <bruno@clisp.org>
110605         * modules/fchdir (Depends-on): Add absolute-header.
110606         * modules/unistd (Depends-on): Likewise.
110608 2006-12-30  Bruno Haible  <bruno@clisp.org>
110610         * modules/fchdir: New file.
110611         * modules/unistd (Files): Add lib/unistd_.h.
110612         (Makefile.am): Generate unistd.h from unistd_.h.
110613         * lib/fchdir.c: New file.
110614         * lib/dirent_.h: New file.
110615         * lib/unistd_.h: New file.
110616         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
110617         * m4/fchdir.m4: New file.
110618         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
110619         (gl_HEADER_UNISTD): Invoke it.
110620         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
110621         function.
110622         * lib/backupfile.c (opendir, closedir): Undefine.
110623         * lib/chown.c (open, close): Undefine.
110624         * lib/clean-temp.c (open, close): Undefine.
110625         * lib/copy-file.c (open, close): Undefine.
110626         * lib/execute.c (open, close): Undefine.
110627         * lib/fsusage.c (open, close): Undefine.
110628         * lib/gc-gnulib.c (open, close): Undefine.
110629         * lib/getcwd.c (opendir, closedir): Undefine.
110630         * lib/glob.c (opendir, closedir): Undefine.
110631         * lib/javacomp.c (open, close): Undefine.
110632         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
110633         * lib/openat-proc.c (open, close): Undefine.
110634         * lib/pagealign_alloc.c (open, close): Undefine.
110635         * lib/pipe.c (open, close): Undefine.
110636         * lib/progreloc.c (open, close): Undefine.
110637         * lib/savedir.c (opendir, closedir): Undefine.
110638         * lib/utime.c (open, close): Undefine.
110639         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
110641 2007-01-10  Bruno Haible  <bruno@clisp.org>
110643         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
110645 2007-01-12  Eric Blake  <ebb9@byu.net>
110647         Provide a robust <wchar.h>.  Further simplifications are now
110648         possible in other modules, but not included here.
110649         * modules/wchar: New module.
110650         * m4/wchar.m4: New file.
110651         * lib/wchar_.h: Likewise.
110652         * modules/mbchar (Depends-on): Depend on wchar, as the first use
110653         of the new module.
110654         * MODULES.html.sh (Extended multibyte and wide character utilities):
110655         New section.
110657 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
110659         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
110660         to a reasonable default for memory allocation.
110661         (xreadlink): Don't allocate a huge buffer, to work around a buggy
110662         file system that reports garbage st_size values for symlinks.
110663         Problem reported by Liyang Hu.
110665 2007-01-11  Simon Josefsson  <simon@josefsson.org>
110667         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
110668         Emacs .#* auto-save files).
110670 2007-01-11  Bruno Haible  <bruno@clisp.org>
110672         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
110673         directory.
110675 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
110677         Use @...@ consistently in lib/wctype_.h.
110678         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
110679         on it being set to 1 or 0.
110680         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
110681         go back to AC_SUBSTing it.
110682         * modules/wctype (Makefile.am): Undo previous change.
110684 2007-01-10  Eric Blake  <ebb9@byu.net>
110686         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
110687         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
110688         * modules/wctype (Makefile.am): Likewise.
110689         Reported by Chris McGuire.
110691 2007-01-10  Jim Meyering  <jim@meyering.net>
110693         fts.c: a small readability/maintainability improvement
110694         * lib/fts.c (fts_read): Make this code slightly more readable and
110695         maintainable by hoisting the "sp->fts_cur = p" assignments to
110696         immediately follow the statements that set P.  Derived from
110697         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
110699 2007-01-10  Eric Blake  <ebb9@byu.net>
110701         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
110702         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
110703         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
110704         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
110705         Reported by Chris McGuire.
110707 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110709         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
110710         in sed script.
110712 2007-01-09  Bruno Haible  <bruno@clisp.org>
110714         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
110715         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
110716         variables.
110717         (func_module): Use them.
110719 2007-01-09  Bruno Haible  <bruno@clisp.org>
110721         * modules/unistr/base: New file.
110722         * lib/unistr.h: New file.
110724         * modules/unistr/u8-to-u16: New file.
110725         * lib/unistr/u8-to-u16.c: New file.
110727         * modules/unistr/u8-to-u32: New file.
110728         * lib/unistr/u8-to-u32.c: New file.
110730         * modules/unistr/u16-to-u8: New file.
110731         * lib/unistr/u16-to-u8.c: New file.
110733         * modules/unistr/u16-to-u32: New file.
110734         * lib/unistr/u16-to-u32.c: New file.
110736         * modules/unistr/u32-to-u8: New file.
110737         * lib/unistr/u32-to-u8.c: New file.
110739         * modules/unistr/u32-to-u16: New file.
110740         * lib/unistr/u32-to-u16.c: New file.
110742         * modules/unistr/u8-check: New file.
110743         * modules/unistr/u16-check: New file.
110744         * modules/unistr/u32-check: New file.
110745         * lib/unistr/u8-check.c: New file.
110746         * lib/unistr/u16-check.c: New file.
110747         * lib/unistr/u32-check.c: New file.
110749         * modules/unistr/u8-chr: New file.
110750         * modules/unistr/u16-chr: New file.
110751         * modules/unistr/u32-chr: New file.
110752         * lib/unistr/u8-chr.c: New file.
110753         * lib/unistr/u16-chr.c: New file.
110754         * lib/unistr/u32-chr.c: New file.
110756         * modules/unistr/u8-cmp: New file.
110757         * modules/unistr/u16-cmp: New file.
110758         * modules/unistr/u32-cmp: New file.
110759         * lib/unistr/u8-cmp.c: New file.
110760         * lib/unistr/u16-cmp.c: New file.
110761         * lib/unistr/u32-cmp.c: New file.
110763         * modules/unistr/u8-cpy: New file.
110764         * modules/unistr/u16-cpy: New file.
110765         * modules/unistr/u32-cpy: New file.
110766         * lib/unistr/u8-cpy.c: New file.
110767         * lib/unistr/u16-cpy.c: New file.
110768         * lib/unistr/u32-cpy.c: New file.
110769         * lib/unistr/u-cpy.h: New file.
110771         * modules/unistr/u8-cpy-alloc: New file.
110772         * modules/unistr/u16-cpy-alloc: New file.
110773         * modules/unistr/u32-cpy-alloc: New file.
110774         * lib/unistr/u8-cpy-alloc.c: New file.
110775         * lib/unistr/u16-cpy-alloc.c: New file.
110776         * lib/unistr/u32-cpy-alloc.c: New file.
110777         * lib/unistr/u-cpy-alloc.h: New file.
110779         * modules/unistr/u8-endswith: New file.
110780         * modules/unistr/u16-endswith: New file.
110781         * modules/unistr/u32-endswith: New file.
110782         * lib/unistr/u8-endswith.c: New file.
110783         * lib/unistr/u16-endswith.c: New file.
110784         * lib/unistr/u32-endswith.c: New file.
110785         * lib/unistr/u-endswith.h: New file.
110787         * modules/unistr/u8-mblen: New file.
110788         * modules/unistr/u16-mblen: New file.
110789         * modules/unistr/u32-mblen: New file.
110790         * lib/unistr/u8-mblen.c: New file.
110791         * lib/unistr/u16-mblen.c: New file.
110792         * lib/unistr/u32-mblen.c: New file.
110794         * modules/unistr/u8-mbtouc: New file.
110795         * modules/unistr/u16-mbtouc: New file.
110796         * modules/unistr/u32-mbtouc: New file.
110797         * lib/unistr/u8-mbtouc.c: New file.
110798         * lib/unistr/u16-mbtouc.c: New file.
110799         * lib/unistr/u32-mbtouc.c: New file.
110801         * modules/unistr/u8-mbtouc-safe: New file.
110802         * modules/unistr/u16-mbtouc-safe: New file.
110803         * modules/unistr/u32-mbtouc-safe: New file.
110804         * lib/unistr/u8-mbtouc-safe.c: New file.
110805         * lib/unistr/u16-mbtouc-safe.c: New file.
110806         * lib/unistr/u32-mbtouc-safe.c: New file.
110808         * modules/unistr/u8-move: New file.
110809         * modules/unistr/u16-move: New file.
110810         * modules/unistr/u32-move: New file.
110811         * lib/unistr/u8-move.c: New file.
110812         * lib/unistr/u16-move.c: New file.
110813         * lib/unistr/u32-move.c: New file.
110814         * lib/unistr/u-move.h: New file.
110816         * modules/unistr/u8-next: New file.
110817         * modules/unistr/u16-next: New file.
110818         * modules/unistr/u32-next: New file.
110819         * lib/unistr/u8-next.c: New file.
110820         * lib/unistr/u16-next.c: New file.
110821         * lib/unistr/u32-next.c: New file.
110823         * modules/unistr/u8-prev: New file.
110824         * modules/unistr/u16-prev: New file.
110825         * modules/unistr/u32-prev: New file.
110826         * lib/unistr/u8-prev.c: New file.
110827         * lib/unistr/u16-prev.c: New file.
110828         * lib/unistr/u32-prev.c: New file.
110830         * modules/unistr/u8-set: New file.
110831         * modules/unistr/u16-set: New file.
110832         * modules/unistr/u32-set: New file.
110833         * lib/unistr/u8-set.c: New file.
110834         * lib/unistr/u16-set.c: New file.
110835         * lib/unistr/u32-set.c: New file.
110836         * lib/unistr/u-set.h: New file.
110838         * modules/unistr/u8-startswith: New file.
110839         * modules/unistr/u16-startswith: New file.
110840         * modules/unistr/u32-startswith: New file.
110841         * lib/unistr/u8-startswith.c: New file.
110842         * lib/unistr/u16-startswith.c: New file.
110843         * lib/unistr/u32-startswith.c: New file.
110844         * lib/unistr/u-startswith.h: New file.
110846         * modules/unistr/u8-stpcpy: New file.
110847         * modules/unistr/u16-stpcpy: New file.
110848         * modules/unistr/u32-stpcpy: New file.
110849         * lib/unistr/u8-stpcpy.c: New file.
110850         * lib/unistr/u16-stpcpy.c: New file.
110851         * lib/unistr/u32-stpcpy.c: New file.
110852         * lib/unistr/u-stpcpy.h: New file.
110854         * modules/unistr/u8-stpncpy: New file.
110855         * modules/unistr/u16-stpncpy: New file.
110856         * modules/unistr/u32-stpncpy: New file.
110857         * lib/unistr/u8-stpncpy.c: New file.
110858         * lib/unistr/u16-stpncpy.c: New file.
110859         * lib/unistr/u32-stpncpy.c: New file.
110860         * lib/unistr/u-stpncpy.h: New file.
110862         * modules/unistr/u8-strcat: New file.
110863         * modules/unistr/u16-strcat: New file.
110864         * modules/unistr/u32-strcat: New file.
110865         * lib/unistr/u8-strcat.c: New file.
110866         * lib/unistr/u16-strcat.c: New file.
110867         * lib/unistr/u32-strcat.c: New file.
110868         * lib/unistr/u-strcat.h: New file.
110870         * modules/unistr/u8-strchr: New file.
110871         * modules/unistr/u16-strchr: New file.
110872         * modules/unistr/u32-strchr: New file.
110873         * lib/unistr/u8-strchr.c: New file.
110874         * lib/unistr/u16-strchr.c: New file.
110875         * lib/unistr/u32-strchr.c: New file.
110877         * modules/unistr/u8-strcmp: New file.
110878         * modules/unistr/u16-strcmp: New file.
110879         * modules/unistr/u32-strcmp: New file.
110880         * lib/unistr/u8-strcmp.c: New file.
110881         * lib/unistr/u16-strcmp.c: New file.
110882         * lib/unistr/u32-strcmp.c: New file.
110884         * modules/unistr/u8-strcpy: New file.
110885         * modules/unistr/u16-strcpy: New file.
110886         * modules/unistr/u32-strcpy: New file.
110887         * lib/unistr/u8-strcpy.c: New file.
110888         * lib/unistr/u16-strcpy.c: New file.
110889         * lib/unistr/u32-strcpy.c: New file.
110890         * lib/unistr/u-strcpy.h: New file.
110892         * modules/unistr/u8-strcspn: New file.
110893         * modules/unistr/u16-strcspn: New file.
110894         * modules/unistr/u32-strcspn: New file.
110895         * lib/unistr/u8-strcspn.c: New file.
110896         * lib/unistr/u16-strcspn.c: New file.
110897         * lib/unistr/u32-strcspn.c: New file.
110898         * lib/unistr/u-strcspn.h: New file.
110900         * modules/unistr/u8-strdup: New file.
110901         * modules/unistr/u16-strdup: New file.
110902         * modules/unistr/u32-strdup: New file.
110903         * lib/unistr/u8-strdup.c: New file.
110904         * lib/unistr/u16-strdup.c: New file.
110905         * lib/unistr/u32-strdup.c: New file.
110906         * lib/unistr/u-strdup.h: New file.
110908         * modules/unistr/u8-strlen: New file.
110909         * modules/unistr/u16-strlen: New file.
110910         * modules/unistr/u32-strlen: New file.
110911         * lib/unistr/u8-strlen.c: New file.
110912         * lib/unistr/u16-strlen.c: New file.
110913         * lib/unistr/u32-strlen.c: New file.
110914         * lib/unistr/u-strlen.h: New file.
110916         * modules/unistr/u8-strmblen: New file.
110917         * modules/unistr/u16-strmblen: New file.
110918         * modules/unistr/u32-strmblen: New file.
110919         * lib/unistr/u8-strmblen.c: New file.
110920         * lib/unistr/u16-strmblen.c: New file.
110921         * lib/unistr/u32-strmblen.c: New file.
110923         * modules/unistr/u8-strmbtouc: New file.
110924         * modules/unistr/u16-strmbtouc: New file.
110925         * modules/unistr/u32-strmbtouc: New file.
110926         * lib/unistr/u8-strmbtouc.c: New file.
110927         * lib/unistr/u16-strmbtouc.c: New file.
110928         * lib/unistr/u32-strmbtouc.c: New file.
110930         * modules/unistr/u8-strncat: New file.
110931         * modules/unistr/u16-strncat: New file.
110932         * modules/unistr/u32-strncat: New file.
110933         * lib/unistr/u8-strncat.c: New file.
110934         * lib/unistr/u16-strncat.c: New file.
110935         * lib/unistr/u32-strncat.c: New file.
110936         * lib/unistr/u-strncat.h: New file.
110938         * modules/unistr/u8-strncmp: New file.
110939         * modules/unistr/u16-strncmp: New file.
110940         * modules/unistr/u32-strncmp: New file.
110941         * lib/unistr/u8-strncmp.c: New file.
110942         * lib/unistr/u16-strncmp.c: New file.
110943         * lib/unistr/u32-strncmp.c: New file.
110945         * modules/unistr/u8-strncpy: New file.
110946         * modules/unistr/u16-strncpy: New file.
110947         * modules/unistr/u32-strncpy: New file.
110948         * lib/unistr/u8-strncpy.c: New file.
110949         * lib/unistr/u16-strncpy.c: New file.
110950         * lib/unistr/u32-strncpy.c: New file.
110951         * lib/unistr/u-strncpy.h: New file.
110953         * modules/unistr/u8-strnlen: New file.
110954         * modules/unistr/u16-strnlen: New file.
110955         * modules/unistr/u32-strnlen: New file.
110956         * lib/unistr/u8-strnlen.c: New file.
110957         * lib/unistr/u16-strnlen.c: New file.
110958         * lib/unistr/u32-strnlen.c: New file.
110959         * lib/unistr/u-strnlen.h: New file.
110961         * modules/unistr/u8-strpbrk: New file.
110962         * modules/unistr/u16-strpbrk: New file.
110963         * modules/unistr/u32-strpbrk: New file.
110964         * lib/unistr/u8-strpbrk.c: New file.
110965         * lib/unistr/u16-strpbrk.c: New file.
110966         * lib/unistr/u32-strpbrk.c: New file.
110967         * lib/unistr/u-strpbrk.h: New file.
110969         * modules/unistr/u8-strrchr: New file.
110970         * modules/unistr/u16-strrchr: New file.
110971         * modules/unistr/u32-strrchr: New file.
110972         * lib/unistr/u8-strrchr.c: New file.
110973         * lib/unistr/u16-strrchr.c: New file.
110974         * lib/unistr/u32-strrchr.c: New file.
110976         * modules/unistr/u8-strspn: New file.
110977         * modules/unistr/u16-strspn: New file.
110978         * modules/unistr/u32-strspn: New file.
110979         * lib/unistr/u8-strspn.c: New file.
110980         * lib/unistr/u16-strspn.c: New file.
110981         * lib/unistr/u32-strspn.c: New file.
110982         * lib/unistr/u-strspn.h: New file.
110984         * modules/unistr/u8-strstr: New file.
110985         * modules/unistr/u16-strstr: New file.
110986         * modules/unistr/u32-strstr: New file.
110987         * lib/unistr/u8-strstr.c: New file.
110988         * lib/unistr/u16-strstr.c: New file.
110989         * lib/unistr/u32-strstr.c: New file.
110990         * lib/unistr/u-strstr.h: New file.
110992         * modules/unistr/u8-strtok: New file.
110993         * modules/unistr/u16-strtok: New file.
110994         * modules/unistr/u32-strtok: New file.
110995         * lib/unistr/u8-strtok.c: New file.
110996         * lib/unistr/u16-strtok.c: New file.
110997         * lib/unistr/u32-strtok.c: New file.
110998         * lib/unistr/u-strtok.h: New file.
111000         * modules/unistr/u8-uctomb: New file.
111001         * modules/unistr/u16-uctomb: New file.
111002         * modules/unistr/u32-uctomb: New file.
111003         * lib/unistr/u8-uctomb.c: New file.
111004         * lib/unistr/u16-uctomb.c: New file.
111005         * lib/unistr/u32-uctomb.c: New file.
111007         * MODULES.html.sh (Unicode string functions): Add the new modules.
111009 2007-01-08  Bruno Haible  <bruno@clisp.org>
111011         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
111012         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
111013         subdirectories.
111015 2007-01-08  Karl Berry  <karl@gnu.org>
111017         * doc/error.texi: mention that main() fns must set program_name
111018         when progname is used.
111020 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
111022         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
111023         WCTYPE_H is empty, for the benefit of builds from non-distclean
111024         directories.  Problem reported by Eric Blake in
111025         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
111027 2007-01-08  Bruno Haible  <bruno@clisp.org>
111029         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
111030         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
111031         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
111032         PROVIDE_CANONICALIZE_FILENAME_MODE.
111033         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
111035 2007-01-08  Bruno Haible  <bruno@clisp.org>
111037         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
111038         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
111039         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
111040         * lib/fts.c: Likewise.
111041         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
111043 2006-12-25  Bruno Haible  <bruno@clisp.org>
111045         * modules/utf8-ucs4-safe: New file.
111046         * lib/utf8-ucs4-safe.h: New file.
111047         * lib/unistr/utf8-ucs4-safe.c: New file.
111049         * modules/utf16-ucs4-safe: New file.
111050         * lib/utf16-ucs4-safe.h: New file.
111051         * lib/unistr/utf16-ucs4-safe.c: New file.
111053         * MODULES.html.sh (Unicode string functions): Add the new modules.
111055 2007-01-08  Bruno Haible  <bruno@clisp.org>
111057         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
111058         (Depends-on): Add unitypes.
111059         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
111060         (u8_mbtouc_aux): Move out to separate file.
111061         (u8_mbtouc): Use ucs4_t, uint8_t types.
111062         * lib/unistr/utf8-ucs4.c: New file.
111064         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
111065         (Depends-on): Add unitypes.
111066         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
111067         (u16_mbtouc_aux): Move out to separate file.
111068         (u16_mbtouc): Use ucs4_t, uint16_t types.
111069         * lib/unistr/utf16-ucs4.c: New file.
111071         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
111072         (Depends-on): Add unitypes.
111073         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
111074         (u8_uctomb_aux): Move out to separate file.
111075         (u8_uctomb): Use ucs4_t, uint8_t types.
111076         * lib/unistr/ucs4-utf8.c: New file.
111078         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
111079         (Depends-on): Add unitypes.
111080         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
111081         (u16_uctomb_aux): Move out to separate file.
111082         (u16_uctomb): Use ucs4_t, uint16_t types.
111083         * lib/unistr/ucs4-utf16.c: New file.
111085 2006-12-25  Bruno Haible  <bruno@clisp.org>
111087         * modules/unitypes: New file.
111088         * lib/unitypes.h: New file.
111089         * MODULES.html.sh (func_all_modules): New section "Unicode string
111090         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
111091         this section. Add unitypes.
111093 2007-01-08  Bruno Haible  <bruno@clisp.org>
111095         Avoid variable names that conflict with those from libtool.
111096         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
111097         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
111098         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
111099         library_names_spec to acl_library_names_spec, hardcode_* to
111100         acl_hardcode_*.
111101         Reported by Ralf Wildenhues.
111103 2007-01-08  Bruno Haible  <bruno@clisp.org>
111105         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
111106         definition.
111107         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
111108         definition.
111109         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
111110         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
111111         definition.
111112         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
111113         definition.
111114         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
111115         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
111116         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
111117         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
111118         definition.
111119         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
111120         definition.
111121         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
111122         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
111123         GC_USE_<algorithm>.
111124         * lib/gc-libgcrypt.c: Likewise.
111125         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
111126         * modules/gc-arctwo (configure.ac): Likewise.
111127         * modules/gc-des (configure.ac): Likewise.
111128         * modules/gc-hmac-md5 (configure.ac): Likewise.
111129         * modules/gc-hmac-sha1 (configure.ac): Likewise.
111130         * modules/gc-md2 (configure.ac): Likewise.
111131         * modules/gc-md4 (configure.ac): Likewise.
111132         * modules/gc-md5 (configure.ac): Likewise.
111133         * modules/gc-random (configure.ac): Likewise.
111134         * modules/gc-rijndael (configure.ac): Likewise.
111135         * modules/gc-sha1 (configure.ac): Likewise.
111137 2007-01-08  Bruno Haible  <bruno@clisp.org>
111139         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
111140         macro definition.
111141         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
111142         definition.
111143         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
111144         definition.
111145         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
111146         * modules/fcntl-safer (configure.ac): Likewise.
111147         * modules/fopen-safer (configure.ac): Likewise.
111148         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
111149         GNULIB_FWRITEERROR macro definition.
111151 2007-01-08  Bruno Haible  <bruno@clisp.org>
111153         * m4/gnulib-common.m4: New file.
111154         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
111155         (func_get_filelist): Add m4/gnulib-common.m4.
111157 2007-01-08  Bruno Haible  <bruno@clisp.org>
111159         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
111160         command.
111162 2007-01-08  Jim Meyering  <jim@meyering.net>
111164         Use a more robust test for a "can't happen" condition.
111165         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
111166         narrowed the st_size value.  Presuming the "can't happen" condition
111167         is true, that narrowing could conceivably convert an invalid st_size
111168         value into a valid one.  Instead, use a change based on Matthew
111169         Woehlke's original patch.
111171         Slight readability improvement: use an assert-like macro
111172         in place of literal "abort ()" uses.
111173         * lib/fts.c (fts_assert): Define.
111174         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
111175         Use this macro instead of a bare 'abort'.
111177 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
111179         Don't worry about using IRIX 5.3's wctype.h broken definitions;
111180         simply work around them.
111181         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
111182         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
111183         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
111184         declaring.
111185         Don't bother to define as macros, since the standard doesn't require it.
111186         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
111187         longer worry about IRIX 5.3.
111188         (HAVE_WCTYPE_CTMP_BUG): Remove.
111190 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
111192         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
111193         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
111194         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
111195         Problems reported by Georg Schwarz for IRIX 5.3.
111197         * gnulib-tool (autoconf_minversion): Take the maximum version number
111198         found, not the minimum.  Problem reported by James Youngman.
111200 2007-01-03  Karl Berry  <karl@gnu.org>
111202         * doc/error.texi: new file, explaining interaction with progname.
111203         * doc/gnulib.texi: include it.  Update copyright.
111205 2007-01-03  Simon Josefsson  <simon@josefsson.org>
111207         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
111208         AC_CANONICAL_HOST, to improve autobuild outputs.
111210 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
111211             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
111213         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
111214         sockets, server sockets, and other file descriptors.  Count errors
111215         to compute the return value.  Reorder the code a bit to be easier
111216         to follow.  Don't set event bits that were not requested (except
111217         POLLERR and POLLHUP).
111219 2007-01-01  Bruno Haible  <bruno@clisp.org>
111221         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
111223 2007-01-03  Jim Meyering  <jim@meyering.net>
111225         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
111227 2007-01-02  Bruno Haible  <bruno@clisp.org>
111229         * modules/settime (Include): Require timespec.h.
111230         * modules/nanosleep (Include): Likewise.
111232 2007-01-01  Bruno Haible  <bruno@clisp.org>
111234         * gnulib-tool (func_emit_copyright_notice): Bump year.
111235         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
111237 2007-01-01  Bruno Haible  <bruno@clisp.org>
111239         Improve support for OpenBSD.
111240         * build-aux/config.rpath (libname_spec): Export.
111241         (library_names_spec): New variable. Export.
111242         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
111243         library_names_spec from the config.rpath output. Locate shared library
111244         through the name pattern in library_names_spec.
111246 2007-01-01  Eric Blake  <ebb9@byu.net>
111248         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
111250 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
111252         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
111253         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
111254         assume the C locale, and avoid an "eval" that could cause trouble.
111255         Problem with SORT reported by Bob Proulx.
111257         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
111258         Define.  Trivial patch from Henning Nielsen Lund, originally
111259         sent to bug-grep@gnu.org today.
111261 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
111263         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
111264         struct stat.  Problem reported by Henning Nielsen Lund.
111265         * lib/acl.c: Include acl.h first, to check interface.  Don't
111266         bother to include sys/types.h and sys/stat.h again.
111268 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
111270         Import the following change from libc; problem reported by
111271         Sven Verdoolaege.
111273         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
111275         [BZ #1373]
111276         * lib/argp.h: Remove __NTH for __argp_usage inline function.
111278 2006-12-28  Jim Meyering  <jim@meyering.net>
111280         * build-aux/announce-gen: Do not assume that the package
111281         builds any of tar.gz, tar.bz2, and .xdelta files.
111282         Suggestion from Simon Josefsson.
111284 2006-12-28  Simon Josefsson  <simon@josefsson.org>
111286         * modules/announce-gen: New file.
111288 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
111290         * lib/mbchar.h: Just include <wctype.h>; the wctype module
111291         handles its gotchas now.
111292         * lib/mbswidth.c: Likewise.
111293         * lib/wcwidth.h: Likewise.
111294         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
111295         and iswcntrl; the wctype module does this stuff now.
111296         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
111297         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
111298         * modules/mbchar (Depends-on): Add wctype.
111299         * modules/mbswidth (Depends-on): Likewise.
111300         * modules/wcwidth (Depends-on): Likewise.
111302 2006-12-27  Eric Blake  <ebb9@byu.net>
111304         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
111305         module uses more than what <wctype.h> is required to provide.
111307 2006-12-26  Eric Blake  <ebb9@byu.net>
111309         * gnulib-tool (sed_extract_prog): Avoid space-tab.
111311 2006-12-26  Eric Blake  <ebb9@byu.net>
111313         * modules/absolute-header: New module.
111314         * modules/fcntl (Depends-on): Depend on it.
111315         * modules/inttypes (Depends-on): Likewise.
111316         * modules/stdint (Depends-on): Likewise.
111317         * modules/sys_stat (Depends-on): Likewise.
111318         * modules/wctype (Depends-on): Likewise.
111319         * MODULES.html.sh (Support for building libraries and
111320         executables): Document it.
111322 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
111324         * gnulib-tool (SED): Remove, undoing previous change.
111325         The problem was that it broke coreutils on Solaris, because
111326         "sed --posix" leaked into a makefile.
111327         (sed): New alias, if 'alias' and GNU sed.
111329 2006-12-24  Jim Meyering  <jim@meyering.net>
111331         Work around an fchownat bug in glibc-2.4:
111332         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
111333         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
111334         in spite of the -P option.
111335         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
111336         New macros.
111337         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
111338         * modules/openat (Files): Add lib/fchownat.c.
111339         * lib/openat.c (fchownat): Don't define here.  Move to...
111340         * lib/fchownat.c: ...this new file.
111342 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
111344         Fix bug reported by Bruno Haible in
111345         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
111346         where quotearg.c didn't compile on Mac OS X 10.2 because it
111347         lacks <wchar.h> and wint_t.
111348         * lib/wctype_.h (__wctype_wint_t): New type.
111349         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
111350         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
111351         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
111352         Arg is now of type __wctype_wint_t, not wint_t.
111353         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
111354         substitute HAVE_WINT_T.
111355         * modules/wctype (Files): Add m4/wint_t.m4.
111356         (wctype.h): Substitute HAVE_WINT_T.
111358 2006-12-23  Bruno Haible  <bruno@clisp.org>
111360         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
111362 2006-12-23  Bruno Haible  <bruno@clisp.org>
111364         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
111365         S_ISLNK.
111366         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
111367         mingw.
111369 2006-12-22  Bruno Haible  <bruno@clisp.org>
111371         * lib/copy-file.c: Include acl.h.
111372         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
111373         Close the file descriptors only after being done with copy_acl.
111374         * modules/copy-file (Depends-on): Add acl.
111376 2006-12-22  Bruno Haible  <bruno@clisp.org>
111378         * gnulib-tool (SED): New variable.
111379         Use $SED instead of sed everywhere.
111381 2006-12-22  Bruno Haible  <bruno@clisp.org>
111383         * modules/no-c++: New file.
111384         * m4/no-c++.m4: New file.
111385         * MODULES.html.sh (Support for building libraries and executables):
111386         Add no-c++.
111388 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
111390         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
111391         Include <limits.h>, and use its INT_MAX to rewrite the
111392         j loop so that it does not overflow 'int'.  Problem reported by
111393         Ralf Wildenhues in
111394         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
111395         Play it safe by shifting left by 1 rather than multiplying by 2,
111396         as GCC is less likely to optimize this away when the value
111397         is signed (when it assumes overflow leads to undefined behavior).
111398         Also, don't assume time_t uses two's complement.
111400 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
111402         * MODULES.html.sh: New module wctype.
111403         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
111404         * lib/fnmatch.c: Don't bother to include <wchar.h> before
111405         <wctype.h>, since the new wctype module should fix this.
111406         * lib/quotearg.c: Include <wctype.h> unconditionally, since
111407         the wctype module should arrange for it.
111408         * lib/regex_internal.h: Likewise.
111409         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
111410         since the wctype module should handle this now.
111411         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
111412         * modules/fnmatch (Depends-on): Add wctype.
111413         * modules/quotearg (Depends-on): Likewise.
111414         * modules/regex (Depends-on): Likewise.
111416 2006-12-19  Bruno Haible  <bruno@clisp.org>
111418         * lib/strdup.h [C++]: Wrap definitions in extern "C".
111419         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
111421 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111423         * modules/savewd (Depends-on): Fix dependency on fcntl.
111425 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
111427         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
111428         conforms to C99, rather than relying on the user's environment
111429         setting of STDINT_H.
111431 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
111432         and Eric Blake  <ebb9@byu.net>
111434         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
111435         This is more consistent with the other defines here.
111436         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
111437         Port to z/OS.  Problem reported by Paul Gilmartin.
111438         Change local vars to use gl_ prefix rather than ac_.
111439         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
111440         with other defines.
111441         * modules/double-slash-root: New module.
111442         * modules/dirname (Files): Remove m4/double-slash-root.m4.
111443         (Depends-on): Add double-slash-root.
111444         * MODULES.html.sh (File system functions): Mention new module.
111446 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
111448         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
111449         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
111450         This is for the benefit of gzip, which doesn't do i18n.
111452 2006-12-12  Jim Meyering  <jim@meyering.net>
111454         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
111455         Reported by Andreas Schwab <schwab@suse.de>.
111457 2006-12-12  Bruno Haible  <bruno@clisp.org>
111459         Merge these changes.
111460         2006-09-05  Bruno Haible  <bruno@clisp.org>
111461         * lib/iconvme.c (iconv_string): No need to save and restore errno when
111462         iconv_alloc succeeded.
111463         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
111464         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
111465         test for " && dest " at the end - dest is always != NULL there. Call
111466         iconv with 4xNULL arguments initially, to reset the state. Call iconv
111467         with 2xNULL arguments, also to flush the state storage. Handle the
111468         IRIX iconv behaviour. Realloc the final result, to throw away unused
111469         memory.
111471 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
111473         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
111474         and fchmodat unconditionally, since glibc 2.4 has them.
111475         Problem reported by Arkadiusz Miskiewicz.
111477 2006-12-10  Bruno Haible  <bruno@clisp.org>
111479         * gnulib-tool (func_import): Show the include files only for those
111480         modules that are copied and specified.
111481         Reported by Karl Berry.
111483 2006-12-08  Jim Meyering  <jim@meyering.net>
111485         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
111486         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
111488         * build-aux/announce-gen: Add two new options, both optional:
111489         --bootstrap-tools=TOOL_LIST
111490               a comma-separated list of tools, e.g.,
111491               autoconf,automake,bison,gnulib
111492         --gnulib-snapshot-date=DATE
111493               if gnulib is in the bootstrap tool list,
111494               then report this as the snapshot date.
111495               If not specified, use the current date/time.
111496               If you specify a date here, be sure it's UTC.
111498 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111500         * tests/test-argp-2.sh: Fix test to match actual output.
111501         (func_compare): Fix sed script to be portable.
111503 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
111505         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
111506         workaround for this case.  It is not autoconfigured now; offhand
111507         it's hard to see how to autoconfigure it.
111509 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
111511         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
111512         a directory that is about to be chowned.  Such a directory's
111513         initial file permissions should permit the owner only and this
111514         should not be changed until after the chown, since the group and
111515         other bits would be incorrect if they granted permission before
111516         the chown.
111518         Fix porting problem for iswctype reported by Georg Schwarz in:
111519         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
111520         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
111521         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
111522         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
111523         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
111525 2006-12-03  Jim Meyering  <jim@meyering.net>
111527         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
111528         p->fts_statp may not yet be defined.
111529         (fts_read): Instead, set it in the caller, once p->fts_statp is
111530         sure to be defined, and corresponds to a top-level directory.
111531         This bug made du -x fail.  Here's the coreutils test case:
111532         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
111533         Reported by Mike Frysinger.
111535 2006-12-01  Jim Meyering  <jim@meyering.net>
111537         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
111538         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
111539         Reported by Simon Josefsson.
111541 2006-11-30  Jim Meyering  <jim@meyering.net>
111543         * m4/warning.m4: Use the all-permissive copyright notice
111544         recommended by RMS (rather than LGPL).
111545         * m4/vararrays.m4: Likewise.
111546         * m4/flexmember.m4: Likewise.
111548 2006-11-29  Bruno Haible  <bruno@clisp.org>
111550         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
111551         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
111552         using +=.
111553         Reported by Simon Josefsson <simon@josefsson.org>.
111555 2006-11-28  James Youngman  <jay@gnu.org>
111557         * README: Advise users that they might find the bug-gnulib@gnu.org
111558         and autotools-announce@gnu.org mailing lists useful.
111560 2006-11-28  Bruno Haible  <bruno@clisp.org>
111562         * m4/ptrdiff_max.m4: Remove file.
111564 2006-11-21  Bruno Haible  <bruno@clisp.org>
111566         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
111567         _AC_COMPUTE_INT.
111568         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111569         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
111570         _AC_COMPUTE_INT.
111571         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111572         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
111573         _AC_COMPUTE_INT.
111574         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111576 2006-11-28  Jim Meyering  <jim@meyering.net>
111578         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
111579         warning from "gcc -Wshadow" about shadowing the builtin.
111581 2006-11-27  Bruno Haible  <bruno@clisp.org>
111583         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
111584         _AC_COMPUTE_INT.
111585         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111587 2006-11-27  Bruno Haible  <bruno@clisp.org>
111588             Paul Eggert  <eggert@cs.ucla.edu>
111590         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
111592 2006-11-26  Bruno Haible  <bruno@clisp.org>
111594         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
111595         noinst_LTLIBRARIES.
111597 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
111598             Bruno Haible  <bruno@clisp.org>
111600         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
111601         if compiling with "gcc -ansi".
111603 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
111605         Fix some incompatibilities with gcc -ansi -pedantic.
111606         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
111607         if compiling pedantically with GCC, unless it's C99 or later.
111608         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
111609         it mishandles gcc -ansi -pedantic as well.
111610         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
111611         if gcc -pedantic.
111612         * lib/regexec.c (check_node_accept_bytes): Don't use auto
111613         initializers for struct if -pedantic, unless it's C99 or later.
111615 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
111617         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
111618         Don't close an fd more than once. Identical atimes indicate
111619         success, not failure.
111621 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
111623         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
111625 2006-11-23  Jim Meyering  <jim@meyering.net>
111627         * build-aux/announce-gen: New file.  From coreutils.
111629 2006-11-22  Jim Meyering  <jim@meyering.net>
111631         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
111632         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
111633         (fts_read): Use a temporary to narrow the overused st_size member
111634         before using it in a switch statement.  Reported by Matthew Woehlke.
111636         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
111637         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
111639 2006-11-20  Bruno Haible  <bruno@clisp.org>
111641         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
111642         changequote instead of pairs of brackets.
111643         Reported by Andreas Schwab <schwab@suse.de>.
111645 2006-11-21  Jim Meyering  <jim@meyering.net>
111647         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
111648         so as to remain compatible with older compilers.
111649         Patch from Michael Deutschmann.
111651 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
111653         * MODULES.html.sh (File system functions): Add openat.
111655         * lib/openat.h (rpl_fstatat): New macro, if
111656         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
111657         (fstatat): Define to rpl_fstatat under the same conditions,
111658         unless COMPILING_FSTATAT.
111659         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
111660         seems to have the bug.
111661         * lib/fstatat.c: New file.
111662         * modules/openat (Files): Add it.
111664 2006-11-20  Bruno Haible  <bruno@clisp.org>
111666         * Makefile: New file.
111668 2006-11-20  Jim Meyering  <jim@meyering.net>
111670         The beginnings of syntax-related checks for gnulib.
111671         * lib/Makefile: New file.
111672         * lib/t-idcache: New script.  Ensure that the two halves of
111673         idcache.c stay in sync.
111675         * lib/idcache.c: Adjust comments in user- and group- portions to
111676         be more accurate, and to be consistent with one another.
111678 2006-11-20  Jim Meyering  <jim@meyering.net>
111680         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
111681         continue using the flexible array member (thus, this module performs
111682         half as many malloc calls), with the addition that...
111683         (getgroup, getuser): Consistently record a non-match via an empty
111684         "name" string, and map an empty string match to a NULL return value.
111685         * modules/idcache (Depends-on): Re-add flexmember.
111687         * lib/idcache.c (getuser): Remove all uses of the register keyword.
111688         (getuidbyname, getgroup, getgidbyname): Likewise.
111690         Use cleaner syntax: NULL rather than 0.
111691         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
111693 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
111695         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
111696         It mishandled the case where the group was missing.
111697         Problem reported by Greg Schafer.
111698         * modules/idcache: Likewise.
111700 2006-11-18  Jim Meyering  <jim@meyering.net>
111702         * check-module (%exempt_header): Add exception for some
111703         conditionally-included headers.
111705         * modules/i-ring (Depends-on): Add verify.
111706         (License): Change to LGPL.
111708 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
111710         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
111711         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
111712         and inttostr.h.  Use snprintf rather than uinttostr, so that
111713         LGPLed code doesn't depend on GPLed.
111715 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
111717         * modules/inline (License): Change from GPL to LGPL.
111719 2006-11-17  Jim Meyering  <jim@meyering.net>
111721         * modules/d-type (License): Switch to LGPL.
111723 2006-11-15  Bruno Haible  <bruno@clisp.org>
111725         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
111727 2006-11-15  Eric Blake  <ebb9@byu.net>
111729         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
111730         the module dependency.
111732 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
111733             Bruno Haible  <bruno@clisp.org>
111735         * gnulib-tool (func_create_testdir): Add license consistency check.
111737 2006-11-15  Eric Blake  <ebb9@byu.net>
111739         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
111740         random "(cached)" in configure output.
111742 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111744         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
111745         test for conforming inttypes.h is both announced and cached.
111747         * MODULES.html.sh (seen_modules, seen_files): New variables.
111748         (func_module): Rewrite to use a few less gnulib-tool and sed
111749         invocations.  Avoid a couple of quadratic algorithms for ...
111750         (missed_modules, missed_files): ... these, with ...
111751         (func_append, func_tmpdir): ... these new functions, from
111752         gnulib-tool.  Analogously, install traps for cleanup.
111754         * tests/test-gc.c (main): Remove unused variables.
111755         * tests/test-read-file.c: Include stdlib.h, for 'free'.
111757 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
111759         * modules/inttostr (License): Change to LGPL.
111761 2006-11-14  Eric Blake  <ebb9@byu.net>
111763         * modules/tempname (License): Change to LGPL.
111765 2006-11-14  Eric Blake  <ebb9@byu.net>
111767         * doc/functions.texi (Function Portability): *printf functions on
111768         Cygwin now understand all POSIX size specifiers.
111770 2006-11-14  Bruno Haible  <bruno@clisp.org>
111772         * modules/c-ctype (License): Change to LGPL.
111774 2006-11-12  Bruno Haible  <bruno@clisp.org>
111776         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
111777         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
111778         for GNOME libraries, for which the include files are installed in
111779         subdirectories of $prefix/include.
111781 2006-11-12  Bruno Haible  <bruno@clisp.org>
111783         * m4/lib-link.m4: Require at least autoconf-2.54.
111784         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
111785         name to underscores for the --with option.
111787 2006-11-13  Bruno Haible  <bruno@clisp.org>
111789         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
111790         the tests directory.
111791         Reported by Ralf Wildenhues.
111793 2006-11-13  Bruno Haible  <bruno@clisp.org>
111795         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
111796         (func_emit_initmacro_end): Undo the override here.
111797         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
111798         Works around the famous automake error in coreutils.
111800 2006-11-13  Eric Blake  <ebb9@byu.net>
111802         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
111803         element, not its node.
111805 2006-11-12  Bruno Haible  <bruno@clisp.org>
111807         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
111808         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
111810 2006-11-12  Bruno Haible  <bruno@clisp.org>
111812         * gnulib-tool: New option --local-symlink.
111813         (func_usage): Document it.
111814         (lsymbolic): New variable.
111815         (func_import, func_create_testdir): If --symlink was not specified,
111816         test whether --local-symlink was specified and the file comes from
111817         the local_gnulib_dir.
111819 2006-11-12  Bruno Haible  <bruno@clisp.org>
111821         * gnulib-tool (func_ln): New function.
111822         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
111824 2006-11-12  Bruno Haible  <bruno@clisp.org>
111826         Finish support for source files in subdirectories.
111827         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
111828         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
111829         AUTOMAKE_OPTIONS.
111830         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
111832 2006-11-12  Bruno Haible  <bruno@clisp.org>
111834         * gnulib-tool (func_get_automake_snippet): Synthesize also an
111835         EXTRA_lib_SOURCES augmentation.
111836         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
111838 2006-11-12  Jim Meyering  <jim@meyering.net>
111840         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
111841         file descriptors.  This also averts a failure on systems with
111842         native openat support when a traversed directory lacks "x" access.
111843         * lib/fts_.h: Include "i-ring.h"
111844         (struct FTS) [fts_fd_ring]: New member.
111845         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
111846         (FCHDIR): Add parentheses.
111847         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
111848         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
111849         When descending, rather than simply closing the previous
111850         fts_cwd_fd value, push that file descriptor onto the ring.
111851         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
111852         (fts_open): Initialize the new fd_ring member.
111853         (fts_close): Clear the ring.
111854         (fts_safe_changedir): When possible, use our new fd_ring to skip
111855         the diropen and fstat and dev/ino comparison that would normally
111856         accompany a virtual `chdir ("..")'.
111858         * modules/fts (Depends-on): Add i-ring.
111859         * modules/i-ring: New module.
111860         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
111861         * m4/i-ring.m4: New file.
111863 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111865         * gnulib-tool (func_create_testdir): Fix replacement of
111866         `build-aux' in configure.ac.  Run autotools in gltests
111867         subdirectory.
111868         (func_create_testdir, func_create_megatestdir, test): There is
111869         no need for '--force' in most autotool invocations in a new
111870         tree.  Actually fail the whole test if any of the tools, or the
111871         configure or make stages fail.
111873         Sync from Automake.
111874         * build-aux/gnupload: Revert last change.  Add pointer to upload
111875         instructions of the GNU Maintenance Instructions.
111876         Suggestion by Karl Berry.
111878 2006-11-10  Jim Meyering  <jim@meyering.net>
111880         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
111882 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
111884         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
111885         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
111886         (bind_textdomain_codeset) [! ENABLE_NLS]:
111887         Evaluate all the arguments.  That way, callers get compatible behavior
111888         if the arguments have side effects.  Also, it avoids some GCC
111889         diagnostics in some cases; Joel E. Denny reported problems when Bison
111890         was configured with --enable-gcc-warnigs.
111892 2006-11-10  Jim Meyering  <jim@meyering.net>
111894         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
111895         relevant options in CFLAGS (like -O, -fno-inline) are taken into
111896         account.
111898 2006-11-10  Jim Meyering  <jim@meyering.net>
111900         * modules/inline: New file/module.
111901         * modules/xalloc (Files): Remove m4/inline.m4.
111902         (Depends-on): Add inline, instead.
111903         * modules/oset: Likewise.
111904         * modules/list: Likewise.
111906 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
111908         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
111909         Problem reported by Matthew Woehlke.
111911 2006-11-09  Bruno Haible  <bruno@clisp.org>
111913         * lib/tempname.c (gen_tempname): Remove variant that invokes
111914         __gen_tempname.
111915         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
111916         __gen_tempname.
111918 2006-11-08  Bruno Haible  <bruno@clisp.org>
111920         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
111921         to 'yes' instead of 'cross-compiling'.
111923 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
111925         * lib/quotearg.h (quotearg_free): New decl.
111926         * lib/quotearg.c (quotearg_free): New function.
111927         (slot0, nslots, slotvec0, slotvec):
111928         Now file-scope so that quotearg_free can get at them.
111930 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111932         Sync from Automake.
111933         * build-aux/gnupload: Add missing 'gnu' to example URL.
111934         Report by Karl Berry.
111936 2006-11-08  Bruno Haible  <bruno@clisp.org>
111938         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
111939         Suggested by Paul Eggert.
111941 2006-11-08  Jim Meyering  <jim@meyering.net>
111943         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
111944         It's already included if !_LIBC.
111945         (fts_safe_changedir): Add a comment.
111947 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
111949         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
111950         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
111951         Matthew Woehlke.
111953         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
111954         definitions up, to avoid colliding with change below.
111955         (static_inline) [HAVE_INLINE]: New macro.
111956         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
111957         Provide extern decls when !HAVE_INLINE.  Do not define unless
111958         static_inline is defined, either by us or by xmalloc.c.  Use
111959         static_inline rather than static inline.
111960         (XCALLOC): Optimize sizeof(T) = 1 case.
111961         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
111963 2006-11-07  Bruno Haible  <bruno@clisp.org>
111965         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
111966         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
111967         AC_C_INLINE.
111968         * modules/xalloc (Files): Add m4/inline.m4.
111970 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111972         * README: Fix typo.
111973         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
111974         (Miscellanous Notes): ...from this.
111976 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
111978         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
111979         Mention that offsetof should be used instead of sizeof.
111980         From Bruno Haible.
111982 2006-11-07  Bruno Haible  <bruno@clisp.org>
111984         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
111986 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
111988         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
111989         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
111990         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
111991         (gl_tree_add_before, gl_tree_add_after):
111992         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
111993         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
111994         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
111995         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
111996         (gl_linked_add_after, gl_linked_add_at): Likewise.
111997         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
111998         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
111999         (gl_tree_add_before, gl_tree_add_after): Likewise.
112000         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
112001         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
112002         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
112004 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112006         * lib/gl_oset.h: Use C comment style, not C++ comment style.
112008 2006-11-06  Bruno Haible  <bruno@clisp.org>
112010         * m4/inline.m4: New file.
112011         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
112012         * modules/list (Files): Add m4/inline.m4.
112013         * modules/oset (Files): Likewise.
112015 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
112017         * lib/idcache.c: Include <stddef.h>, for offsetof.
112018         (struct userid.name): Change from char * to a flexible array member.
112019         All uses changed.
112020         * modules/idcache (Depends-on): Add flexmember.
112022         * MODULES.html.sh (Core language properties): New module flexmember.
112023         * modules/flexmember, m4/flexmember.m4: New files.
112025         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
112026         inline functions that are identical with the old xnmalloc_inline,
112027         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
112028         that we can avoid some unnecessary integer multiplications and
112029         divisions in the common case where the element size is known at
112030         compile time.
112031         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
112032         needed.
112033         (xnboundedmalloc): Remove.
112034         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
112035         arguments, for consistency with rest of this header.
112036         (xcharalloc): Rewrite using XNMALLOC.
112037         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
112038         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
112039         versions have been moved to lib/xalloc.h and renamed to be the
112040         non-*_inline versions.
112041         (xmalloc, xrealloc): Implement without reference to the xnmalloc
112042         and xnrealloc functions, since those functions are now inline and
112043         now call us.
112044         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
112045         renaming described above.
112046         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
112047         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
112048         captures the dependency in AC_C_INLINE.
112050         New module canonicalize-lgpl, proposed by Charles Wilson in
112051         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
112052         with a few small changes afterwards.
112053         * MODULES.html.sh (File system functions): New module
112054         canonicalize-lgpl.
112055         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
112056         and canonicalize_file_name.
112057         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
112058         * modules/canonicalize-lgpl: New files.
112060 2006-11-05  Bruno Haible  <bruno@clisp.org>
112062         * gnulib-tool (func_import, func_create_testdir): Create directories
112063         also for files in subdirectories of lib/.
112065 2006-11-05  Bruno Haible  <bruno@clisp.org>
112067         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
112068         ANSI C compliant.
112070 2006-11-03  Bruno Haible  <bruno@clisp.org>
112072         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
112073         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
112074         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
112075         (xnboundedmalloc): New inline function.
112076         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
112077         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
112078         xmalloc.
112079         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
112080         xmalloc.
112081         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
112082         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
112083         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
112084         xmalloc.
112085         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
112086         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
112087         xmalloc.
112088         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
112089         gl_tree_add_after): Use XMALLOC instead of xmalloc.
112090         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
112091         xmalloc.
112092         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
112093         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
112094         gl_tree_add_after): Use XMALLOC instead of xmalloc.
112095         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
112096         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
112097         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
112098         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
112100 2006-11-03  Bruno Haible  <bruno@clisp.org>
112102         * lib/c-ctype.h [C++]: Define functions without name mangling.
112103         * lib/fwriteerror.h [C++]: Likewise.
112104         * lib/gcd.h [C++]: Likewise.
112105         * lib/linebreak.h [C++]: Likewise.
112107 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
112109         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
112110         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
112111         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
112112         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
112113         Check for functions and headers just once.
112114         Check for declaration of canonicalize_file_name.
112115         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
112117 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
112119         * gnulib-tool (func_import): Fix typo in actioncmd.
112121 2006-11-02  Bruno Haible  <bruno@clisp.org>
112123         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
112124         newline sequence in the Makefile.am snippet as a space, like "make"
112125         does.
112126         Reported by Roger Persson <perrog@gmail.com>.
112128 2006-11-01  Bruno Haible  <bruno@clisp.org>
112130         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
112131         already declared in <string.h>.
112132         * lib/strcase.h (strncasecmp): Don't declare it if yes.
112134 2006-11-01  Bruno Haible  <bruno@clisp.org>
112136         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
112137         * lib/strcase.h: Include <string.h>.
112138         (strcasecmp): Define to rpl_strcasecmp here.
112140 2006-11-01  Bruno Haible  <bruno@clisp.org>
112142         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
112144 2006-11-01  Eric Blake  <ebb9@byu.net>
112146         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
112148         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
112150 2006-10-29  Bruno Haible  <bruno@clisp.org>
112152         Make it compile in C++ mode.
112153         * lib/full-write.c (full_rw): Add a cast.
112155 2006-11-01  Bruno Haible  <bruno@clisp.org>
112157         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
112158         be POSIX compliant.
112159         Reported by Roger Persson <perrog@gmail.com>.
112161 2006-11-01  Eric Blake  <ebb9@byu.net>
112163         * lib/getopt_.h: Fix comments.
112165 2006-10-31  Eric Blake  <ebb9@byu.net>
112167         * modules/tmpdir (Depends-on): Add sys_stat.
112168         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
112169         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
112170         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
112171         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
112172         tempname.
112174 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
112176         Avoid some C++ diagnostics reported by Bruno Haible.
112177         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
112178         xmalloc.
112179         (quotearg_alloc): Use xcharalloc rather than xmalloc.
112180         (struct slotvec): Move to top level.
112181         (quotearg_n_options): Rewrite to avoid xmalloc.
112182         * lib/xalloc.h (xcharalloc): New function.
112183         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
112184         [defined __cplusplus]: Add function template that provides result
112185         type propagation.  This part of the change is from Bruno Haible.
112187 2006-10-29  Bruno Haible  <bruno@clisp.org>
112189         Make it compile in C++ mode.
112190         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
112191         * lib/strnlen1.c (strnlen1): Cast memchr result.
112192         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
112193         * lib/clean-temp.c (string_equals, string_hash): Add casts.
112194         (create_temp_dir): Rename local variable 'template'.
112195         (compile_csharp_using_sscli): Add cast.
112196         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
112197         * lib/findprog.c (find_in_path): Likewise.
112198         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
112199         * lib/wait-process.c (register_slave_subprocess): Likewise.
112201 2006-10-22  Bruno Haible  <bruno@clisp.org>
112203         * modules/tsearch: New file.
112204         * lib/tsearch.h: New file.
112205         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
112206         * m4/tsearch.m4: New file.
112207         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
112209 2006-10-29  Eric Blake  <ebb9@byu.net>
112211         * lib/arcfour.c: Assume config.h.
112212         * lib/arctwo.c: Likewise.
112213         * lib/base64.c: Likewise.
112214         * lib/check-version.c: Likewise.
112215         * lib/crc.c: Likewise.
112216         * lib/des.c: Likewise.
112217         * lib/gc-gnulib.c: Likewise.
112218         * lib/gc-libgcrypt.c: Likewise.
112219         * lib/gc-pbkdf2-sha1.c: Likewise.
112220         * lib/getaddrinfo.c: Likewise.
112221         * lib/getdelim.c: Likewise.
112222         * lib/getline.c: Likewise.
112223         * lib/hmac-md5.c: Likewise.
112224         * lib/hmac-sha1.c: Likewise.
112225         * lib/iconvme.c: Likewise.
112226         * lib/md2.c: Likewise.
112227         * lib/md4.c: Likewise.
112228         * lib/memxor.c: Likewise.
112229         * lib/read-file.c: Likewise.
112230         * lib/readline.c: Likewise.
112231         * lib/rijndael-alg-fst.c: Likewise.
112232         * lib/rijndael-api-fst.c: Likewise.
112233         * lib/xgetdomainname.c: Likewise.
112235 2006-10-28  Eric Blake  <ebb9@byu.net>
112237         * lib/xstrndup.c: Assume config.h.
112239 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
112241         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
112242         stat-macros.h is now for our own macros, whereas stat_h is for
112243         macros in the <sys/stat.h> name space.
112244         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
112245         (STAT_MACROS_H): Remove.
112246         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
112247         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
112248         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
112249         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
112250         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
112251         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
112252         Move these macros to ...
112253         * lib/stat_.h: here.  Don't include stat-macros.h.
112254         * lib/canonicalize.c: Don't include stat-macros.h.
112255         * lib/chown.c: Likewise.
112256         * lib/euidaccess.c: Likewise.
112257         * lib/file-type.c: Likewise.
112258         * lib/filemode.c: Likewise.
112259         * lib/glob.c: Likewise.
112260         * lib/isapipe.c: Likewise.
112261         * lib/lchown.c: Likewise.
112262         * lib/lstat.c: Likewise.
112263         * lib/mkdir-p.c: Likewise.
112264         * lib/rmdir.c: Likewise.
112265         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
112266         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
112267         unless mkdir isn't declared, to speed up 'configure'.
112268         Always create sys/stat.h, since it's unlikely any real sys/stat.h
112269         would define all the S_* symbols.
112270         * modules/canonicalize (Depends-on):
112271         Depend on sys_stat, not stat-macros.
112272         * modules/chown: Likewise.
112273         * modules/euidaccess: Likewise.
112274         * modules/filemode: Likewise.
112275         * modules/file-type: Likewise.
112276         * modules/glob: Likewise.
112277         * modules/isapipe: Likewise.
112278         * modules/lchown: Likewise.
112279         * modules/lstat: Likewise.
112280         * modules/mkancesdirs: Likewise.
112281         * modules/rmdir: Likewise.
112282         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
112283         * modules/modechange: Likewise.
112284         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
112285         (configure.ac): Remove gl_STAT_MACROS.
112286         * modules/sys_stat (Depends-on): Remove stat-macros.
112288 2006-10-27  Bruno Haible  <bruno@clisp.org>
112290         * m4/signed.m4: Remove file.
112291         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
112292         invocation.
112293         * modules/vasnprintf (Files): Remove m4/signed.m4.
112295 2006-10-27  Bruno Haible  <bruno@clisp.org>
112297         Update to GNU gettext 0.16.
112298         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
112299         m4/inttypes-h.m4, m4/signed.m4.
112300         * m4/gettext.m4: Update to GNU gettext 0.16.
112301         * m4/intl.m4: New file, from GNU gettext.
112302         * m4/intldir.m4: New file, from GNU gettext.
112303         * config/srclist.txt: Update
112305 2006-10-27  Eric Blake  <ebb9@byu.net>
112307         * MODULES.html.sh: Document tempname.
112308         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
112309         dependencies.
112310         (Files): Move lib/tempname.c...
112311         * modules/tempname: ...to this new module.
112312         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
112313         (gl_PREREQ_TEMPNAME): Move...
112314         * m4/tempname.m4: ...to this new file.
112315         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
112316         * modules/sys_stat (Depends-on): Add stat-macros.
112317         * lib/stat_.h (includes): Pick up stat macros.
112318         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
112319         if stat macros are broken.
112320         * lib/tempname.c (includes): No need to include "stat-macros.h".
112321         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
112322         (direxists, __path_search) [!_LIBC]: Don't compile these in
112323         gnulib; the tmpdir module covers that.
112324         * lib/tempname.h: New file.
112326 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
112328         * COPYING: Explain how gnulib-tool converts licence headers.
112329         Almost all wording by Eric Blake.
112331 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
112333         * lib/mbchar.h (is_basic_table): Make read-only.
112334         * lib/mbchar.c (is_basic_table): Likewise.
112335         Reported by John Darrington.
112337 2006-10-25  Bruno Haible  <bruno@clisp.org>
112339         * lib/progname.h (set_program_name): Undefine before defining.
112341 2006-10-25  Bruno Haible  <bruno@clisp.org>
112343         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
112344         false for non-gcc C++ compilers.
112345         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
112347 2006-10-24  Bruno Haible  <bruno@clisp.org>
112349         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
112350         iconv implementations like Irix iconv.
112352 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
112354         * modules/vararrays: New file.
112355         * m4/vararrays.m4: New file, taken from diffutils.
112356         * MODULES.html.sh: New module vararrays.
112358 2006-10-24  Karl Berry  <karl@gnu.org>
112360         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
112361         Don't call GNU Unix.
112363 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112365         * users.txt: Add Libtool.
112367         Sync from Libtool:
112369         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
112371         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
112372         to gnulib's policy of including config.h unconditionally.
112374 2006-10-24  Bruno Haible  <bruno@clisp.org>
112376         * modules/wcwidth (Files): Add m4/wint_t.m4.
112377         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
112378         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
112380 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
112382         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
112383         to pacify GCC with some -W flags enabled.  Problem reported by
112384         Bruno Haible.
112386 2006-10-24  Jim Meyering  <jim@meyering.net>
112388         * MODULES.html.sh: Remove uinttostr.  It's not a module.
112389         Reported by Karl Berry.
112391 2006-10-23  Bruno Haible  <bruno@clisp.org>
112393         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
112395 2006-10-24  Bruno Haible  <bruno@clisp.org>
112397         * lib/gl_list.h: Use C comment style, not C++ comment style.
112399 2006-10-23  Eric Blake  <ebb9@byu.net>
112401         * lib/getaddrinfo.c (includes): Add missing include.
112403 2006-10-23  Bruno Haible  <bruno@clisp.org>
112404             Paul Eggert  <eggert@cs.ucla.edu>
112406         Ability to rename obstack_free.
112407         * lib/obstack.h (__obstack_free): New macro. Declare instead of
112408         obstack_free.
112409         (obstack_free): Invoke the __obstack_free macro.
112410         * lib/obstack.c (obstack_free): Use __obstack_free macro.
112412 2006-10-23  Bruno Haible  <bruno@clisp.org>
112413             Paul Eggert  <eggert@cs.ucla.edu>
112415         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
112416         __argc, __argv from the declaration. (They are defined as macros on
112417         mingw.)
112419 2006-10-22  Bruno Haible  <bruno@clisp.org>
112421         * doc/gnulib-intro.texi: New file.
112422         * doc/gnulib.texi: Include it.
112424 2006-10-21  Bruno Haible  <bruno@clisp.org>
112426         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
112427         "Introduction", "Miscellanous Notes", "Particular Modules".
112429 2006-10-21  Bruno Haible  <bruno@clisp.org>
112431         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
112432         Change mostlyclean-local rule to avoid sh syntax error from bash
112433         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
112435 2006-10-23  Jim Meyering  <jim@meyering.net>
112437         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
112438         in place of snprintf.
112440         * modules/inttostr (Files): Add lib/uinttostr.c.
112441         * lib/uinttostr.c (inttostr): New file/function.
112442         * lib/inttostr.h (uinttostr): Declare.
112443         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
112444         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
112445         Add uinttostr.
112446         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
112448 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
112450         * lib/canonicalize.c (ELOOP): Define if not already defined.
112451         Problem reported by Bruno Haible in
112452         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
112454 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
112456         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
112457         Problem reported by Perry Smith and Ville Laurikari.
112459         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
112460         uses.
112462 2006-10-19  Bruno Haible  <bruno@clisp.org>
112464         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
112465         for mingw.
112467 2006-10-19  Bruno Haible  <bruno@clisp.org>
112469         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
112470         Needed for mingw.
112472 2006-10-19  Bruno Haible  <bruno@clisp.org>
112474         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
112476 2006-10-19  Bruno Haible  <bruno@clisp.org>
112478         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
112479         it.
112481 2006-10-19  Bruno Haible  <bruno@clisp.org>
112483         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
112484         invocation.
112486 2006-10-19  Bruno Haible  <bruno@clisp.org>
112488         * gnulib-tool (func_create_testdir): Don't include ftruncate and
112489         mountlist by default.
112491 2006-10-16  Bruno Haible  <bruno@clisp.org>
112493         * lib/c-strstr.c: Include c-strstr.h.
112495 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
112497         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
112498         in a slash.
112500 2006-10-18  Bruno Haible  <bruno@clisp.org>
112502         * lib/lock.h [C++]: Wrap definitions in extern "C".
112504 2006-10-18  Bruno Haible  <bruno@clisp.org>
112506         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
112507         gl_LIBOBJS list.
112509 2006-10-18  Bruno Haible  <bruno@clisp.org>
112511         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
112513 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
112515         * lib/xstrtol.h: Include gettext.h.
112516         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
112517         Problem reported by Eric Blake.
112518         * modules/xstrtol (Depends-on): Add gettext-h.
112520 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
112522         * lib/strftime.c (advance): New macro.
112523         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
112524         incomplete type, so you can't add 0 to it.  Problem and patch
112525         reported by Eelco Dolstra for dietlibc.
112527 2006-10-18  Jim Meyering  <jim@meyering.net>
112529         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
112530         type for a local, and rename it: s/up/user_proc/.
112532 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
112534         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
112535         READ_UTMP_USER_PROCESS.
112536         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
112538 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
112540         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
112541         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
112543 2006-10-17  Eric Blake  <ebb9@byu.net>
112545         * lib/sigprocmask.c (sigprocmask): Fix typo.
112547         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
112549         * modules/clean-temp (Makefile.am): Don't add to make output...
112550         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
112551         config.h.
112553 2006-10-17  Bruno Haible  <bruno@clisp.org>
112555         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
112556         differently if DEFAULT_TEXT_DOMAIN is set.
112558 2006-10-16  Bruno Haible  <bruno@clisp.org>
112560         * lib/clean-temp.c: Include fwriteerror.h.
112562 2006-10-16  Bruno Haible  <bruno@clisp.org>
112564         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
112566 2006-10-16  Bruno Haible  <bruno@clisp.org>
112568         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
112569         * lib/sigprocmask.h: Include <sys/types.h>.
112570         (sigset_t): Use the system's definition if present.
112572 2006-10-17  Eric Blake  <ebb9@byu.net>
112574         * lib/xvasprintf.c (includes): Assume config.h.
112575         * lib/xasprintf.c (includes): Likewise.
112577 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
112579         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
112580         at least as wide as intmax_t.
112582 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
112584         (Imported from Automake.)
112585         * build-aux/gnupload: Update to version 1.1 of directive file.
112587 2006-10-16  Eric Blake  <ebb9@byu.net>
112589         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
112590         match Automake 1.10a.
112592 2006-10-14  Bruno Haible  <bruno@clisp.org>
112594         * modules/sigprocmask: New file.
112595         * lib/sigprocmask.h: New file.
112596         * lib/sigprocmask.c: New file.
112597         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
112598         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
112599         request sigprocmask.o.
112600         (gl_PREREQ_SIGPROCMASK): New macro.
112601         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
112602         (Depends-on): Add sigprocmask.
112603         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
112604         gt_SIGNALBLOCKING. Test for 'raise' only once.
112605         * lib/fatal-signal.c: Include sigprocmask.h.
112606         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
112607         unblock_fatal_signals): Define always.
112608         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
112609         sigprocmask.
112611 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
112613         Sync from Automake.
112614         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
112615         which incorrectly sets the mode of an existing destination
112616         directory.  In some cases the unpatched install-sh could do the
112617         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
112618         system.  We hope this is rare in practice, but it's clearly worth
112619         fixing.  Problem reported by Alex Unleashed in
112620         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
112621         Also, don't bother to check for -m bugs unless we're using -m;
112622         suggested by Stepan Kasal.
112624 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112626         Sync from Automake.
112627         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
112628         `-c' flag, so they appear at the same position as in %FASTDEP%
112629         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
112630         which ignores unknown options only after the first non-option.
112631         Bug report against M4 by Nelson H. F. Beebe.
112633 2006-10-13  Jim Meyering  <jim@meyering.net>
112635         Fix a bug in yesterday's change.
112636         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
112637         p->fts_statp->st_dev would be used uninitialized.
112638         Ensures that we always call fts_stat on the very first entry.
112639         Miklos Szeredi reported that find -xdev stopped working.
112641 2006-10-12  Bruno Haible  <bruno@clisp.org>
112643         * gnulib-tool (func_get_automake_snippet): Append an automatically
112644         computed EXTRA_DIST augmentation.
112645         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
112646         * modules/alloca-opt (Makefile.am): Likewise.
112647         * modules/allocsa (Makefile.am): Likewise.
112648         * modules/arcfour (Makefile.am): Likewise.
112649         * modules/arctwo (Makefile.am): Likewise.
112650         * modules/argmatch (Makefile.am): Likewise.
112651         * modules/argz (Makefile.am): Likewise.
112652         * modules/atexit (Makefile.am): Likewise.
112653         * modules/backupfile (Makefile.am): Likewise.
112654         * modules/byteswap (Makefile.am): Likewise.
112655         * modules/c-strtod (Makefile.am): Likewise.
112656         * modules/c-strtold (Makefile.am): Likewise.
112657         * modules/calloc (Makefile.am): Likewise.
112658         * modules/canon-host (Makefile.am): Likewise.
112659         * modules/canonicalize (Makefile.am): Likewise.
112660         * modules/chdir-long (Makefile.am): Likewise.
112661         * modules/chdir-safer (Makefile.am): Likewise.
112662         * modules/check-version (Makefile.am): Likewise.
112663         * modules/chown (Makefile.am): Likewise.
112664         * modules/cloexec (Makefile.am): Likewise.
112665         * modules/close-stream (Makefile.am): Likewise.
112666         * modules/closeout (Makefile.am): Likewise.
112667         * modules/crc (Makefile.am): Likewise.
112668         * modules/csharpexec (Makefile.am): Likewise.
112669         * modules/cycle-check (Makefile.am): Likewise.
112670         * modules/des (Makefile.am): Likewise.
112671         * modules/dev-ino (Makefile.am): Likewise.
112672         * modules/dirfd (Makefile.am): Likewise.
112673         * modules/dirname (Makefile.am): Likewise.
112674         * modules/dup2 (Makefile.am): Likewise.
112675         * modules/eealloc (Makefile.am): Likewise.
112676         * modules/error (Makefile.am): Likewise.
112677         * modules/euidaccess (Makefile.am): Likewise.
112678         * modules/exclude (Makefile.am): Likewise.
112679         * modules/exitfail (Makefile.am): Likewise.
112680         * modules/fcntl-safer (Makefile.am): Likewise.
112681         * modules/fcntl (Makefile.am): Likewise.
112682         * modules/file-type (Makefile.am): Likewise.
112683         * modules/fileblocks (Makefile.am): Likewise.
112684         * modules/filemode (Makefile.am): Likewise.
112685         * modules/filenamecat (Makefile.am): Likewise.
112686         * modules/fnmatch (Makefile.am): Likewise.
112687         * modules/fopen-safer (Makefile.am): Likewise.
112688         * modules/fpending (Makefile.am): Likewise.
112689         * modules/fprintftime (Makefile.am): Likewise.
112690         * modules/free (Makefile.am): Likewise.
112691         * modules/fsusage (Makefile.am): Likewise.
112692         * modules/ftruncate (Makefile.am): Likewise.
112693         * modules/fts (Makefile.am): Likewise.
112694         * modules/gc-arcfour (Makefile.am): Likewise.
112695         * modules/gc-des (Makefile.am): Likewise.
112696         * modules/gc-hmac-md5 (Makefile.am): Likewise.
112697         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
112698         * modules/gc-md4 (Makefile.am): Likewise.
112699         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
112700         * modules/gc-sha1 (Makefile.am): Likewise.
112701         * modules/gc (Makefile.am): Likewise.
112702         * modules/getaddrinfo (Makefile.am): Likewise.
112703         * modules/getcwd (Makefile.am): Likewise.
112704         * modules/getdelim (Makefile.am): Likewise.
112705         * modules/getdomainname (Makefile.am): Likewise.
112706         * modules/getgroups (Makefile.am): Likewise.
112707         * modules/gethostname (Makefile.am): Likewise.
112708         * modules/gethrxtime (Makefile.am): Likewise.
112709         * modules/getline (Makefile.am): Likewise.
112710         * modules/getloadavg (Makefile.am): Likewise.
112711         * modules/getlogin_r (Makefile.am): Likewise.
112712         * modules/getndelim2 (Makefile.am): Likewise.
112713         * modules/getopt (Makefile.am): Likewise.
112714         * modules/getpagesize (Makefile.am): Likewise.
112715         * modules/getpass-gnu (Makefile.am): Likewise.
112716         * modules/getpass (Makefile.am): Likewise.
112717         * modules/getsubopt (Makefile.am): Likewise.
112718         * modules/gettime (Makefile.am): Likewise.
112719         * modules/gettimeofday (Makefile.am): Likewise.
112720         * modules/getugroups (Makefile.am): Likewise.
112721         * modules/getusershell (Makefile.am): Likewise.
112722         * modules/glob (Makefile.am): Likewise.
112723         * modules/group-member (Makefile.am): Likewise.
112724         * modules/hard-locale (Makefile.am): Likewise.
112725         * modules/hash (Makefile.am): Likewise.
112726         * modules/hmac-md5 (Makefile.am): Likewise.
112727         * modules/hmac-sha1 (Makefile.am): Likewise.
112728         * modules/human (Makefile.am): Likewise.
112729         * modules/idcache (Makefile.am): Likewise.
112730         * modules/imaxabs (Makefile.am): Likewise.
112731         * modules/imaxdiv (Makefile.am): Likewise.
112732         * modules/inet_ntop (Makefile.am): Likewise.
112733         * modules/inet_pton (Makefile.am): Likewise.
112734         * modules/intprops (Makefile.am): Likewise.
112735         * modules/inttostr (Makefile.am): Likewise.
112736         * modules/inttypes (Makefile.am): Likewise.
112737         * modules/isapipe (Makefile.am): Likewise.
112738         * modules/javaversion (Makefile.am): Likewise.
112739         * modules/lchmod (Makefile.am): Likewise.
112740         * modules/lchown (Makefile.am): Likewise.
112741         * modules/localcharset (Makefile.am): Likewise.
112742         * modules/long-options (Makefile.am): Likewise.
112743         * modules/lstat (Makefile.am): Likewise.
112744         * modules/malloc (Makefile.am): Likewise.
112745         * modules/mathl (Makefile.am): Likewise.
112746         * modules/mbchar (Makefile.am): Likewise.
112747         * modules/md2 (Makefile.am): Likewise.
112748         * modules/md4 (Makefile.am): Likewise.
112749         * modules/md5 (Makefile.am): Likewise.
112750         * modules/memcasecmp (Makefile.am): Likewise.
112751         * modules/memchr (Makefile.am): Likewise.
112752         * modules/memcmp (Makefile.am): Likewise.
112753         * modules/memcoll (Makefile.am): Likewise.
112754         * modules/memcpy (Makefile.am): Likewise.
112755         * modules/memmem (Makefile.am): Likewise.
112756         * modules/memmove (Makefile.am): Likewise.
112757         * modules/mempcpy (Makefile.am): Likewise.
112758         * modules/memrchr (Makefile.am): Likewise.
112759         * modules/memset (Makefile.am): Likewise.
112760         * modules/memxor (Makefile.am): Likewise.
112761         * modules/mkancesdirs (Makefile.am): Likewise.
112762         * modules/mkdir-p (Makefile.am): Likewise.
112763         * modules/mkdir (Makefile.am): Likewise.
112764         * modules/mkdtemp (Makefile.am): Likewise.
112765         * modules/mkstemp (Makefile.am): Likewise.
112766         * modules/mktime (Makefile.am): Likewise.
112767         * modules/modechange (Makefile.am): Likewise.
112768         * modules/mountlist (Makefile.am): Likewise.
112769         * modules/nanosleep (Makefile.am): Likewise.
112770         * modules/obstack (Makefile.am): Likewise.
112771         * modules/openat (Makefile.am): Likewise.
112772         * modules/pagealign_alloc (Makefile.am): Likewise.
112773         * modules/pathmax (Makefile.am): Likewise.
112774         * modules/physmem (Makefile.am): Likewise.
112775         * modules/poll (Makefile.am): Likewise.
112776         * modules/posixtm (Makefile.am): Likewise.
112777         * modules/posixver (Makefile.am): Likewise.
112778         * modules/putenv (Makefile.am): Likewise.
112779         * modules/quote (Makefile.am): Likewise.
112780         * modules/quotearg (Makefile.am): Likewise.
112781         * modules/raise (Makefile.am): Likewise.
112782         * modules/read-file (Makefile.am): Likewise.
112783         * modules/readline (Makefile.am): Likewise.
112784         * modules/readlink (Makefile.am): Likewise.
112785         * modules/readtokens (Makefile.am): Likewise.
112786         * modules/readutmp (Makefile.am): Likewise.
112787         * modules/realloc (Makefile.am): Likewise.
112788         * modules/regex (Makefile.am): Likewise.
112789         * modules/rename-dest-slash (Makefile.am): Likewise.
112790         * modules/rename (Makefile.am): Likewise.
112791         * modules/rijndael (Makefile.am): Likewise.
112792         * modules/rmdir (Makefile.am): Likewise.
112793         * modules/rpmatch (Makefile.am): Likewise.
112794         * modules/safe-read (Makefile.am): Likewise.
112795         * modules/safe-write (Makefile.am): Likewise.
112796         * modules/same-inode (Makefile.am): Likewise.
112797         * modules/same (Makefile.am): Likewise.
112798         * modules/save-cwd (Makefile.am): Likewise.
112799         * modules/savedir (Makefile.am): Likewise.
112800         * modules/setenv (Makefile.am): Likewise.
112801         * modules/settime (Makefile.am): Likewise.
112802         * modules/sha1 (Makefile.am): Likewise.
112803         * modules/sig2str (Makefile.am): Likewise.
112804         * modules/snprintf (Makefile.am): Likewise.
112805         * modules/stat-macros (Makefile.am): Likewise.
112806         * modules/stat-time (Makefile.am): Likewise.
112807         * modules/stdbool (Makefile.am): Likewise.
112808         * modules/stdint (Makefile.am): Likewise.
112809         * modules/stdlib-safer (Makefile.am): Likewise.
112810         * modules/stpcpy (Makefile.am): Likewise.
112811         * modules/stpncpy (Makefile.am): Likewise.
112812         * modules/strcase (Makefile.am): Likewise.
112813         * modules/strcasestr (Makefile.am): Likewise.
112814         * modules/strchrnul (Makefile.am): Likewise.
112815         * modules/strcspn (Makefile.am): Likewise.
112816         * modules/strdup (Makefile.am): Likewise.
112817         * modules/strerror (Makefile.am): Likewise.
112818         * modules/strftime (Makefile.am): Likewise.
112819         * modules/strndup (Makefile.am): Likewise.
112820         * modules/strnlen (Makefile.am): Likewise.
112821         * modules/strpbrk (Makefile.am): Likewise.
112822         * modules/strsep (Makefile.am): Likewise.
112823         * modules/strstr (Makefile.am): Likewise.
112824         * modules/strtod (Makefile.am): Likewise.
112825         * modules/strtoimax (Makefile.am): Likewise.
112826         * modules/strtok_r (Makefile.am): Likewise.
112827         * modules/strtol (Makefile.am): Likewise.
112828         * modules/strtoll (Makefile.am): Likewise.
112829         * modules/strtoul (Makefile.am): Likewise.
112830         * modules/strtoull (Makefile.am): Likewise.
112831         * modules/strtoumax (Makefile.am): Likewise.
112832         * modules/strverscmp (Makefile.am): Likewise.
112833         * modules/sys_socket (Makefile.am): Likewise.
112834         * modules/sys_stat (Makefile.am): Likewise.
112835         * modules/sysexits (Makefile.am): Likewise.
112836         * modules/time_r (Makefile.am): Likewise.
112837         * modules/timegm (Makefile.am): Likewise.
112838         * modules/timespec (Makefile.am): Likewise.
112839         * modules/tmpfile-safer (Makefile.am): Likewise.
112840         * modules/trim (Makefile.am): Likewise.
112841         * modules/unistd-safer (Makefile.am): Likewise.
112842         * modules/unlinkdir (Makefile.am): Likewise.
112843         * modules/unlocked-io (Makefile.am): Likewise.
112844         * modules/userspec (Makefile.am): Likewise.
112845         * modules/utime (Makefile.am): Likewise.
112846         * modules/utimecmp (Makefile.am): Likewise.
112847         * modules/utimens (Makefile.am): Likewise.
112848         * modules/vasnprintf (Makefile.am): Likewise.
112849         * modules/vasprintf (Makefile.am): Likewise.
112850         * modules/vsnprintf (Makefile.am): Likewise.
112851         * modules/xalloc (Makefile.am): Likewise.
112852         * modules/xgetcwd (Makefile.am): Likewise.
112853         * modules/xnanosleep (Makefile.am): Likewise.
112854         * modules/xreadlink (Makefile.am): Likewise.
112855         * modules/xstrtod (Makefile.am): Likewise.
112856         * modules/xstrtol (Makefile.am): Likewise.
112857         * modules/xstrtold (Makefile.am): Likewise.
112858         * modules/yesno (Makefile.am): Likewise.
112859         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
112861 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
112863         * modules/error (Makefile.am): Distribute files through
112864         EXTRA_DIST, not lib_SOURCES.
112866 2006-10-12  Eric Blake  <ebb9@byu.net>
112868         * modules/error (Makefile.am): Distribute files in /lib.
112869         * modules/obstack (Makefile.am): Likewise.
112871 2006-10-12  Bruno Haible  <bruno@clisp.org>
112873         * modules/acl (Makefile.am): Distribute all files in lib/ through
112874         EXTRA_DIST.
112875         * modules/arcfour (Makefile.am): Likewise.
112876         * modules/arctwo (Makefile.am): Likewise.
112877         * modules/argmatch (Makefile.am): Likewise.
112878         * modules/argz (Makefile.am): Likewise.
112879         * modules/atexit (Makefile.am): Likewise.
112880         * modules/backupfile (Makefile.am): Likewise.
112881         * modules/c-strtod (Makefile.am): Likewise.
112882         * modules/c-strtold (Makefile.am): Likewise.
112883         * modules/calloc (Makefile.am): Likewise.
112884         * modules/canon-host (Makefile.am): Likewise.
112885         * modules/canonicalize (Makefile.am): Likewise.
112886         * modules/chdir-long (Makefile.am): Likewise.
112887         * modules/chdir-safer (Makefile.am): Likewise.
112888         * modules/check-version (Makefile.am): Likewise.
112889         * modules/chown (Makefile.am): Likewise.
112890         * modules/cloexec (Makefile.am): Likewise.
112891         * modules/close-stream (Makefile.am): Likewise.
112892         * modules/closeout (Makefile.am): Likewise.
112893         * modules/crc (Makefile.am): Likewise.
112894         * modules/cycle-check (Makefile.am): Likewise.
112895         * modules/des (Makefile.am): Likewise.
112896         * modules/dirfd (Makefile.am): Likewise.
112897         * modules/dirname (Makefile.am): Likewise.
112898         * modules/dup2 (Makefile.am): Likewise.
112899         * modules/euidaccess (Makefile.am): Likewise.
112900         * modules/exclude (Makefile.am): Likewise.
112901         * modules/exitfail (Makefile.am): Likewise.
112902         * modules/fcntl-safer (Makefile.am): Likewise.
112903         * modules/file-type (Makefile.am): Likewise.
112904         * modules/fileblocks (Makefile.am): Likewise.
112905         * modules/filemode (Makefile.am): Likewise.
112906         * modules/filenamecat (Makefile.am): Likewise.
112907         * modules/fnmatch (Makefile.am): Likewise.
112908         * modules/fopen-safer (Makefile.am): Likewise.
112909         * modules/fpending (Makefile.am): Likewise.
112910         * modules/fprintftime (Makefile.am): Likewise.
112911         * modules/free (Makefile.am): Likewise.
112912         * modules/fsusage (Makefile.am): Likewise.
112913         * modules/ftruncate (Makefile.am): Likewise.
112914         * modules/fts (Makefile.am): Likewise.
112915         * modules/gc (Makefile.am): Likewise.
112916         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
112917         * modules/getaddrinfo (Makefile.am): Likewise.
112918         * modules/getcwd (Makefile.am): Likewise.
112919         * modules/getdelim (Makefile.am): Likewise.
112920         * modules/getdomainname (Makefile.am): Likewise.
112921         * modules/getgroups (Makefile.am): Likewise.
112922         * modules/gethostname (Makefile.am): Likewise.
112923         * modules/gethrxtime (Makefile.am): Likewise.
112924         * modules/getline (Makefile.am): Likewise.
112925         * modules/getloadavg (Makefile.am): Likewise.
112926         * modules/getlogin_r (Makefile.am): Likewise.
112927         * modules/getopt (Makefile.am): Likewise.
112928         * modules/getpass (Makefile.am): Likewise.
112929         * modules/getpass-gnu (Makefile.am): Likewise.
112930         * modules/getsubopt (Makefile.am): Likewise.
112931         * modules/gettime (Makefile.am): Likewise.
112932         * modules/gettimeofday (Makefile.am): Likewise.
112933         * modules/getugroups (Makefile.am): Likewise.
112934         * modules/getusershell (Makefile.am): Likewise.
112935         * modules/glob (Makefile.am): Likewise.
112936         * modules/group-member (Makefile.am): Likewise.
112937         * modules/hard-locale (Makefile.am): Likewise.
112938         * modules/hash (Makefile.am): Likewise.
112939         * modules/hmac-md5 (Makefile.am): Likewise.
112940         * modules/hmac-sha1 (Makefile.am): Likewise.
112941         * modules/human (Makefile.am): Likewise.
112942         * modules/idcache (Makefile.am): Likewise.
112943         * modules/imaxabs (Makefile.am): Likewise.
112944         * modules/imaxdiv (Makefile.am): Likewise.
112945         * modules/inet_ntop (Makefile.am): Likewise.
112946         * modules/inet_pton (Makefile.am): Likewise.
112947         * modules/inttostr (Makefile.am): Likewise.
112948         * modules/isapipe (Makefile.am): Likewise.
112949         * modules/lchown (Makefile.am): Likewise.
112950         * modules/long-options (Makefile.am): Likewise.
112951         * modules/lstat (Makefile.am): Likewise.
112952         * modules/malloc (Makefile.am): Likewise.
112953         * modules/mathl (Makefile.am): Likewise.
112954         * modules/mbchar (Makefile.am): Likewise.
112955         * modules/md2 (Makefile.am): Likewise.
112956         * modules/md4 (Makefile.am): Likewise.
112957         * modules/md5 (Makefile.am): Likewise.
112958         * modules/memcasecmp (Makefile.am): Likewise.
112959         * modules/memchr (Makefile.am): Likewise.
112960         * modules/memcmp (Makefile.am): Likewise.
112961         * modules/memcoll (Makefile.am): Likewise.
112962         * modules/memcpy (Makefile.am): Likewise.
112963         * modules/memmem (Makefile.am): Likewise.
112964         * modules/memmove (Makefile.am): Likewise.
112965         * modules/mempcpy (Makefile.am): Likewise.
112966         * modules/memrchr (Makefile.am): Likewise.
112967         * modules/memset (Makefile.am): Likewise.
112968         * modules/memxor (Makefile.am): Likewise.
112969         * modules/mkancesdirs (Makefile.am): Likewise.
112970         * modules/mkdir (Makefile.am): Likewise.
112971         * modules/mkdir-p (Makefile.am): Likewise.
112972         * modules/mkdtemp (Makefile.am): Likewise.
112973         * modules/mkstemp (Makefile.am): Likewise.
112974         * modules/mktime (Makefile.am): Likewise.
112975         * modules/modechange (Makefile.am): Likewise.
112976         * modules/mountlist (Makefile.am): Likewise.
112977         * modules/nanosleep (Makefile.am): Likewise.
112978         * modules/openat (Makefile.am): Likewise.
112979         * modules/pagealign_alloc (Makefile.am): Likewise.
112980         * modules/physmem (Makefile.am): Likewise.
112981         * modules/poll (Makefile.am): Likewise.
112982         * modules/posixtm (Makefile.am): Likewise.
112983         * modules/posixver (Makefile.am): Likewise.
112984         * modules/putenv (Makefile.am): Likewise.
112985         * modules/quote (Makefile.am): Likewise.
112986         * modules/quotearg (Makefile.am): Likewise.
112987         * modules/raise (Makefile.am): Likewise.
112988         * modules/read-file (Makefile.am): Likewise.
112989         * modules/readline (Makefile.am): Likewise.
112990         * modules/readlink (Makefile.am): Likewise.
112991         * modules/readtokens (Makefile.am): Likewise.
112992         * modules/readutmp (Makefile.am): Likewise.
112993         * modules/realloc (Makefile.am): Likewise.
112994         * modules/regex (Makefile.am): Likewise.
112995         * modules/rename (Makefile.am): Likewise.
112996         * modules/rename-dest-slash (Makefile.am): Likewise.
112997         * modules/rijndael (Makefile.am): Likewise.
112998         * modules/rmdir (Makefile.am): Likewise.
112999         * modules/rpmatch (Makefile.am): Likewise.
113000         * modules/safe-read (Makefile.am): Likewise.
113001         * modules/safe-write (Makefile.am): Likewise.
113002         * modules/same (Makefile.am): Likewise.
113003         * modules/save-cwd (Makefile.am): Likewise.
113004         * modules/savedir (Makefile.am): Likewise.
113005         * modules/setenv (Makefile.am): Likewise.
113006         * modules/settime (Makefile.am): Likewise.
113007         * modules/sha1 (Makefile.am): Likewise.
113008         * modules/sig2str (Makefile.am): Likewise.
113009         * modules/snprintf (Makefile.am): Likewise.
113010         * modules/stdlib-safer (Makefile.am): Likewise.
113011         * modules/stpcpy (Makefile.am): Likewise.
113012         * modules/stpncpy (Makefile.am): Likewise.
113013         * modules/strcase (Makefile.am): Likewise.
113014         * modules/strcasestr (Makefile.am): Likewise.
113015         * modules/strchrnul (Makefile.am): Likewise.
113016         * modules/strcspn (Makefile.am): Likewise.
113017         * modules/strdup (Makefile.am): Likewise.
113018         * modules/strerror (Makefile.am): Likewise.
113019         * modules/strftime (Makefile.am): Likewise.
113020         * modules/strndup (Makefile.am): Likewise.
113021         * modules/strnlen (Makefile.am): Likewise.
113022         * modules/strpbrk (Makefile.am): Likewise.
113023         * modules/strsep (Makefile.am): Likewise.
113024         * modules/strstr (Makefile.am): Likewise.
113025         * modules/strtod (Makefile.am): Likewise.
113026         * modules/strtoimax (Makefile.am): Likewise.
113027         * modules/strtok_r (Makefile.am): Likewise.
113028         * modules/strtol (Makefile.am): Likewise.
113029         * modules/strtoll (Makefile.am): Likewise.
113030         * modules/strtoul (Makefile.am): Likewise.
113031         * modules/strtoull (Makefile.am): Likewise.
113032         * modules/strtoumax (Makefile.am): Likewise.
113033         * modules/strverscmp (Makefile.am): Likewise.
113034         * modules/time_r (Makefile.am): Likewise.
113035         * modules/timegm (Makefile.am): Likewise.
113036         * modules/tmpfile-safer (Makefile.am): Likewise.
113037         * modules/unistd-safer (Makefile.am): Likewise.
113038         * modules/unlinkdir (Makefile.am): Likewise.
113039         * modules/userspec (Makefile.am): Likewise.
113040         * modules/utime (Makefile.am): Likewise.
113041         * modules/utimecmp (Makefile.am): Likewise.
113042         * modules/utimens (Makefile.am): Likewise.
113043         * modules/vasnprintf (Makefile.am): Likewise.
113044         * modules/vasprintf (Makefile.am): Likewise.
113045         * modules/vsnprintf (Makefile.am): Likewise.
113046         * modules/xalloc (Makefile.am): Likewise.
113047         * modules/xgetcwd (Makefile.am): Likewise.
113048         * modules/xnanosleep (Makefile.am): Likewise.
113049         * modules/xreadlink (Makefile.am): Likewise.
113050         * modules/xstrtod (Makefile.am): Likewise.
113051         * modules/xstrtol (Makefile.am): Likewise.
113052         * modules/xstrtold (Makefile.am): Likewise.
113053         * modules/yesno (Makefile.am): Likewise.
113055 2006-10-12  Jim Meyering  <jim@meyering.net>
113057         * m4/getloadavg.m4: Revert the change below.
113059         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
113060         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
113061         fail with a symlink, which is what coreutils' ./bootstrap now
113062         creates by default.
113064 2006-10-12  Bruno Haible  <bruno@clisp.org>
113066         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
113067         mingw.
113068         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
113069         MSVC and mingw explicitly.
113071 2006-10-11  Simon Josefsson  <jas@extundo.com>
113072             Bruno Haible  <bruno@clisp.org>
113074         Add support for multiple gnulib-tool invocations in the scope of a
113075         single configure.ac file.
113076         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
113077         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
113078         with the same contents as the _LIBADD variable.
113079         (func_emit_initmacro_start, func_emit_initmacro_end,
113080         func_emit_initmacro_done): New functions.
113081         (func_import, func_create_testdir): Invoke them. Allow the identifiers
113082         gl_LIBOBJS and gl_LTLIBOBJS.
113084 2006-10-11  Bruno Haible  <bruno@clisp.org>
113086         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
113087         (func_create_testdir): Don't create po/Makefile.am, don't invoke
113088         autoreconf. Instead, invoke autopoint explicitly but move back the
113089         *.m4 files from gnulib.
113091 2006-10-11  Bruno Haible  <bruno@clisp.org>
113093         * gnulib-tool (func_usage): Make module names after --create-testdir
113094         optional.
113095         (func_create_testdir): If no module was specified, use nearly all
113096         modules.
113098 2006-10-12  Jim Meyering  <jim@meyering.net>
113100         Big performance improvement for fts-based tools that use FTS_NOSTAT.
113101         Avoid spurious inode-mismatch problems on non-POSIX file systems.
113102         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
113103         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
113104         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
113105         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
113106         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
113107         (fts_set_stat_required): New function.
113108         (fts_open): Defer the calls to fts_stat, if possible or requested.
113109         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
113110         into fts_stat itself.
113111         (fts_read): Perform any required (deferred) fts_stat call.
113112         (fts_build): Likewise, for the directory we're about to open and read.
113113         In the readdir loop, carefully decide whether each entry will require
113114         an eventual call to fts_stat, using dirent.d_type info if available.
113115         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
113116         a command line argument into this function.  Update all callers.
113117         Map a return value of FTS_DOT to FTS_D for a command line argument.
113118         * modules/fts (Depends-on): Add d-type.  Alphabetize.
113119         Thanks to Miklos Szeredi for his tenacity and for the initial
113120         bug report about "find" failing on a FUSE-based file system.
113122         * lib/fts.c (fts_open): Use consistent indentation.
113124 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
113126         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
113127         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
113128         reported by Jim Meyering.  All uses of cache variables renamed
113129         to match Autoconf's.
113130         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
113131         the other one.
113133         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
113134         Fix misspelling in diagnostic.
113136 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
113138         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
113139         defined.  Problem reported by Matthew Woehlke.
113141         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
113142         Add support for Tandem NonStop R series.
113143         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
113144         Use new macro.
113146         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
113147         (has_trailing_slash): Omit size arg; all callers changed.
113148         Omit 'inline', since it doesn't help performance and we'd
113149         need to configure it.
113150         Don't count //, ///, etc. as having a trailing slash.
113151         As a side effect, this removes a C99ism reported by Matthew Woehlke.
113152         (rpl_rename_dest_slash): On failure, use rename's errno rather
113153         than (in some cases) an incorrect or junk errno.
113154         Simplify code by removing need to compute length; this does
113155         cause it to make two passes instead of one over the file name,
113156         but it's worth it.
113158         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
113159         change, since Autoconf's version may no longer be appropriate now
113160         that we are using CVS Autoconf's version.  Add support for Tandem.
113162 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
113163             Bruno Haible  <bruno@clisp.org>
113165         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
113166         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
113167         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
113168         gl_AC_TYPE_LONG_LONG.
113170         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
113171         instead of HAVE_LONG_LONG.
113172         * lib/printf-args.c (printf_fetchargs): Likewise.
113173         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
113174         * lib/vasnprintf.c (VASNPRINTF): Likewise.
113175         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
113176         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
113177         gl_AC_TYPE_LONG_LONG.
113179 2006-10-11  Bruno Haible  <bruno@clisp.org>
113181         * m4/longlong.m4: Add comments.
113182         * m4/ulonglong.m4: Likewise.
113184 2006-10-10  Bruno Haible  <bruno@clisp.org>
113186         Make it possible to #define stpcpy, strdup to aliases.
113187         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
113188         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
113190 2006-10-10  Bruno Haible  <bruno@clisp.org>
113192         Make it possible to #define gcd to an alias.
113193         * lib/gcd.c: Include config.h.
113195 2006-10-10  Bruno Haible  <bruno@clisp.org>
113197         Make it possible to #define c_isascii to an alias.
113198         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
113199         defined. Undefine the macros before defining them, to avoid gcc
113200         warnings.
113201         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
113202         define NO_C_CTYPE_MACROS early.
113204 2006-10-10  Bruno Haible  <bruno@clisp.org>
113206         Make it possible to #define set_program_name to an alias.
113207         * lib/progname.c: Don't undefine set_program_name; instead, undefine
113208         ENABLE_RELOCATABLE early.
113210 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
113212         Port to Tandem NSK OSS, which has 64-bit signed int but at most
113213         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
113214         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
113215         More generally, don't assume that 64-bit signed int is available
113216         if unsigned int is, and vice versa.
113217         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
113218         unsigned symbols, not on their signed counterparts.
113219         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
113220         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
113221         (UINT64_C, UINTMAX_C):
113222         Likewise.
113223         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
113224         unsigned counterparts.
113225         (Have_long_long, Unsigned): New macros.
113226         (Int): Renamed from INT.
113227         (strtoimax): Use the new macros.
113228         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
113229         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
113230         * modules/inttypes (inttypes.h): Substitute
113231         HAVE_UNSIGNED_LONG_LONG_INT.
113232         * modules/stdint (stdint.h): Likewise.
113233         (Files): Add m4/ulonglong.m4.
113235 2006-10-10  Bruno Haible  <bruno@clisp.org>
113237         Fix a gcc -Wshadow warning.
113238         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
113239         to 'bucket'.
113240         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
113241         gl_linked_indexof_from_to): Likewise.
113242         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
113243         Likewise.
113244         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
113245         Likewise.
113246         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
113247         Reported by Eric Blake.
113249 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
113251         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
113252         for NetBSD.  Problem reported by Bruno Haible.
113254 2006-10-09  Jim Meyering  <jim@meyering.net>
113256         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
113257         Patch from Bruno Haible.
113259 2006-10-09  Jim Meyering  <jim@meyering.net>
113261         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
113262         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
113263         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
113265 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
113267         Don't include <config.h> twice; this doesn't work in some cases,
113268         e.g., when config.h has "#define intmax_t long long int" and
113269         we include <config.h>, <inttypes.h>, <config.h> in that order.
113270         Problem reported by Matthew Woehlke in:
113271         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
113272         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
113273         * lib/fts-cycle.c: Don't include config.h.
113274         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
113275         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
113276         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
113277         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
113278         inttypes.h.
113279         * lib/xstrtoumax.c: Likewise.
113280         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
113281         __strtol and the like, so that this module is more like its siblings.
113282         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
113283         Remove; no longer needed now that we assume gnulib inttypes.h.
113285 2006-10-08  Bruno Haible  <bruno@clisp.org>
113287         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
113288         option.
113290 2006-10-07  Jim Meyering  <jim@meyering.net>
113292         * modules/inttypes (inttypes.h): Revert what seems to have been
113293         an inadvertent part of today's change: use "|", not "/" in the
113294         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
113296 2006-10-07  Bruno Haible  <bruno@clisp.org>
113298         * modules/sublist: New file.
113300 2006-10-07  Bruno Haible  <bruno@clisp.org>
113302         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
113303         * modules/argz (argz.h): Likewise.
113304         * modules/arpa_inet (arpa/inet.h): Likewise.
113305         * modules/byteswap (byteswap.h): Likewise.
113306         * modules/configmake (configmake.h): Likewise.
113307         * modules/fcntl (fcntl.h): Likewise.
113308         * modules/fnmatch (fnmatch.h): Likewise.
113309         * modules/getopt (getopt.h): Likewise.
113310         * modules/glob (glob.h): Likewise.
113311         * modules/inttypes (inttypes.h): Likewise.
113312         * modules/netinet_in (netinet/in.h): Likewise.
113313         * modules/poll (poll.h): Likewise.
113314         * modules/stdbool (stdbool.h): Likewise.
113315         * modules/stdint (stdint.h): Likewise.
113316         * modules/sys_select (sys/select.h): Likewise.
113317         * modules/sys_socket (sys/socket.h): Likewise.
113318         * modules/sys_stat (sys/stat.h): Likewise.
113319         * modules/sysexits (sysexits.h): Likewise.
113320         * modules/unistd (unistd.h): Likewise.
113321         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
113322         Add a "DO NOT EDIT" comment to the generated file.
113323         (func_import): Likewise for gnulib-comp.m4.
113325 2006-10-07  Bruno Haible  <bruno@clisp.org>
113327         * lib/gl_sublist.h: New file.
113328         * lib/gl_sublist.c: New file.
113330 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
113332         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
113333         name (relative to the original working directory) and the file
113334         name component (relative to the temporary working directory).  All
113335         callers changed.
113336         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
113337         * lib/mkdir-p.c (make_dir_parents): Likewise.
113338         * lib/mkdir-p.h (make_dir_parents): Likewise.
113340 2006-10-06  Eric Blake  <ebb9@byu.net>
113342         Define several macros for use by the clean-temp module.
113343         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
113344         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
113345         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
113347         * lib/clean-temp.h (close_stream_temp): New declaration.
113348         * lib/clean-temp.c (includes): Pull in headers according to what
113349         other modules are in use.
113350         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
113352 2006-10-06  Bruno Haible  <bruno@clisp.org>
113354         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
113355         instead of fopen, fwriteerror.
113357 2006-10-06  Bruno Haible  <bruno@clisp.org>
113359         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
113360         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
113361         int.
113362         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
113363         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
113364         Return an error indicator.
113365         Suggested by Eric Blake.
113367 2006-10-06  Bruno Haible  <bruno@clisp.org>
113369         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
113370         Reported by Eric Blake.
113372 2006-10-06  Bruno Haible  <bruno@clisp.org>
113374         * modules/closeout (Description): Mention stderr too.
113376 2006-10-06  Bruno Haible  <bruno@clisp.org>
113377         and Paul Eggert  <eggert@cs.ucla.edu>
113379         * lib/closeout.c (close_stdout): Also close stderr.
113380         * lib/closeout.h: Update comment.
113382 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
113384         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
113385         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
113386         * lib/dirchownmod.c: Include lchown.h.
113387         * lib/lchown.c: Don't include files that lchown.h now includes.
113388         Don't declare chown, since lchown.h now does that.
113389         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
113390         (lchown): Define to rpl_chown if lchown is declared but
113391         does not exist.  Declare using a prototype if lchown is not
113392         declared.  Add a copyright notice.
113393         * lib/mkstemp.h: Include <unistd.h>.
113394         * lib/openat.c: Include lchown.h.
113396         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
113397         we now test for that separately.
113398         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
113399         rather than O_NOFOLLOW, when testing whether it's possible to
113400         avoid a race condition reliably.
113401         * lib/savewd.c (savewd_chdir): Likewise.
113403         Remove macros that are no longer needed now that stdint.h is
113404         reliable.
113405         * lib/fsusage.c (UINTMAX_MAX): Remove.
113406         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
113407         * lib/utimecmp.c (SIZE_MAX): Remove.
113409         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
113411         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
113412         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
113413         O_NOATIME works.
113415 2006-10-05  Bruno Haible  <bruno@clisp.org>
113417         * lib/gl_list.h (gl_sortedlist_search_from_to,
113418         gl_sortedlist_indexof_from_to): New declarations.
113419         (gl_list_implementation): New fields sortedlist_search_from_to,
113420         sortedlist_indexof_from_to.
113421         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
113422         inline functions.
113423         * lib/gl_list.c (gl_sortedlist_search_from_to,
113424         gl_sortedlist_indexof_from_to): New functions.
113425         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
113426         function.
113427         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
113428         (gl_array_sortedlist_search_from_to): New function.
113429         (gl_array_list_implementation): Update.
113430         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
113431         function.
113432         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
113433         (gl_carray_sortedlist_search_from_to): New function.
113434         (gl_carray_list_implementation): Update.
113435         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
113436         gl_linked_sortedlist_indexof_from_to): New functions.
113437         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
113438         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
113439         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
113440         gl_tree_sortedlist_indexof_from_to): New functions.
113441         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
113442         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
113443         Update.
113444         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
113445         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
113446         Update.
113448 2006-10-05  Bruno Haible  <bruno@clisp.org>
113450         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
113451         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
113452         (struct gl_list_implementation): Add fields search_from_to,
113453         indexof_from_to. Remove fields search, indexof.
113454         (gl_list_search): Use the search_from_to method.
113455         (gl_list_search_from, gl_list_search_from_to): New functions.
113456         (gl_list_indexof): Use the indexof_from_to method.
113457         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
113458         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
113459         (gl_list_search_from, gl_list_search_from_to): New functions.
113460         (gl_list_indexof): Use the indexof_from_to method.
113461         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
113462         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
113463         gl_array_indexof. Add start_index, end_index arguments.
113464         (gl_array_search_from_to): Renamed from gl_array_search. Add
113465         start_index, end_index arguments.
113466         (gl_array_remove, gl_array_list_implementation): Update.
113467         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
113468         gl_carray_indexof. Add start_index, end_index arguments.
113469         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
113470         start_index, end_index arguments.
113471         (gl_carray_remove, gl_carray_list_implementation): Update.
113472         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
113473         gl_linked_search. Add start_index, end_index arguments.
113474         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
113475         start_index, end_index arguments.
113476         (gl_linked_remove): Update.
113477         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
113478         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
113479         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
113480         field to 'size_t'.
113481         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
113482         gl_tree_search. Add start_index, end_index arguments.
113483         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
113484         start_index, end_index arguments.
113485         (gl_tree_remove): Update.
113486         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
113487         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
113488         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
113489         function.
113490         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
113491         gl_tree_search. Add start_index, end_index arguments.
113492         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
113493         start_index, end_index arguments.
113494         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
113495         Update.
113496         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
113498 2006-10-05  Bruno Haible  <bruno@clisp.org>
113500         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
113502         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
113503         fwriteerror_temp): New declarations.
113504         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
113505         (descriptors): New variable.
113506         (cleanup): First, close the descriptors.
113507         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
113508         fclose_temp, fwriteerror_temp): New functions.
113510 2006-10-04  Jim Meyering  <jim@meyering.net>
113512         * lib/fts.c (fts_open): Tiny comment change.
113514 2006-10-04  Bruno Haible  <bruno@clisp.org>
113516         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
113517         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
113518         gl_LOCK_BODY.
113519         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
113520         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
113521         gl_LOCK_EARLY_BODY.
113522         (gl_LOCK): Require gl_LOCK_BODY.
113524 2006-10-04  Bruno Haible  <bruno@clisp.org>
113526         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
113527         (gl_oset_search_atleast): New declaration.
113528         (struct gl_oset_implementation): Add field 'search_atleast'.
113529         (gl_oset_search_atleast): New inline function.
113530         * lib/gl_oset.c (gl_oset_search_atleast): New function.
113531         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
113532         (gl_array_oset_implementation): Update.
113533         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
113534         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
113535         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
113537 2006-10-04  Bruno Haible  <bruno@clisp.org>
113539         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
113541 2006-10-03  Bruno Haible  <bruno@clisp.org>
113543         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
113544         from gl_avltreehash_list_implementation.
113546 2006-10-03  Bruno Haible  <bruno@clisp.org>
113548         * lib/gl_oset.c (gl_oset_add): Fix return type.
113550 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
113552         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
113554 2006-10-02  Eric Blake  <ebb9@byu.net>
113556         * modules/strnlen (Depends-on): Add extensions.
113558 2006-10-02  Eric Blake  <ebb9@byu.net>
113560         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
113561         definition in 2.60+.
113563 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
113565         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
113566         checks.
113568 2006-10-02  Bruno Haible  <bruno@clisp.org>
113570         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
113571         to the AUTOMAKE_OPTIONS.
113572         Reported by Jim Meyering.
113574 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
113576         Work around bug in Solaris 10 /proc file system:
113577         /proc/self/fd/NNN/.. isn't the parent directory of
113578         the directory whose file descriptor is NNN.  This needs to
113579         be worked around at run time, not compile time, since a
113580         program might be built on Solaris 8, where things work, and
113581         run on Solaris 10.
113582         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
113583         to use the following interface instead:
113584         (OPENAT_BUFFER_SIZE): New macro.
113585         (openat_proc_name): New function.
113586         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
113587         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
113588         Likewise.
113589         * lib/openat-proc.c: New file.
113590         * modules/openat (Files): Add lib/openat-proc.c.
113591         (Depends-on): Add same-inode, stdbool.
113592         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
113594 2006-09-29  Bruno Haible  <bruno@clisp.org>
113596         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
113597         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
113598         argument. Set stdout_closed before testing for ferror, not after.
113599         (fwriteerror, fwriteerror_no_ebadf): New functions.
113601 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113603         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
113605 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
113607         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
113608         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
113610 2006-09-28  Jim Meyering  <jim@meyering.net>
113612         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
113613         Include <unistd.h>.
113615 2006-09-28  Bruno Haible  <bruno@clisp.org>
113617         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
113618         * modules/linkedhash-list (Depends-on): Likewise.
113619         * modules/rbtreehash-list (Depends-on): Likewise.
113621 2006-09-28  Bruno Haible  <bruno@clisp.org>
113623         * lib/strndup.h: Simplify the redefinition of strndup.
113624         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
113625         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
113627 2006-09-28  Bruno Haible  <bruno@clisp.org>
113629         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
113630         * lib/gl_linkedhash_list.c: Likewise.
113631         * lib/gl_rbtreehash_list.c: Likewise.
113633 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
113635         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
113636         getaddrinfo.
113638         * lib/__fpending.h: Don't include <stdio_ext.h> unless
113639         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
113640         it causes <stdio_ext.h> to cause a compile-time error.
113641         Problem reported by Nelson H. F. Beebe.
113642         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
113643         of HAVE_DECL___PENDING.
113645         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
113646         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
113647         declaration.
113649 2006-09-27  Jim Meyering  <jim@meyering.net>
113651         This file could end up with a definition for a function
113652         named __strndup, rather than rpl_strndup on a system with
113653         incomplete weak_alias support.
113654         * lib/strndup.c (strndup): Rename from __strndup.
113655         Remove #defines that used to map __strndup to strndup.
113656         Don't use K&R prototypes.
113657         Remove LIBC-related code, since this file is not sync'd with glibc.
113658         * lib/strndup.h: Revamp, accordingly.
113659         * m4/strndup.m4: Modernize.
113661 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
113663         * modules/savewd (Depends-on): Add 'raise'.
113664         * lib/savewd.c: Include <signal.h>, for 'raise'.
113666 2006-09-26  Jim Meyering  <jim@meyering.net>
113668         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
113669         when we detect Darwin 8.7.0's acl_get_file bug.
113670         Rearrange to perform the new (below) run-test while $LIBS
113671         contains any acl-related library.  Set USE_ACL at the end.
113672         (gl_ACL_GET_FILE): New function.
113674 2006-09-26  Eric Blake  <ebb9@byu.net>
113676         * lib/verror.c: Include <config.h> unconditionally.
113678 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
113680         * modules/clock-time (Maintainer): Add self.
113681         * modules/getlogin_r (Depends-on): Add extensions.
113683 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113685         * modules/clock-time: New module.
113686         * modules/nanosleep (Depends-on): Add clock-time.
113687         * modules/gethrxtime (Depends-on): Likewise.
113688         * modules/gettime (Depends-on): Likewise.
113689         * modules/settime (Depends-on): Likewise.
113691         * modules/fts-lgpl: Depend on openat.
113692         * modules/mkancesdirs: Depend on savewd.
113693         * modules/mkdir-p: Likewise.
113695 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113697         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
113699         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
113700         `gl_have_arbitrary_file_name_length_limit' to
113701         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
113702         actually works between configure runs.
113704 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113705             Bruno Haible  <bruno@clisp.org>
113707         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
113709 2006-09-25  Jim Meyering  <jim@meyering.net>
113711         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
113712         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
113714 2006-09-25  Eric Blake  <ebb9@byu.net>
113716         * gnulib-tool (func_import, func_create_testdir): Fix typos in
113717         exec's in 2006-09-18 patch when shuffling fds.
113719 2006-09-25  Bruno Haible  <bruno@clisp.org>
113721         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
113722         Reported by Jim Meyering.
113724 2006-09-24  Jim Meyering  <jim@meyering.net>
113726         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
113727         compare a pointer against a literal "0".  That caused failures with
113728         at least HP-UX's hpcc.
113730 2006-09-22  Simon Josefsson  <jas@extundo.com>
113732         * modules/gc-sha1:
113733         * modules/gc-md4:
113734         * modules/gc-hmac-sha1:
113735         * modules/gc-hmac-md5:
113736         * modules/gc-des:
113737         * modules/gc-arcfour: Distribute more files.
113739 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113741         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
113742         (gl_linked_iterator_from_to): Initialize struct completely.
113743         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
113744         (gl_tree_iterator_from_to): Likewise
113745         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
113746         * lib/gl_array_list.c [lint] (gl_array_iterator)
113747         (gl_array_iterator_from_to): Likewise.
113748         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
113749         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
113750         (gl_carray_iterator_from_to): Likewise.
113752         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
113753         * lib/md4.c (md4_process_block): Remove unused variable.
113754         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
113755         parentheses for clarity.
113757 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113759         * modules/bison-i18n (Depends-on): Add gettext.
113761 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113763         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
113764         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
113765         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
113766         also add missing comma that caused broken test.
113767         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
113768         stdlib.h, for `abort'.
113769         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
113770         variables.
113771         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
113772         include unistd.h if present, for `rmdir'.
113773         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
113774         variables.
113775         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
113776         in the process include standard headers for prototypes.
113777         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
113778         gets declared on GNU/Linux.
113779         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
113780         unistd.h, for `rmdir'.
113781         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
113783         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
113784         always true.
113785         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
113787         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
113789 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113791         * gnulib-tool (func_version): Create output all at once.  This
113792         may help avoid triggering unnecessary SIGPIPEs, and at any
113793         rate it doesn't hurt.
113795 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113796             Bruno Haible  <bruno@clisp.org>
113798         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
113799         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
113800         * m4/signed.m4 (bh_C_SIGNED): Likewise.
113802         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
113803         (gl_FUNC_VASPRINTF): Invoke it.
113805 2006-09-22  Bruno Haible  <bruno@clisp.org>
113807         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
113808         getloadavg.c as first argument.
113810 2006-09-22  Bruno Haible  <bruno@clisp.org>
113812         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
113813         at the beginning of the gl_INIT macro.
113814         * modules/getloadavg (configure.ac): Pass $gl_source_base to
113815         gl_GETLOADAVG.
113817 2006-09-22  Bruno Haible  <bruno@clisp.org>
113819         * gnulib-tool (func_create_megatestdir): Don't include the config-h
113820         module.
113821         Suggested by Ralf Wildenhues.
113823 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
113825         Import this patch from libc:
113827         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
113829         * lib/regex_internal.c (re_string_reconstruct): Handle
113830         offset < pstr->valid_raw_len && pstr->offsets_needed case.
113831         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
113832         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
113833         re_string_context_at.
113835         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
113836         now requires it.
113837         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
113838         gl_REGEX now does it for us.
113839         (gl_REGEX): Add test taken from
113840         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
113842         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
113843         Check that large offsets work.  Modernize Autoconf usages.
113844         Prefer "yes" to mean a good thing rather than a bad.
113845         Don't put "#define mkstemp" in config.h, as this might interfere
113846         with standard system headers that "#define mkstemp mkstemp64".
113848         * modules/mkstemp (Depends-on): Add extensions, so that
113849         mkstemp is visible on some platforms.
113850         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
113851         (Include): Change to "mkstemp.h" from <stdlib.h>.
113852         (Files): Add mkstemp.h.
113854         * lib/mkstemp.h: New file, since some standard headers
113855         #define mkstemp.
113856         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
113857         Include "mkstemp.h".
113858         Make the _LIBC code resemble glibc original more,
113859         e.g., use K&R style.
113860         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
113861         (mkstemp): Remove, since mkstemp.h does this for us.
113862         * lib/stdlib--.h: Include mkstemp.h.
113864         Import this patch from libc:
113866         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
113868         * lib/tempname.c (__gen_tempname): Change attempts_min
113869         into a macro.  Use preprocessor to decide how to initialize
113870         attempts [Coverity CID 67].
113872 2006-09-20  Bruno Haible  <bruno@clisp.org>
113874         * lib/mkdtemp.c: Import from libc.
113875         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
113876                 * sysdeps/posix/tempname.c (__gen_tempname): Change
113877                 attempts_min into a macro.  Use preprocessor to decide how to
113878                 initialize attempts [Coverity CID 67].
113879         2001-11-27  Paul Eggert  <eggert@twinsun.com>
113880                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
113881                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
113883 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113885         * gnulib-tool (func_exit): New function, to allow to pass the
113886         exit status portably through the trap.  Use everywhere.
113887         (--help, --version): Signal a write error.
113888         (trap): catch SIGPIPE, for write errors.
113889         Exit at the end of the trap, with the correct exit status.
113891 2006-09-19  Karl Berry  <karl@gnu.org>
113893         * doc/gnulib.texi: note about the license texinfo files.
113895 2006-09-19  Eric Blake  <ebb9@byu.net>
113897         * gnulib-tool: Avoid space-tab.
113899 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
113901         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
113902         that prevented coreutils 6.1 from building.  Problem reported
113903         by Petter Reinholdtsen.
113905 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
113907         * gnulib-tool (avoidlist): Fix typo that broke options like
113908         --avoid=lock that are used by coreutils bootstrap.
113910 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
113912         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
113913         more systematically.
113915 2006-09-18  Jim Meyering  <jim@meyering.net>
113917         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
113919 2006-09-18  Bruno Haible  <bruno@clisp.org>
113921         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
113923 2006-09-18  Bruno Haible  <bruno@clisp.org>
113925         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
113926         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
113927         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
113928         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
113929         * m4/gettext.m4: Require autoconf >= 2.52.
113930         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
113931         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
113932         of gl_cv_header_inttypes_h.
113934 2006-09-18  Bruno Haible  <bruno@clisp.org>
113936         * lib/javaversion.c: Include configmake.h.
113938 2006-09-18  Bruno Haible  <bruno@clisp.org>
113940         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
113941         avoid that the while loops be executed in a subshell.
113943 2006-09-18  Bruno Haible  <bruno@clisp.org>
113945         * MODULES.html.sh (func_module): Break long lines.
113946         Suggested by Bruce Korb <bkorb@gnu.org>.
113948 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113950         Speed up by a factor of 1.12.
113951         * gnulib-tool (nl): New variable.
113952         (func_import): Rewrite include directive extraction to only read each
113953         directive once.
113955 2006-09-17  Bruno Haible  <bruno@clisp.org>
113957         * modules/javaversion (Makefile.am): Remove DEFS setting.
113958         (Depends-on): Add configmake, for PKGDATADIR definition.
113960 2006-09-17  Bruno Haible  <bruno@clisp.org>
113962         * gnulib-tool (func_create_testdir): Rewrite all files at once.
113964 2006-09-17  Bruno Haible  <bruno@clisp.org>
113966         * gnulib-tool (func_append): New function, stolen from libtool.m4.
113967         (func_modules_transitive_closure, func_modules_add_dummy,
113968         func_modules_to_filelist, func_import, func_create_testdir,
113969         func_create_megatestdir, ...): Use it wherever possible.
113970         Suggested by Ralf Wildenhues.
113972 2006-09-16  Karl Berry  <karl@gnu.org>
113974         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
113975         to avoid sectioning errors.
113976         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
113977         [ifinfo]: blank line after @center-ed titles.
113978         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
113979         Spell FSF address consistently with others.
113980         (These changes approved by rms.)
113982 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113984         Speed up by a factor of 1.61.
113985         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
113986         already checked module names again.
113988 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113990         Speed up by a factor of 1.13.
113991         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
113992         for new_files, and the input to func_add_or_update.
113994 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113996         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
113997         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
113999 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
114001         * modules/mkancesdirs (Depends-on): Add fcntl.
114002         * modules/savewd: New file.
114003         * MODULES.html.sh (File system functions): Add savewd.
114005         * modules/configmake (Makefile.am): Add support for the
114006         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
114008 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
114010         * m4/savewd.m4: New file.
114012 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
114014         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
114015         (dirchownmod): New arg FD.  All callers changed.
114016         Use FD rather than opening the directory ourself, as opening is
114017         now the caller's responsibility.
114018         * lib/dirchownmod.h: Likewise.
114019         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
114020         hosts that require <sys/types.h> before <sys/stat.h>.  Include
114021         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
114022         (test_dir): Remove.
114023         (mkancesdirs): Return length of prefix of FILE that has already
114024         been made, or -2 if there is a child doing the work.  Redo
114025         algorithm so that it is O(N) rather than O(N**2).  Optimize away
114026         ".", and treat ".." specially since it might stray back into
114027         already-created areas.  Use a subprocess if necessary.  New arg
114028         WD; all users changed.  MAKE_DIR function should now return 1
114029         if it creates a directory that is not readable.  Return -2 if
114030         a child process is spun off.
114031         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
114032         Adjust signature to match code.
114033         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
114034         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
114035         all users changed.
114036         * lib/savewd.c, lib/savewd.h: New files.
114038 2006-09-15  Jim Meyering  <jim@meyering.net>
114040         * modules/rename-dest-slash: New module.
114041         * MODULES.html.sh (posix_compat): Add it here.
114043         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
114045 2006-09-15  Jim Meyering  <jim@meyering.net>
114047         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
114048         file.
114050         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
114052 2006-09-15  Jim Meyering  <jim@meyering.net>
114054         * lib/rename-dest-slash.c (has_trailing_slash): Use
114055         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
114056         (rpl_rename_dest_slash): Perform the cheaper trailing slash
114057         test before testing whether SRC is a directory.
114058         Suggestions from Bruno Haible.
114060         Avoid a warning about an unused variable.
114061         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
114062         into the #ifdef block where it's used.
114064         * lib/rename-dest-slash.c: New file.
114066 2006-09-14  Bruno Haible  <bruno@clisp.org>
114068         * lib/allocsa.c: Include <config.h> unconditionally.
114069         * lib/asnprintf.c: Likewise.
114070         * lib/asprintf.c: Likewise.
114071         * lib/c-strcasecmp.c: Likewise.
114072         * lib/c-strcasestr.c: Likewise.
114073         * lib/c-strncasecmp.c: Likewise.
114074         * lib/c-strstr.c: Likewise.
114075         * lib/classpath.c: Likewise.
114076         * lib/clean-temp.c: Likewise.
114077         * lib/concatpath.c: Likewise.
114078         * lib/copy-file.c: Likewise.
114079         * lib/csharpcomp.c: Likewise.
114080         * lib/csharpexec.c: Likewise.
114081         * lib/execute.c: Likewise.
114082         * lib/fatal-signal.c: Likewise.
114083         * lib/findprog.c: Likewise.
114084         * lib/fwriteerror.c: Likewise.
114085         * lib/gl_array_list.c: Likewise.
114086         * lib/gl_array_oset.c: Likewise.
114087         * lib/gl_avltree_list.c: Likewise.
114088         * lib/gl_avltree_oset.c: Likewise.
114089         * lib/gl_avltreehash_list.c: Likewise.
114090         * lib/gl_carray_list.c: Likewise.
114091         * lib/gl_linked_list.c: Likewise.
114092         * lib/gl_linkedhash_list.c: Likewise.
114093         * lib/gl_list.c: Likewise.
114094         * lib/gl_oset.c: Likewise.
114095         * lib/gl_rbtree_list.c: Likewise.
114096         * lib/gl_rbtree_oset.c: Likewise.
114097         * lib/gl_rbtreehash_list.c: Likewise.
114098         * lib/imaxabs.c: Likewise.
114099         * lib/imaxdiv.c: Likewise.
114100         * lib/javacomp.c: Likewise.
114101         * lib/javaexec.c: Likewise.
114102         * lib/javaversion.c: Likewise.
114103         * lib/linebreak.c: Likewise.
114104         * lib/localcharset.c: Likewise.
114105         * lib/lock.c: Likewise.
114106         * lib/mbchar.c: Likewise.
114107         * lib/mbswidth.c: Likewise.
114108         * lib/mkdtemp.c: Likewise.
114109         * lib/pipe.c: Likewise.
114110         * lib/printf-args.c: Likewise.
114111         * lib/printf-parse.c: Likewise.
114112         * lib/progname.c: Likewise.
114113         * lib/progreloc.c: Likewise.
114114         * lib/readlink.c: Likewise.
114115         * lib/sh-quote.c: Likewise.
114116         * lib/stpcpy.c: Likewise.
114117         * lib/stpncpy.c: Likewise.
114118         * lib/strcasecmp.c: Likewise.
114119         * lib/strcasestr.c: Likewise.
114120         * lib/strcspn.c: Likewise.
114121         * lib/striconv.c: Likewise.
114122         * lib/strncasecmp.c: Likewise.
114123         * lib/strnlen1.c: Likewise.
114124         * lib/strstr.c: Likewise.
114125         * lib/strtok_r.c: Likewise.
114126         * lib/tls.c: Likewise.
114127         * lib/tmpdir.c: Likewise.
114128         * lib/unicodeio.c: Likewise.
114129         * lib/unsetenv.c: Likewise.
114130         * lib/vasnprintf.c: Likewise.
114131         * lib/vasprintf.c: Likewise.
114132         * lib/wait-process.c: Likewise.
114133         * lib/xallocsa.c: Likewise.
114134         * lib/xsetenv.c: Likewise.
114135         * lib/xstriconv.c: Likewise.
114137 2006-09-13  Simon Josefsson  <jas@extundo.com>
114139         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
114140         that internally, suggested by Ralf Wildenhues
114141         <Ralf.Wildenhues@gmx.de>.
114143 2006-09-13  Simon Josefsson  <jas@extundo.com>
114145         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
114146         @LIBOBJS@.
114147         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
114149 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
114151         * lib/_fpending.c: Include <config.h> unconditionally, since we no
114152         longer worry about uses that don't define HAVE_CONFIG_H.
114153         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
114154         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
114155         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
114156         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
114157         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
114158         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
114159         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
114160         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
114161         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
114162         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
114163         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
114164         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
114165         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
114166         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
114167         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
114168         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
114169         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
114170         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
114171         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
114172         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
114173         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
114174         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
114175         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
114176         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
114177         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
114178         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
114179         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
114180         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
114181         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
114182         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
114183         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
114184         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
114185         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
114186         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
114187         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
114188         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
114189         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
114190         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
114191         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
114192         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
114193         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
114194         Likewise.
114196 2006-09-13  Eric Blake  <ebb9@byu.net>
114198         * lib/getopt.c: Fix typo in last commit.
114200 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
114202         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
114203         dgettext.
114205 2006-09-12  Jim Meyering  <jim@meyering.net>
114207         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
114208         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
114209         Reported by Nelson H. F. Beebe.
114211 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
114213         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
114214         program_invocation_name and program_invocation_short_name are
114215         initialized.
114216         * lib/argp-namefrob.h: Move declarations of program_invocation_name
114217         and program_invocation_short_name to argp.h, so they are visible
114218         to user programs.
114219         * lib/argp.h: Likewise
114221 2006-09-10  Bruno Haible  <bruno@clisp.org>
114223         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
114224         m4/inttypes_h.m4, m4/uintmax_t.m4.
114226 2006-09-10  Bruno Haible  <bruno@clisp.org>
114228         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
114229         gl_AC_TYPE_UINTMAX_T.
114231 2006-09-10  Bruno Haible  <bruno@clisp.org>
114233         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
114235 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
114237         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
114238         convention.  Text proposed by Bruno Haible.
114239         (struct argp_option): Document the use of N_() wrappers.
114241         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
114242         '\v', and translate the two parts separately, instead of feeding
114243         the whole string to gettext.  This allows to exclude
114244         '\v' from the strings visible to the translator by writing doc
114245         strings as N_("..") "\v" N_("..").
114247 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
114249         * config/srclist.txt: Undo latest change; the bug was fixed.
114251 2006-09-09  Bruno Haible  <bruno@clisp.org>
114253         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
114254         assignments if building a library without libtool.
114255         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
114256         in func_emit_lib_Makefile_am.
114257         (func_import): When building a static library libfoo.a, arrange to
114258         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
114259         (func_create_testdir): Likewise.
114260         * modules/gc (configure.ac, Makefile.am): If building statically,
114261         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
114262         * modules/iconvme (configure.ac, Makefile.am): Likewise.
114263         * modules/striconv (configure.ac, Makefile.am): Likewise.
114264         Based on a suggestion by Ralf Wildenhues.
114266 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114268         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
114269         Check for unistd.h too, since Autoconf doesn't assume POSIX.
114270         Also:
114272         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114273         Add year_2050_test to catch glibc bug 2821
114274         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
114276         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114277         Prefer #ifdef to #if.
114279         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
114280         Return from 'main' instead of calling 'exit'.
114282 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114284         * lib/mktime.c (guess_time_tm): Fix bug where mktime
114285         returned the maximum time_t value rather than (time_t) -1.
114286         Problem originally reported by William Bardwell
114287         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
114289         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
114290         Moved to here ...
114291         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
114292         ... from here.
114294 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
114296         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
114297         2821 is fixed.
114299 2006-09-08  Jim Meyering  <jim@meyering.net>
114301         Don't make generated files read-only.  That would bother too many
114302         people.  However, do retain the ability to work when targets are
114303         read-only: remove the destination and temporary files before writing
114304         them (when generated via sed or echo), or by using the -f option for
114305         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
114306         * modules/alloca-opt, modules/argz, modules/arpa_inet:
114307         * modules/byteswap, modules/configmake, modules/fcntl:
114308         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
114309         * modules/localcharset, modules/netinet_in, modules/poll:
114310         * modules/stdbool, modules/stdint, modules/sys_select:
114311         * modules/sys_socket, modules/sys_stat, modules/sysexits:
114313 2006-09-08  Jim Meyering  <jim@meyering.net>
114315         Avoid new build failure on FreeBSD 6.0.
114316         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
114317         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
114318         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
114320 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114322         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
114324 2006-09-07  Jim Meyering  <jim@meyering.net>
114326         Fix global typo in last change: use chmod u-w, not chmod u-x.
114327         Spotted by Paul Eggert and Bruce Korb.
114328         * modules/alloca-opt, modules/argz, modules/arpa_inet:
114329         * modules/byteswap, modules/configmake, modules/fcntl:
114330         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
114331         * modules/localcharset, modules/netinet_in, modules/poll:
114332         * modules/stdbool, modules/stdint, modules/sys_select:
114333         * modules/sys_socket, modules/sys_stat, modules/sysexits:
114335 2006-09-06  Jim Meyering  <jim@meyering.net>
114337         Make generated files be read-only.
114338         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
114339         Ensure that each generated file is now read-only.
114340         * modules/argz: Likewise.
114341         * modules/arpa_inet: Likewise.
114342         * modules/byteswap: Likewise.
114343         * modules/configmake: Likewise.
114344         * modules/fcntl: Likewise.
114345         * modules/fnmatch: Likewise.
114346         * modules/getopt: Likewise.
114347         * modules/glob: Likewise.
114348         * modules/inttypes: Likewise.
114349         * modules/netinet_in: Likewise.
114350         * modules/poll: Likewise.
114351         * modules/stdbool: Likewise.
114352         * modules/stdint: Likewise.
114353         * modules/sys_select: Likewise.
114354         * modules/sys_socket: Likewise.
114355         * modules/sys_stat: Likewise.
114356         * modules/sysexits: Likewise.
114357         * modules/localcharset: Same as above, but continue using temporary
114358         file named "t-$@" (why different?) rather than the "$@-t" used
114359         everywhere else.
114361         * modules/sysexits (Makefile.am): Replace literal occurrences
114362         of "sysexit.h" more readable, and more consistent, "$@".
114364 2006-09-06  Bruno Haible  <bruno@clisp.org>
114366         * modules/striconv: New file.
114367         * modules/xstriconv: New file.
114368         * MODULES.html.sh (Internationalization functions): Add striconv,
114369         xstriconv.
114371 2006-09-06  Bruno Haible  <bruno@clisp.org>
114373         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
114374         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
114375         not using libtool correctly.
114377 2006-09-06  Bruno Haible  <bruno@clisp.org>
114379         * lib/striconv.h: New file.
114380         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
114381         iconvstring.c.
114382         * lib/xstriconv.h: New file.
114383         * lib/xstriconv.c: New file.
114385 2006-09-06  Bruno Haible  <bruno@clisp.org>
114387         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
114388         lib_..._LDFLAGS.
114390 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114392         * lib/argz_.h: Sync from Libtool.
114394         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
114395                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
114397         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
114399 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
114401         * modules/trim: New file.
114403 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
114405         * lib/trim.h: New file.
114406         * lib/trim.c: New file.
114408 2006-09-05  Bruno Haible  <bruno@clisp.org>
114410         * MODULES.html.sh (String handling): Add trim.
114412 2006-09-04  Karl Berry  <karl@gnu.org>
114414         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
114415         until next release.
114417 2006-09-03  Bruno Haible  <bruno@clisp.org>
114419         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
114420         correctly.
114422 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
114424         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
114425         not gl_GETLOADAVG.  Omit unneeded semicolons.
114426         Problems reported by Ralf Wildenhues in
114427         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
114428         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
114429         at the end, which is the usual gnulib style.
114431         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
114432         of doing all the work ourselves.
114433         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
114434         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
114436 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
114438         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
114439         Problem reported by Ralf Wildenhues in
114440         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
114442         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
114443         HAVE_STRUCT_STATFS_F_FSTYPENAME.
114445 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
114447         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
114448         yesterday's patch by changing test -n to test -z.
114450 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114452         * modules/getloadavg (Files): Add m4/getloadavg.m4.
114453         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
114454         the former is now obsolescent.
114456         * modules/chdir-long (Depends-on): Add fcntl.
114458 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114460         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
114461         obsolescent, and programs should use gnulib instead.
114462         * m4/getloadavg.m4: New file, with contents taken from Autoconf
114463         but with prefixes changed.
114465 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114467         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
114468         or stdbool.h, because they might not exist while configuring.
114470         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
114471         Don't include unistd.h or limits.h; not needed, since chdir-long.h
114472         does that for us.
114473         (O_DIRECTORY): Remove.
114475 2006-08-31  Eric Blake  <ebb9@byu.net>
114477         * gnulib-tool: Don't let emacs change spaces to TAB.
114479 2006-08-31  Bruno Haible  <bruno@clisp.org>
114481         * gnulib-tool: When calling func_import more than once, do it in a
114482         subshell.
114483         Reported by Eric Blake <ebb9@byu.net>.
114485 2006-08-31  Bruno Haible  <bruno@clisp.org>
114487         * gnulib-tool (nl): Remove variable.
114488         (sed_transform_lib_file): Use more robust test for config-h module.
114489         (func_import): Fix typo in 2006-08-25 patch.
114491 2006-08-31  Bruno Haible  <bruno@clisp.org>
114493         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
114494         specified, augment Makefile.am variables instead of assigning them.
114496 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114498         Work around a bug in both the Linux and SunOS 64-bit kernels:
114499         nanosleep mishandles sleeps for longer than 2**31 seconds.
114500         Problem reported by Frank v Waveren in
114501         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
114502         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
114503         Check for nanosleep bug.
114504         (LIB_NANOSLEEP): Append clock_gettime library if needed.
114506 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114508         Work around a bug in both the Linux and SunOS 64-bit kernels:
114509         nanosleep mishandles sleeps for longer than 2**31 seconds.
114510         Problem reported by Frank v Waveren in
114511         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
114512         * lib/nanosleep.c (BILLION): New constant.
114513         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
114514         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
114515         implementation.
114517 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114519         * modules/nanosleep (Depends-on): Add gettime.
114521 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114522         and Simon Josefsson  <jas@extundo.com>
114523         and Oskar Liljeblad  <oskar@osk.mine.nu>
114525         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
114526         * gnulib-tool (func_import): New license type 'unmodifiable license
114527         text'.
114528         * modules/fdl: Use it.  Longer description.
114529         * module/gpl, module/lgpl: New files.
114531 2006-08-30  Jim Meyering  <jim@meyering.net>
114533         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
114534         shadowing the parameter.
114536 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114538         Sync from Libtool:
114540         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114542         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
114543         sharing with gnulib.  Report by Eric Blake.
114545 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114547         * modules/isapipe: New file.
114548         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
114550 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114552         * modules/configmake (Makefile.am): Add a comment, and omit
114553         the CONFIGMAKE_ prefix from generated macro names.  Suggested
114554         by Bruno Haible.
114556 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114558         * m4/isapipe.m4: New file.
114560 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114562         * lib/isapipe.c, lib/isapipe.h: New files.
114564 2006-08-29  Jim Meyering  <jim@meyering.net>
114566         * modules/configmake (Makefile.am): Make configmake.h depend on
114567         Makefile.  Otherwise, a stale configmake.h could hang around.
114569 2006-08-29  Eric Blake  <ebb9@byu.net>
114571         * lib/error.c (error_at_line, print_errno_message): Match libc, after
114572         resolution of upstream bug 3044.
114574 2006-08-29  Bruno Haible  <bruno@clisp.org>
114576         * modules/localcharset (Depends-on): Add configmake.
114577         (Makefile.am): Remove setting of LIBDIR through DEFS.
114579 2006-08-29  Bruno Haible  <bruno@clisp.org>
114581         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
114582         defined.
114584 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114586         * modules/fcntl: New file.
114587         * modules/chdir-safer (Depends-on): Add fcntl.
114588         * modules/fts: Likewise.
114589         * modules/mkdir-p: Likewise.
114591         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
114592         This undoes the most recent change, since we're now addressing the
114593         problem in a different way.
114595         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
114596         into output, since the output might be called Makefile.am even
114597         if $makefile_name is something different.
114598         (func_import): Use $makefile_am rather than
114599         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
114600         empty.
114602         * modules/inttypes (Files): Add m4/inttypes-h.m4.
114604 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114606         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
114607         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
114608         recent change to stdint.m4, since we're now addressing the problem in a
114609         different way.
114611 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114613         * m4/fcntl_h.m4: New file.
114615 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114617         * lib/fcntl_.h: New file.
114618         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
114619         the fcntl module.
114620         * lib/dirchownmod.c: Likewise.
114621         * lib/fts.c: Likewise.
114623         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
114624         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
114625         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
114626         just before including <inttypes.h>, to avoid circular inclusion.
114628 2006-08-28  Jim Meyering  <jim@meyering.net>
114630         * doc/visibility.texi: Actually read and correct the grammar of the
114631         sentence affected by yesterday's change.
114633 2006-08-28  Eric Blake  <ebb9@byu.net>
114635         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
114636         needs wrapper.
114638 2006-08-28  Eric Blake  <ebb9@byu.net>
114640         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
114642 2006-08-28  Eric Blake  <ebb9@byu.net>
114644         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
114646 2006-08-28  Bruno Haible  <bruno@clisp.org>
114648         * modules/c-strstr: New file, from GNU gettext.
114649         * MODULES.html.sh (String handling): Add c-strstr.
114651 2006-08-28  Bruno Haible  <bruno@clisp.org>
114653         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
114654         macros.
114655         Reported by Eric Blake.
114657 2006-08-28  Bruno Haible  <bruno@clisp.org>
114659         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
114660         (VASNPRINTF): Return a string of length > INT_MAX without failing.
114661         * lib/vasprintf.c: Include errno.h, limits.h.
114662         (EOVERFLOW): New fallback definition.
114663         (vasprintf): Test here whether the string length is > INT_MAX.
114664         * lib/vsnprintf.c: Include errno.h, limits.h.
114665         (EOVERFLOW): New fallback definition.
114666         (vsnprintf): Fix bug when generated string was too long for the buffer.
114667         Test here whether the string length is > INT_MAX.
114669 2006-08-28  Bruno Haible  <bruno@clisp.org>
114671         * lib/inttypes_.h (SCNX*): Remove definitions.
114672         Reported by Eric Blake.
114674 2006-08-28  Bruno Haible  <bruno@clisp.org>
114676         * lib/c-strstr.h: New file, from GNU gettext.
114677         * lib/c-strstr.c: New file, from GNU gettext.
114679 2006-08-28  Bruno Haible  <bruno@clisp.org>
114681         * gnulib-tool: Reorder some statements.
114683 2006-08-28  Bruno Haible  <bruno@clisp.org>
114685         * gnulib-tool: New option --makefile-name.
114686         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
114687         $makefile_name.
114688         (func_import): Write $makefile_name to the cache file, and read it from
114689         there unless explicitly specified. Use $makefile_name as file name
114690         instead of Makefile.am. Adjust the recommendations accordingly.
114692 2006-08-28  Bruno Haible  <bruno@clisp.org>
114694         * gnulib-tool (func_verify_module): Check against misapplying patch.
114696 2006-08-28  Bruno Haible  <bruno@clisp.org>
114698         * gnulib-tool (func_relativize, func_relconcat): New functions.
114699         Give an error if --local-dir is given with --update.
114700         Remove trailing slashes from $local_gnulib_dir.
114701         (func_import): Store the relativized $local_gnulib_dir in
114702         gnulib-cache.m4, and read it from there if not specified explicitly.
114704 2006-08-28  Bruno Haible  <bruno@clisp.org>
114706         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
114707         is the current directory. Respect also $local_gnulib_dir.
114709 2006-08-28  Bruno Haible  <bruno@clisp.org>
114710             Simon Josefsson  <jas@extundo.com>
114712         BeOS portability.
114713         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
114715 2006-08-27  Jim Meyering  <jim@meyering.net>
114717         * doc/visibility.texi: Remove duplicate word: "pointer".
114719 2006-08-26  Bruno Haible  <bruno@clisp.org>
114721         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
114722         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
114723         (Makefile.am): Create inttypes.h from inttypes_.h.
114724         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
114726         * modules/imaxabs: New file.
114728         * modules/imaxdiv: New file.
114730 2006-08-26  Bruno Haible  <bruno@clisp.org>
114732         * m4/inttypes.m4: New file.
114733         * m4/_inttypes_h.m4: Remove file.
114734         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
114735         PRI_MACROS_BROKEN.
114736         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
114738         * m4/imaxabs.m4: New file.
114740         * m4/imaxdiv.m4: New file.
114742 2006-08-26  Bruno Haible  <bruno@clisp.org>
114744         * lib/inttypes_.h: New file.
114745         * lib/inttypes.h: Remove file.
114746         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
114748         * lib/imaxabs.c: New file.
114750         * lib/imaxdiv.c: New file.
114752 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114754         New config-h module, so that "make" output needn't be cluttered
114755         by -DHAVE_CONFIG_H.
114756         * MODULES.html.sh (Support for building libraries and executables):
114757         Add config-h.
114758         * modules/config-h: New file.
114759         * gnulib-tool (nl, sed_transform_lib_file): New vars.
114760         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
114761         the config-h module is used.
114763         New configmake module, so that "make" output needn't be cluttered
114764         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
114765         * MODULES.html.sh (Support for building libraries and executables):
114766         Add configmake.
114767         * modules/configmake: New file.
114769 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114771         * m4/config-h.m4: New file.
114773 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114775         * config/srclist.txt: Add elisp-comp.
114777 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114779         * MODULES.html.sh (Support for building libraries and executables):
114780         Add elisp-comp.
114781         * build-aux/elisp-comp: New file.
114782         * modules/elisp-comp: New file.
114784 2006-08-24  Bruno Haible  <bruno@clisp.org>
114786         * gnulib-tool (func_create_testdir): Use non-default values of
114787         sourcebase and m4base.
114789 2006-08-24  Bruno Haible  <bruno@clisp.org>
114791         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
114792         HTML structure.
114794 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
114796         * modules/openat (Depends-on): Add lchown.
114798 2006-08-23  Bruno Haible  <bruno@clisp.org>
114800         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
114801         of gl_LOCK_EARLY instead of gl_LOCK.
114803 2006-08-23  Bruno Haible  <bruno@clisp.org>
114805         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
114806         on OSF/1 to no.
114807         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
114809 2006-08-23  Bruno Haible  <bruno@clisp.org>
114811         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
114812         as unusable.
114814         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
114815         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
114816         (gl_LOCK): New macro.
114818 2006-08-22  Simon Josefsson  <jas@extundo.com>
114820         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
114821         to md5 module.
114823 2006-08-22  Simon Josefsson  <jas@extundo.com>
114825         * MODULES.html.sh: Add "Support for maintaining and release
114826         projects".
114828         * build-aux/gnupload: New file, from coreutils.
114830 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114832         Avoid the need for AC_LIBSOURCES in m4 macros.
114833         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
114834         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
114835         * modules/check-version (EXTRA_DIST): Add check-version.h.
114836         * modules/crc (EXTRA_DIST): Add crc.h.
114837         * modules/des (EXTRA_DIST): Add des.h.
114838         * modules/gc (EXTRA_DIST): Add gc.h.
114839         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
114840         * modules/getline (EXTRA_DIST): Add getline.h.
114841         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
114842         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
114843         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
114844         * modules/md2 (EXTRA_DIST): Add md2.h.
114845         * modules/md4 (EXTRA_DIST): Add md4.h.
114846         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
114847         * modules/read-file (EXTRA_DIST): Add read-file.h.
114848         * modules/readline (EXTRA_DIST): Add readline.h.
114849         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
114850         rijndael-api-fst.h.
114852 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114854         * m4/rijndael.m4 (gl_ARCFOUR):
114855         * m4/arctwo.m4 (gl_ARCTWO):
114856         * m4/check-version.m4 (gl_CHECK_VERSION):
114857         * m4/crc.m4 (gl_CRC):
114858         * m4/des.m4 (gl_DES):
114859         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
114860         * m4/gc.m4 (gl_GC):
114861         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
114862         * m4/getline.m4 (gl_FUNC_GETLINE):
114863         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
114864         * m4/hmac-md5.m4 (gl_HMAC_MD5):
114865         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
114866         * m4/md2.m4 (gl_MD2):
114867         * m4/md4.m4 (gl_MD4):
114868         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
114869         * m4/read-file.m4 (gl_FUNC_READ_FILE):
114870         * m4/readline.m4 (gl_FUNC_READLINE):
114871         * m4/rijndael.m4 (gl_RIJNDAEL):
114872         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
114873         to get the necessary .h files and whatnot.
114875 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114877         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
114878         gnulib rather than the other way around.
114879         * config/srclistvars.sh (COREUTILS): Remove.
114881 2006-08-22  Jim Meyering  <jim@meyering.net>
114883         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
114885         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
114887 2006-08-22  Eric Blake  <ebb9@byu.net>
114889         * modules/regexprops-generic: New file.
114890         * MODULES.html.sh (Support for building documentation): List it.
114892 2006-08-22  Eric Blake  <ebb9@byu.net>
114894         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
114895         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
114896         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
114897         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
114899 2006-08-22  Bruno Haible  <bruno@clisp.org>
114901         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
114902         and lib_LTLIBRARIES like the other lib_* variables.
114904 2006-08-22  Bruno Haible  <bruno@clisp.org>
114906         * build-aux/x-to-1.in: New file, from GNU gettext.
114908 2006-08-22  Bruno Haible  <bruno@clisp.org>
114910         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
114911         <utmpx.h> exists.
114913 2006-08-22  Bruno Haible  <bruno@clisp.org>
114915         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
114916         <utmpx.h> exists.
114918 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114920         BeOS portability.
114921         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
114922         exist.
114923         Problem reported by Bruno Haible.
114925 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114927         Avoid the need for AC_LIBSOURCES in m4 macros.
114928         * modules/acl (EXTRA_DIST): Add acl.h.
114929         * modules/argmatch (Files): Add m4/argmatch.m4.
114930         (configure.ac): Add gl_ARGMATCH.
114931         (EXTRA_DIST): Renamed from lib_SOURCES, for
114932         consistency with the other modules.  Remove argmatch.c.
114933         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
114934         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
114935         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
114936         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
114937         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
114938         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
114939         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
114940         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
114941         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
114942         * modules/closeout (EXTRA_DIST): Add closeout.h.
114943         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
114944         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
114945         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
114946         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
114947         dirname.h; remove basename.c and stripslash.c.
114948         * modules/exclude (EXTRA_DIST): Add exclude.h.
114949         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
114950         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
114951         * modules/file-type (EXTRA_DIST): Add file-type.h.
114952         * modules/filemode (EXTRA_DIST): Add filemode.h.
114953         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
114954         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
114955         * modules/fpending (EXTRA_DIST): Add __fpending.h.
114956         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
114957         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
114958         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
114959         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
114960         * modules/getdate (EXTRA_DIST): Add getdate.c.
114961         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
114962         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
114963         * modules/getpass (EXTRA_DIST): Add getpass.h.
114964         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
114965         * modules/group-member (EXTRA_DIST): Add group-member.h.
114966         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
114967         * modules/hash (EXTRA_DIST): Add hash.h.
114968         * modules/human (EXTRA_DIST): Add human.h.
114969         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
114970         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
114971         * modules/lchown (EXTRA_DIST): Add lchown.h.
114972         * modules/long-options (EXTRA_DIST): Add long-options.h.
114973         * modules/lstat (EXTRA_DIST): Add lstat.h.
114974         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
114975         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
114976         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
114977         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
114978         * modules/memxor (EXTRA_DIST): Add memxor.h.
114979         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
114980         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
114981         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
114982         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
114983         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
114984         * modules/physmem (EXTRA_DIST): Add physmem.h.
114985         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
114986         * modules/posixver (EXTRA_DIST): Add posixver.h.
114987         * modules/quote (EXTRA_DIST): Add quote.h.
114988         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
114989         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
114990         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
114991         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
114992         regex_internal.h regexec.c.
114993         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
114994         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
114995         * modules/same (EXTRA_DIST): Add same.h.
114996         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
114997         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
114998         * modules/savedir (EXTRA_DIST): Add savedir.h.
114999         * modules/sha1 (EXTRA_DIST): Add sha1.h.
115000         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
115001         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
115002         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
115003         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
115004         * modules/strdup (EXTRA_DIST): Add strdup.h.
115005         * modules/strftime (EXTRA_DIST): Add strftime.h.
115006         * modules/strndup (EXTRA_DIST): Add strndup.h.
115007         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
115008         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
115009         * modules/time_r (EXTRA_DIST): Add time_r.h.
115010         * modules/timespec (EXTRA_DIST): Add timespec.h.
115011         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
115012         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
115013         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
115014         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
115015         * modules/userspec (EXTRA_DIST): Add userspec.h.
115016         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
115017         * modules/utimens (EXTRA_DIST): Add utimens.h.
115018         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
115019         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
115020         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
115021         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
115022         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
115023         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
115024         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
115025         * modules/yesno (EXTRA_DIST): Add yesno.h.
115027 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
115029         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
115031         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
115032         * m4/dev-ino.m4, same-inode.m4: Remove.
115034         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
115035         * m4/acl.m4 (AC_FUNC_ACL):
115036         * m4/backupfile.m4 (gl_BACKUPFILE):
115037         * m4/c-strtod.m4 (gl_C99_STRTOLD):
115038         * m4/canon-host.m4 (gl_CANON_HOST):
115039         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
115040         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
115041         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
115042         * m4/cloexec.m4 (gl_CLOEXEC):
115043         * m4/close-stream.m4 (gl_CLOSE_STREAM):
115044         * m4/closeout.m4 (gl_CLOSEOUT):
115045         * m4/dirfd.m4 (gl_FUNC_DIRFD):
115046         * m4/dirname.m4 (gl_DIRNAME):
115047         * m4/exclude.m4 (gl_EXCLUDE):
115048         * m4/exitfail.m4 (gl_EXITFAIL):
115049         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
115050         * m4/file-type.m4 (gl_FILE_TYPE):
115051         * m4/filemode.m4 (gl_FILEMODE):
115052         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
115053         * m4/fpending.m4 (gl_FUNC_FPENDING):
115054         * m4/fprintftime.m4 (gl_FPRINTFTIME):
115055         * m4/fts.m4 (gl_FUNC_FTS):
115056         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
115057         * m4/getdate.m4 (gl_GETDATE):
115058         * m4/gethrxtime.m4 (gl_GETHRXTIME):
115059         * m4/getpagesize.m4 (gl_GETPAGESIZE):
115060         * m4/getpass.m4 (gl_FUNC_GETPASS):
115061         * m4/gettime.m4 (gl_GETTIME):
115062         * m4/getugroups.m4 (gl_GETUGROUPS):
115063         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
115064         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
115065         * m4/hard-locale.m4 (gl_HARD_LOCALE):
115066         * m4/hash.m4 (gl_HASH):
115067         * m4/idcache.m4 (gl_IDCACHE):
115068         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
115069         * m4/lchown.m4 (gl_FUNC_LCHOWN):
115070         * m4/long-options.m4 (gl_LONG_OPTIONS):
115071         * m4/lstat.m4 (gl_FUNC_LSTAT):
115072         * m4/md5.m4 (gl_MD5):
115073         * m4/memcasecmp.m4 (gl_MEMCASECMP):
115074         * m4/memcoll.m4 (gl_MEMCOLL):
115075         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
115076         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
115077         * m4/memxor.m4 (gl_MEMXOR):
115078         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
115079         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
115080         * m4/modechange.m4 (gl_MODECHANGE):
115081         * m4/mountlist.m4 (gl_MOUNTLIST):
115082         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
115083         * m4/openat.m4 (gl_FUNC_OPENAT):
115084         * m4/pathmax.m4 (gl_PATHMAX):
115085         * m4/physmem.m4 (gl_PHYSMEM):
115086         * m4/posixtm.m4 (gl_POSIXTM):
115087         * m4/posixver.m4 (gl_POSIXVER):
115088         * m4/quote.m4 (gl_QUOTE):
115089         * m4/quotearg.m4 (gl_QUOTEARG):
115090         * m4/readtokens.m4 (gl_READTOKENS):
115091         * m4/readutmp.m4 (gl_READUTMP):
115092         * m4/regex.m4 (gl_REGEX):
115093         * m4/safe-read.m4 (gl_SAFE_READ):
115094         * m4/safe-write.m4 (gl_SAFE_WRITE):
115095         * m4/same.m4 (gl_SAME):
115096         * m4/save-cwd.m4 (gl_SAVE_CWD):
115097         * m4/savedir.m4 (gl_SAVEDIR):
115098         * m4/settime.m4 (gl_SETTIME):
115099         * m4/sha1.m4 (gl_SHA1):
115100         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
115101         * m4/stat-macros.m4 (gl_STAT_MACROS):
115102         * m4/stat-time.m4 (gl_STAT_TIME):
115103         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
115104         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
115105         * m4/strdup.m4 (gl_FUNC_STRDUP):
115106         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
115107         * m4/strndup.m4 (gl_FUNC_STRNDUP):
115108         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
115109         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
115110         * m4/time_r.m4 (gl_TIME_R):
115111         * m4/timespec.m4 (gl_TIMESPEC):
115112         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
115113         * m4/unlinkdir.m4 (gl_UNLINKDIR):
115114         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
115115         * m4/userspec.m4 (gl_USERSPEC):
115116         * m4/utimecmp.m4 (gl_UTIMECMP):
115117         * m4/utimens.m4 (gl_UTIMENS):
115118         * m4/xalloc.m4 (gl_XALLOC):
115119         * m4/xgetcwd.m4 (gl_XGETCWD):
115120         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
115121         * m4/xreadlink.m4 (gl_XREADLINK):
115122         * m4/xstrtod.m4 (gl_XSTRTOD):
115123         * m4/yesno.m4 (gl_YESNO):
115124         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
115125         to get the necessary .h files and whatnot.
115127 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
115128             Bruno Haible  <bruno@clisp.org>
115130         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
115131         /bin/sh understanding of '!' conditional negation.
115133 2006-08-21  Jim Meyering  <jim@meyering.net>
115135         * modules/openat (Depends-on): Really alphabetize.
115137         * modules/acl (Depends-on): Add error and quote.
115139         * check-module (find_included_lib_files): Add at-func.c to the
115140         ok-to-include-more-than-once white list.
115142         * modules/openat (Depends-on): Add lstat.  Alphabetize.
115144 2006-08-21  Bruno Haible  <bruno@clisp.org>
115146         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115147         Emit a pkgdata_DATA variable only if some snippets add contents to it.
115148         Reported by Martin Lambers <marlam@marlam.de>.
115150 2006-08-21  Bruno Haible  <bruno@clisp.org>
115152         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
115153         specify an installation location, don't emit a noinst_LIBRARIES or
115154         noinst_LTLIBRARIES assignment.
115156 2006-08-21  Bruno Haible  <bruno@clisp.org>
115158         BeOS portability.
115159         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
115160         BeOS has mbrtowc() but no <wctype.h>.
115162 2006-08-21  Bruno Haible  <bruno@clisp.org>
115164         BeOS portability.
115165         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
115166         exist.
115168 2006-08-21  Bruno Haible  <bruno@clisp.org>
115170         BeOS portability.
115171         * lib/mbchar.h: Include <wctype.h> only if it exists.
115173 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
115175         Remove files that are no longer needed by their respective modules.
115176         * m4/obstack.m4: Remove.
115177         * m4/strerror_r.m4: Remove.
115178         * m4/uint32_t.m4: Remove.
115179         * m4/uintptr_t.m4: Remove.
115180         * m4/ullong_max.m4: Remove.
115181         * m4/xstrtoimax.m4: Remove.
115182         * m4/xstrtoumax.m4: Remove.
115184         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
115185         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
115186         dependencies now capture this.
115188         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
115189         Do not use AC_LIBSOURCES, since gnulib modules now do this.
115190         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
115191         * m4/human.m4 (gl_HUMAN): Likewise.
115192         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
115193         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
115195         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
115197         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
115198         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
115199         stdint.
115200         * m4/human.m4 (gl_HUMAN): Likewise.
115201         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
115202         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
115203         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
115204         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
115205         * m4/xstrtol (gl_XSTRTOL): Likewise.
115207         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
115208         AC_TYPE_LONG_LONG_INT.
115209         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
115210         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
115211         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
115212         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
115214         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
115215         on stdbool.
115217         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
115218         (gl_PREREQ_XSTRTOUL): Remove.
115220         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
115222         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
115223         mode.
115225 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
115227         Add and change modules to make it easier for coreutils to use
115228         gnulib-tool.
115229         * modules/backupfile (Files): Remove m4/d-ino.m4.
115230         (Depends-on): Add d-ino.
115231         * modules/cycle-check (Depends-on): Add stdint.
115232         (lib_SOURCES): Add cycle-check.h.
115233         * modules/d-ino: New module.
115234         * modules/d-type: New module.
115235         * modules/error (Files): Remove m4/strerror_r.m4.
115236         * modules/filemode (Files): Add m4/st_dm_mode.m4.
115237         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
115238         m4/inttypes_h.m4, m4/uintmax_t.m4.
115239         (Depends-on): Add stdint.
115240         (lib_SOURCES): Add fsusage.h.
115241         * modules/getcwd (Files): Remove d-ino.m4.
115242         (Depends-on): Add d-ino.
115243         * modules/getndelim2 (Depends-on): Add stdint.
115244         * modules/glob (Files): Remove m4/d-type.m4.
115245         (Depends-on): Add d-type.
115246         * modules/host-os: New module.
115247         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
115248         m4/inttypes_h.m4, m4/uintmax_t.m4.
115249         * Depends-on: Add stdint.
115250         (lib_SOURCES): Add human.h.
115251         * modules/inttostr (Files): Remove m4/intmax_t.m4,
115252         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
115253         m4/uintmax_t.m4, m4/ulonglong.m4.
115254         (Depends-on): Add stdint.
115255         (EXTRA_DIST): Add inttostr.h.
115256         * modules/lchmod: New module.
115257         * modules/link-follow: New module.
115258         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
115259         (Depends-on): Add lchmod.
115260         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
115261         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
115262         (Depends-on): Add stdint.
115263         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
115264         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
115265         (Depends-on): Add stdint.
115266         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
115267         * modules/perl: New module.
115268         * modules/regex (Depends-on): Add stdint.
115269         * modules/rmdir-errno: New module.
115270         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
115271         m4/intmax_t.m4.
115272         (Depends-on): Add stdint.
115273         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
115274         m4/uintmax_t.m4.
115275         (Depends-on): Add stdint.
115276         * modules/unlink-busy: New module.
115277         * modules/utimecmp (Depends-on): Add stdint.
115278         * modules/uptime: New module.
115279         * modules/winsz-ioctl: New module.
115280         * modules/winsz-termios: New module.
115281         * modules/xnanosleep (Depends-on): Add nanosleep.
115282         * modules/ullong_max: Remove.
115283         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
115284         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
115285         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
115286         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
115287         (Depends-on): Add inttypes.
115288         (lib_SOURCES): Add xstrtol.h.
115289         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
115290         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
115291         * MODULES.html.sh: Move 'assert' into the assert section.
115292         Move 'dummy' into the linking section.
115293         Remove ullong_max.
115294         Add section for compatibility checks for POSIX:2001 functions,
115295         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
115296         winsz-ioctl, and winsz-termios into it.
115297         Add lchmod.
115298         Add top-level Misc section and put host-os, perl, and uptime
115299         into it.
115301 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
115303         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
115304         now assume the stdint module.  Do not include inttypes.h.
115305         * lib/fsusage.h: Likewise.
115306         * lib/getndelim2.c: Likewise.
115307         * lib/human.h: Likewise.
115308         * lib/inttostr.h: Likewise.
115309         * lib/obstack.c: Likewise.
115310         * lib/regex_internal.h: Likewise.
115311         * lib/tempname.c: Likewise.
115312         * lib/utimecmp.c: Likewise.
115313         * lib/xstrtol.h: Likewise.
115315         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
115317         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
115318         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
115319         * lib/xtime.h: Likewise.
115321 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
115323         * modules/openat (Files): Add lib/fchmodat.c.
115324         Fixes problem reported by Jay Youngman.
115326 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
115328         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
115329         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
115331 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
115332             Bruno Haible  <bruno@clisp.org>
115334         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
115335         and is a script that invokes bison. Tighten the code. Add comments.
115337 2006-08-18  Jim Meyering  <jim@meyering.net>
115339         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
115340         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
115341         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
115342         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
115344 2006-08-18  Bruno Haible  <bruno@clisp.org>
115346         * modules/bison-i18n: New file.
115347         * MODULES.html.sh (Internationalization functions): Add it.
115349 2006-08-18  Bruno Haible  <bruno@clisp.org>
115351         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
115352         sys/statvfs.h. When getmntinfo was found, check its declaration and
115353         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
115355 2006-08-18  Bruno Haible  <bruno@clisp.org>
115357         * m4/bison-i18n.m4: New file, from bison.
115359 2006-08-18  Bruno Haible  <bruno@clisp.org>
115361         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
115362         (ME_DUMMY): Treat "kernfs" as a dummy.
115363         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
115365 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
115367         Update from coreutils.
115369         2006-08-15  Jim Meyering  <jim@meyering.net>
115371         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
115373         2006-01-17  Jim Meyering  <jim@meyering.net>
115375         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
115377         2006-01-11  Jim Meyering  <jim@meyering.net>
115379         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
115380         Check for the lchmod function.
115382 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
115384         Update from coreutils.
115386         * lib/__fpending.h: Add copyright notice.
115387         * lib/fprintftime.h: Likewise.
115388         * lib/savedir.c: Use (C) in copyright notice.
115389         * lib/savedir.h: Likewise.
115391         2006-08-15  Jim Meyering  <jim@meyering.net>
115393         * lib/at-func.c: New file, with the logic of all emulated at-functions.
115394         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
115395         in support of the EXPECTED_ERRNO macro.
115396         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
115397         definitions.  Instead, define the appropriate symbols and include
115398         "at-func.c".
115399         * lib/mkdirat.c (mkdirat): Likewise.
115400         * lib/fchmodat.c (fchmodat): Likewise.
115401         (ENOSYS): Remove definition.
115402         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
115403         it.  Don't include "unistd--.h" -- it wasn't ever used.
115405         2006-01-17  Jim Meyering  <jim@meyering.net>
115407         Rewrite fts.c not to change the current working directory,
115408         by using openat, fstatat, fdopendir, etc..
115410         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
115411         (HAVE_OPENAT_SUPPORT): Define.
115412         [_LIBC] (fchdir): Don't undef or define; no longer used.
115413         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
115414         Now, this `function' always succeeds, and consumes its file descriptor
115415         parameter -- so callers must not close such FDs.  Update callers.
115416         (diropen_fd, opendirat, cwd_advance_fd): New functions.
115417         (diropen): Add parameter, SP.  Adjust all callers.
115418         Implement using diropen_fd, rather than open.
115419         (fts_open): Initialize new member, fts_cwd_fd.
115420         Remove fts_rft-setting code.
115421         (fts_close): Close fts_cwd_fd, if necessary.
115422         (__opendir2): Define in terms of opendir or opendirat,
115423         depending on whether the FST_NOCHDIR flag is set.
115424         (fts_build): Since fts_safe_changedir consumes its FD, and since
115425         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
115426         and close the dup'd file descriptor upon failure.
115427         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
115428         (fts_safe_changedir): Tweak semantics to reflect that this function
115429         now calls cwd_advance_fd and hence consumes its FD argument.
115430         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
115431         [struct FTS] (fts_rft): Remove now-unused member.
115432         [struct FTS] (fts_cycle.state): Improve comment.
115434         * lib/openat.c (openat_needs_fchdir): New function.
115435         * lib/openat.h (openat_needs_fchdir): Declare it.
115437 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
115439         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
115440         Problem and fix reported by Pádraig Brady in
115441         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
115443 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
115445         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
115447 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
115449         * lib/memcoll.c (memcoll): Optimize for the common case where the
115450         arguments are bytewise equal.
115452 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
115454         * doc/regexprops-generic.texi: Add a copyright notice.
115456 2006-08-15  Bruno Haible  <bruno@clisp.org>
115458         * modules/tmpdir (License): Change to LGPL.
115460 2006-08-15  Bruno Haible  <bruno@clisp.org>
115462         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
115463         module.
115465 2006-08-14  Simon Josefsson  <jas@extundo.com>
115467         * config/srclist.txt: Add gnupload.
115469 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115471         Change copyright notice from LGPL 2 to GPL 2, since that's the
115472         standard form used in the gnulib repository.
115473         * tests/test-lock.c: Likewise.
115474         * tests/test-stdint.c: Likewise.
115475         * tests/test-tls.c: Likewise.
115477         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
115478         prelude-manager.  User shorter URLs for GNU projects, without '?'.
115479         Add copyright notice.
115481         * check-module: Add copyright notice.  Output a copyright
115482         notice if "--version" is specified.
115483         * modules/COPYING: New file.
115484         * tests/test-getaddrinfo.c: Add copyright notice.
115485         * tests/test-verify.c: Likewise.
115487 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115489         Change copyright notice from LGPL 2 to GPL 2, since that's the
115490         standard form used in the gnulib repository.
115491         * lib/lock.c: LGPL -> GPL.
115492         * lib/lock.h: Likewise.
115493         * lib/strnlen1.c: Likewise.
115494         * lib/strnlen1.h: Likewise.
115495         * lib/tls.c: Likewise.
115496         * lib/tls.h: Likewise.
115497         * lib/tmpdir.c: Likewise.
115499         * lib/TODO: Remove; this belongs only in coreutils.
115501 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115503         Add copyright notices to long-enough files that lack them, since
115504         otherwise the files aren't clearly free.  Use the same notice that
115505         getdate.texi already uses.
115506         * doc/alloca-opt.texi: Add copyright notice.
115507         * doc/alloca.texi: Likewise.
115508         * doc/ctime.texi: Likewise.
115509         * doc/functions.texi: Likewise.
115510         * doc/gcd.texi: Likewise.
115511         * doc/gnulib-tool.texi: Likewise.
115512         * doc/inet_ntoa.texi: Likewise.
115513         * doc/visibility.texi: Likewise.
115515         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
115516         * doc/quote.texi: Add copyright notice.
115518         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
115519         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
115520         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
115521         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
115522         is now obsolete, and give a pointer to the Sun list.
115523         Add copyright notice.
115525 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115527         * config/srclistvars.sh: Add copyright notice.
115529 2006-08-14  Eric Blake  <ebb9@byu.net>
115531         Import the following change from libc:
115533         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
115535         Upstream bug 2997.
115536         * lib/misc/error.c: Add space between program name and message if file
115537         name is missing.
115539 2006-08-12  Karl Berry  <karl@gnu.org>
115541         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
115542         remove, these originate in gnulib now.
115544 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115546         * doc/Makefile (standards.info standards.html standards.dvi):
115547         Also depend on make-stds.texi.
115549 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
115551         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
115552         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
115554         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
115555         in wchar_t.  Problem reported by Eric Blake.
115557         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
115558         LEN is smaller than SIZE.  Suggested by Bruno Haible.
115559         Also, help the compiler to keep LEN in a register.
115561 2006-08-11  Eric Blake  <ebb9@byu.net>
115563         * users.txt: Sort.  Add tar.
115565 2006-08-11  Bruno Haible  <bruno@clisp.org>
115567         * users.txt: New file.
115569 2006-08-11  Bruno Haible  <bruno@clisp.org>
115571         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
115572         before <wchar.h>. Needed for OSF/1 and BSD/OS.
115574 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
115576         * modules/snprintf (Depends-on): Remove minmax.
115577         (Maintainer): Add self and Bruno.
115579 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
115581         * lib/.cppi-disable: Add snprintf.h, socket_.h.
115582         * lib/snprintf.c: Include <errno.h> and <limits.h>.
115583         (EOVERFLOW): Define if the system does not.
115584         Do not include "minmax.h"; it wasn't used.
115585         (snprintf): Don't assume size_t promotes to an unsigned type.
115586         Fix bug when generated string was too long for the buffer: the
115587         buffer's contents are supposed to be the initial prefix of the
115588         output.  Don't assume vasnprintf returns EOVERFLOW if the size
115589         exceeds INT_MAX; do the check ourselves.
115591         Import the following changes from libc:
115593         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
115595         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
115596         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
115597         set wc to the byte which couldn't be converted.
115598         (re_string_reconstruct): Don't clear valid_raw_len before calling
115599         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
115600         tip_context using re_string_context_at.
115602         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
115604         * lib/posix/regex.h: g++ still cannot handled [restrict].
115606         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
115608         * lib/posix/regex.h: Remove special handling for VMS.
115610 2006-08-10  Jim Meyering  <jim@meyering.net>
115612         * modules/same-inode: New module.
115613         * modules/dev-ino: New module.
115614         * modules/cycle-check: Depend on these modules, rather than simply
115615         including their .h files.
115616         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
115617         required via m4/cycle-check.m4.
115618         * modules/same: Depend on new same-inode module, rather than
115619         including same-inode.h.
115620         * modules/chdir-safer: New file.
115622         * modules/chown (Depends-on): Add stat-macros.
115624 2006-08-10  Jim Meyering  <jim@meyering.net>
115626         * m4/cycle-check.m4: New file.
115627         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
115628         * m4/dev-ino.m4, m4/same-inode.m4: New files.
115630 2006-08-10  Eric Blake  <ebb9@byu.net>
115632         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
115633         in from original proposal.
115635 2006-08-10  Eric Blake  <ebb9@byu.net>
115636         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
115638         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
115639         namespace.
115641 2006-08-10  Bruno Haible  <bruno@clisp.org>
115643         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
115644         as well.
115646 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115648         Sync from coreutils.
115650         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
115652         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
115653         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
115655 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115657         * modules/restrict: Remove; no longer needed now that we assume
115658         Autoconf 2.59 or later.
115659         * MODULES.html.sh: Remove 'restrict'.
115660         * modules/argp (Depends-on): Remove 'restrict'.
115661         * modules/base64 (Depends-on): Likewise.
115662         * modules/gc (Depends-on): Likewise.
115663         * modules/getaddrinfo (Depends-on): Likewise.
115664         * modules/glob (Depends-on): Likewise.
115665         * modules/inet_ntop (Depends-on): Likewise.
115666         * modules/inet_pton (Depends-on): Likewise.
115667         * modules/memxor (Depends-on): Likewise.
115668         * modules/regex (Depends-on): Likewise.
115669         * modules/strtok_r (Depends-on): Likewise.
115670         * modules/time_r (Depends-on): Likewise.
115672 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115674         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
115675         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
115676         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
115677         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
115678         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
115679         * m4/memxor.m4 (gl_MEMXOR): Likewise.
115680         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
115681         gl_C_RESTRICT replaced by AC_C_RESTRICT.
115683         Merge from coreutils.
115684         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
115685         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
115686         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
115687         * m4/time_r.m4 (gl_TIME_R): Likewise.
115689 2006-08-09  Karl Berry  <karl@gnu.org>
115691         * config/srclist.txt: no more gettext-tools, per Bruno.
115693 2006-08-08  Eric Blake  <ebb9@byu.net>
115695         * modules/verror: New module.
115696         * MODULES.html.sh: Document it.
115698 2006-08-08  Eric Blake  <ebb9@byu.net>
115700         * lib/verror.h, lib/verror.c: New files.
115702 2006-08-08  Eric Blake  <ebb9@byu.net>
115704         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
115705         verror_at_line output complies with GNU Coding Standards even when
115706         file is NULL.
115708 2006-08-07  Bruno Haible  <bruno@clisp.org>
115710         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
115711         versions of AIX.
115712         Reported by Ralf Wildenhues.
115714 2006-08-07  Bruno Haible  <bruno@clisp.org>
115716         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
115717         in an AC_DEFUN. Needed so that the autoconf snippets can use
115718         AC_REQUIRE.
115720 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115722         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115723         Initialize pkgdata_DATA.
115724         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
115725         overriding it.
115727 2006-08-06  Eric Blake  <ebb9@byu.net>
115729         * lib/error.h: Fold in some upstream changes from glibc.
115730         * lib/error.c: Likewise.
115732 2006-08-04  Bruno Haible  <bruno@clisp.org>
115734         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115735         Make the mostlyclean-local rule depend on mostlyclean-generic.
115736         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
115738 2006-07-31  Bruno Haible  <bruno@clisp.org>
115740         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
115741         <stdlib.h>, <string.h>.
115743 2006-07-30  Bruno Haible  <bruno@clisp.org>
115745         * modules/readlink (License): Change to LGPL.
115747 2006-07-30  Bruno Haible  <bruno@clisp.org>
115749         * modules/javaversion (Makefile.am): Distribute javaversion.java and
115750         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
115751         set PKGDATADIR to point to it.
115753 2006-07-30  Bruno Haible  <bruno@clisp.org>
115755         * modules/csharpexec (configure.ac): Comment out macro invocation.
115756         * modules/javaexec (configure.ac): Likewise.
115757         * modules/javacomp-script (configure.ac): Likewise.
115759         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
115761 2006-07-30  Bruno Haible  <bruno@clisp.org>
115763         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
115764         linked-list.
115766 2006-07-30  Bruno Haible  <bruno@clisp.org>
115768         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
115770 2006-07-30  Bruno Haible  <bruno@clisp.org>
115772         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115773         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
115774         get removed.
115776 2006-07-29  Bruno Haible  <bruno@clisp.org>
115778         Make it possible for gnulib-tool to work with locally modified or
115779         augmented gnulib repositories.
115780         * gnulib-tool (func_usage): Document --local-dir option.
115781         (local_gnulib_dir): New variable.
115782         Handle --local-dir option.
115783         (func_lookup_file): New function.
115784         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
115785         (func_get_description, func_get_filelist, func_get_description,
115786         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
115787         func_get_automake_snippet, func_get_include_directive,
115788         func_get_license, func_get_maintainer): Use func_lookup_file.
115789         (func_import, func_create_testdir): Use func_lookup_file.
115791 2006-07-29  Bruno Haible  <bruno@clisp.org>
115793         * modules/setenv (Depends-on): Add unistd.
115795 2006-07-29  Bruno Haible  <bruno@clisp.org>
115797         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
115799 2006-07-29  Bruno Haible  <bruno@clisp.org>
115801         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
115803 2006-07-29  Bruno Haible  <bruno@clisp.org>
115805         * gnulib-tool (import, update): If there is no Makefile.am, look at
115806         aclocal.m4, instead of bailing out.
115808 2006-07-29  Bruno Haible  <bruno@clisp.org>
115810         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
115811         Categorize the options by when they are useful.
115813 2006-07-29  Bruno Haible  <bruno@clisp.org>
115815         * gnulib-tool (func_usage): Document option --no-libtool.
115816         Handle option --no-libtool.
115817         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
115818         for changed semantics of $libtool variable.
115819         (func_import): Likewise. If libtool is not used, show this through
115820         an option --no-libtool.
115821         (func_create_testdir): Update.
115823 2006-07-29  Bruno Haible  <bruno@clisp.org>
115825         * gnulib-tool (func_import): Extend error message about missing
115826         --doc-base.
115828 2006-07-29  Bruno Haible  <bruno@clisp.org>
115830         * gnulib-tool (func_import): Don't create the $docbase directory if
115831         there is no file to store there.
115833 2006-07-29  Bruno Haible  <bruno@clisp.org>
115835         * gnulib-tool (autoconf_minversion): If a --dir option is given and
115836         relevant, look for configure.ac there, not in the current directory.
115837         Also use a simple search for AC_PREREQ, not "autoconf --trace".
115839 2006-07-29  Bruno Haible  <bruno@clisp.org>
115841         * gnulib-tool (SORT): New variable.
115842         (func_usage): Undocument --assume-autoconf option.
115843         Remove --assume-autoconf option handling.
115844         (autoconf_minversion): Determine from the contents of configure.ac.
115845         (func_import): Remove autoconf_minversion handling.
115846         Suggested by Eric Blake.
115848 2006-07-29  Bruno Haible  <bruno@clisp.org>
115850         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
115852 2006-07-29  Bruno Haible  <bruno@clisp.org>
115854         * config/srclist.txt (*setenv.[ch]): Remove rules.
115856 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115858         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
115860 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115862         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
115863         arpa/inet.h.
115865 2006-07-28  Simon Josefsson  <jas@extundo.com>
115867         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
115868         * modules/inet_pton (Depends-on): Likewise.
115870 2006-07-28  Simon Josefsson  <jas@extundo.com>
115872         * m4/netinet_in_h.m4: New file.
115874 2006-07-28  Simon Josefsson  <jas@extundo.com>
115876         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
115877         #include's.
115879 2006-07-28  Simon Josefsson  <jas@extundo.com>
115881         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
115882         #include's.
115884 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
115886         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
115887         setgid on directories only if they set these bits.
115888         * lib/modechange.h: Remove obsolete comment about masks.
115890 2006-07-28  Eric Blake  <ebb9@byu.net>
115892         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
115893         macro expansion.
115895 2006-07-28  Bruno Haible  <bruno@clisp.org>
115897         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
115899 2006-07-28  Bruno Haible  <bruno@clisp.org>
115901         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
115903 2006-07-28  Bruno Haible  <bruno@clisp.org>
115905         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
115906         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
115907         Define fallbacks.
115908         Avoids link error on FreeBSD 4.x.
115909         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
115911         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
115912         encoding.
115913         * lib/mbswidth.c (iswcntrl): Likewise.
115915 2006-07-27  Bruno Haible  <bruno@clisp.org>
115917         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
115918         test.
115920 2006-07-27  Bruno Haible  <bruno@clisp.org>
115922         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
115923         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
115924         defined.
115926 2006-07-26  Eric Blake  <ebb9@byu.net>
115928         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
115930 2006-07-26  Eric Blake  <ebb9@byu.net>
115932         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
115933         like mingw that lack mkstemp.
115934         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
115935         avoid compilation warning on mingw.
115937 2006-07-26  Bruno Haible  <bruno@clisp.org>
115939         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
115940         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
115941         INT_FAST*_MIN, INTPTR_MIN.
115943 2006-07-25  Bruno Haible  <bruno@clisp.org>
115945         * modules/version-etc (Depends-on): Add stdarg.
115947 2006-07-25  Bruno Haible  <bruno@clisp.org>
115949         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
115950         complex commands.
115952 2006-07-25  Bruno Haible  <bruno@clisp.org>
115954         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
115955         defined in <stdarg.h> or config.h.
115957 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
115959         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
115960         (gl_STDIO_SAFER): Remove.
115962 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
115964         * MODULES.html.sh (File stream based Input/Output):
115965         Add fopen-safer, tmpfile-safer; remove stdio-safer.
115966         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
115967         * modules/fopen-safer, modules/tmpfile-safer: New files.
115968         * modules/stdio-safer: Remove.
115970 2006-07-24  Bruno Haible  <bruno@clisp.org>
115972         * modules/tmpdir: New file.
115973         * MODULES.html.sh (File system functions): Add it.
115975 2006-07-24  Bruno Haible  <bruno@clisp.org>
115977         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
115978         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
115980 2006-07-24  Bruno Haible  <bruno@clisp.org>
115982         * modules/clean-temp: New file.
115984 2006-07-24  Bruno Haible  <bruno@clisp.org>
115986         * m4/tmpdir.m4: New file, from GNU gettext.
115988 2006-07-24  Bruno Haible  <bruno@clisp.org>
115990         * lib/tmpdir.h: New file, from GNU gettext.
115991         * lib/tmpdir.c: New file, from GNU gettext.
115993 2006-07-24  Bruno Haible  <bruno@clisp.org>
115995         * lib/clean-temp.h: New file, from GNU gettext.
115996         * lib/clean-temp.c: New file, from GNU gettext.
115998 2006-07-23  Eric Blake  <ebb9@byu.net>
116000         * modules/stdio-safer (Files): Add tmpfile-safer.c.
116001         (Depends-on): Add binary-io.
116003 2006-07-23  Eric Blake  <ebb9@byu.net>
116005         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
116007 2006-07-23  Eric Blake  <ebb9@byu.net>
116009         * lib/tmpfile-safer.c: New file.
116010         * lib/stdio-safer.h (fopen_safer): Add prototype.
116011         * lib/stdio--.h (tmpfile): Make safer.
116013 2006-07-23  Bruno Haible  <bruno@clisp.org>
116015         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
116016         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
116017         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
116018         gl_linked_remove_at): Use it.
116020 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
116021         and Simon Josefsson <jas@extundo.com>
116023         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
116025         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
116027 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
116029         * modules/close-stream: New file.
116030         * modules/closeout (Description): Make it clear that it exits
116031         with a diagnostic on error.
116032         (Depends-on): Add close-stream.  Remove fpending, stdbool.
116033         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
116035 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
116037         * m4/close-stream.m4: New file.
116039 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
116041         * lib/close-stream.c, lib/close-stream.h: New files.
116043 2006-07-22  Bruno Haible  <bruno@clisp.org>
116045         Merge from GNU gettext 0.15.
116047         2006-05-01  Bruno Haible  <bruno@clisp.org>
116049                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
116051         2006-07-22  Bruno Haible  <bruno@clisp.org>
116053                 * modules/javaversion: New file.
116054                 * MODULES.html.sh (Java): Add javaversion.
116056         2006-03-12  Bruno Haible  <bruno@clisp.org>
116058                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
116060         2005-12-04  Bruno Haible  <bruno@clisp.org>
116062                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
116063                 (untested).
116065         2006-06-21  Bruno Haible  <bruno@clisp.org>
116067                 Avoid warnings from recent versions of mcs.
116068                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
116069                 -o, -L, -r any more. Use options documented since mcs-1.0
116070                 instead. Similarly for -g.
116072         2005-12-04  Bruno Haible  <bruno@clisp.org>
116074                 * build-aux/csharpcomp.sh.in: Suffix for resources is
116075                 .resources, not .resource.
116077         2005-07-09  Bruno Haible  <bruno@clisp.org>
116079                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
116080                 add a .dll suffix.
116081                 Reported by Mark Junker <mjscod@gmx.de>.
116083         2006-07-22  Bruno Haible  <bruno@clisp.org>
116085                 * modules/gettext: Upgrade to gettext-0.15.
116086                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
116087                 m4/visibility.m4.
116088                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
116090 2006-07-22  Bruno Haible  <bruno@clisp.org>
116092         Merge from GNU gettext 0.15.
116094         2006-03-25  Bruno Haible  <bruno@clisp.org>
116096                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
116098         2006-07-21  Bruno Haible  <bruno@clisp.org>
116100                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
116101                 "1.1".
116103         2006-05-09  Bruno Haible  <bruno@clisp.org>
116105                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
116106                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
116107                 for the conftestver execution.
116109         2006-05-01  Bruno Haible  <bruno@clisp.org>
116111                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
116112                 optional target-version argument. Verify that the compiler
116113                 groks source of the specified source-version, or add -source
116114                 option as necessary. Verify that the compiler produces
116115                 bytecode in the specified target-version, or add -target and
116116                 -source options as necessary. Make the result of the test
116117                 available as variable CONF_JAVAC. Also log error output in
116118                 config.log.
116120         2006-03-11  Bruno Haible  <bruno@clisp.org>
116122                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
116124         2006-05-09  Bruno Haible  <bruno@clisp.org>
116126                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
116127                 CLASSPATH_SEPARATOR to a semicolon.
116129         2006-03-12  Bruno Haible  <bruno@clisp.org>
116131                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
116132                 available as variable CONF_JAVA, for subsequent autoconf
116133                 tests. Also log error output in config.log.
116135         2006-07-19  Bruno Haible  <bruno@clisp.org>
116137                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
116138                 that getline works on glibc2 systems. Needed to avoid trouble
116139                 in relocatable.c.
116140                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
116142         2005-12-04  Bruno Haible  <bruno@clisp.org>
116144                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
116145                 launcher (untested).
116147         2005-12-04  Bruno Haible  <bruno@clisp.org>
116149                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
116151         2006-07-22  Bruno Haible  <bruno@clisp.org>
116153                 * gettext.m4: Update from GNU gettext-0.15.
116154                 * nls.m4: Likewise.
116155                 * po.m4: Likewise.
116156                 * inttypes-pri.m4: Likewise.
116157                 * inttypes-h.m4: Renamed from inttypes.m4.
116158                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
116160 2006-07-22  Bruno Haible  <bruno@clisp.org>
116162         Merge from GNU gettext 0.15.
116164         2005-07-05  Bruno Haible  <bruno@clisp.org>
116166                 * printf-args.c (printf_fetchargs): Work around broken
116167                 definition of wint_t on mingw.
116169         2005-02-12  Bruno Haible  <bruno@clisp.org>
116171                 * xallocsa.h: Add extern "C" for C++.
116173         2006-05-17  Bruno Haible  <bruno@clisp.org>
116175                 Cygwin portability.
116176                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
116178         2006-04-30  Bruno Haible  <bruno@clisp.org>
116180                 * progreloc.c: Include <mach-o/dyld.h> if available.
116181                 (find_executable): Use _NSGetExecutablePath when possible.
116183         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
116185                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
116186                 function.
116188         2005-12-29  Bruno Haible  <bruno@clisp.org>
116190                 * progreloc.c (set_program_name_and_installdir): Fix
116191                 compilation error.
116193         2005-12-04  Bruno Haible  <bruno@clisp.org>
116195                 Cygwin portability.
116196                 * progreloc.c: Include <windows.h> also on Cygwin.
116197                 (find_executable): Add support for Cygwin.
116198                 (set_program_name_and_installdir): Handle also platforms with
116199                 nonempty EXEEXT.
116201         2006-07-11  Bruno Haible  <bruno@clisp.org>
116203                 * javacomp.c: Fix a comment.
116204                 Reported by Jim Meyering.
116206         2006-04-30  Bruno Haible  <bruno@clisp.org>
116208                 * javacomp.h (compile_java_class): Add source_version,
116209                 target_version arguments.
116210                 * javacomp.c: Rewritten to choose only a compiler that
116211                 respects the specified source_version and target_version.
116213         2006-06-27  Bruno Haible  <bruno@clisp.org>
116215                 Assume correct S_ISDIR macro.
116216                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
116218         2006-07-22  Bruno Haible  <bruno@clisp.org>
116220                 * javaversion.h: New file, from GNU gettext.
116221                 * javaversion.c: New file, from GNU gettext.
116222                 * javaversion.java: New file, from GNU gettext.
116223                 * javaversion.class: New file, from GNU gettext.
116225         2006-05-17  Bruno Haible  <bruno@clisp.org>
116227                 Cygwin portability.
116228                 * javaexec.c (execute_java_class): Test for jview program
116229                 also on Cygwin.
116231         2006-04-09  Bruno Haible  <bruno@clisp.org>
116233                 * fatal-signal.c: Don't include string.h.
116234                 (at_fatal_signal): Use a copying loop instead of memcpy.
116236         2005-12-04  Bruno Haible  <bruno@clisp.org>
116238                 * csharpexec.c: Add support for 'clix' launcher (untested).
116239                 (execute_csharp_using_sscli): New function.
116240                 (execute_csharp_program): Call it.
116242         2006-06-21  Bruno Haible  <bruno@clisp.org>
116244                 Avoid warnings from recent versions of mcs.
116245                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
116246                 -o, -L, -r any more. Use options documented since mcs-1.0
116247                 instead. Similarly for -g.
116249         2005-07-09  Bruno Haible  <bruno@clisp.org>
116251                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
116252                 add a .dll suffix.
116253                 Reported by Mark Junker <mjscod@gmx.de>.
116255         2006-06-17  Bruno Haible  <bruno@clisp.org>
116257                 * config.charset: Update for NetBSD 3.0.
116259         2006-05-17  Bruno Haible  <bruno@clisp.org>
116261                 Cygwin portability.
116262                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
116264         2006-05-16  Bruno Haible  <bruno@clisp.org>
116266                 * localcharset.c [CYGWIN]: Include <windows.h>.
116267                 (get_charset_aliases): For Cygwin, return the same CPxxx
116268                 aliases list as under WIN32.
116269                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
116270                 the environment variables. Fall back to GetACP().
116272         2006-04-05  Bruno Haible  <bruno@clisp.org>
116274                 * config.charset: Update Juan Manuel Guerrero's address.
116276         2005-02-12  Bruno Haible  <bruno@clisp.org>
116278                 * allocsa.h: Add extern "C" for C++.
116280         2005-02-10  Bruno Haible  <bruno@clisp.org>
116282                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
116283                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
116285         2006-07-22  Bruno Haible  <bruno@clisp.org>
116287                 * gettext.h: Update to GNU gettext-0.15.
116289 2006-07-22  Bruno Haible  <bruno@clisp.org>
116291         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
116292         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
116293         lib-prefix.m4, longdouble.m4, ssize_t.m4.
116295 2006-07-21  Eric Blake  <ebb9@byu.net>
116297         * modules/stdlib-safer: New file.
116298         * MODULES.html.sh (File stream based Input/Output): Add
116299         stdlib-safer.
116301 2006-07-21  Eric Blake  <ebb9@byu.net>
116303         * lib/stdlib-safer.h: New file from coreutils, required by
116304         stdlib--.h.
116306 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
116308         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
116310 2006-07-20  Bruno Haible  <bruno@clisp.org>
116312         * gnulib-tool: Recognize new option --assume-autoconf.
116313         (autoconf_minversion): New variable.
116314         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
116316 2006-07-20  Bruno Haible  <bruno@clisp.org>
116318         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
116320 2006-07-19  Derek R. Price  <derek@ximbiot.com>
116322         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
116323         Reindent and repaginate.
116325 2006-07-19  Derek Price  <derek@ximbiot.com>
116327         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
116328         Correct grammar.
116330 2006-07-17  Bruno Haible  <bruno@clisp.org>
116332         * modules/list: New file.
116333         * modules/array-list: New file.
116334         * modules/carray-list, modules/carray-list-tests: New files.
116335         * modules/linked-list, modules/linked-list-tests: New files.
116336         * modules/avltree-list, modules/avltree-list-tests: New files.
116337         * modules/rbtree-list, modules/rbtree-list-tests: New files.
116338         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
116339         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
116340         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
116341         * modules/oset: New file.
116342         * modules/array-oset: New file.
116343         * modules/avltree-oset, modules/avltree-oset-tests: New files.
116344         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
116345         * tests/test-carray_list.c: New file.
116346         * tests/test-linked_list.c: New file.
116347         * tests/test-avltree_list.c: New file.
116348         * tests/test-rbtree_list.c: New file.
116349         * tests/test-linkedhash_list.c: New file.
116350         * tests/test-avltreehash_list.c: New file.
116351         * tests/test-rbtreehash_list.c: New file.
116352         * tests/test-avltree_oset.c: New file.
116353         * tests/test-rbtree_oset.c: New file.
116354         * MODULES.html.sh (Container data structures): New section.
116356 2006-07-17  Bruno Haible  <bruno@clisp.org>
116358         * m4/gl_list.m4: New file.
116360 2006-07-17  Bruno Haible  <bruno@clisp.org>
116362         * lib/gl_list.h: New file.
116363         * lib/gl_list.c: New file.
116364         * lib/gl_array_list.h: New file.
116365         * lib/gl_array_list.c: New file.
116366         * lib/gl_carray_list.h: New file.
116367         * lib/gl_carray_list.c: New file.
116368         * lib/gl_linked_list.h: New file.
116369         * lib/gl_linked_list.c: New file.
116370         * lib/gl_anylinked_list1.h: New file.
116371         * lib/gl_anylinked_list2.h: New file.
116372         * lib/gl_avltree_list.h: New file.
116373         * lib/gl_avltree_list.c: New file.
116374         * lib/gl_anyavltree_list1.h: New file.
116375         * lib/gl_anyavltree_list2.h: New file.
116376         * lib/gl_rbtree_list.h: New file.
116377         * lib/gl_rbtree_list.c: New file.
116378         * lib/gl_anyrbtree_list1.h: New file.
116379         * lib/gl_anyrbtree_list2.h: New file.
116380         * lib/gl_anytree_list1.h: New file.
116381         * lib/gl_anytree_list2.h: New file.
116382         * lib/gl_linkedhash_list.h: New file.
116383         * lib/gl_linkedhash_list.c: New file.
116384         * lib/gl_anyhash_list1.h: New file.
116385         * lib/gl_anyhash_list2.h: New file.
116386         * lib/gl_avltreehash_list.h: New file.
116387         * lib/gl_avltreehash_list.c: New file.
116388         * lib/gl_rbtreehash_list.h: New file.
116389         * lib/gl_rbtreehash_list.c: New file.
116390         * lib/gl_anytreehash_list1.h: New file.
116391         * lib/gl_anytreehash_list2.h: New file.
116393         * lib/gl_oset.h: New file.
116394         * lib/gl_oset.c: New file.
116395         * lib/gl_array_oset.h: New file.
116396         * lib/gl_array_oset.c: New file.
116397         * lib/gl_avltree_oset.h: New file.
116398         * lib/gl_avltree_oset.c: New file.
116399         * lib/gl_rbtree_oset.h: New file.
116400         * lib/gl_rbtree_oset.c: New file.
116401         * lib/gl_anytree_oset.h: New file.
116403 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
116405         * m4/mkancesdirs.m4: New file.
116406         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
116407         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
116408         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
116409         it.
116411 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
116413         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
116414         * lib/mkancesdirs.h: New files.
116415         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
116416         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
116417         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
116418         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
116419         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
116420         callers changed.  Revamp internals significantly, by not
116421         attempting to create directories that are temporarily more
116422         permissive than the final results.  Do not attempt to use
116423         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
116424         This removes some race conditions, fixes some bugs, and simplifies
116425         things.  Use new dirchownmod function to do owner and mode changes.
116426         * lib/mkdir-p.h: Likewise.
116427         * lib/modechange.c (octal_to_mode): New function.
116428         (struct mode_change): New member mentioned.
116429         (make_node_op_equals): New arg mentioned.  All callers changed.
116430         (mode_compile): Keep track of which mode bits the user has explicitly
116431         mentioned.
116432         (mode_adjust): New arg DIR, so that we implement the X op correctly.
116433         New arg PMODE_BITS, to keep track of which mode bits the user
116434         mentioned; it treats S_ISUID and S_ISGID speciall.
116435         All callers changed.
116436         * lib/modechange.h: Likewise.
116438 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
116440         * MODULES.html.sh: Add mkancestors.
116441         * modules/mkancesdirs: New module.
116442         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
116443         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
116444         The chdir-safer and afs files are now orphans; I'll remove them
116445         unless someone speaks up.
116446         Add lib/dirchownmod.c, lib/dirchownmod.h.
116447         (Depends-on): Remove alloca, chown, save-cwd, dirname.
116448         Add lchown, mkancesdirs.
116449         (Maintainer): Add self.
116451 2006-07-15  Karl Berry  <karl@gnu.org>
116453         * gnulib-tool: help message wording/arrangement.
116455 2006-07-14  Simon Josefsson  <jas@extundo.com>
116457         * doc/gnulib.texi (Libtool and Windows): New section.
116459 2006-07-12  Simon Josefsson  <jas@extundo.com>
116461         * modules/gendocs (License): Fix license, approved by Karl.
116463 2006-07-12  Eric Blake  <ebb9@byu.net>
116465         * MODULES.html.sh: Add gendocs.
116467 2006-07-11  Eric Blake  <ebb9@byu.net>
116469         * modules/fdl: New module, to install doc/fdl.texi.
116470         * MODULES.html.sh: Add new section for documentation modules.
116471         * gnulib-tool: Avoid space-tab.
116472         (--doc-base): New option, to manage files from doc.
116474 2006-07-11  Eric Blake  <ebb9@byu.net>
116476         * m4/absolute-header.m4: Fix comments to match recent change.
116478 2006-07-11  Eric Blake  <ebb9@byu.net>
116480         * gnulib-tool: List --doc-base before --tests-base.
116482 2006-07-11  Derek R. Price  <derek@ximbiot.com>
116484         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
116486 2006-07-11  Bruno Haible  <bruno@clisp.org>
116488         * README: Mention where to put documentation.
116490 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116492         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
116494 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
116496         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
116497         to stdint.m4.
116499 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
116501         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
116502         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
116503         "no/such/file/stdint.h" when there is no such file, so that
116504         the resulting C code can be parsed by dodgy compilers.
116505         Problems reported by Bob Proulx.
116507 2006-07-10  Derek R. Price  <derek@ximbiot.com>
116509         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
116510         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
116511         macros into the GNU _D_EXACT_NAMLEN.
116512         * lib/savedir.c:  Likewise.
116513         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
116515 2006-07-10  Derek R. Price  <derek@ximbiot.com>
116516         and Paul Eggert  <eggert@cs.ucla.edu>
116518         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
116519         * m4/savedir.m4:
116520         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
116521         macros into the GNU _D_EXACT_NAMLEN.
116523 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116525         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
116526         around the absolute name, to work around a problem with the HP-UX
116527         11.23 native C compiler, reported by Bob Proulx.
116529 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116531         * doc/maintain.texi, make-stds.texi: Sync from
116532         <http://savannah.gnu.org/projects/gnustandards>.
116534 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116536         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
116538 2006-07-09  Jim Meyering  <jim@meyering.net>
116540         * m4/glob.m4: Remove a doubled word in a comment.
116542 2006-07-09  Jim Meyering  <jim@meyering.net>
116544         * lib/argp-pv.c: Remove a doubled word in a comment.
116545         * lib/check-version.c (check_version): Likewise.
116546         * lib/javacomp.c (compile_java_class): Likewise.
116548 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
116550         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
116551         for the benefit of people using Autoconf 2.60.  If you want to
116552         support older Autoconf versions you can copy m4/onceonly_2_57.m4
116553         (or m4/onceonly.m4, if pre-2.57) manually.
116555 2006-07-08  Jim Meyering  <jim@meyering.net>
116557         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
116558         comment.
116559         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
116560         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
116561         comment.
116563 2006-07-08  Jim Meyering  <jim@meyering.net>
116565         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
116567 2006-07-07  Simon Josefsson  <jas@extundo.com>
116569         * tests/test-crc.c: Change expected crc value, the test vector
116570         were probably computed using the old broken crc.c?
116572 2006-07-06  Simon Josefsson  <jas@extundo.com>
116574         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
116575         now the canonical place for the M4 file).
116577         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
116578         from the sys_socket dependency now.
116580         * modules/inet_pton (Files): Ditto.
116582         * modules/inet_ntop (Files): Ditto.
116584 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
116586         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
116587         not gl_PREREQ_GETUSERSHELL.
116589 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116591         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
116592         with only one argument, for Autoconf 2.60.
116593         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
116594         expand to nothing, so add a shell command to avoid syntax error.
116595         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
116597 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116599         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
116601 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116603         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
116604         no longer needed.  Check for isblank decl.
116605         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
116606         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
116607         of existence.
116609 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116611         * lib/getloadavg.c: Use __VMS, not VMS.
116612         * lib/getopt.c: Likewise.
116613         * lib/getpagesize.h: Likewise.
116614         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
116615         and probably does not work.
116617 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116619         * lib/.cppi-disable: Add wcwidth.
116620         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
116621         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
116622         (ISGRAPH): Remove.  All uses changed to isgraph.
116623         (FOLD) [!defined _LIBC]: Remove special case.
116624         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
116625         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
116626         HAVE_ISBLANK.
116627         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
116628         case.
116630 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
116632         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
116633         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
116634         brackets.  Other minor changes to suppress some compiler
116635         warnings.
116637 2006-07-06  Derek R. Price  <derek@ximbiot.com>
116638         and Paul Eggert  <eggert@cs.ucla.edu>
116640         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
116641         of invoking obsolescent AC_HEADER_DIRENT macro.
116642         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
116643         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
116644         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
116645         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
116646         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
116647         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
116648         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
116649         * m4/readdir.m4: Remove; no longer needed.
116651 2006-07-06  Derek R. Price  <derek@ximbiot.com>
116652         and Paul Eggert  <eggert@cs.ucla.edu>
116654         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
116655         Don't worry about this obsolete case any more.
116656         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
116657         directories.
116658         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
116659         worry about this obsolete case any more.
116660         * lib/fts.c: Likewise.
116661         * lib/getcwd.c: Likewise.
116662         * lib/glob.h: Likewise.
116663         * lib/savedir.c: Likewise.
116665 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
116667         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
116668         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
116669         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
116670         needed.
116671         All uses removed.
116672         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116673         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
116674         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
116675         needed.
116676         * m4/getdate.m4 (gl_GETDATE): Likewise.
116677         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
116678         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
116679         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
116680         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116681         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
116682         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
116683         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
116684         needed.
116686 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
116688         * lib/memcasecmp.c: Include <limits.h>.
116689         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
116690         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
116691         Don't assume isdigit succeeds only on '0' through '9'.
116693 2006-07-05  Eric Blake  <ebb9@byu.net>
116695         * modules/getaddrinfo (Depends-on): Add snprintf.
116697 2006-07-05  Eric Blake  <ebb9@byu.net>
116699         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
116700         to avoid 'header present but could not be compiled' on cygwin.
116702 2006-07-05  Eric Blake  <ebb9@byu.net>
116704         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
116705         missing from netdb.h.
116706         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
116708 2006-07-05  Derek R. Price  <derek@ximbiot.com>
116710         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
116711         no longer needed.
116712         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
116713         * m4/getdate.m4 (gl_GETDATE): Likewise.
116714         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
116715         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
116716         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
116717         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116718         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
116720 2006-07-05  Derek R. Price  <derek@ximbiot.com>
116722         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
116723         All uses of is_space replaced by isspace.
116724         * lib/exit.h: Don't talk about STDC_HEADERS.
116725         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
116726         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
116727         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
116728         replaced by isprint etc.
116729         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
116730         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
116731         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
116732         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
116733         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
116734         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
116736 2006-07-05  Bruno Haible  <bruno@clisp.org>
116738         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
116739         the function exists, before testing against AIX.
116740         Reported by Martin Lambers <marlam@marlam.de>.
116742 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
116744         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
116745         From Mark D. Baushke.
116747 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
116749         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
116750         to the absolute name, not just one, to bypass Sun C 5.8's
116751         "warning: #include of /usr/include/... may be non-portable".
116753 2006-07-04  Eric Blake  <ebb9@byu.net>
116755         * modules/dirname-tests: New test module.
116756         * tests/test-dirname.c: New file, replacing dirname.c
116757         TEST_DIRNAME section that was recently deleted.
116759 2006-07-04  Bruno Haible  <bruno@clisp.org>
116761         Assume ANSI C header files and <ctype.h> functions.
116762         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
116763         (mbsnwidth): Use isprint, iscntrl instead.
116765 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116767         Merge from coreutils.
116768         * MODULES.html.sh: Add xstrtold.
116769         * modules/xstrtold: New file.
116770         * modules/cycle-check (Files): Add lib/same-inode.h.
116771         * modules/dirname (Files): Add m4/double-slash-root.m4.
116772         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
116773         * modules/mkdir-p (Files): Add lib/same-inode.h.
116774         * modules/same (Files): Add lib/same-inode.h.
116776 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116778         * m4/absolute-header.m4: Renamed from full-header-path.m4.
116779         This is to keep the terminology clean; POSIX talks about
116780         "absolute pathnames", not "full pathnames", but the GNU
116781         Coding Standards say to use "path" for something else;
116782         so use "absolute" to keep both sides happy.
116783         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
116784         Set gl_absolute_header, not gl_full_header_path.
116785         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
116786         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
116787         All uses changed.
116789         Merge from coreutils.
116791         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
116793         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
116794         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
116795         want to require the building of c-strtod.o.
116796         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
116797         needs -lm directly.
116798         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
116800         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
116802         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
116803         --as-needed option if available.  Problem reported by Albert Chin in
116804         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
116805         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
116806         cc merely issues a bunch of annoying warnings for --as-needed
116807         (this problem was reported by Bob Proulx).  Also, try linking with
116808         -lm to detect a bug in binutils 2.16 (this problem was reported
116809         by Ralf Wildenhues).
116811         2006-06-18  Jim Meyering  <jim@meyering.net>
116813         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
116814         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
116815         macro.
116816         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
116817         also check for glibc-2.4's abort-inducing bug.
116819         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
116820         Low-probability clean-up should be to use rmdir to get rid of
116821         the just-created directory, not unlink.
116823         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
116824         configure fail, and request a bug report to inform us about it.
116825         Add a comment that, barring reports to the contrary, in 2007 we'll
116826         assume ftruncate is universally available.
116828         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
116830         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
116832         2006-03-12  Jim Meyering  <jim@meyering.net>
116834         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
116835         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
116836         * m4/same.m4 (gl_SAME): Likewise.
116837         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
116839         2006-03-11  Eric Blake  <ebb9@byu.net>
116841         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
116842         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
116843         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
116844         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
116846 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116848         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
116849         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
116850         reported by Mark D. Baushke, one in
116851         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
116853         Merge from coreutils.
116855         * lib/.cppi-disable: Add stdint_.h.
116856         * lib/.cvsignore: Add stdint.h.
116858         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
116860         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
116861         both double and long double versions.
116862         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
116863         * lib/xstrtold.c: New file.
116864         * lib/xstrtod.h (xstrtold): New decl.
116866         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
116868         * lib/filemode.c (setst): Remove.
116869         (strmode): Rewrite to avoid setst.  This makes the code shorter,
116870         (arguably) clearer, and the generated code is a bit smaller on my
116871         Debian GNU/Linux stable x86 host.
116873         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
116875         * lib/filemode.c: Include "filemode.h" first, to test the interface.
116876         Assume that filemode.h includes sys/types.h and sys/stat.h.
116877         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
116878         (ftypelet): Reorder to put common cases first, for efficiency.
116879         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
116880         to do 'M'.
116881         (strmode): Renamed from mode_string, and now stores 12 bytes instead
116882         of 10, for compatibility with FreeBSD.  All callers changed.
116883         (filemodestring): Now stores 12 bytes instead of 10, and sets file
116884         types that can't be deduced solely from st_mode.  First arg is now a
116885         const pointer.
116886         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
116887         (strmode): Renamed from mode_string.
116888         (filemodestring): New decl.
116889         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
116890         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
116891         needed.
116892         (S_ISPORT, S_ISWHT): New macros, if not already defined.
116894         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
116896         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
116897         fsusage.h now does that.  Include fsusage.h first, to test interface.
116898         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
116899         at most one method (the old code could have generated decls that
116900         didn't conform to C89, not that this was ever exercised).
116901         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
116903         2006-03-19  Jim Meyering  <jim@meyering.net>
116905         Work even in a chroot where d_ino values for entries in "/"
116906         don't match the stat.st_ino values for the same names.
116907         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
116908         number, iterate through all entries again, using lstat instead.
116909         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
116910         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
116912         * lib/getcwd.c (__getcwd): Clarify a comment.
116913         Use memcpy in place of a call to strcpy.
116915         2006-03-12  Jim Meyering  <jim@meyering.net>
116917         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
116918         matches that of the current directory (which we're about to chdir ".."
116919         out of), then save the dev-ino of the parent, instead.
116921         * lib/same-inode.h (SAME_INODE): New file/macro.
116922         * lib/chdir-safer.c (SAME_INODE): Remove definition.
116923         Include "same-inode.h", instead.
116924         * lib/same.c: Likewise.
116925         * lib/cycle-check.h: Include "same-inode.h".
116926         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
116927         * lib/cycle-check.c (SAME_INODE): Remove definition.
116928         * lib/root-dev-ino.h: Include "same-inode.h".
116930         2006-03-11  Eric Blake  <ebb9@byu.net>
116932         * lib/same.c (same_name): s/base_name/last_component/
116933         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
116934         * lib/filenamecat.c (file_name_concat): Likewise.
116936         2006-03-11  Eric Blake  <ebb9@byu.net>,
116937                     Paul Eggert  <eggert@cs.ucla.edu>
116939         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
116940         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
116941         drive prefix.
116942         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
116943         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
116944         (last_component): New method.
116945         * lib/dirname.c (dir_len): Determine when drive letters need a
116946         subsequent slash.  Preserve // when it is special.
116947         (dir_name): Don't append dot when drive letter is absolute.
116948         [TEST_DIRNAME]: Move into a full-blown gnulib test.
116949         * lib/basename.c (base_name): New semantics - malloc the result.
116950         Preserve // when it is special.  Preserve relative files that look
116951         like drive letters.
116952         (base_len): Preserve // when it is special.
116953         (last_component): New method, similar to old base_name semantics.
116954         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
116955         base_name.  Strip redundant slashes from ///.
116957 2006-07-03  Jim Meyering  <jim@meyering.net>
116959         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
116960         macro is used before the first cycle_check call.
116962 2006-07-03  Eric Blake  <ebb9@byu.net>
116964         * modules/dirname (Depends-on): Add xstrndup.
116966 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
116968         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
116969         test cases, so that config.log is a bit easier to follow.
116971 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
116973         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
116974         both are 64 bits, since this seems to be the tradition, and this
116975         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
116976         we ever run into a host that prefers long long to long in this
116977         case, we'll need another configure-time test.  Problem reported by
116978         Jim Meyering.
116980 2006-07-02  Eric Blake  <ebb9@byu.net>
116982         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
116984 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
116986         * modules/inttypes (Depends-on): No longer depends on stdint.
116987         * modules/stdint (Description): Say more about assumptions.
116988         Say that the fast types might differ.  Say macros are used.
116989         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
116990         (Makefile.am): Revise list of substituted symbols to match
116991         new stdint.m4.
116992         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
116993         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
116994         * tests/test-stdint.c (verify_same_types)
116995         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
116996         the code conforms to C99/C89.
116997         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
116998         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
117000 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
117002         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
117003         but fix a bug, by requiring at least 64 bits.
117004         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
117005         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
117006         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
117007         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
117009         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
117010         changes.  Make 2.59 a prerequisite.  Check and substitute for
117011         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
117012         inttypes.h.  Do not use special include files; just use the
117013         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
117014         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
117015         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
117016         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
117017         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
117018         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
117019         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
117020         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
117021         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
117022         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
117023         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
117024         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
117025         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
117026         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
117027         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
117028         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
117029         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
117030         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
117031         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
117032         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
117033         WINT_MAX.  Check for C99 conformance more strictly, by detecting
117034         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
117035         not check for things that C99 does not require, e.g., int8_t.  If
117036         a test isn't needed unless <stdint.h> isn't working, and is
117037         unlikely to be needed for any other reason, then don't do it
117038         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
117039         size_t, since we assume C89 freestanding at least.  Do not check
117040         for sig_atomic_t, wchar_t, or wint_t, since the code now does
117041         the right thing even if the types are not defined.  Instead use:
117042         (gl_STDINT_TYPE_PROPERTIES): New macro.
117043         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
117044         testing whether <sys/types.h> clashes, as Autoconf does this for
117045         us now.  All uses removed.
117046         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
117047         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
117048         (gl_CHECK_TYPE_SAME):
117049         Remove; no longer needed.
117050         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
117051         exists, since we'll return 0 anyway in that case.
117052         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
117054 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
117056         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
117057         possible collision with system files.
117058         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
117059         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
117060         WCHAR_MIN and WCHAR_MAX in this case.
117061         (<stddef.h>): Do not include; no longer needed.
117062         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
117063         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
117064         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
117065         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
117066         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
117067         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
117068         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
117069         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
117070         !defined(__c99))]: Include in this case too, since it's harmless
117071         now.
117072         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
117073         dangerous to do so.
117074         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
117075         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
117076         (_STDINT_MIN, _STDINT_MAX): New macros.
117077         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
117078         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
117079         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
117080         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
117081         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
117082         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
117083         macros, not typedefs; this simplifies things quite a bit.
117084         Use long int for all types narrower than int64_t.
117085         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
117086         Define in terms of long long int or int64_t or long int,
117087         not int64_t or int32_t.  This saves some compile-time testing.
117088         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
117089         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
117090         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
117091         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
117092         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
117093         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
117094         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
117095         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
117096         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
117097         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
117098         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
117099         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
117100         undef any previous version and define our own version, for
117101         simplicity and consistency with the new macros for types.
117102         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
117103         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
117104         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
117105         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
117106         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
117107         @WINT_T_SUFFIX@ to keep things simple here.
117108         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
117109         Simplify by assuming typical 8/16/32/64 host, since we're
117110         already doing that elsewhere anyway.
117111         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
117112         and assume long long int is 64 bits if available.  This
117113         speeds up 'configure'.
117115 2006-07-01  Eric Blake  <ebb9@byu.net>
117117         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
117118         Reported by Andreas Buening.
117120 2006-07-01  Eric Blake  <ebb9@byu.net>
117122         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
117124 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
117126         * lib/getaddrinfo.c: fixed typo
117128 2006-06-29  Jim Meyering  <jim@meyering.net>
117130         * modules/strftime (Maintainer): Add my name, since with the
117131         FPRINTFTIME changes strftime.c has forked from glibc.
117133 2006-06-29  Eric Blake  <ebb9@byu.net>
117135         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
117137 2006-06-29  Eric Blake  <ebb9@byu.net>
117139         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
117141 2006-06-29  Eric Blake  <ebb9@byu.net>
117143         * lib/stat_.h: New file.
117145 2006-06-29  Eric Blake  <ebb9@byu.net>
117147         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
117148         unused static function.
117150 2006-06-29  Eric Blake  <ebb9@byu.net>
117152         * doc/functions.texi (Function Portability): Document missing lstat
117153         on mingw.
117155 2006-06-29  Eric Blake  <ebb9@byu.net>
117157         * MODULES.html.sh: Add sys_stat.
117158         * modules/sys_stat: New module.
117159         * modules/mkstemp (Depends-on): Add sys_stat.
117161 2006-06-29  Derek R. Price  <derek@ximbiot.com>
117163         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
117165 2006-06-29  Derek R. Price  <derek@ximbiot.com>
117167         * m4/c-bs-a.m4: Removed.
117169 2006-06-29  Derek R. Price  <derek@ximbiot.com>
117171         * lib/strftime.c: Assume strftime() exists.
117173 2006-06-29  Derek Price  <derek@ximbiot.com>
117175         * modules/c-bs-a: Removed - \a is C89.
117176         * MODULES.html.sh: Remove c-bs-a.
117178 2006-06-29  Bruno Haible  <bruno@clisp.org>
117180         * modules/wcwidth (License): Change to LGPL.
117182 2006-06-28  Simon Josefsson  <jas@extundo.com>
117184         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
117185         on _WIN32.
117187         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
117188         getnameinfo.
117190 2006-06-28  Simon Josefsson  <jas@extundo.com>
117192         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
117194 2006-06-28  Simon Josefsson  <jas@extundo.com>
117196         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
117197         functions there.  It will succeed on Windows XP, but on Windows
117198         2000 and (presumably) earlier, it will fail, and use the internal
117199         re-implementation.
117200         (use_win32_p): New function.
117201         (getaddrinfo): Use strtoul on servname, to support numeric ports.
117202         Support AI_NUMERICSERV to disable getservbyname.
117203         (getnameinfo): New function, only supports
117204         NI_NUMERICHOST|NI_NUMERICSERV for now.
117206         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
117207         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
117208         getnameinfo.
117210 2006-06-28  Eric Blake  <ebb9@byu.net>
117212         * modules/wcwidth: New file.
117213         * modules/mbchar (Depends-on): Add wcwidth.
117214         * modules/mbswidth (Depends-on): Add wcwidth.
117215         * MODULES.html.sh: Add wcwidth.
117217 2006-06-28  Eric Blake  <ebb9@byu.net>
117219         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
117220         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
117222 2006-06-28  Eric Blake  <ebb9@byu.net>
117224         * lib/xvasprintf.h: Fix comments.
117226 2006-06-28  Eric Blake  <ebb9@byu.net>
117228         * lib/mbchar.h (wcwidth): Include wcwidth.h.
117229         * lib/mbswidth.c (wcwidth): Move from here...
117230         * lib/wcwidth.h: ...to this new file.
117232 2006-06-28  Derek R. Price  <derek@ximbiot.com>
117234         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
117236         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
117237         it's obsolete.
117238         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
117240 2006-06-28  Derek R. Price  <derek@ximbiot.com>
117242         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
117243         Autoconf 2.60 says this stuff was obsolete.
117245 2006-06-28  Bruno Haible  <bruno@clisp.org>
117247         * modules/wcwidth (Files): Add m4/wchar_t.m4.
117249 2006-06-28  Bruno Haible  <bruno@clisp.org>
117251         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
117252         gt_TYPE_WCHAR_T.
117254 2006-06-28  Bruno Haible  <bruno@clisp.org>
117256         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
117257         declaration for wcwidth.
117258         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
117260 2006-06-28  Bruno Haible  <bruno@clisp.org>
117262         * lib/mkdtemp.c [MINGW]: Include <io.h>.
117263         (mkdir): Define using _mkdir.
117265 2006-06-28  Bruno Haible  <bruno@clisp.org>
117267         * lib/getaddrinfo.h: Fix POSIX URL.
117268         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
117269         _WIN32.
117270         (use_win32_p): Make static.
117271         (getaddrinfo): Reject service name if it is empty or does not consist
117272         solely of decimal digits, or if its value is > 65535.
117273         (getnameinfo): Remove useless casts.
117275 2006-06-27  Simon Josefsson  <jas@extundo.com>
117277         * modules/sys_select: New file, suggested by Bruno Haible, Paul
117278         Eggert and Martin Lambers.
117280 2006-06-27  Simon Josefsson  <jas@extundo.com>
117282         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
117283         Eggert and Martin Lambers.
117285 2006-06-27  Bruno Haible  <bruno@clisp.org>
117287         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
117288         result to 0, not to empty.
117289         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
117291 2006-06-27  Bruno Haible  <bruno@clisp.org>
117293         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
117295 2006-06-26  Simon Josefsson  <jas@extundo.com>
117297         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
117298         present.
117300 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
117302         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
117303         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
117304         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
117306 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
117308         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
117310 2006-06-26  Bruno Haible  <bruno@clisp.org>
117312         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
117314 2006-06-26  Bruno Haible  <bruno@clisp.org>
117316         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
117318 2006-06-26  Bruno Haible  <bruno@clisp.org>
117320         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
117321         SGI C compiler in pre-C99 mode.
117322         Suggested by Mark D. Baushke and Larry Jones.
117324 2006-06-26  Bruno Haible  <bruno@clisp.org>
117326         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
117327         WCHAR_MAX.
117328         Reported by Mark D. Baushke and Larry Jones.
117330 2006-06-26  Bruno Haible  <bruno@clisp.org>
117332         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
117333         in pre-C99 mode.
117334         Suggested by Mark D. Baushke and Larry Jones.
117336 2006-06-23  Simon Josefsson  <jas@extundo.com>
117337             Bruno Haible  <bruno@clisp.org>
117339         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
117340         Emit mostlyclean-local rule.
117341         (func_emit_tests_Makefile_am): Likewise.
117342         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
117344 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
117346         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
117348 2006-06-23  Bruno Haible  <bruno@clisp.org>
117350         * tests/test-stdint.c: Update to match ISO C 99 Technical
117351         Corrigendum 1.
117353 2006-06-23  Bruno Haible  <bruno@clisp.org>
117355         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
117357 2006-06-23  Bruno Haible  <bruno@clisp.org>
117359         * lib/stdint_.h: Treat IRIX like OpenBSD.
117361 2006-06-23  Bruno Haible  <bruno@clisp.org>
117363         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
117364         ISO C 99 Technical Corrigendum 1.
117366 2006-06-22  Simon Josefsson  <jas@extundo.com>
117368         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
117369         MinGW.
117371 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
117373         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
117374         needed.  Some compiler complained about some of them.  Problem reported
117375         by Larry Jones in
117376         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
117378 2006-06-21  Simon Josefsson  <jas@extundo.com>
117380         * tests/test-getaddrinfo.c: New file.
117382         * modules/getaddrinfo-tests: New file.
117384         * MODULES.html.sh: Add inet_pton.
117386         * modules/inet_pton: New file.
117388 2006-06-21  Simon Josefsson  <jas@extundo.com>
117390         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
117391         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
117392         of using the (limited) gnulib implementation on Windows XP.
117394         * m4/inet_pton.m4: New file.
117396 2006-06-21  Simon Josefsson  <jas@extundo.com>
117398         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
117399         variable.
117401         * lib/socket_.h: Don't define WINVER.
117403         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
117404         slightly modified to work in gnulib.
117406 2006-06-21  Simon Josefsson  <jas@extundo.com>
117408         * doc/gnulib.texi (Windows sockets): Add.
117410 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
117412         * lib/read-file.c (fread_file): Start with buffer allocation of
117413         0 bytes rather than 1 byte; this simplifies the code.
117414         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
117415         code to free buffer and save/restore errno.
117416         (internal_read_file): Remove unused local.
117418 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
117420         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
117421         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
117422         Problem reported by Denis Excoffier in
117423         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
117425 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
117427         * modules/sys_socket, modules/socklen: Include sys/types since
117428         FreeBSD 4.x's sys/socket.h needs it.
117430 2006-06-19  Simon Josefsson  <jas@extundo.com>
117432         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
117434 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
117436         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
117438 2006-06-19  Bruno Haible  <bruno@clisp.org>
117440         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
117441         and FULL_PATH_INTTYPES_H in angle brackets.
117442         Reported by Mark D. Baushke <mdb@gnu.org>.
117444 2006-06-17  Eric Blake  <ebb9@byu.net>
117446         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
117447         errno.
117449 2006-06-17  Bruno Haible  <bruno@clisp.org>
117451         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
117452         <sys/inttypes.h>.
117454 2006-06-17  Bruno Haible  <bruno@clisp.org>
117456         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
117457         whether errno is declared. Assume <errno.h> declares errno.
117459 2006-06-17  Bruno Haible  <bruno@clisp.org>
117461         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
117463 2006-06-17  Bruno Haible  <bruno@clisp.org>
117465         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
117466         problem on Solaris 2.5.1.
117468 2006-06-16  Eric Blake  <ebb9@byu.net>
117470         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
117471         * lib/unicodeio.c [!defined errno]: Likewise.
117472         * lib/strtol.c [!defined errno]: Likewise.
117473         * lib/strtod.c [!defined errno]: Likewise.
117475 2006-06-15  Eric Blake  <ebb9@byu.net>
117477         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
117479 2006-06-15  Eric Blake  <ebb9@byu.net>
117481         * config/srclist.txt (ssize_t.m4): Lose sync.
117483 2006-06-15  Bruno Haible  <bruno@clisp.org>
117485         * modules/stdint (Files): Include m4/full-header-path.m4,
117486         m4/size_max.m4, m4/wchar_t.m4.
117487         (Makefile.am): Many more substitutions.
117488         * modules/stdint-tests: New file.
117489         * tests/test-stdint.c: New file.
117491 2006-06-15  Bruno Haible  <bruno@clisp.org>
117493         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
117494         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
117495         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
117496         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
117497         gl_CHECK_TYPE_SAME): New macros.
117499 2006-06-15  Bruno Haible  <bruno@clisp.org>
117501         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
117503 2006-06-15  Bruno Haible  <bruno@clisp.org>
117505         * lib/stdint_.h: Rewritten to be fully auto-configured.
117506         Fixes bug on HP-UX/IA64.
117508 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
117510         * lib/getdate.y (__attribute__): Don't define if already defined.
117511         Problem reported by Larry Jones.
117512         * lib/utimens.c (__attribute__): Likewise.
117514 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
117516         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
117517         reported by Andreas Schwab.
117519 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117520             Bruno Haible  <bruno@clisp.org>
117522         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
117523         check for the declaration of strnlen and a run test that exposes the
117524         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
117525         rpl_strndup.
117527 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117528             Bruno Haible  <bruno@clisp.org>
117530         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
117532 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117534         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
117535         compile test, for Tru64 4.0D.
117537 2006-05-28  Karl Berry  <karl@gnu.org>
117539         * config/srclist.txt (printf-args.c): lose sync.
117541 2006-05-26  Martin Lambers  <marlam@marlam.de>
117543         * lib/getpass.c: Updates the test for the native W32 API, and adds
117544         missing includes, thus fixing compilation warnings.
117546 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
117548         * lib/exclude.c (exclude_fnmatch): New function.
117549         (excluded_file_name): Call exclude_fnmatch.
117550         * lib/exclude.h (excluded_file_name): New prototype
117552 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
117554         * lib/tempname.c (small_open, large_open): New macros.
117555         (__open, __open64) [!_LIBC]: Remove.
117556         (__gen_tempname): Use small_open and large_open instead of __open
117557         and __open64.  This fixes a portability bug on HP-UX 11.11i
117558         reported by Simon Wing-Tang in
117559         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
117561 2006-05-24  Bruno Haible  <bruno@clisp.org>
117563         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
117564         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
117565         Reported by Thorsten Maerz <torte@netztorte.de> via
117566         Aaron Stone <aaron@serendipity.cx>.
117568 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
117570         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
117571         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
117572         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
117573         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
117574         not really conditional on the cache.
117575         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
117577 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
117579         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
117580         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
117581         (my_usleep): Don't mishandle maximum value.
117583 2006-05-19  Jim Meyering  <jim@meyering.net>
117585         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
117587 2006-05-17  Bruno Haible  <bruno@clisp.org>
117589         Cygwin portability.
117590         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
117592 2006-05-17  Bruno Haible  <bruno@clisp.org>
117594         * lib/stdint_.h: Fix recognition of Cygwin.
117596 2006-05-15  Bruno Haible  <bruno@clisp.org>
117598         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
117599         on libtool patch by Ralf Wildenhues.
117601 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
117603         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
117604         test for C99 conformance; (bool) 0.5 is an integer constant
117605         expression, but (bool) -0.5 is not.  Problem reported by Fedor
117606         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
117608 2006-05-11  Simon Josefsson  <jas@extundo.com>
117610         * m4/xvasprintf.m4: Fix obvious typo.
117612 2006-05-11  Jim Meyering  <jim@meyering.net>
117614         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
117615         James Lemley.
117617 2006-05-10  Simon Josefsson  <jas@extundo.com>
117619         * lib/md4.c: Typo fix, update copyright years.
117620         (K1, K2): Don't use L because it turn computations into 64-bit on
117621         64-bit platforms.
117623 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
117625         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
117626         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
117627         unwanted sign propagation, e.g., on hosts with 64-bit int.
117628         There still are some problems with reeelly weird theoretical hosts
117629         (e.g., 33-bit int) but it's not worth worrying about now.
117630         * lib/sha1.c (rol): Likewise.
117631         (K1, K2, K3, K4): Remove unnecessary L suffix.
117633 2006-05-10  Bruno Haible  <bruno@clisp.org>
117635         * lib/des.c: Cast to avoid warnings.
117637 2006-05-09  Bruno Haible  <bruno@clisp.org>
117639         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
117640         (Depends-on): Depend also on xsize, stdarg.
117641         (configure.ac): Add gl_XVASPRINTF.
117643 2006-05-09  Bruno Haible  <bruno@clisp.org>
117645         * m4/xvasprintf.m4: New file.
117647 2006-05-09  Bruno Haible  <bruno@clisp.org>
117649         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
117650         (EOVERFLOW): Define fallback value.
117651         (xstrcat): New function.
117652         (xvasprintf): Recognize the special case of a string concatenation.
117654 2006-05-08  Eric Blake  <ebb9@byu.net>
117656         * gnulib-tool (func_version): Base copyright year on CVS date.
117657         (func_emit_copyright_notice): New function.
117658         (func_emit_lib_Makefile_am): Use it.
117659         (func_emit_tests_Makefile_am): Likewise.
117660         (func_import): Likewise.
117662 2006-05-08  Bruno Haible  <bruno@clisp.org>
117664         * modules/stdarg: New file.
117665         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
117667 2006-05-08  Bruno Haible  <bruno@clisp.org>
117669         * m4/stdarg.m4: New file, from GNU gettext.
117671 2006-05-08  Bruno Haible  <bruno@clisp.org>
117673         * config/srclist.txt (build-aux/config.rpath): different from latest
117674         release.
117676 2006-05-08  Bruno Haible  <bruno@clisp.org>
117678         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
117680 2006-05-05  Jim Meyering  <jim@meyering.net>
117682         * m4/warning.m4: New file, derived from bison's file by the same name.
117684 2006-05-03  Bruno Haible  <bruno@clisp.org>
117686         * lib/stdint_.h: Shorter URL.
117687         * lib/inttypes.h: Likewise.
117689 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117691         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
117693 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117695         * lib/verify.h: Document the internals better.  Most of this change
117696         was written by Bruno Haible.
117698 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117700         * doc/verify.texi: New file, partly based on a proposal by
117701         Bruno Haible.
117703 2006-05-02  Bruno Haible  <bruno@clisp.org>
117705         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
117706         test from here...
117707         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
117709 2006-04-29  Bruno Haible  <bruno@clisp.org>
117711         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
117712         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
117714 2006-04-29  Bruno Haible  <bruno@clisp.org>
117716         * gnulib-tool: Make --update option actually work.
117718 2006-04-29  Bruno Haible  <bruno@clisp.org>
117720         * doc/gcd.texi: New file.
117721         * doc/gnulib.texi: Include it.
117723 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
117725         * lib/getdate.y (get_date): When adding relative date, start with the
117726         initial time, not with the result of the first mktime call.
117728 2006-04-25  Bruno Haible  <bruno@clisp.org>
117730         * gnulib-tool (func_import): Output the include directives in three
117731         blocks, sorted separately.
117732         Reported by Ben Pfaff <blp@cs.stanford.edu>.
117734 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
117736         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
117737         to define main with arguments, for C++.  Reported by Eric Blake.
117738         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
117739         Prefer 'int main ()' to 'int main (void)', for C++.
117740         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
117741         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
117742         for 'main', for C99 and C++.
117744 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
117746         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
117747         Don't assume that exit status -1 is valid.
117748         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
117749         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
117750         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
117751         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
117752         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
117753         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
117754         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
117755         functions can be used without declaring them, or that you can
117756         exit with status -1.
117757         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
117759 2006-04-24  Karl Berry  <karl@gnu.org>
117761         * config/srclist.txt (longdouble.m4): sync lost.
117763 2006-04-24  Eric Blake  <ebb9@byu.net>
117765         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
117767 2006-04-24  Bruno Haible  <bruno@clisp.org>
117769         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
117770         poll() implementation in AIX.
117771         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117773 2006-04-24  Bruno Haible  <bruno@clisp.org>
117775         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
117776         assigned exactly once.
117778 2006-04-23  Claudio Fontana  <claudio@gnu.org>
117779             Bruno Haible  <bruno@clisp.org>
117781         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
117782         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
117783         for AM_CPPFLAGS.
117785 2006-04-23  Bruno Haible  <bruno@clisp.org>
117787         * modules/copy-file: Depend on unistd.
117788         * modules/execute: Likewise.
117789         * modules/fatal-signal: Likewise.
117790         * modules/findprog: Likewise.
117791         * modules/mkdtemp : Likewise.
117792         * modules/pipe: Likewise.
117793         * modules/wait-process: Likewise.
117795 2006-04-23  Bruno Haible  <bruno@clisp.org>
117797         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
117798         condition was already detected.
117799         Reported by Ben Pfaff <blp@cs.stanford.edu>.
117801 2006-04-23  Bruno Haible  <bruno@clisp.org>
117803         * lib/copy-file.c: Include <unistd.h> unconditionally.
117804         * lib/execute.c: Likewise.
117805         * lib/fatal-signal.c: Likewise.
117806         * lib/findprog.c: Likewise.
117807         * lib/mkdtemp.c: Likewise.
117808         * lib/pipe.h: Likewise.
117809         * lib/pipe.c: Likewise.
117810         * lib/wait-process.h: Likewise.
117812 2006-04-23  Bruno Haible  <bruno@clisp.org>
117814         * gnulib-tool (func_usage): Fix --import description. Document
117815         --update.
117816         (func_import): Create temporary file in a temporary directory, if
117817         --dry-run is specified. Silence errors from 'grep' when there are no
117818         m4 files in $m4dir.
117819         (func_create_testdir): Silence errors from 'grep' when there are no
117820         m4 files in $m4dir.
117821         Reported by Karl Berry <karl@freefriends.org>.
117823 2006-04-20  Bruno Haible  <bruno@clisp.org>
117825         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
117826         one argument, so that the code will be portable to Autoconf 2.60.
117827         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
117828         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
117829         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
117831 2006-04-19  Derek Price  <derek@ximbiot.com>
117832             Eric Blake  <ebb9@byu.net>
117834         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
117835         rather than "/full/path.h".  Update comment to match.  Shorten &
117836         generalize m4_translit call via AS_TR_CPP.
117838 2006-04-19  Derek Price  <derek@ximbiot.com>
117839             Eric Blake  <ebb9@byu.net>
117841         * lib/inttypes.h: Correct grammar in comment.
117843 2006-04-18  Derek Price  <derek@ximbiot.com>
117844             Paul Eggert  <eggert@cs.ucla.edu>
117846         * modules/inttypes: New file.
117847         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
117849 2006-04-18  Derek Price  <derek@ximbiot.com>
117850             Paul Eggert  <eggert@cs.ucla.edu>
117852         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
117853         New files.
117855 2006-04-18  Derek Price  <derek@ximbiot.com>
117856             Paul Eggert  <eggert@cs.ucla.edu>
117858         * lib/inttypes.h: New file.
117859         * lib/strtoimax.c: Assume <inttypes.h>.
117861 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
117863         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
117864         isn't mounted.  Problem reported by Kir Kolyshkin.
117866 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
117868         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
117869         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
117870         Derek R. Price.
117871         * lib/regex.h (RE_DUP_MAX): Update comment to match current
117872         implementation.
117874 2006-04-12  Eric Blake  <ebb9@byu.net>
117876         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
117877         is now done automatically by the corresponding Autoconf macro.
117879 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
117881         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
117882         time_r.h.
117884 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117886         Merge regex changes from libc, removing some of our
117887         POSIX-conformance changes that were rejected and redoing them in a
117888         less-intrusive way.
117890         * lib/regcomp.c (re_compile_internal, init_dfa):
117891         Length arg is now size_t, not Idx.  All uses changed.
117892         (peek_token): Forward decl now says internal_function.
117893         (__re_error_msgid, __re_error_msgid_idx):
117894         Now static rather than extern with attribute_hidden.
117895         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
117896         For some reason libc prefers K&R style defns for external functions.
117897         (regerror) [!defined _LIBC]: Likewise.
117898         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
117899         (seek_collating_symbol_entry, lookup_collation_sequence_value):
117900         (build_range_exp, build_collating_symbol):
117901         Use K&R-style defn.
117902         (re_compile_fastmap): Use '\0' to memset, not 0.
117903         (utf8_sb_map): Make the calculations more obvious.
117904         (init_dfa, parse_bracket_exp, build_charclass_op):
117905         Call calloc and cast result, as glibc does.
117906         (init_word_char, fetch_token, peek_token, peek_token_bracket):
117907         (build_range_exp, build_collating_symbol):
117908         Now internal functions.
117910         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
117912         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
117913         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
117914         Don't depend on VMS; depend on __VMS instead, for POSIX
117915         namespace cleanness.
117916         (regoff_t): Define to ssize_t, not long int.
117918         Remove the REG_ macros named below.  Instead, make the old names
117919         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
117920         __USE_GNU_REGEX.
117921         (REG_BACKSLASH_ESCAPE_IN_LISTS):
117922         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
117923         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
117924         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
117925         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
117926         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
117927         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
117928         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
117929         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
117930         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
117931         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
117932         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
117933         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
117934         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
117935         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
117936         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
117937         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
117938         (REG_NREGS):
117939         Remove.  All uses replaced by the old RE_* names.
117940         (RE_BACKSLASH_ESCAPE_IN_LISTS):
117941         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
117942         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
117943         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
117944         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
117945         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
117946         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
117947         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
117948         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
117949         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
117950         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
117951         Don't bother having these macros be independent of each others'
117952         values, since they no longer exist in the POSIX name space.
117954         Rename the following member names back to their old names,
117955         unless !__USE_GNU_REGEX.  All uses changed back.
117956         (buffer): Renamed from re_buffer.
117957         (allocated): Renamed from re_allocated.
117958         (used): Renamed from re_used.
117959         (syntax): Renamed from re_syntax.
117960         (fastmap): Renamed from re_fastmap.
117961         (translate): Renamed from re_translate.
117962         (can_be_null): Renamed from re_can_be_null.
117963         (regs_allocated): Renamed from re_regs_allocated.
117964         (fastmap_accurate): Renamed from re_fastmap_accurate.
117965         (no_sub): Renamed from re_no_sub.
117966         (not_bol): Renamed from re_not_bol.
117967         (not_eol): Renamed from re_not_eol.
117968         (newline_anchor): Renamed from re_newline_anchor.
117969         (num_regs): Renamed from rm_num_regs.
117970         (start): Renamed from rm_start.
117971         (end): Renamed from rm_end.
117973         (free_state): Move up a bit.
117975         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
117976         #define to be empty.
117977         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
117978         when that is what is intended.
117979         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
117980         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
117981         (MAX): New macro.
117982         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
117983         All uses changed back to re_malloc, etc.  It's now the caller's
117984         responsibility to check for overflow; all callers changed.
117985         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
117986         (re_x2nrealloc): Remove.
117987         (free_state): Remove decl.
117989         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
117990         (re_set_registers, re_exec):
117991         Use K&R-style defn.
117993         2006-01-31  Roland McGrath  <roland@redhat.com>
117995         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
117996         Reported by Mike Frysinger <vapier@gentoo.org>.
117998         2006-01-15  Andreas Jaeger  <aj@suse.de>
118000         [BZ #1950]
118001         * lib/regex_internal.c (re_string_reconstruct): Adjust for
118002         build_wcs_upper_buffer change.
118003         (build_wcs_upper_buffer): Change return type.
118005         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
118007         * lib/regex_internal.h: Include <stdint.h> if available.
118009         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
118011         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
118013         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
118015         * lib/regcomp.c: Adjust for changed secondary hash function.
118017         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
118019         * lib/regex.h: Pretty printing.
118020         Clean up namespace a bit.
118022         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
118024         * lib/regexec.c (update_cur_sifted_state, check_arrival,
118025         check_arrival_add_next_nodes): Avoid using uninitialized variable.
118027         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
118028                     Ulrich Drepper  <drepper@redhat.com>
118030         [BZ #1302]
118031         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
118032         changed.
118033         (bitset_word_t): Renamed from bitset_word.  All uses changed.
118035         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
118037         [BZ #281]
118038         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
118039         * lib/regcomp.c: Remove unnecessary uses of
118040         unsigned RE_TRANSLATE_TYPE.
118041         * lib/regex_internal.h: Likewise.
118042         * lib/regex_internal.c: Likewise.
118043         * lib/regexec.c: Likewise.
118044         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
118046         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
118048         * lib/regexec.c (find_recover_state): Remove unnecessary
118049         initialization.
118050         (transit_state_bkref): Make DFA a const pointer.
118051         (get_subexp): Likewise.
118052         (check_arrival): Likewise.
118053         (update_cur_sifted_state): Likewise.
118054         (re_search_internal): Likewise.
118055         (prune_impossible_nodes): Likewise.
118056         (acquire_init_state_context): Likewise.
118057         (proceed_next_node): Likewise.
118058         (set_regs): Likewise.
118059         (free_fail_stack_return): Likewise.
118060         (check_arrival_expand_ecl): Mark DFA parameter as const.
118061         (check_arrival_expand_ecl_sub): Likewise.
118062         (check_subexp_limits): Likewise.
118063         (sub_epsilon_src_nodes):  Likewise.
118064         (add_epsilon_src_nodes):  Likewise.
118065         (merge_state_array): Likewise.
118066         (update_regs): Likewise.
118067         (build_trtable): Likewise.
118068         (sift_states_backward): Mark MCTX parameter as const.
118069         (build_sifted_states): Likewise.
118070         (update_cur_sifted_state): Likewise.
118071         (sift_states_mkref): Likewise.
118072         (check_arrival_expand_ecl): Mark eclosure as const.
118073         (check_dst_limits_calc_pos_1): Likewise.
118074         * lib/regex_internal.h (re_match_context_t): Make dfa a const
118075         pointer.
118077         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
118079         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
118080         (transit_state_sb): Likewise.
118081         (transit_state_mb): Likewise.
118082         (sift_states_iter_mb): Likewise.
118083         (check_arrival_add_next_nodes): Likewise.
118084         (check_node_accept_bytes): Change first parameter to pointer-to-const.
118085         [_LIBC] (re_search_2_stub): Use mempcpy.
118087         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
118088         mbrtowc for very simple UTF-8 case.
118090         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
118091         a pointer-to-const.
118092         (re_acquire_state_context): Likewise.
118093         * lib/regex_internal.h: Adjust prototypes.
118095         * lib/regex.c: Prevent using C++ compilers.
118097         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
118098         (re_acquire_state_context): Likewise.
118100 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
118102         * modules/regex (Depends-on): Add ssize_t.
118104 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
118106         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
118107         translation table.
118109 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
118111         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
118113 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
118114             Bruno Haible  <bruno@clisp.org>
118116         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
118117         <sys/types.h> and <inttypes.h>.
118119 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118121         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
118122         `__error_t_defined', so argp.h will not typedef the former.
118124 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
118126         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
118127         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
118128         glibc names.  Even if glibc is changed to conform to POSIX, the
118129         traditional names will be available anyway, since regex depends on
118130         the extensions module.  Also, fix a longstanding typo in the
118131         implementation of Spencer ERE test #75 from grep 2.3.  Problems
118132         reported by Emanuele Giaquinta.  Also, change sense of cached
118133         variable, so that the message makes sense.
118135 2006-03-24  Simon Josefsson  <jas@extundo.com>
118137         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
118138         including some doc fixes.
118139         (base64_encode_alloc): Fix +1 bug on allocation failures.
118141 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118143         * lib/base64.c (base64_encode): Do not read past end of array with
118144         unsanitized input on systems with CHAR_BIT > 8.
118146 2006-03-24  Eric Blake  <ebb9@byu.net>
118148         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
118150 2006-03-22  Karl Berry  <karl@gnu.org>
118152         * config/srclist.txt (*setenv.[ch]): get from coreutils.
118153         * config/srclistvars.sh (COREUTILS): new var.
118155 2006-03-17  Jim Meyering  <jim@meyering.net>
118157         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
118158         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
118160 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
118162         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
118163         no longer needs it.  Instead, check that regoff_t is as least
118164         as wide as ptrdiff_t.
118166         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
118167         so that our regex.h stays compatible with the installed regex.
118168         This is helpful for installers who configure --without-included-regex.
118169         Problem reported by Emanuele Giaquinta.
118171 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
118173         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
118174         Typedef to long int, not to off_, as POSIX will likely change
118175         in that direction.
118177 2006-03-15  Eric Blake  <ebb9@byu.net>
118179         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
118181 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
118183         * lib/argp-help.c (validate_uparams): Fix typo
118184         * lib/argp-parse.c (argp_default_options): Consistently begin help
118185         messages with a lowercase letter.
118187 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
118189         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
118190         overrun buffers and shouldn't be used (much as gets shouldn't be
118191         used).
118192         * lib/time_r.c (asctime_r, ctime_r): Likewise.
118194 2006-03-08  Simon Josefsson  <jas@extundo.com>
118196         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
118197         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118199 2006-03-08  Simon Josefsson  <jas@extundo.com>
118201         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
118202         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118204 2006-03-08  Simon Josefsson  <jas@extundo.com>
118206         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
118207         signal that configure disabled the device.
118209 2006-03-08  Simon Josefsson  <jas@extundo.com>
118211         * build-aux/maint.mk: Fix refresh-po, to handle no translated
118212         languages.
118214 2006-03-07  Simon Josefsson  <jas@extundo.com>
118216         * modules/getopt (Depends-on): Add unistd.
118218         * modules/unistd: New file.
118220 2006-03-07  Simon Josefsson  <jas@extundo.com>
118222         * modules/gc-random: New file.
118224 2006-03-07  Simon Josefsson  <jas@extundo.com>
118226         * m4/unistd_h.m4: New file.
118228 2006-03-07  Simon Josefsson  <jas@extundo.com>
118230         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
118231         test to be side-effect free by storing the result in the cache
118232         variable gl_cv_lib_readline, and moving the assignment of
118233         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
118234         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118236 2006-03-07  Simon Josefsson  <jas@extundo.com>
118238         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
118239         error on missing devices (the functions will return an error).
118241         * m4/gc.m4: Move random stuff to gc-random.m4
118243 2006-03-07  Simon Josefsson  <jas@extundo.com>
118245         * lib/unistd_.h: New file.
118247 2006-03-07  Simon Josefsson  <jas@extundo.com>
118249         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
118251 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
118253         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
118254         Problem reported by Juan Manuel Guerrero.
118256 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
118258         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
118259         the unistd module.
118260         * lib/getlogin_r.c: Likewise.
118261         * lib/getlogin_r.h: Likewise.
118262         * lib/glob.c: Likewise.
118263         * lib/pagealign_alloc.c: Likewise.
118264         * lib/unistd_.h: Remove; no longer needed.
118266 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
118268         * MODULES.html.sh (Support for systems lacking POSIX:2001):
118269         Add unistd.
118270         * modules/c-stack (Depends-on): Add unistd.
118271         * modules/getlogin_r: Likewise.
118272         * modules/glob: Likewise.
118273         * modules/pagealign_alloc: Likewise.
118274         * modules/unistd (Files): Remove lib/unistd_.h.
118275         (EXTRA_DIST): Remove.
118276         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
118277         need unistd_.h.
118278         (MOSTLYCLEANFILES): Remove unistd.h-t.
118280 2006-03-03  Simon Josefsson  <jas@extundo.com>
118282         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
118284 2006-03-03  Simon Josefsson  <jas@extundo.com>
118286         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
118287         libidn and bison.
118289 2006-03-03  Simon Josefsson  <jas@extundo.com>
118291         * build-aux/maint.mk: Add indent target.
118293 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
118295         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
118296         our replacement poll.h in any case, to avoid a differing
118297         declaration from a system header.  Seen on AIX.
118299 2006-03-01  Simon Josefsson  <jas@extundo.com>
118301         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
118302         <kasal@ucw.cz>.
118304 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
118306         * modules/gettime (Depends-on): Add extensions module.
118307         * modules/nanosleep (Depends-on): Likewise.
118308         * modules/settime (Depends-on): Likewise.
118310 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
118312         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
118313         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
118314         pedantically.
118315         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
118316         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
118318         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
118319         not "==".  Reported by Ralf Wildenhues.
118321 2006-03-01  Karl Berry  <karl@gnu.org>
118323         * doc/Copyright/request-*: new files, synced from gnuorg.
118325 2006-03-01  Karl Berry  <karl@gnu.org>
118327         * config/srclist.txt (Copyright/*): new entries.
118329 2006-02-28  Simon Josefsson  <jas@extundo.com>
118331         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
118333 2006-02-27  Simon Josefsson  <jas@extundo.com>
118335         * lib/base64.h: Indent #define's.  From Jim Meyering
118336         <jim@meyering.net>.
118338 2006-02-27  Jim Meyering  <jim@meyering.net>
118340         Revert the change of 2006-02-24, so these files can continue
118341         to be sync'd from gettext.
118342         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
118343         of `config.h'.
118345 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
118347         * modules/intprops: New file.
118348         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
118349         Add intprops.
118350         * modules/getloadavg (Files): Remove lib/intprops.h.
118351         (Depends-on): Add intprops.
118352         * modules/human: Likewise.
118353         * modules/inttostr: Likewise.
118354         * modules/openat: Likewise.
118355         * modules/sig2str: Likewise.
118356         * modules/userspec: Likewise.
118357         * modules/utimecmp: Likewise.
118358         * modules/xnanosleep: Likewise.
118359         * modules/xstrtol: Likewise.
118361 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
118363         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
118364         * modules/lock-tests (TESTS): Use $(EXEEXT).
118365         * modules/tls-tests: Likewise.
118366         * modules/argp-tests: Likewise.
118367         (check_PROGRAMS): New var, replacing...
118368         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
118370 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118372         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
118373         `config.h'.
118375 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
118377         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
118379 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118381         Sync from coreutils.
118382         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
118383         gl_CHDIR_SAFER.
118385 2006-02-22  Jim Meyering  <jim@meyering.net>
118387         Sync from coreutils.
118388         * m4/chdir-safer.m4: New file.
118390 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
118392         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
118393         AT_FDCWD exceeds INT_MAX.
118394         * lib/openat.h (AT_FDCWD): Likewise.
118396 2006-02-17  Eric Blake  <address@hidden>
118398         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
118400 2006-02-16  Simon Josefsson  <jas@extundo.com>
118402         * modules/getaddrinfo (Depends-on): Add sys_socket.
118404 2006-02-15  Simon Josefsson  <jas@extundo.com>
118406         * build-aux/maint.mk: Add dsyntax-check rule.
118408 2006-02-15  Eric Blake  <ebb9@byu.net>
118410         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
118411         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
118412         'present but cannot compile' warnings on cygwin.
118413         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
118414         use ws2tcpip.h if sys/socket.h works.
118415         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
118416         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
118418 2006-02-14  Simon Josefsson  <jas@extundo.com>
118420         * modules/maintainer-makefile (Files): Rename.
118422         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
118423         and (the local) Makefile.cfg to maint-cfg.mk.
118425         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
118426         to the latter.
118428         * modules/maintainer-makefile: New module.
118430         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
118431         severaly stripped to make it possible to build it up from scratch
118432         with reliable tests.
118434         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
118435         fixes to permit overriding the default actions when configure and
118436         makefile are not available.
118438 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
118440         Sync from coreutils.
118441         * modules/lstat (Depends-on): Don't depend on xalloc.
118442         (License): Change from GPL to LGPL, since this is now simply a
118443         replacement for a libc function.
118445 2006-02-14  Jim Meyering  <jim@meyering.net>
118447         Sync from coreutils.
118449         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
118450         failure on deficient systems, and simplify gnulib lgpl dependencies.
118451         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
118452         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
118454         * lib/xalloc-die.c: Remove unused definition of N_.
118456 2006-02-14  Jim Meyering  <jim@meyering.net>
118458         Sync from coreutils.
118459         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
118460         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
118461         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
118462         double-quote uses of that variable, to accommodate the rare case in
118463         which getmntent is available in none of the libraries checked.  This
118464         happens at least on FreeBSD 5.0.
118466 2006-02-13  Simon Josefsson  <jas@extundo.com>
118468         * gnulib-tool (Usage): Fix --import, from
118469         karl@freefriends.org (Karl Berry).
118471 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
118473         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
118475 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
118477         * lib/argp-namefrob.h: Restore changes accidentally lost during the
118478         "autoupdate" on 2005-12-12.
118480 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
118482         * modules/closeout (Depends-on): Remove atexit.
118484 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
118486         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
118487         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
118489 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
118491         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
118492         __EXTENSIONS__ if this causes compilation to fail.  Problem
118493         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
118494         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
118496 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
118498         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
118499         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
118500         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
118501         All uses changed.
118503 2006-01-26  Simon Josefsson  <jas@extundo.com>
118505         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
118506         prototype is visible on mingw32.
118508         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
118509         for mingw32.
118511         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
118512         mingw32).
118514 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
118516         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
118517         attempt to open for write; this always fails, at least on POSIX
118518         hosts.  This reinstates the 2006-01-09 change, which was
118519         inadvertently removed.
118521 2006-01-26  Bruno Haible  <bruno@clisp.org>
118523         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
118524         Reported by Paul Eggert.
118526 2006-01-26  Bruno Haible  <bruno@clisp.org>
118527             Paul Eggert  <eggert@cs.ucla.edu>
118529         * lib/stdbool_.h (_Bool)
118530         [(! (defined __cplusplus || defined __BEOS__)
118531           && !defined __GNUC__
118532           && !(defined __HP_cc || defined __xlc__
118533                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
118534                || defined __sgi))]:
118535         #define to signed char in these cases too; this simplifies
118536         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
118537         etc., separately) and makes it more conservative.
118539 2006-01-25  Simon Josefsson  <jas@extundo.com>
118541         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
118542         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
118543         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
118545 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
118547         * lib/argp-namefrob.h: Bugfix. Remove stray #
118549 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
118551         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
118552         so that we test the test.
118553         Check for yet another HP-UX cc bug involving *bool |= bool.
118555 2006-01-25  Karl Berry  <karl@gnu.org>
118557         * config/srclist.txt (vasnprintf.c): sync lost.
118559 2006-01-25  Jim Meyering  <jim@meyering.net>
118561         Sync from the stable (b5) branch of coreutils:
118563         * lib/fts.c (fts_children): Don't let close() clobber errno from
118564         failed fchdir().
118566         * lib/fts.c (fts_stat): When following a symlink-to-directory,
118567         don't necessarily interpret stat-fails+lstat-succeeds as indicating
118568         a dangling symlink.  That can also happen at least for ELOOP.
118569         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
118570         FYI, this bug predates the inclusion of fts.c in coreutils.
118572         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
118573         in their own block, so pre-c99 compilers don't object.
118575         Avoid the double-free (first in fts_read, second in fts_close) that
118576         would occur when an `active' directory is made inaccessible (e.g.,
118577         via chmod a-x) during a traversal.
118578         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
118579         before returning.  Reproduce this failure by
118580         mkdir -p a/b; cd a; chmod a-x . b
118581         Reported by Stavros Passas.
118583 2006-01-25  Jim Meyering  <jim@meyering.net>
118585         * lib/fileblocks.c: Remove more useless parentheses.
118586         * lib/readutmp.h: Likewise.
118588 2006-01-25  Bruno Haible  <bruno@clisp.org>
118590         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
118591         warnings.
118592         Reported by Paul Eggert.
118594 2006-01-25  Bruno Haible  <bruno@clisp.org>
118596         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
118597         rid of a trap command. For Solaris sh.
118598         Reported by Mark D. Baushke <mdb@gnu.org>.
118600 2006-01-24  Simon Josefsson  <jas@extundo.com>
118602         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
118603         Bruno.
118605 2006-01-24  Karl Berry  <karl@gnu.org>
118607         * config/srclist.txt (argp-namefrob.h): sync lost.
118609 2006-01-24  Jim Meyering  <jim@meyering.net>
118611         * modules/openat (Files): Add lib/intprops.h.
118612         From Mark D. Baushke.
118614 2006-01-24  Jim Meyering  <jim@meyering.net>
118616         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
118617         Reported by Mark D. Baushke.
118619 2006-01-24  Jim Meyering  <jim@meyering.net>
118621         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
118623 2006-01-24  Bruno Haible  <bruno@clisp.org>
118625         * modules/strnlen (Maintainer): Change from glibc to all.
118627 2006-01-24  Bruno Haible  <bruno@clisp.org>
118629         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
118630         Patch by Paul Eggert.
118632 2006-01-24  Bruno Haible  <bruno@clisp.org>
118634         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
118635         already has it.
118636         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
118637         2005-11-26.
118639         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
118640         'signed char' to avoid problems with the built-in _Bool type.
118641         Reported by Paul Eggert on 2005-11-26.
118643 2006-01-24  Bruno Haible  <bruno@clisp.org>
118645         * gnulib-tool (func_import): Avoid constructing complicated sed
118646         expressions inside backquote.
118647         Report and solution by Mark D. Baushke <mdb@gnu.org>.
118649 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
118651         These changes imported from libc.
118652         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
118653         test and two separate function calls.
118654         * lib/strndup.c (__strndup): Add libc_hidden_def.
118656 2006-01-23  Simon Josefsson  <jas@extundo.com>
118658         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
118659         Remove the test_*_SOURCES variable: automake infers it by default.
118660         * modules/tls-tests: Likewise.
118662 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118664         Work around porting bugs reported by Dieter in
118665         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
118666         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
118667         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
118668         Include "getopt.h" first, to check interface.
118669         (getenv): Declare only if defined HAVE_DECL_GETENV &&
118670         !HAVE_DECL_GETENV.
118671         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
118672         (__strndup): Revert to K&R-style function dfns, the glibc style.
118673         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
118674         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
118675         Include strnlen.h first, to get prototype properly.
118676         (strnlen): Renamed from __strnlen.
118677         Remove weak alias.
118679 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118681         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
118683 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118685         * config/srclist.txt: Adjust to reflect glibc reorganization.
118686         This affects only comments.
118688 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
118690          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
118691          Reported by Bruce Korb <bkorb@gnu.org>.
118693 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
118695         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
118696         to pacify gcc -Wswitch-default.
118698 2006-01-22  Bruno Haible  <bruno@clisp.org>
118700         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
118701         temporary buffer for sprintf, take into account the precision also
118702         for 'd', 'i', 'u', 'o', 'x', 'X'.
118704 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
118706         * modules/argp-tests: New module
118707         * tests/test-argp.c: New file
118708         * tests/test-argp-2.sh: New file
118710 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
118712         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
118713         (__argp_base_name): Removed
118714         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
118715         typo.
118716         (__argp_base_name): Provide macro definition or extern declaration
118717         depending on the configuration
118719 2006-01-20  Simon Josefsson  <jas@extundo.com>
118721         * modules/inet_ntop (Depends-on): Depend on sys_socket.
118723 2006-01-20  Simon Josefsson  <jas@extundo.com>
118725         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
118727 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
118729         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
118730         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
118731         Suggested by Bruno Haible.
118733 2006-01-20  Karl Berry  <karl@gnu.org>
118735         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
118736         until changes propagate, I guess.
118738 2006-01-19  Simon Josefsson  <jas@extundo.com>
118740         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
118742 2006-01-19  Simon Josefsson  <jas@extundo.com>
118744         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
118746 2006-01-19  Simon Josefsson  <jas@extundo.com>
118748         * gnulib-tool: Set check_PROGRAMS.
118750         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
118751         modules/des-tests, modules/gc-arcfour-tests,
118752         modules/gc-arctwo-tests, modules/gc-des-tests,
118753         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
118754         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
118755         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
118756         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
118757         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
118758         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
118759         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
118760         test_*_SOURCES.
118762 2006-01-18  Simon Josefsson  <jas@extundo.com>
118764         * modules/socklen (Depends-on): Depend on sys_socket.
118766 2006-01-18  Simon Josefsson  <jas@extundo.com>
118768         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
118769         modules/des-tests, modules/gc-arcfour-tests,
118770         modules/gc-arctwo-tests, modules/gc-des-tests,
118771         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
118772         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
118773         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
118774         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
118775         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
118776         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
118777         $(EXEEXT) to automake TESTS variable, for mingw32.
118779 2006-01-17  Simon Josefsson  <jas@extundo.com>
118781         * modules/socklen (Include): Need sys/socket.h.
118783 2006-01-17  Bruno Haible  <bruno@clisp.org>
118785         * modules/ssize_t (Include): Add <sys/types.h>.
118787 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
118789         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
118790         it's not portable and it doesn't work with cross-compiles.
118791         Problem reported by Bruno Haible.  Fix missing-$ typo in
118792         'test "gl_cv_ignore_unused_libraries" ...' that prevented
118793         -zignore from being used with Sun's C compiler.
118795 2006-01-12  Simon Josefsson  <jas@extundo.com>
118797         * lib/base64.c: Fix warning, reported by Bruno Haible
118798         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
118800 2006-01-12  Bruno Haible  <bruno@clisp.org>
118802         * modules/ldd: New file.
118803         * build-aux/ldd.sh.in: New file.
118804         * MODULES.html.sh (Support for building libraries and executables): Add
118805         ldd.
118807 2006-01-12  Bruno Haible  <bruno@clisp.org>
118809         * m4/ldd.m4: New file.
118811 2006-01-12  Bruno Haible  <bruno@clisp.org>
118813         * gnulib-tool (func_import, func_create_testdir): Don't go into an
118814         endless loop while replacing $auxdir with build-aux.
118816 2006-01-11  Simon Josefsson  <jas@extundo.com>
118818         * lib/stdint_.h (SIZE_MAX): Add missing (.
118820 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
118822         Sync from coreutils.
118823         * lib/md5.c: Fix commentary typos.
118824         (alignof, UNALIGNED_P): No need for a GCC-specific version.
118825         * lib/md5.h (__attribute__): Remove; unused.
118826         * lib/sha1.c: Fix commentary to match md5 better.
118827         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
118828         so that we don't need to worry about alignment.  All uses changed.
118829         This merges the 2005-10-28 md5 change into sha1.
118831 2006-01-11  Jim Meyering  <jim@meyering.net>
118833         Sync from coreutils.
118834         * lib/md5.c (OP): Fix spacing.
118836 2006-01-11  Bruno Haible  <bruno@clisp.org>
118838         Ensure automatic ordering between gl_LOCK and gl_ARGP.
118839         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
118840         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
118842 2006-01-11  Bruno Haible  <bruno@clisp.org>
118844         Ensure automatic ordering between gl_LOCK and gl_ARGP.
118845         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
118846         the "early" section as well.
118848 2006-01-11  Bruno Haible  <bruno@clisp.org>
118850         Avoid "ar: no archive members specified" error on MacOS X.
118851         * gnulib-tool (func_modules_add_dummy): New function.
118852         (func_import, func_create_testdir): Invoke it.
118854 2006-01-11  Bruno Haible  <bruno@clisp.org>
118856         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
118857         with $auxdir in AC_CONFIG_FILES statements.
118859 2006-01-11  Bruno Haible  <bruno@clisp.org>
118861         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
118862         Initialize also noinst_HEADERS to empty.
118864 2006-01-11  Bruno Haible  <bruno@clisp.org>
118866         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
118867         variables.
118868         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
118869         autoreconf.
118871 2006-01-11  Bruno Haible  <bruno@clisp.org>
118873         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
118874         overridable by the user.
118875         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118877 2006-01-10  Simon Josefsson  <jas@extundo.com>
118879         * modules/sys_socket: New file.
118881 2006-01-10  Simon Josefsson  <jas@extundo.com>
118883         * m4/sys_socket_h.m4: New file.
118885 2006-01-10  Simon Josefsson  <jas@extundo.com>
118887         * lib/socket_.h: New file.
118889 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118891         * modules/readutmp (Maintainer): Add myself.
118893 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118895         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
118896         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
118897         People who are still concerned with buggy memcmp implementations
118898         can invoke gl_FUNC_MEMCMP themselves.
118900 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118902         * lib/regex_internal.h (BITSET_WORD_BITS):
118903         Work around a bug in 64-bit PGC (before version 6.1-2), where the
118904         preprocessor mishandles large unsigned values as if they were signed.
118905         Problem reported by Claudio Fontana in
118906         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
118908 2006-01-10  Jim Meyering  <jim@meyering.net>
118910         Avoid the double-free (first in fts_read, second in fts_close) that
118911         would occur when an `active' directory is made inaccessible (e.g.,
118912         via chmod a-x) during a traversal.
118913         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
118914         before returning.  Reproduce this failure by
118915         mkdir -p a/b; cd a; chmod a-x . b
118916         Reported by Stavros Passas.
118918         Sync from coreutils.
118919         * lib/sha1.c: Tweak grammar in a comment.
118921 2006-01-10  Jim Meyering  <jim@meyering.net>
118923         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
118924         Patch by Joerg Sonnenberger.
118926 2006-01-10  Bruno Haible  <bruno@clisp.org>
118928         * modules/readutmp: Depend on module free.
118929         * modules/strtok_r: Depend on module restrict.
118931 2006-01-10  Bruno Haible  <bruno@clisp.org>
118933         * modules/gettext (configure.ac): Add an invocation of
118934         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
118936 2006-01-10  Bruno Haible  <bruno@clisp.org>
118938         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
118939         Reported by Werner Lemberg <wl@gnu.org>.
118941 2006-01-10  Bruno Haible  <bruno@clisp.org>
118943         * lib/localcharset.c: Update from GNU gettext.
118945 2006-01-10  Bruno Haible  <bruno@clisp.org>
118947         * lib/argp.h (__const): Remove macro. Use const instead.
118948         * lib/argp-fmtstream.h (__const): Likewise.
118949         * lib/glob_.h (__const): Remove macro.
118950         * lib/glob-libc.h: Use const instead of __const.
118952 2006-01-10  Bruno Haible  <bruno@clisp.org>
118954         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
118955         variable.
118956         Needed to avoid an automake error regarding the 'gettext' module.
118958 2006-01-09  Simon Josefsson  <jas@extundo.com>
118960         * modules/inet_ntop (Depends-on): Add restrict.
118962 2006-01-09  Simon Josefsson  <jas@extundo.com>
118964         * modules/gc-rijndael-tests (License): Put under LGPL.
118966         * modules/gc-des-tests (License): Likewise.
118968         * modules/gc-arcfour-tests (License): Likewise.
118970         * modules/gc-arctwo-tests (License): Likewise.
118972         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
118974         * modules/gc-hmac-sha1-tests (Files): Likewise.
118976         * modules/gc-hmac-md5-tests (License): Likewise.
118978         * modules/gc-sha1-tests (License): Likewise.
118980         * modules/gc-md5-tests (License): Likewise.
118982         * modules/gc-md4-tests (License): Likewise.
118984         * modules/gc-md2-tests (License): Likewise.
118986         * modules/gc-tests (License): Likewise.
118988         * modules/des-tests (License): Likewise.
118990         * modules/md4-tests (License): Likewise.
118992         * modules/md2-tests (License): Likewise.
118994 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118996         Sync from coreutils:
118998         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
118999         * modules/lib-ignore: New file.
119000         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
119001         chdir-safer.m4, lchmod.m4.
119002         * modules/openat: Add mkdirat.c, openat-priv.h.
119004 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
119006         Sync from coreutils.
119007         * m4/lib-ignore.m4: New file.
119008         * m4/lchmod.m4: New file.
119010 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
119012         Sync from coreutils.
119013         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
119014         for write access: POSIX says that must fail.
119015         * lib/fts.c (diropen): Likewise.
119016         * lib/save-cwd.c (save_cwd): Likewise.
119017         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
119018         well, for minor improvements on hosts that lack O_DIRECTORY.
119019         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
119020         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
119021         Fall back on chown if open failed with EACCES.
119023         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
119024         Report an error at compile-time if only a 1-second nominal clock
119025         resolution is found.
119027         * lib/lchmod.h: New file.
119028         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
119029         (make_dir_parents): Use lchown rather than chown, and
119030         lchmod rather than chmod.
119032         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
119033         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
119034         "proc" reported by n0dalus.
119036         * lib/mountlist.c: Include <limits.h>.
119037         (dev_from_mount_options)
119038         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
119039         New function.  It no longer assumes "dev=" has the System V meaning
119040         on Linux (since it doesn't).  It also parses "dev=" more carefully.
119041         (read_file_system_list)
119042         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
119043         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
119044         dev= in that case.
119046         * lib/posixtm.h (PDS_PRE_2000): New macro.
119047         * lib/posixtm.c (year): Arg is now syntax_bits rather than
119048         allow_century.  All usages changed.  Reject dates outside the range
119049         1969-1999 if PDS_PRE_2000 is used.
119051 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
119053         Sync from coreutils.
119054         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
119055         (Time of day items): Mention the possibility of leap seconds.
119056         Problem reported by Dr. David Alan Gilbert.
119058 2006-01-09  Jim Meyering  <jim@meyering.net>
119060         Sync from coreutils.
119062         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
119064         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
119066         * lib/modechange.c (mode_compile): Reject an invalid mode string
119067         that starts with an octal digit.  From Andreas Gruenbacher.
119069         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
119070         and dup to open_safer and dup_safer, respectively.
119071         (openat_permissive): Fix typo in comment.
119073         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
119074         "gettext.h"; either no longer needed or are guaranteed by openat.h.
119075         (_): Remove; no longer needed.
119076         (openat): Renamed from rpl_openat; no need for rpl_openat
119077         since openat.h renames openat for us.
119078         Replace most of the body with a call to openat_permissive,
119079         to avoid duplicate code.
119080         Port to (probably hypothetical) environments were mode_t is
119081         wider than int.
119082         (openat_permissive): Require mode arg, so that we can check
119083         types better.  Put it just after flags.  Change cwd failure
119084         indicator from pointer-to-bool to pointer-to-errno-value.
119085         All callers changed.
119086         Invoke openat_save_fail and/or openat_restore_fail if
119087         cwd_errno is null, so that openat can call us.
119088         (openat_permissive, fdopendir, fstatat, unlinkat):
119089         Simplify errno handling to avoid some duplicate code,
119090         as it's OK to set errno on success.
119091         * lib/openat.h: Revamp code so that function macros depend on
119092         __OPENAT_PREFIX only, not also on AT_FDCWD.
119093         (openat_ro): Remove.  Caller changed to use openat_permissive.
119094         (openat_permissive): Now a macro, if not a function.
119095         (openat_restore_fail, openat_save_fail): Now always functions,
119096         since mkdirat needs them even if __OPENAT_PREFIX is defined.
119098         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
119099         and openat.c.
119100         * lib/mkdirat.c: Include openat-priv.h.
119101         Remove definitions of macros defined therein.
119102         * lib/openat.c: Likewise.
119104         * lib/mkdirat.c (mkdirat): New file and function.
119105         * lib/openat.h (mkdirat): Declare.
119107         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
119109         * lib/openat.h (openat_permissive): Declare.
119110         (openat_ro): Define.
119112         * lib/openat.c (EXPECTED_ERRNO): New macro.
119113         (openat_permissive): New function -- used in remove.c rewrite.
119114         (all functions): Set errno just before returning, only if there
119115         was an actual failure.
119116         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
119118         Emulate openat-family functions using Linux's procfs, if possible.
119119         Idea and some code based on Ulrich Drepper's glibc changes.
119121         * lib/openat.c: (BUILD_PROC_NAME): New macro.
119122         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
119123         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
119124         before falling back on save_cwd and restore_cwd.
119125         (fdopendir, fstatat, unlinkat): Likewise.
119127         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
119128         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
119130         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
119131         as second argument to va_arg.  Otherwise, some versions of gcc
119132         warn that `if this code is reached, the program will abort'.
119134 2006-01-09  Jim Meyering  <jim@meyering.net>
119136         Sync from coreutils.
119137         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
119138         Require openat-priv.h.
119140 2006-01-09  Bruno Haible  <bruno@clisp.org>
119142         * modules/strnlen (Include): Use strnlen.h.
119144 2006-01-09  Bruno Haible  <bruno@clisp.org>
119146         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
119148 2006-01-09  Bruno Haible  <bruno@clisp.org>
119150         * lib/sysexit_.h (EX_OK): New macro.
119151         Suggested by Martin Lambers <marlam@marlam.de>.
119153 2006-01-09  Bruno Haible  <bruno@clisp.org>
119155         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
119156         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
119158 2006-01-09  Bruno Haible  <bruno@clisp.org>
119160         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
119161         numbers.
119163 2006-01-09  Bruno Haible  <bruno@clisp.org>
119165         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
119166         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
119167         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
119168         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
119170 2006-01-09  Bruno Haible  <bruno@clisp.org>
119172         * build-aux/javacomp.sh.in: New file, moved from lib/.
119173         * modules/javacomp-script (Files): Update.
119174         (configure.ac): Add AC_CONFIG_FILES invocation.
119175         (EXTRA_DIST): Remove variable.
119177         * build-aux/javaexec.sh.in: New file, moved from lib/.
119178         * modules/javaexec (Files): Update.
119179         (configure.ac): Add AC_CONFIG_FILES invocation.
119180         (EXTRA_DIST): Remove javaexec.sh.in.
119182         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
119183         * modules/csharpcomp-script (Files): Update.
119184         (configure.ac): Add AC_CONFIG_FILES invocation.
119185         (EXTRA_DIST): Remove variable.
119187         * build-aux/csharpexec.sh.in: New file, moved from lib/.
119188         * modules/csharpexec (Files): Update.
119189         (configure.ac): Add AC_CONFIG_FILES invocation.
119190         (EXTRA_DIST): Remove csharpexec.sh.in.
119192 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
119194         Sync from coreutils.
119196         Add POSIX ACL support
119197         * lib/acl.h (copy_acl, set_acl): Add declarations.
119198         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
119199         systems other than Linux.
119200         (chmod_or_fchmod): New function: use fchmod when possible,
119201         and chmod otherwise.
119202         (file_has_acl): Add a POSIX ACL implementation, with a
119203         Linux-specific subcase.
119204         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
119205         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
119206         acls are unsupported.
119207         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
119208         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
119209         are unsupported.
119211 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
119213         Sync from coreutils.
119214         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
119216 2006-01-07  Bruno Haible  <bruno@clisp.org>
119218         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
119219         gl_EARLY.
119221 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
119223         * lib/strftime.c (tzname): Don't declare if it is already #defined.
119224         Problem reported for Mingw by Mark Junker.
119226 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
119228         * README: Gnulib normally doesn't generate a tarball.
119230 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
119232         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
119233         long int, not int, for nanosecond counts, so that people who are
119234         used to POSIX struct timespec won't be surprised.  Reported by Jim
119235         Meyering.
119237 2005-12-28  Bruno Haible  <bruno@clisp.org>
119239         * build-aux/config.rpath: Update from GNU gettext.
119241 2005-12-16  Jim Meyering  <jim@meyering.net>
119243         * modules/fprintftime: New module.
119244         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
119246 2005-12-16  Jim Meyering  <jim@meyering.net>
119248         * m4/fprintftime.m4: New file.
119250 2005-12-16  Jim Meyering  <jim@meyering.net>
119252         * lib/fprintftime.c, lib/fprintftime.h: New files.
119254 2005-12-15  Simon Josefsson  <jas@extundo.com>
119256         * modules/socklen (configure.ac): Fix M4 macro name, to align with
119257         new m4/socklen.m4.
119259 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
119261         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
119262         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
119264 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
119266         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
119267         * lib/argp-help.c (fill_in_uparams): Check if the constructed
119268         struct uparams is valid. Fall back to the default values if it is
119269         not.
119271 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
119273         * modules/argp (Files): Add argp-pin.c
119274         (Depends-on): dirname
119275         (lib_SOURCES): Add argp-pin.c
119277 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
119279         * m4/argp.m4:  Check if program_invocation_name and
119280         program_invocation_short_name are declared and define appropriate
119281         macros if they are not.
119283 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
119285         * lib/argp-help.c (__argp_base_name): New function
119286         (__argp_short_program_name): Rewrite using __argp_base_name
119287         * lib/argp-namefrob.h: Define program_invocation_name and
119288         program_invocation_short_name if requested
119289         (__argp_base_name): Add prototype
119290         * lib/argp-parse.c (argp_def): Use gettext wrappers
119291         (argp_default_parser): Use __argp_base_name
119292         * lib/argp-pin.c: New file. Defines program_invocation_name and
119293         program_invocation_short_name on systems that lack them.
119295 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119297         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
119298         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
119299         porting problem reported by Georg Schwarz in
119300         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
119302 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
119304         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
119305         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
119306         porting problem reported by Georg Schwarz in
119307         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
119309 2005-12-05  Bruno Haible  <bruno@clisp.org>
119311         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
119312         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
119313         Reported by Mark Junker <mjscod@gmx.de>.
119315 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
119317         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
119318         Use implementation from Albert Chin, with some
119319         comments/corrections by Stepan Kasal and myself.
119321 2005-12-02  Bruno Haible  <bruno@clisp.org>
119323         * gnulib-tool (func_import): Accept GPLed build tool modules when
119324         --lgpl is given.
119325         * modules/csharpcomp-script: New file.
119326         * modules/csharpcomp: Depend on it.
119327         * modules/javacomp-script: New file.
119328         * modules/javacomp: Depend on it.
119329         Suggested by Simon Josefsson.
119331 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
119333         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
119334         statement, to work around an HP-UX 10.20 compiler bug reported by
119335         Peter O'Gorman.
119337 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
119339         * modules/savedir (Depends-on): Add openat.
119341 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
119343         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
119344         (uintmax_t) [defined uintmax_t]: Do not declare.
119345         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
119346         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
119347         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
119348         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
119349         sake of portability to weird hosts that C allows (though we don't
119350         know of any practical examples).
119352         * lib/savedir.h (fdsavedir): New decl.
119353         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
119354         contains most of the former guts of savedir.
119355         (savedir): Use savedirstream.
119356         Include "openat.h".
119358 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
119360         * modules/obstack (Files): Add m4/ulonglong.m4.
119361         Problem reported by Davide Angelocola.
119363 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
119365         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
119366         coreutils no longer futzes with rounding modes.
119368 2005-11-14  Jim Meyering  <jim@meyering.net>
119370         * lib/mkstemp-safer.c: Include <config.h>, required for possible
119371         replacement of mkstemp.
119373 2005-11-10  Simon Josefsson  <jas@extundo.com>
119375         * lib/readline.c: Remove EOL.
119377 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
119379         * modules/gethrxtime (Depends-on): Add gettime.
119381 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
119383         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
119384         or gettimeofday; no longer needed.
119386 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
119388         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
119389         time business.
119390         (gethrxtime) [! (HAVE_NANOUPTIME
119391         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
119392         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
119393         our own approximation.
119395 2005-11-08  Eric Blake  <ebb9@byu.net>
119397         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
119399 2005-11-08  Eric Blake  <ebb9@byu.net>
119401         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
119403 2005-11-04  Bruno Haible  <bruno@clisp.org>
119405         * gnulib-tool: Implement --update mode.
119407 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
119409         Fix porting problem reported by Theodoros V. Kalamatianos.
119410         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
119411         Don't assume that futimes failing means we must fail.
119413 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
119415         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
119416         variables to suggest the intended function of the PATH_MAX check.
119418 2005-10-30  Kean Johnston  <jkj@sco.com>
119420         Trivial changes to support SCO systems.
119421         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
119422         as PATH_MAX.
119423         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
119424         where __ptr is null when no I/O is pending.
119426 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
119428         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
119429         leave errno alone.  Problem reported by Dmitry V. Levin.
119431 2005-10-28  Simon Josefsson  <jas@extundo.com>
119433         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
119434         Test more.
119436         * tests/test-gc-md2.c, tests/test-md2.c: New files.
119438         * modules/md2, modules/md2-tests: New files.
119440 2005-10-28  Simon Josefsson  <jas@extundo.com>
119442         * m4/inet_ntop.m4: More tests.
119444         * m4/gc-md2.m4, md2.m4: New file.
119446 2005-10-28  Simon Josefsson  <jas@extundo.com>
119448         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
119449         "restrict" keywords, as per POSIX.  Protect the function
119450         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
119451         Don't use K&R prototypes.  Check the sprintf return values.
119452         Re-define EAFNOSUPPORT if not present.  Indent.
119454         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
119455         suggested by Bruno Haible <bruno@clisp.org>.
119457         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
119459         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
119461         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
119462         libgcrypt).
119464         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
119466         * lib/md2.h, lib/md2.c: New files.
119468 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
119470         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
119471         errno alone.  Problem reported by Frederic Jolliton.
119473 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
119475         * modules/verify (License): Change from GPL to LGPL.  This is a
119476         tiny module and there are apparently near-equivalents that are
119477         under the BSD license.
119479 2005-10-24  Simon Josefsson  <jas@extundo.com>
119481         * modules/sha1: Relicense to LGPL.
119483 2005-10-24  Simon Josefsson  <jas@extundo.com>
119485         * lib/md4.h: Shrink buffer size, now that we changed the type.
119487 2005-10-23  Simon Josefsson  <jas@extundo.com>
119489         * gnulib-tool (func_import): Fix --tests-base.
119491 2005-10-22  Simon Josefsson  <jas@extundo.com>
119493         * modules/arcfour (Depends-on): Need stdint.
119495 2005-10-22  Simon Josefsson  <jas@extundo.com>
119497         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
119498         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
119500 2005-10-22  Simon Josefsson  <jas@extundo.com>
119502         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
119503         suggested by Bruno Haible <bruno@clisp.org>.
119505 2005-10-22  Simon Josefsson  <jas@extundo.com>
119507         * lib/crc.h: Include stddef.h, for size_t.
119509 2005-10-22  Simon Josefsson  <jas@extundo.com>
119511         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
119512         arcfour_context struct (simplify test vector testing in GNU
119513         Shishi).
119515 2005-10-21  Simon Josefsson  <jas@extundo.com>
119517         * modules/des, modules/des-tests: New files.
119519         * modules/gc-des, modules/gc-des-tests: New files.
119521         * tests/test-des.c, tests/test-gc-des.c: New file.
119523 2005-10-21  Simon Josefsson  <jas@extundo.com>
119525         * modules/arctwo, modules/arctwo-tests: New files.
119527         * tests/test-arctwo.c: New file.
119529         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
119531         * tests/test-gc-arctwo.c: New file.
119533 2005-10-21  Simon Josefsson  <jas@extundo.com>
119535         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
119536         Bruno Haible <bruno@clisp.org>.
119538         * m4/gc-des.m4: New file.
119540 2005-10-21  Simon Josefsson  <jas@extundo.com>
119542         * m4/arctwo.m4: New file.
119544         * m4/gc-arctwo.m4: New file.
119546 2005-10-21  Simon Josefsson  <jas@extundo.com>
119548         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
119549         block.
119551 2005-10-21  Simon Josefsson  <jas@extundo.com>
119553         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
119554         <bruno@clisp.org>.
119556         * lib/hmac-sha1.c (hmac_sha1): Likewise.
119558         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
119559         Bruno Haible <bruno@clisp.org>.
119561         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
119562         <bruno@clisp.org>.
119564 2005-10-21  Simon Josefsson  <jas@extundo.com>
119566         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
119568 2005-10-21  Simon Josefsson  <jas@extundo.com>
119570         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
119572 2005-10-21  Simon Josefsson  <jas@extundo.com>
119574         * lib/des.h, lib/des.c: New files.
119576         * lib/gc-gnulib.c: Support DES.c
119578 2005-10-21  Simon Josefsson  <jas@extundo.com>
119580         * lib/arctwo.h, lib/arctwo.c: New files.
119582         * lib/gc-gnulib.c: Support ARCTWO.
119584 2005-10-21  Simon Josefsson  <jas@extundo.com>
119586         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
119587         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
119589 2005-10-21  Simon Josefsson  <jas@extundo.com>
119591         * gnulib-tool (func_import, func_create_testdir): Define automake
119592         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
119593         Makefile.am snippet),
119594         suggested by Bruno Haible <bruno@clisp.org>.
119596         * modules/gc (Makefile.am): Use it.
119598 2005-10-21  Bruno Haible  <bruno@clisp.org>
119600         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
119601         patch.
119603 2005-10-19  Simon Josefsson  <jas@extundo.com>
119605         * tests/test-gc-rijndael.c: New file.
119607         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
119609 2005-10-19  Simon Josefsson  <jas@extundo.com>
119611         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
119612         interface too.
119614 2005-10-19  Simon Josefsson  <jas@extundo.com>
119616         * tests/test-gc-arcfour.c: New file.
119618         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
119620 2005-10-19  Simon Josefsson  <jas@extundo.com>
119622         * modules/gc-md4, modules/gc-md4-tests: New file.
119624         * tests/test-gc-md4.c: New file.
119626 2005-10-19  Simon Josefsson  <jas@extundo.com>
119628         * m4/gc-md4.m4: New file.
119630 2005-10-19  Simon Josefsson  <jas@extundo.com>
119632         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
119633         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
119634         <kasal@ucw.cz>.
119636 2005-10-19  Simon Josefsson  <jas@extundo.com>
119638         * m4/gc-arcfour.m4: New file.
119640         * m4/gc-rijndael.m4: New file.
119642 2005-10-19  Simon Josefsson  <jas@extundo.com>
119644         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
119646 2005-10-19  Simon Josefsson  <jas@extundo.com>
119648         * lib/gc-gnulib.c: Support ARCFOUR.
119650 2005-10-19  Simon Josefsson  <jas@extundo.com>
119652         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
119653         support.
119655         * lib/gc.h: Add ECB enum type.
119657         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
119659 2005-10-18  Simon Josefsson  <jas@extundo.com>
119661         * tests/test-md5.c: New file.
119663         * modules/md5-tests: New file.
119665 2005-10-18  Simon Josefsson  <jas@extundo.com>
119667         * tests/test-md4.c: New file.
119669         * modules/md4, modules/md4-tests: New files.
119671 2005-10-18  Simon Josefsson  <jas@extundo.com>
119673         * m4/md4.m4: New file.
119675 2005-10-18  Simon Josefsson  <jas@extundo.com>
119677         * lib/md4.h, lib/md4.c: New files, based on md5.?.
119679 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
119681         * gnulib-tool (func_create_testdir): Omit the second check whether
119682         BUILT_SOURCES in nonempty.
119684 2005-10-17  Simon Josefsson  <jas@extundo.com>
119686         * tests/test-rijndael.c: New file.
119688 2005-10-17  Simon Josefsson  <jas@extundo.com>
119690         * modules/sha1: Depend on stdint instead of md5.
119692         * modules/md5: Depend on stdint, remove uint32_t.
119694 2005-10-17  Simon Josefsson  <jas@extundo.com>
119696         * modules/gc-sha1-tests: New file.
119698         * tests/test-gc-sha1.c: New file.
119700 2005-10-17  Simon Josefsson  <jas@extundo.com>
119702         * m4/md5.m4: Remove call to uint32_t.m4.
119704 2005-10-17  Simon Josefsson  <jas@extundo.com>
119706         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
119708         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
119709         md5.h.
119711         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
119713         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
119715 2005-10-17  Simon Josefsson  <jas@extundo.com>
119717         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
119719 2005-10-17  Simon Josefsson  <jas@extundo.com>
119721         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
119723 2005-10-17  Simon Josefsson  <jas@extundo.com>
119725         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
119727         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
119729 2005-10-17  Bruno Haible  <bruno@clisp.org>
119731         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
119732         that it can also be used in a test.
119734 2005-10-16  Bruno Haible  <bruno@clisp.org>
119736         * gnulib-tool (func_emit_tests_Makefile_am): Also define
119737         TESTS_ENVIRONMENT, so that individual tests can augment it.
119739         * gnulib-tool (func_create_testdir): Use an intermediate target for
119740         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
119741         macros, like $(ALLOCA_H), which cannot be passed through the command
119742         line.
119744 2005-10-15  Simon Josefsson  <jas@extundo.com>
119746         * modules/rijndael-tests: New file.
119748         * modules/rijndael: New file.
119750 2005-10-15  Simon Josefsson  <jas@extundo.com>
119752         * m4/rijndael.m4: New file.
119754 2005-10-15  Simon Josefsson  <jas@extundo.com>
119756         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
119758         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
119760 2005-10-14  Simon Josefsson  <jas@extundo.com>
119762         * tests/test-arcfour.c: New file.
119764         * modules/arcfour, modules/arcfour-tests: New files.
119766 2005-10-14  Simon Josefsson  <jas@extundo.com>
119768         * m4/arcfour.m4: New file.
119770 2005-10-14  Simon Josefsson  <jas@extundo.com>
119772         * lib/arcfour.h, lib/arcfour.c: New files.
119774 2005-10-14  Roland McGrath  <roland@redhat.com>
119776         Import from libc.  [BZ #1331]
119777         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
119778         macro argument.
119779         Reported by Matej Vela <vela@debian.org>.
119781 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
119783         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
119784         include <wchar.h>; no longer needed.
119786 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
119788         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
119790 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
119791         and  Ulrich Drepper  <drepper@redhat.com>
119793         Import from libc.
119794         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
119795         instead of inline stream orientation test and two separate
119796         function calls.  Pay no attention to USE_IN_LIBIO.
119798 2005-10-13  Simon Josefsson  <jas@extundo.com>
119800         * modules/gc-hmac-md5-tests: New file.
119802         * tests/test-gc-hmac-sha1.c: New file.
119804         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
119806         * modules/gc-hmac-md5-tests: New file.
119808         * tests/test-gc-md5.c: New file.
119810         * modules/gc-md5-tests: New file.
119812 2005-10-13  Simon Josefsson  <jas@extundo.com>
119814         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
119815         Move memory allocation outside of loop.
119817 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
119819         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
119820         intermediate directory is in a read-only file system.  Problem
119821         reported by Eric Blake.
119823 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
119825         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
119827 2005-10-12  Simon Josefsson  <jas@extundo.com>
119829         * tests/test-hmac-sha1.c: New file.
119831         * modules/hmac-sha1-tests: New file.
119833         * modules/hmac-sha1: New file.
119835 2005-10-12  Simon Josefsson  <jas@extundo.com>
119837         * modules/gc-sha1: New file.
119839 2005-10-12  Simon Josefsson  <jas@extundo.com>
119841         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
119843         * tests/test-gc-pbkdf2-sha1.c: New file.
119845 2005-10-12  Simon Josefsson  <jas@extundo.com>
119847         * modules/gc-md5, modules/gc-hmac-md5: New files.
119849         * modules/gc (Files): Remove md5, memxor and hmac files.
119851 2005-10-12  Simon Josefsson  <jas@extundo.com>
119853         * m4/gc-pbkdf2-sha1.m4: New file.
119855         * m4/gc-hmac-sha1.m4: New file.
119857         * m4/gc-sha1: New file.
119859         * m4/hmac-sha1.m4: New file.
119861 2005-10-12  Simon Josefsson  <jas@extundo.com>
119863         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
119865         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
119867 2005-10-12  Simon Josefsson  <jas@extundo.com>
119869         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
119870         suggested by Bruno Haible <bruno@clisp.org>.
119872 2005-10-12  Simon Josefsson  <jas@extundo.com>
119874         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
119876 2005-10-12  Simon Josefsson  <jas@extundo.com>
119878         * lib/gc-pbkdf2-sha1.c: New file.
119880         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
119882 2005-10-12  Simon Josefsson  <jas@extundo.com>
119884         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
119886         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
119888 2005-10-12  Simon Josefsson  <jas@extundo.com>
119890         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
119891         GC_USE_HMAC_MD5, respectively.
119893         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
119894         (gc_md5): Fix typo.
119896         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
119898         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
119900         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
119902 2005-10-12  Bruno Haible  <bruno@clisp.org>
119904         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
119905         Reported by Stepan Kasal <kasal@ucw.cz>.
119907 2005-10-11  Simon Josefsson  <jas@extundo.com>
119909         * tests/test-crc.c: New file.
119911         * modules/crc, modules/crc-tests: New files.
119913 2005-10-11  Simon Josefsson  <jas@extundo.com>
119915         * m4/crc.m4: New file.
119917 2005-10-11  Simon Josefsson  <jas@extundo.com>
119919         * lib/gc.h: Add gc_hash and gc_hash_buffer.
119921         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
119923         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
119925 2005-10-11  Simon Josefsson  <jas@extundo.com>
119927         * lib/crc.h, lib/crc.c: New files.
119929         * lib/gc.h (gc_hash_buffer): Add doc.
119931 2005-10-11  Bruno Haible  <bruno@clisp.org>
119933         * modules/c-strcasestr: New file.
119934         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
119936 2005-10-11  Bruno Haible  <bruno@clisp.org>
119938         * modules/c-strcase: New file.
119939         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
119941 2005-10-11  Bruno Haible  <bruno@clisp.org>
119943         * lib/strcasecmp.c: Include limits.h.
119944         (strcasecmp): Avoid integer overflow on exotic platforms.
119945         * lib/strncasecmp.c: Include limits.h.
119946         (strncasecmp): Avoid integer overflow on exotic platforms.
119947         Reported by Paul Eggert.
119949 2005-10-11  Bruno Haible  <bruno@clisp.org>
119951         * lib/c-strcasestr.h: New file, from GNU gettext.
119952         * lib/c-strcasestr.c: New file, from GNU gettext.
119954 2005-10-11  Bruno Haible  <bruno@clisp.org>
119956         * lib/c-strcase.h: New file, from GNU gettext.
119957         * lib/c-strcasecmp.c: New file, from GNU gettext.
119958         * lib/c-strncasecmp.c: New file, from GNU gettext.
119960 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
119962         * modules/mempcpy (License): GPL -> LGPL.
119963         * modules/strchrnul (License): Likewise.
119964         * modules/sysexits (License): Likewise.
119966 2005-10-08  Simon Josefsson  <jas@extundo.com>
119968         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
119970 2005-10-07  Simon Josefsson  <jas@extundo.com>
119972         * m4/memxor.m4: Remove gl_C_RESTRICT call.
119974 2005-10-06  Simon Josefsson  <jas@extundo.com>
119976         * tests/test-hmac-md5.c: New file.
119978         * modules/hmac-md5-tests: New file.
119980         * modules/hmac-md5: New file.
119982 2005-10-06  Simon Josefsson  <jas@extundo.com>
119984         * m4/hmac-md5.m4: New file.
119986         * m4/memxor.m4: Require gl_C_RESTRICT.
119988 2005-10-06  Simon Josefsson  <jas@extundo.com>
119990         * lib/memxor.c (memxor): Avoid casts and warnings.
119992 2005-10-06  Simon Josefsson  <jas@extundo.com>
119994         * lib/hmac-md5.c: New file.
119996         * lib/hmac.h: New file.
119998 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
120000         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
120001         promotes to int, not unsigned int, to catch the AIX 5.3
120002         compiler bug.
120004 2005-10-05  Simon Josefsson  <jas@extundo.com>
120006         * modules/memxor: New file.
120008         * modules/iconv (Files): Move config.rpath to havelib, it is used
120009         there.
120011         * modules/havelib (Files): Add config.rpath.
120013 2005-10-05  Simon Josefsson  <jas@extundo.com>
120015         * m4/memxor.m4: New file.
120017 2005-10-05  Simon Josefsson  <jas@extundo.com>
120019         * lib/memxor.c (memxor): Fix compiler error.
120021         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
120022         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
120024         * lib/memxor.h, lib/memxor.c: New files.
120026         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
120027         we assume all systems have it, suggested by Jim Meyering
120028         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
120029         any systems lack sys/socket.h; mingw32 is known to lack it, but we
120030         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
120031         same reasons.
120033 2005-10-05  Simon Josefsson  <jas@extundo.com>
120035         * config/srclist.txt: Add glibc bug 1423 for md5.h.
120037 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
120039         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
120040         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
120041         needed, since the source code now assumes these .h files.
120043 2005-10-05  Derek Price  <derek@ximbiot.com>
120045         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
120047 2005-10-05  Bruno Haible  <bruno@clisp.org>
120049         * modules/stdint (License): Change to LGPL.
120051 2005-10-04  Simon Josefsson  <jas@extundo.com>
120053         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
120054         D. Baushke" <mdb@gnu.org>.
120056 2005-10-04  Bruno Haible  <bruno@clisp.org>
120058         * lib/verify.h (verify_true): Provide alternative definition for C++.
120060 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
120062         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
120063         (SSIZE_MAX): New macro, if not already defined.
120064         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
120065         than 2 GiB.
120067 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
120069         Sync from coreutils.
120070         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
120071         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
120072         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
120073         ULLONG_MAX doesn't work with 2.7.2.1.
120075 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
120077         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
120078         From Ben Pfaff.
120080         * modules/exclude (Depends-on): Depend on verify.
120081         * modules/strtoimax (Depends-on): Likewise.
120082         * modules/utimecmp (Depends-on): Likewise.
120084 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
120086         * lib/exclude.c: Include verify.h.
120087         (verify): Remove.  All callers changed to use verify.h's version.
120088         * lib/strtoimax.c: Likewise.
120089         * lib/utimecmp.c: Likewis.e
120091         Sync from coreutils.
120092         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
120093         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
120094         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
120095         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
120096         bother returning ENOSYS if settimeofday or stime fails; just let
120097         them return whatever errno they want to return.
120098         * lib/utimens.c: Include unistd.h, for dup2.
120099         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
120100         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
120102 2005-10-02  Jim Meyering  <jim@meyering.net>
120104         Sync from coreutils.
120105         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
120106         from glibc-2.2.5 that fails for read-only files.
120108 2005-10-02  Jim Meyering  <jim@meyering.net>
120110         Sync from coreutils.
120111         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
120112         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
120113         `#if HAVE_CONFIG_H'.
120114         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
120115         Remove AT_FDCWD test.
120116         Do not consume the fd unless successful.
120117         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
120118         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
120119         block, so that we don't even try to compile it if settimeofday is
120120         available.  This works around a compilation failure on OSF1 V5.1,
120121         due to stime requiring a `long int*' while tv_sec is `int'.
120123 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
120125         Sync from coreutils.
120126         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
120127         against `yes', rather than just testing for nonempty.
120129 2005-10-01  Simon Josefsson  <jas@extundo.com>
120131         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
120132         and Darwin.
120134         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
120135         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
120136         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
120137         freeaddrinfo and gai_strerror are declared by the POSIX headers.
120138         Check if struct addrinfo is declared.
120140 2005-10-01  Simon Josefsson  <jas@extundo.com>
120142         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
120143         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
120144         AI_* and EAI_* definitions.  Protect function declarations.
120146 2005-10-01  Jim Meyering  <jim@meyering.net>
120148         Sync from coreutils.
120150         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
120151         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
120152         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
120153         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
120154         in the inet and nsl libraries.  Required on Solaris 5.7.
120156 2005-10-01  Jim Meyering  <jim@meyering.net>
120158         Sync from coreutils.
120159         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
120160         in the inet and nsl libraries.  Required on Solaris 5.7.
120162 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
120164         * lib/getdelim.c (getdelim): Remove unused variables.
120166 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
120168         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
120169         so that the code works even with ancient cpp.  Portability problem
120170         with GCC 2.7.2.1 reported by Thomas M.Ott.
120172 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
120174         * modules/regex (Depends-on): Add strcase.
120176         * modules/gethostname (Licence): Change from GPL to LGPL, since
120177         gethostname.c is a trivial implementation of a standard library
120178         function.
120179         * modules/poll (License): Change from GPL to LGPL, since it's
120180         derived from LGPL code.
120182 2005-09-27  Jim Meyering  <jim@meyering.net>
120184         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
120185         HAVE_CONFIG_H.
120187         * lib/intprops.h (signed_type_or_expr__): Define.
120188         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
120189         for unsigned types.
120191 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
120193         * lib/verify.h (verify_expr): Remove, replacing with:
120194         (verify_true): New macro that returns true instead of void.
120195         (verify_type__): Remove.
120196         (verify): Use verify_true rather than verify_type__.
120198 2005-09-26  Bruno Haible  <bruno@clisp.org>
120200         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
120201         is necessary.
120202         (lib_SOURCES): Remove mbchar.c.
120203         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
120204         (Files): Add m4/mbrtowc.m4.
120205         * modules/mbiter: Likewise.
120206         * modules/mbuiter: Likewise.
120208 2005-09-26  Bruno Haible  <bruno@clisp.org>
120210         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
120211         compile mbchar.c if they are not both present.
120212         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
120213         * m4/mbiter.m4 (gl_MBITER): Likewise.
120214         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
120215         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
120216         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
120218 2005-09-25  Jim Meyering  <jim@meyering.net>
120220         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
120221         also uses socklen_t.
120223 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
120225         * lib/utimens.c (ENOSYS): Define if not already defined.
120226         (futimens): Support having a null PATH if the file descriptor
120227         is nonnegative.
120229         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
120230         Remove.
120231         (__attribute): Define to empty unless GCC 3.1 or later.
120232         This works around a core dump on OpenBSD 3.4, which has GCC
120233         2.95.3, which dumps core when given __attribute__(()).  It also
120234         simplifies other tests, since we really don't want to bother with
120235         worrying about which ancient version of GCC supported what.
120236         Original problem reported by Yoann Vandoorselaere, with part of
120237         the fix suggested by Derek Price.
120239 2005-09-24  Jim Meyering  <jim@meyering.net>
120241         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
120242         so we can once again use a positive bitfield width of 1 -- now we
120243         don't have to explain why we were using a bitfield width of 2.
120245 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
120247         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
120248         and similarly for the other external symbols.  Problem reported
120249         by James Gallager.
120251         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
120252         bug reported by Jim Meyering.
120254         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
120255         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
120256         not needed, since socklen is a prerequisite module.
120258 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
120260         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
120261         Problem reported by Eric Blake.
120262         (getaddrinfo): Initialize se so that it's not garbage.
120263         Redo internal storage allocation so that it doesn't make unportable
120264         assumptions about alignment.
120265         Fix a memory leak.
120267         * lib/utimens.c (futimens): Use futimesat if available.
120268         Prefer it to futimes since it doesn't have the futimes bug.
120270         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
120271         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
120272         Instead, declare a function that returns a pointer to an array,
120273         and use verify_type__ to declare the size of the array.
120274         Problem and germ of a solution reported by Bruno Haible.
120275         (verify_type__): Use 2, not 1, for bitfield size, to avoid
120276         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
120278 2005-09-23  Jim Meyering  <jim@meyering.net>
120280         Sync from coreutils.
120281         Correct build failure (socklen_t not defined) on at least
120282         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
120283         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
120285 2005-09-23  Jim Meyering  <jim@meyering.net>
120287         * modules/getaddrinfo (Depends-on): Add socklen.
120289 2005-09-23  Bruno Haible  <bruno@clisp.org>
120291         * tests/test-verify.c: New file.
120293 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120295         Sync from coreutils.
120297         * modules/argmatch (Depends-on): Add verify.
120298         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
120299         unistd-safer.
120300         * modules/save-cwd (Depends-on): Likewise.
120302         * modules/openat (Files): Add lib/openat-die.c.
120303         (Depends-on): Remove error, exitfail.
120304         Add dirname.
120306         * modules/verify: New file.
120307         * MODULES.html.sh (Diagnostics <assert.h>): New section,
120308         with "verify" module.
120310 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120312         Sync from coreutils.
120314         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
120315         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
120316         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
120317         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
120318         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
120319         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
120320         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
120321         Don't bother checking for string.h, stdlib.h, unistd.h.
120322         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
120323         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
120324         module's job.
120325         * m4/jm-macros.m4 (gl_MACROS): Likewise.
120326         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
120328         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
120329         (gl_GETDATE): Use it.
120331         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
120333 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120335         Sync from coreutils.
120337         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
120338         stat-time.h.
120339         * lib/argmatch.h: Include verify.h
120340         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
120341         (ARGMATCH_ASSERT): Remove; unused.
120342         * lib/canonicalize.c: Assume STDC_HEADERS.
120343         * lib/exclude.c: Include "strcase.h".
120344         * lib/regex_internal.h [!defined _LIBC]: Likewise.
120345         * lib/getusershell.c: Include stdio--.h rather than stdio.h
120346         and stdio-safer.h.
120347         (getusershell): Call fopen, not fopen_safer.
120348         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
120349         Do not include unistd-safer.h.
120350         (save_cwd): Don't call fd_safer; no longer needed
120351         now that we include fcntl--.h.
120353         * lib/getdate.y (relative_time): New type.
120354         (RELATIVE_TIME_0): New constant.
120355         (parser_control): Use relative_time instead of doing it ourselves.
120356         (%union): Add new relative_time rel member.
120357         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
120358         Now typeless.
120359         (relunit, relunit_snumber): Now of type rel.
120360         (zone, rel, relunit, get_date): Adjust to above changes.
120362         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
120363         Do not include unistd-safer.h.
120364         (getloadavg): Don't call fd_safer; no longer needed
120365         now that we include fcntl--.h.
120367         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
120368         (make_dir_parents): Treat ENOSYS like EEXIST.
120370         Improve quality of diagnostics on restore_cwd failure.
120371         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
120372         (make_dir_parents): Last arg is now int * (for errno), not bool *.
120373         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
120374         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
120375         each time through the loop.  Do not diagnose restore_cwd failure;
120376         that is the caller's job (and perhaps the caller does not care).
120378         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
120379         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
120380         If the file already exists but is not a directory, don't bother
120381         to try to make its parents.
120382         Close potential file descriptor leak if we can't chdir("/") (!).
120383         Don't always return true if chdir($PWD) fails; return true only
120384         if the requested action was done successfully (except for the
120385         chdir($PWD)).
120386         Don't log final directory unless we actually made it.
120387         Refactor to avoid duplicate code to fix up permissions.
120388         Don't attempt to fix up parent permissions if chdir($PWD) fails.
120390         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
120391         to make it a bit faster and (I hope) clearer.
120392         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
120393         Fix bug in formats like %2N.
120395         * lib/verify.h: New file.
120397 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120399         Sync from coreutils.
120400         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
120402 2005-09-22  Jim Meyering  <jim@meyering.net>
120404         Sync from coreutils.
120406         * m4/lstat.m4 (gl_FUNC_LSTAT):
120407         Use AC_LIBSOURCES to require lstat.c and lstat.h.
120408         Remove obsolete comment.
120409         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
120410         * m4/xstrtod.m4: Likewise.
120412         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
120414 2005-09-22  Jim Meyering  <jim@meyering.net>
120416         Sync from coreutils.
120418         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
120420         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
120421         the .tm_year member, since otherwise gcc-4.0 would now warn about
120422         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
120424         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
120425         order to avoid an unsuppressible warning from gcc on 64-bit systems.
120427         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
120428         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
120429         when run in a time zone for which daylight savings time is in effect
120430         for the starting date.
120432         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
120433         stop us from restricting permissions of just-created absolute-named
120434         directories.
120435         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
120436         to restore initial working directory.
120437         * lib/mkdir-p.c (make_dir_parents): New parameter:
120438         different_working_dir, to tell caller if/when we change the working
120439         directory and are unable to return to the initial one.
120440         * lib/mkdir-p.h (make_dir_parents): Update prototype.
120441         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
120442         `return false'.  This fixes a bug introduced on 2004-07-30.
120444         * lib/openat.c (fdopendir): Be sure to close the supplied
120445         file descriptor before returning.  This makes our replacement
120446         implementation a little closer to Solaris's, where fdopendir
120447         ties the file descriptor to the returned DIR* pointer.
120448         * lib/openat.c (unlinkat): New function.
120449         * lib/openat.h (unlinkat): Add prototype.
120450         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
120451         (openat_restore_fail): Rename from openat_restore_die.
120452         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
120454         Provide an alternative to exiting immediately upon save_cwd or
120455         restore_cwd failure.  Now, an application can arrange e.g.,
120456         to perform a longjump in that case.
120457         * lib/openat.c: Include dirname.h.
120458         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
120459         (rpl_openat, fdopendir, fstatat): Call openat_save_die
120460         and openat_restore_die rather than calling error directly.
120461         Don't include "error.h" or "exitfail.h"; they're no longer needed.
120463         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
120464         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
120465         define.
120467         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
120468         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
120469                             int utc, int nanoseconds);
120470         Background:
120471         date should not have to allocate a megabyte of virtual memory to
120472         handle a format argument like +%1048575T.  When implemented with
120473         strftime, it must allocate such a buffer, use strftime to fill it
120474         in, print it, then free it.
120475         With fprintftime, it simply prints everything and exits.
120476         With no need for memory allocation, that's one fewer way to fail.
120477         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
120478         optional field width, not before, so we accept %9:z, not %:9z.
120479         (my_strftime): Be sure to use L_('x') for literals.
120481         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
120482         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
120483         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
120484         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
120485         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
120486         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
120487         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
120488         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
120489         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
120490         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
120491         * lib/xgethostname.c, lib/xreadlink.c:
120492         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
120494         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
120495         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
120496         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
120497         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
120498         and don't include <sys/file.h>).
120500 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
120502         Sync from coreutils.
120504         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
120505         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
120506         [!LDAV_DONE]: Avoid unused variable warning.
120508 2005-09-21  Bruno Haible  <bruno@clisp.org>
120510         * lib/unicodeio.h (unicode_to_mb): New declaration.
120512 2005-09-20  Derek Price  <derek@ximbiot.com>
120514         * lib/getaddrinfo.c: Don't include <netdb.h> included from
120515         getaddrinfo.h.
120517 2005-09-20  Bruno Haible  <bruno@clisp.org>
120519         * gnulib-tool: Remove trailing slashes from the values specified for
120520         --source-base, --m4-base, --tests-base, --aux-dir.
120521         Suggested by Simon Josefsson <jas@extundo.com>.
120523 2005-09-20  Bruno Haible  <bruno@clisp.org>
120525         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
120526         func_modules_to_filelist, func_import, func_create_testdir): Make all
120527         sorting results locale-independent, so that gnulib-cache.m4 doesn't
120528         change when gnulib-tool is invoked in a different locale.
120530 2005-09-19  Simon Josefsson  <jas@extundo.com>
120532         * m4/socklen.m4: Fix typo.
120534 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
120536         Use a consistent style for including <config.h>.
120537         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
120538         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
120539         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
120540         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
120541         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
120542         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
120543         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
120544         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
120545         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
120546         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
120547         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
120548         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
120549         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
120550         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
120551         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
120552         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
120553         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
120554         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
120555         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
120556         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
120557         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
120558         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
120559         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
120560         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
120561         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
120562         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
120563         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
120564         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
120565         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
120566         lib/xstrtoumax.c, lib/yesno.c:
120567         Standardize inclusion of config.h.
120568         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
120569         lib/inttostr.h:  Removed inclusion of config.h from header files.
120570         * lib/inttostr.c:  Adjusted in-tree users.
120571         * lib/timespec.h: Remove superfluous warning to include config.h.
120572         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
120573         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
120574         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
120575         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
120576         config.h with HAVE_CONFIG_H.
120578 2005-09-19  Jim Meyering  <jim@meyering.net>
120580         * modules/pathmax (License): Change to LGPL.
120582 2005-09-19  Derek Price  <derek@ximbiot.com>
120584         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
120586 2005-09-19  Bruno Haible  <bruno@clisp.org>
120588         * gnulib-tool (import): Provide default for --tests-base.
120590 2005-09-19  Bruno Haible  <bruno@clisp.org>
120592         * doc/quote.texi: New file, extracted from gnulib.texi.
120593         * doc/ctime.texi: New file, extracted from gnulib.texi.
120594         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
120595         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
120596         * doc/gnulib.texi: Include them.
120598 2005-09-18  Bruno Haible  <bruno@clisp.org>
120600         Portability fix.
120601         * gnulib-tool (func_readlink): New function.
120602         (func_ln_if_changed): Use it.
120604 2005-09-18  Bruno Haible  <bruno@clisp.org>
120606         * gnulib-tool: Support --with-tests also with --import.
120607         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
120608         (func_import): Use variables $testsbase and $inctests. Emit a
120609         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
120610         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
120611         SUBDIRS += $testsdir.
120612         (func_create_testdir): Update.
120614 2005-09-18  Bruno Haible  <bruno@clisp.org>
120616         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
120617         instead of $dry_run.
120618         (func_cp_if_changed, func_mv_if_changed): Remove functions.
120619         (func_ln_if_changed): Don't handle dry-run here.
120620         (func_import): In dry-run mode, detect more precisely which actions
120621         would be performed, and don't use "...ing" verbs.
120623 2005-09-18  Bruno Haible  <bruno@clisp.org>
120625         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
120626         (func_import): Use join on two temporary files instead of three nested
120627         loops, in order to determine which files are new or old.
120629 2005-09-18  Bruno Haible  <bruno@clisp.org>
120631         * gnulib-tool (func_import): Comment out code that spits out the
120632         new files with --dry-run.
120634 2005-09-18  Bruno Haible  <bruno@clisp.org>
120636         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
120638 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120640         * lib/stat-time.h: New file.
120641         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
120642         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
120643         in a different way.
120644         (timespec_cmp): New function.
120645         * lib/utimecmp.c: Include stat-time.h.
120646         (SYSCALL_RESOLUTION): Depend on whether various struct stat
120647         members exist, not on the obsolescent ST_MTIM_NSEC.
120648         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
120650 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120652         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
120654 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120656         * MODULES.html.sh (File system functions): Add stat-time.
120657         * modules/stat-time: New file.
120658         * modules/timespec (Files): Remove m4/st_mtim.m4; this
120659         is now done in a different way, by the stat-time module.
120660         * modules/utimecmp (Depends-on): Add stat-time.
120662 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
120664         * m4/st_mtim.m4: Remove.  Superseded by...
120665         * m4/stat-time.m4: New file.
120666         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
120667         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
120669 2005-09-15  Derek Price  <derek@ximbiot.com>
120671         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
120673 2005-09-15  Derek Price  <derek@ximbiot.com>
120675         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
120676         * lib/regex_internal.c: Ditto, using this...
120677         (__GNUC_PREREQ): ...new macro.
120678         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
120679         using...
120680         (__GNUC_PREREQ): ...this new macro.
120682         * lib/strstr.h: Include string.h. Define strstr as a macro here.
120684 2005-09-15  Derek Price  <derek@ximbiot.com>
120685             Paul Eggert  <eggert@cs.ucla.edu>
120687         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
120688         changes, consolidating in...
120689         * lib/regex_internal.h: ...this file.
120691 2005-09-13  Jim Meyering  <jim@meyering.net>
120693         * lib/canon-host.c: Filter through gnu indent and reword comments
120694         slightly.
120695         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
120697 2005-09-13  Derek Price  <derek@ximbiot.com>
120699         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
120700         failure.
120701         Reported by Jim Meyering  <jim@meyering.net>.
120703 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
120705         * lib/base64.c: Typo.
120706         (base64_encode): Put b64str in initialized data section.
120708 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
120710         Merge glibc and coreutils changes into gnulib, plus a few
120711         extra fixes.
120712         * lib/md5.c: Use #error rather than a string.
120713         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
120714         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
120715         (__attribute__): Define to empty for non recent-GCC.
120716         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
120717         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
120718         Renamed from their non-__ counterparts, with new macros replacing
120719         them if not _LIBC.  Add __THROW attribute.
120720         (rol): Remove.
120721         (struct md5_ctx): Align buffer if using GCC.
120722         * lib/sha1.h (struct sha1_ctx): Likewise.
120723         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
120724         The old name was backwards.
120725         (NOTSWAP): Remove; not used.
120726         (rol): New macro, moved here from md5.h.
120727         (sha1_process_block): Remove a FIXME that doesn't make sense.
120729 2005-09-12  Derek Price  <derek@ximbiot.com>
120731         Return usable errors from canon-host.
120732         * lib/canon-host.h: New file.
120733         * lib/canon-host.c (canon_host): Wrap...
120734         (canon_host_r): ...this new function, which now relies exclusively on
120735         getaddrinfo.
120736         (ch_strerror): New function.
120737         (last_cherror): New global.
120738         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
120739         interface.
120740         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
120741         void *.
120742         (freeaddrinfo): Free ai->ai_canonname when set.
120744 2005-09-12  Derek Price  <derek@ximbiot.com>
120746         Make canon-host require getaddrinfo.
120747         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
120748         AC_LIBSOURCE canon-host.h.  Call...
120749         (gl_PREREQ_CANON_HOST): ...this new function, which requires
120750         gl_GETADDRINFO.
120751         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
120753 2005-09-12  Derek Price  <derek@ximbiot.com>
120755         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
120756         LGPL.
120757         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
120759 2005-09-12  Derek Price  <derek@ximbiot.com>
120761         * lib/gai_strerror.c: Include config.h when available.  Include
120762         getaddrinfo.h before other headers to test interface.
120763         Reported by Larry Jones <lawrence.jones@ugs.com>.
120765 2005-09-12  Derek Price  <derek@ximbiot.com>
120766             Paul Eggert  <eggert@cs.ucla.edu>
120768         * modules/glob (Files): Add glob-libc.h.
120770 2005-09-12  Derek Price  <derek@ximbiot.com>
120771             Paul Eggert  <eggert@cs.ucla.edu>
120773         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
120774         glob_.h, glob-libc.h.
120775         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
120777 2005-09-12  Derek Price  <derek@ximbiot.com>
120778             Paul Eggert  <eggert@cs.ucla.edu>
120780         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
120781         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
120782         protecting things that should be done only in gnulib contexts.
120783         * lib/glob_.h: New file, containing only the glob things needed for
120784         gnulib.
120785         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
120786         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
120787         (glob, globfree, glob_pattern_p): Now defined simply in terms of
120788         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
120789         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
120790         and to respect the namespace rules better.
120792 2005-09-08  Simon Josefsson  <jas@extundo.com>
120794         * modules/socklen: New file.
120796 2005-09-08  Simon Josefsson  <jas@extundo.com>
120798         * m4/socklen.m4: New file.
120800 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120802         * modules/utimens (Files): Add m4/utimbuf.m4, since
120803         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
120804         Reported by Sergey Poznyakoff.
120806 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120808         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
120809         definitions, since that's the preferred style in glibc.
120810         Fix a minor spacing issue, and update copyright notice to match
120811         glibc's.
120813 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120815         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
120817 2005-09-06  Simon Josefsson  <jas@extundo.com>
120819         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
120820         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
120822 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
120824         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
120825         warning.
120827 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
120829         * config/srclist.txt: Add glibc bug 1302.
120831 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
120833         Change bitset word type from unsigned int to unsigned long int,
120834         as this has better performance on typical 64-bit hosts.
120835         Port bitset code to hosts with unusual word sizes.
120836         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
120837         (build_collating_symbol):
120838         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
120839         argument is a bitset.  This is merely a style issue, but it makes
120840         it clearer that an entire array is expected.
120841         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
120842         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
120843         Port to the case where bitset_word is not the same as unsigned int.
120844         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
120845         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
120846         Likewise.
120847         * lib/regexec.c (check_dst_limits_calc_pos_1,
120848         check_subexp_matching_top):
120849         (build_trtable, group_nodes_into_DFAstates):
120850         Likewise.
120851         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
120852         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
120853         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
120854         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
120855         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
120856         * lib/regcomp.c (optimize_subexps, lower_subexp):
120857         Work even if bitset_word has holes in its bitwise representation.
120858         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
120859         * lib/regexec.c (check_dst_limits_calc_pos_1,
120860         check_subexp_matching_top):
120861         Likewise.
120862         * lib/regex_internal.c (re_string_reconstruct):
120863         Don't assume UCHAR_MAX == 255.
120864         * lib/regex_internal.h (bitset_set_all): Likewise.
120865         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
120866         All uses changed.
120867         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
120868         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
120869         All uses changed.
120870         (BITSET_WORD_MAX): New macro.
120871         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
120872         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
120873         (bitset_empty, bitset_copy):
120874         Prefer sizeof (bitset) to multiplying it out ourselves.
120875         (bitset_not_merge): Remove; unused.
120876         (bitset_contain): Return bool, not unsigned int with one bit on.
120877         All callers changed.
120878         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
120879         alignment than re_node_set; do this by defining a new internal
120880         type struct dests_alloc and using it to allocate memory.
120882 2005-09-05  Bruno Haible  <bruno@clisp.org>
120884         * gnulib-tool (func_import): Fix comparison in handling of symbolic
120885         links.
120887 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
120889         * modules/size_max (Makefile.am): Add size_max.h
120891 2005-09-04  Derek Price  <derek@ximbiot.com>
120893         * gnulib-tool (func_import): Fix reversed $symbolic logic.
120895 2005-09-03  Simon Josefsson  <jas@extundo.com>
120897         * gnulib-tool: Fix typo.
120899 2005-09-03  Simon Josefsson  <jas@extundo.com>
120901         * config/srclist.txt: Add glibc bug 1293.
120903 2005-09-03  Derek Price  <derek@ximbiot.com>
120905         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
120906         From Larry Jones <lawrence.jones@ugs.com>.
120908 2005-09-02  Simon Josefsson  <jas@extundo.com>
120910         * modules/socklen: New file.
120912 2005-09-02  Simon Josefsson  <jas@extundo.com>
120914         * modules/havelib: New module.
120916         * modules/gettext, modules/iconv, modules/lock, modules/readline:
120917         Use havelib.
120919 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
120921         Check for arithmetic overflow when calculating sizes, to prevent
120922         some buffer-overflow issues.  These patches are conservative, in the
120923         sense that when I couldn't determine whether an overflow was possible,
120924         I inserted a run-time check.
120925         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
120926         macros.
120927         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
120928         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
120929         (re_xnrealloc, re_x2nrealloc): New inline functions.
120930         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
120931         parse_bracket_exp):
120932         (build_equiv_class, build_charclass): Check for arithmetic overflow
120933         in size expression calculations.
120934         * lib/regex_internal.c (re_string_realloc_buffers):
120935         (build_wcs_upper_buffer, re_node_set_add_intersect):
120936         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
120937         (re_dfa_add_node, register_state): Likewise.
120938         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
120939         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
120940         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
120941         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
120943 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
120945         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
120946         m4/ulonglong.m4.  Problem reported by Martin Lambers.
120948 2005-09-02  Bruno Haible  <bruno@clisp.org>
120950         Support for lib vs. lib64 distinction on biarch platforms.
120951         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
120952         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
120953         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
120955 2005-09-02  Bruno Haible  <bruno@clisp.org>
120957         * gnulib-tool (import): In the other first-use case, provide defaults
120958         as well.
120960 2005-09-02  Bruno Haible  <bruno@clisp.org>
120962         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
120963         patches not yet found in the latest gettext release.
120965 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
120967         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
120968         to avoid a collision with bits/local_lim.h in glibc.
120969         All uses changed.  Problem reported by Dmitry V. Levin in
120970         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
120972         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
120973         bugs in int versus size_t comparisons.
120974         (re_string_context_at): Fix bug where the code assumed that
120975         Idx is signed.
120977         Use bool where appropriate.
120978         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
120979         All callers changed.
120980         (calc_eclosure_iter): Likewise, for ROOT arg.
120981         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
120982         (build_charclass_op): Likewise, for NON_MATCH arg.
120983         * lib/regex_internal.c (re_string_allocate, re_string_construct):
120984         (re_string_construct_common): Likewise, for ICASE arg.
120985         * lib/regexec.c (re_search_2_stub, re_search_stub):
120986         Likewise, for RET_LEN arg.
120987         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
120988         (set_regs): Likewise, for FL_BACKTRACK arg.
120989         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
120990         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
120991         (calc_eclosure_iter, parse_bracket_exp):
120992         Use bool for internal variables that are booleans.
120993         * lib/regexec.c (re_search_internal, check_matching,
120994         proceed_next_node):
120995         (set_regs, build_sifted_states, sift_states_bkref):
120996         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
120997         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
120998         (find_collation_sequence_value):
120999         Likewise.
121000         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
121001         (re_node_set_compare):
121002         Return bool, not int. All callers changed.
121003         * lib/regexec.c (check_halt_node_context, check_dst_limits):
121004         (build_trtable, check_node_accept): Likewise.
121005         * lib/regex_internal.h: Include stdbool.h.
121007         Fix bugs uncovered when converting to bool.
121008         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
121009         failure instead of charging ahead blindly.
121010         * lib/regex_internal.c (register_state): Likewise.
121011         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
121012         for freeing internal storage.
121013         (group_nodes_into_DFA_states): Use unsigned int, not int, for
121014         bitset pieces used as boolean, to avoid undefined behavior
121015         on hosts that do int overflow checking.
121017 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
121019         * config/srclist.txt: Add glibc bugs 1285-1287.
121021 2005-09-01  Jim Meyering  <jim@meyering.net>
121023         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
121024         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
121025         Require gl_STAT_MACROS, too.
121027 2005-09-01  Bruno Haible  <bruno@clisp.org>
121029         * gnulib-tool (import): In the first-use case, provide defaults.
121031 2005-09-01  Bruno Haible  <bruno@clisp.org>
121033         * gnulib-tool (func_import): Remove the .tmp files.
121035 2005-09-01  Bruno Haible  <bruno@clisp.org>
121037         * gnulib-tool (func_import): Fix handling of symbolic links.
121039 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
121041         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
121042         old glibc regex code mishandles strings longer than 2**31 bytes.
121043         This patch fixes this when the regex code is used in gnulib
121044         (i.e., outside glibc).
121046         This patch should not affect the use of the regex code inside
121047         glibc.  No doubt this problem also needs to be handled for glibc
121048         as well, but the result will be an incompatible change to the
121049         glibc ABI, and the old ABI will have to be supported too.  That
121050         can be the subject for another patch.
121052         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
121053         governing whether the rest of this patch is active.  By default,
121054         the macro is disabled and the patch has no effect.
121055         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
121056         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
121057         (struct re_pattern_buffer, re_search, re_search_2, re_match):
121058         (re_match_2, re_set_registers): Use the new types.
121059         * lib/regex_internal.h (Idx, re_hashval_t): New types.
121060         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
121061         New macros.
121062         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
121063         (re_string_context_at, bin_tree_t, re_dfastate_t):
121064         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
121065         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
121066         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
121067         (re_string_char_size_at, re_string_wchar_at):
121068         (re_string_elem_size_at):
121069         Use the new types and macros to port to 64-bit hosts.
121070         Use unsigned types for internal values, so that the code
121071         mostly works even for arrays larger than SSIZE_MAX.
121072         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
121073         (search_duplicated_node, calc_eclosure_iter, fetch_number):
121074         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
121075         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
121076         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
121077         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
121078         (calc_inveclosure, parse_dup_op, build_range_exp):
121079         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
121080         (fetch_number, create_token_tree, mark_opt_subexp):
121081         Likewise.
121082         * lib/regex_internal.c (re_string_construct_common,
121083         create_ci_newstate):
121084         (create_cd_newstate, re_string_allocate, re_string_construct):
121085         (re_string_realloc_buffers, build_wcs_upper_buffer):
121086         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
121087         (re_string_reconstruct, re_string_peek_byte_case):
121088         (re_string_fetch_byte_case, re_string_context_at):
121089         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
121090         (re_node_set_init_copy, re_node_set_add_intersect):
121091         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
121092         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
121093         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
121094         (re_acquire_state, re_acquire_state_context, register_state):
121095         Likewise.
121096         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
121097         search_cur_bkref_entry):
121098         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
121099         (re_search_internal, re_search_2_stub, re_search_stub)
121100         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
121101         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
121102         (update_cur_sifted_state, check_dst_limits):
121103         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
121104         (check_subexp_limits, sift_states_bkref, merge_state_array):
121105         (check_subexp_matching_top, get_subexp, get_subexp_sub):
121106         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
121107         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
121108         (expand_bkref_cache, check_node_accept_bytes):
121109         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
121110         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
121111         (acquire_init_state_context, check_halt_node_context):
121112         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
121113         (sift_states_backward, clean_state_log_if_needed):
121114         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
121115         (find_recover_state, transit_state_sb, transit_state_mb):
121116         (transit_state_bkref, build_trtable, match_ctx_clean):
121117         Likewise.
121118         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
121119         to work around an assumption that REG_MISSING is negative.
121121         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
121122         (seek_collating_symbol_entry) [defined _LIBC]:
121123         (lookup_collation_sequence_value) [defined _LIBC]:
121124         (build_range_exp, build_collating_symbol) [defined _LIBC]:
121125         Use prototypes rather than old-style function definitions.
121126         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
121127         (transit_state_sb) [0]:
121128         (find_collation_sequence_value) [defined _LIBC]: Likewise.
121130         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
121131         rm_eo.
121133         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
121134         (optimize_subexps, lower_subexp):
121135         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
121136         since the signed shift might overflow.  Use 1u<<31 instead.
121137         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
121138         Likewise.
121139         * lib/regexec.c (check_dst_limits_calc_pos_1,
121140         check_subexp_matching_top): Likewise.
121142         * lib/regcomp.c (optimize_subexps, lower_subexp):
121143         Use CHAR_BIT rather than 8, for clarity.
121144         * lib/regexec.c (check_dst_limits_calc_pos_1):
121145         (check_subexp_matching_top): Likewise.
121146         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
121147         have to worry about portability issues when shifting it left.
121148         Remove no-longer-needed test for table_size > 0.
121149         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
121150         in a word, as the resulting behavior is undefined.
121151         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
121152         in one case, a <= should have been an <, and in another case the
121153         whole test was missing.
121154         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
121155         the standard name CHAR_BIT.
121156         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
121157         this is not true on one's complement and signed-magnitude hosts.
121159         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
121160         next_last_offset.
121161         (struct re_dfa_t): Remove unused member states_alloc.
121162         * lib/regcomp.c (init_dfa): Don't initialize unused members.
121164 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
121166         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
121167         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
121168         and large-file glibc and in 32-bit large-file Solaris.
121170 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
121172         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
121173         lengths fit in regoff_t; this isn't true if regoff_t is the same
121174         width as size_t.
121175         * lib/regex.c (re_search_internal): 5th arg is LAST_START
121176         (= START + RANGE) instead of RANGE.  This avoids overflow
121177         problems when regoff_t is the same width as size_t.
121178         All callers changed.
121179         (re_search_2_stub): Check for overflow when adding the
121180         sizes of the two strings.
121181         (re_search_stub): Check for overflow when adding START
121182         to RANGE; if it occurs, substitute the extreme value.
121184 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
121186         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
121188 2005-08-31  Jim Meyering  <jim@meyering.net>
121190         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
121191         a pointer-to-const.
121192         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
121193         (register_state): Likewise.
121194         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
121195         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
121196         (group_nodes_into_DFAstates): Likewise.
121198 2005-08-31  Jim Meyering  <jim@meyering.net>
121200         * check-module: Add a FIXME comment.
121202 2005-08-31  Eric Blake  <ebb9@byu.net>
121204         * modules/unistd-safer (Files): Add unistd--.h.
121205         * modules/stdio-safer (Files): Add stdio--.h.
121207 2005-08-31  Derek Price  <derek@ximbiot.com>
121209         * lib/getdelim.c (getdelim): Return EOF on EOF.
121210         Reported by Larry Jones <lawrence.jones@ugs.com>.
121212 2005-08-31  Bruno Haible  <bruno@clisp.org>
121214         Avoid unnecessary diffs in the generated lib/Makefile.am.
121215         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
121216         the generated files.
121217         (func_import): Don't set cmd.
121219 2005-08-31  Bruno Haible  <bruno@clisp.org>
121221         * lib/strstr.c: Include <stddef.h>, for NULL.
121222         * lib/strcasestr.c: Likewise.
121223         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
121225 2005-08-31  Bruno Haible  <bruno@clisp.org>
121227         * gnulib-tool: New option --macro-prefix.
121228         (func_import): Use macro_prefix.
121229         (import): Handle option --macro-prefix.
121231 2005-08-31  Bruno Haible  <bruno@clisp.org>
121233         * gnulib-tool (import): Rename most ac_* variables to cached_*.
121234         Also use new variables cached_lgpl, cached_libtool.
121236 2005-08-31  Bruno Haible  <bruno@clisp.org>
121238         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
121239         always instantiating them.
121241 2005-08-31  Bruno Haible  <bruno@clisp.org>
121243         * gnulib-tool (func_import): Read the previous cached settings
121244         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
121245         earlier added by gnulib but are now dropped. Warn when a gnulib file
121246         overwrites a non-gnulib file.
121248 2005-08-31  Bruno Haible  <bruno@clisp.org>
121250         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
121251         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
121252         projects that don't keep autogenerated files in CVS. Put into
121253         actioncmd only the specified modules, not the transitive closure.
121255 2005-08-31  Bruno Haible  <bruno@clisp.org>
121257         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
121258         Create directories that shall be filled.
121259         (import): Don't look for gl_* macros in configure.ac. Recurse across
121260         all directories containing a gnulib-cache.m4 files, if meaningful.
121262 2005-08-31  Bruno Haible  <bruno@clisp.org>
121264         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
121265         (import): Set seen_libtool when we see gl_LIBTOOL.
121267 2005-08-31  Bruno Haible  <bruno@clisp.org>
121269         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
121270         declaration macro definitions from generated gnulib.m4.
121272 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
121274         * lib/iconvme.h: Add prototype for iconv_alloc.
121276 2005-08-29  Simon Josefsson  <jas@extundo.com>
121278         * lib/iconvme.c: Fix errno.
121280 2005-08-29  Bruno Haible  <bruno@clisp.org>
121282         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
121283         that it works when the directory contains spaces.
121285 2005-08-29  Bruno Haible  <bruno@clisp.org>
121287         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
121289 2005-08-29  Bruno Haible  <bruno@clisp.org>
121291         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
121292         Emit more advice.
121294 2005-08-29  Bruno Haible  <bruno@clisp.org>
121295         and Stepan Kasal  <kasal@ucw.cz>
121297         * check-module: If more parameters are given, check each of them
121298         separately; add more exceptions, as noted by Jim Meyering.
121299         (check_module): New procedure.
121300         (%exempt_header): Now contains all exceptions.
121302 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
121304         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
121306 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
121308         * lib/iconvme.c: Split iconv_string into iconv_alloc.
121310 2005-08-28  Bruno Haible  <bruno@clisp.org>
121312         * m4/gnulib-tool.m4: New file.
121314 2005-08-27  Jim Meyering  <jim@meyering.net>
121316         * modules/unistd-safer (Files): Add pipe-safer.c.
121317         * modules/fcntl-safer (Files): Add creat-safer.c.
121319 2005-08-27  Jim Meyering  <jim@meyering.net>
121321         * m4/stdlib-safer.m4: New file.  From coreutils.
121322         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
121323         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
121324         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
121325         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
121326         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
121328 2005-08-27  Jim Meyering  <jim@meyering.net>
121330         * lib/fopen-safer.c: Merge minor changes from coreutils.
121331         * lib/dup-safer.c: Likewise.
121332         * lib/fd-safer.c: Likewise.
121334         Merge from coreutils.
121335         * lib/stdio--.h: New file.
121336         * lib/stdlib--.h: New file.
121337         * lib/mkstemp-safer.c: New file.
121339         GNU tar needs these.
121340         * lib/pipe-safer.c: New file.
121341         * lib/creat-safer.c: New file.
121342         * lib/fcntl--.h (creat): Define to creat_safer.
121343         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
121344         * lib/unistd--.h (pipe): Define to pipe_safer.
121345         * lib/unistd-safer.h: Declare pipe_safer.
121347 2005-08-26  Simon Josefsson  <jas@extundo.com>
121349         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
121350         Haible <bruno@clisp.org>.
121352 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
121354         * lib/regex_internal.h: Remove all references to
121355         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
121356         or better.
121357         (bitset_not, bitset_merge, bitset_not_merge):
121358         (bitset_mask, re_string_allocate, re_string_construct):
121359         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
121360         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
121361         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
121362         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
121363         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
121364         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
121365         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
121366         (re_acquire_state_context):
121367         Remove unnecessary forward decls.
121368         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
121369         Put __attribute at function definition,
121370         now that the function decl has been removed.
121371         * lib/regex_internal.c (re_string_peek_byte_case):
121372         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
121373         Likewise.
121375 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
121377         * m4/regex.m4: Add AC_PREREQ(2.50).
121378         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
121380 2005-08-25  Simon Josefsson  <jas@extundo.com>
121382         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
121383         __fsetlocking.
121385 2005-08-25  Simon Josefsson  <jas@extundo.com>
121387         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
121388         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
121389         GLIBC specific code.
121391 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121393         Make regex safe for g++.  This fixes one real bug (an "err"
121394         that should have been "*err").  g++ problem reported by
121395         Sam Steingold.
121396         * lib/regex_internal.h (re_calloc): New macro, consistent with
121397         re_malloc etc.  All callers of calloc changed to use re_calloc.
121398         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
121399         not int.  All callers changed.
121400         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
121401         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
121402         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
121403         (find_recover_state): Change "err" to "*err"; this fixes what
121404         appears to be a real bug.
121405         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
121406         versus int.
121408 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121410         * modules/regex (Depends-on): Add malloc, since the code
121411         assumes that !malloc(0) means failure.
121413 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121415         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
121417         alloca modernization/simplification for regex.
121418         * lib/regex.c: Remove portability cruft for alloca.  This no longer
121419         needs to be at the start of the file, and can be moved into
121420         regex_internal.h and simplified.
121421         * lib/regex_internal.h: Include <alloca.h>.
121422         (__libc_use_alloca) [!defined _LIBC]: New macro.
121423         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
121424         now works outside glibc.
121426 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121428         * config/srclist.txt: Add glibc bugs 1241, 1245.
121430 2005-08-25  Jim Meyering  <jim@meyering.net>
121432         * lib/open-safer.c: Include <config.h>.
121433         Otherwise, we'd lose LARGEFILE support in any file using
121434         e.g. "fcntl--.h"
121436 2005-08-25  Bruno Haible  <bruno@clisp.org>
121438         * m4/minmax.m4: Require autoconf 2.52.
121439         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
121440         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
121441         alternatives of translit over the alphabet.
121442         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
121444 2005-08-24  Simon Josefsson  <jas@extundo.com>
121446         * tests/test-getpass.c: New file.
121448 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121450         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
121451         for GNU regex features.
121453 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121455         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
121456         * lib/regex.h (regerror): Likewise.
121458         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
121459         requires this.  (The code never needed it.)
121461         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
121462         All uses of recently-renamed identifiers changed to use the new,
121463         POSIX-compliant names.  The code will build and run just fine
121464         without these changes, but it's better to eat our own dog food
121465         and use the standard-conforming names.
121467         * lib/regex.h: Fix a multitude of POSIX name space violations.
121468         These changes have an effect only for programs that define
121469         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
121470         do not change anything for programs compiled in the normal way.
121471         Also, there is no effect on the ABI.
121473         (_REGEX_SOURCE): New macro.
121474         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
121475         defined and _GNU_SOURCE is not; this fixes a name space violation.
121477         Rename the following macros to obey POSIX requirements.
121478         The old names are still visible as macros if _REGEX_SOURCE is defined.
121479         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
121480         RE_BACKSLASH_ESCAPE_IN_LISTS.
121481         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
121482         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
121483         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
121484         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
121485         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
121486         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
121487         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
121488         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
121489         (REG_INTERVALS): renamed from RE_INTERVALS.
121490         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
121491         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
121492         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
121493         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
121494         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
121495         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
121496         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
121497         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
121498         RE_UNMATCHED_RIGHT_PAREN_ORD.
121499         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
121500         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
121501         (REG_DEBUG): renamed from RE_DEBUG.
121502         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
121503         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
121504         unusual, since we can't clash with the POSIX REG_ICASE.
121505         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
121506         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
121507         (REG_NO_SUB): renamed from RE_NO_SUB.
121508         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
121509         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
121510         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
121511         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
121512         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
121513         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
121514         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
121515         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
121516         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
121517         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
121518         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
121519         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
121520         RE_SYNTAX_POSIX_MINIMAL_BASIC.
121521         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
121522         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
121523         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
121524         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
121525         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
121526         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
121527         (REG_FIXED): Renamed from REGS_FIXED.
121528         (REG_NREGS): Renamed from RE_NREGS.
121530         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
121531         of other REG_* macros, since POSIX says the user is allowed to
121532         #undef these macros selectively.
121534         (reg_errcode_t): Update comment stating what other tables need
121535         to be consistent.
121537         Rename the following enum values to obey POSIX requirements.
121538         The old names are still visible as macros.
121539         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
121540         is not defined, since GNU is supposed to be a superset of POSIX as
121541         much as possible, and since we want reg_errcode_t to be a signed
121542         type for implementation consistency.
121543         (_REG_NOERROR): Renamed from REG_NOERROR.
121544         (_REG_NOMATCH): Renamed from REG_NOMATCH.
121545         (_REG_BADPAT): Renamed from REG_BADPAT.
121546         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
121547         (_REG_ECTYPE): Renamed from REG_ECTYPE.
121548         (_REG_EESCAPE): Renamed from REG_EESCAPE.
121549         (_REG_ESUBREG): Renamed from REG_ESUBREG.
121550         (_REG_EBRACK): Renamed from REG_EBRACK.
121551         (_REG_EPAREN): Renamed from REG_EPAREN.
121552         (_REG_EBRACE): Renamed from REG_EBRACE.
121553         (_REG_BADBR): Renamed from REG_BADBR.
121554         (_REG_ERANGE): Renamed from REG_ERANGE.
121555         (_REG_ESPACE): Renamed from REG_ESPACE.
121556         (_REG_BADRPT): Renamed from REG_BADRPT.
121557         (_REG_EEND): Renamed from REG_EEND.
121558         (_REG_ESIZE): Renamed from REG_ESIZE.
121559         (_REG_ERPAREN): Renamed from REG_ERPAREN.
121560         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
121561         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
121562         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
121563         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
121565         (_REG_RE_NAME, _REG_RM_NAME): New macros.
121566         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
121567         changed.  But support the old name if the new one is not defined
121568         and if _REGEX_SOURCE.
121570         Change the following member names in struct re_pattern_buffer.
121571         The old names are still supported if !_REGEX_SOURCE.
121572         The new names are always supported, regardless of _REGEX_SOURCE.
121573         (re_buffer): Renamed from buffer.
121574         (re_allocated): Renamed from allocated.
121575         (re_used): Renamed from used.
121576         (re_syntax): Renamed from syntax.
121577         (re_fastmap): Renamed from fastmap.
121578         (re_translate): Renamed from translate.
121579         (re_can_be_null): Renamed from can_be_null.
121580         (re_regs_allocated): Renamed from regs_allocated.
121581         (re_fastmap_accurate): Renamed from fastmap_accurate.
121582         (re_no_sub): Renamed from no_sub.
121583         (re_not_bol): Renamed from not_bol.
121584         (re_not_eol): Renamed from not_eol.
121585         (re_newline_anchor): Renamed from newline_anchor.
121587         Change the following member names in struct re_registers.
121588         The old names are still supported if !_REGEX_SOURCE.
121589         The new names are always supported, regardless of _REGEX_SOURCE.
121590         (rm_num_regs): Renamed from num_regs.
121591         (rm_start): Renamed from start.
121592         (rm_end): Renamed from end.
121594         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
121595         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
121596         Prepend __ to parameter names.
121598         Undo yesterday's changes.
121600 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121602         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
121603         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
121604         lib/regex.c.
121606 2005-08-24  Jim Meyering  <jim@meyering.net>
121608         Sync from coreutils.
121609         * m4/fcntl-safer.m4: New file.
121611         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
121612         and object files for this module.
121614 2005-08-24  Jim Meyering  <jim@meyering.net>
121616         Sync from coreutils.
121617         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
121619 2005-08-24  Jim Meyering  <jim@meyering.net>
121621         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
121622         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
121624 2005-08-24  Jim Meyering  <jim@meyering.net>
121626         * modules/fcntl-safer: New module.
121627         * modules/fts (Depends-on): Add fcntl-safer.
121628         * MODULES.html.sh (File descriptor based Input/Output):
121629         Add fcntl-safer.
121631 2005-08-24  Bruno Haible  <bruno@clisp.org>
121633         Support for unit test modules.
121634         * modules/README: Mention tests modules.
121635         * modules/TEMPLATE-TESTS: New file.
121636         * gnulib-tool: New options --extract-tests-module, --with-tests and
121637         --tests-base (unused for the moment).
121638         (testsbase, inctests): New variables.
121639         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
121640         (func_verify_module): Exclude TEMPLATE-TESTS.
121641         (func_verify_nontests_module, func_verify_tests_module): New functions.
121642         (func_get_dependencies): Add implicit dependency for tests modules.
121643         (func_get_tests_module): New function.
121644         (func_modules_transitive_closure): When --with-tests was specified,
121645         include the unit tests as well, unless explicitly avoided.
121646         (func_emit_lib_Makefile_am): Ignore the tests modules here.
121647         (func_emit_tests_Makefile_am): New function.
121648         (func_create_testdir): When --with-tests was specified, emit a
121649         tests/ directory.
121650         * MODULES.html.sh (Future developments): Update.
121652 2005-08-24  Bruno Haible  <bruno@clisp.org>
121654         * modules/tls-tests: New file.
121655         * tests/test-tls.c: New file, from GNU gettext.
121657 2005-08-24  Bruno Haible  <bruno@clisp.org>
121659         * modules/lock-tests: New file.
121660         * tests/test-lock.c: New file, from GNU gettext.
121662 2005-08-24  Bruno Haible  <bruno@clisp.org>
121664         * lib/lock.h: Add multiple inclusion guard.
121665         * lib/tls.h: Add multiple inclusion guard.
121667 2005-08-24  Bruno Haible  <bruno@clisp.org>
121669         * gnulib-tool: Add support for the --aux-dir option to
121670         --create-testdir, --create-megatestdir, --test, --megatest.
121671         (func_create_testdir, func_create_megatestdir): Optionally emit a
121672         AC_CONFIG_AUX_DIR directive.
121673         (create-testdir, create-megatestdir, test, megatest): Provide a
121674         default value for $auxdir.
121676 2005-08-24  Bruno Haible  <bruno@clisp.org>
121678         * gnulib-tool (import): Use compound statement instead of subshell
121679         where possible.
121681 2005-08-24  Bruno Haible  <bruno@clisp.org>
121683         * gnulib-tool (import): Change --aux-dir default to "build-aux".
121685 2005-08-24  Bruno Haible  <bruno@clisp.org>
121687         * gnulib-tool (func_version): Update.
121689 2005-08-24  Bruno Haible  <bruno@clisp.org>
121691         * gnulib-tool (func_import, func_create_testdir,
121692         func_create_megatestdir): Quote all autoconf macro arguments.
121694 2005-08-24  Bruno Haible  <bruno@clisp.org>
121696         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
121697         option --force, because --force causes the aclocal.m4 of each
121698         subdirectory to be newer than the corresponding config.h.in.
121700 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121702         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
121703         All contents moved to gl_REGEX.
121704         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
121705         assume that it does.
121707 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121709         * lib/regex.h (REG_NOSYS)
121710         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
121711         Define, since POSIX requires it as of 2001.
121712         (_REG_ENOSYS)
121713         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
121714         New private symbol, used to keep the enum signed in all cases.
121715         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
121716         Youngman in
121717         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
121719         * lib/regex_internal.c (re_string_skip_chars, register_state):
121720         (calc_state_hash):
121721         Remove forward decls; no longer needed now that we use prototypes.
121722         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
121723         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
121724         (clean_state_log_if_needed): Likewise.
121726 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121728         * config/srclist.txt: Add glibc bugs 1231-1233.
121730 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121732         Fix problems reported by Sam Steingold in
121733         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
121734         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
121735         assumed that reg_errcode_t is a signed type, which is not
121736         necessarily true if _XOPEN_SOURCE is not defined.
121737         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
121738         since some compilers warn about it otherwise.
121740 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121742         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
121743         (init_word_char, create_initial_state, duplicate_node_closure):
121744         (fetch_token, peek_token_bracket, build_range_exp):
121745         (build_collating_symbol): Remove forward decls; no longer needed
121746         now that we use prototypes.
121748         * lib/regcomp.c:
121749         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
121750         (re_compile_fastmap_iter, regcomp, regerror, regfree):
121751         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
121752         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
121753         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
121754         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
121755         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
121756         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
121757         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
121758         (build_range_exp, build_collating_symbol, parse_bracket_exp):
121759         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
121760         (build_charclass, build_charclass_op, fetch_number, create_tree):
121761         (create_token_tree, mark_opt_subexp, duplicate_tree):
121762         Use prototypes rather than old-style definitions.
121764         * lib/regex_internal.c:
121765         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
121766         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
121767         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
121768         (re_string_reconstruct, re_string_peek_byte_case):
121769         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
121770         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
121771         (re_node_set_init_copy, re_node_set_add_intersect):
121772         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
121773         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
121774         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
121775         (re_acquire_state, re_acquire_state_context, register_state):
121776         (create_ci_newstate, create_cd_newstate, free_state):
121777         Likewise.
121778         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
121779         re_search_2):
121780         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
121781         (re_search_internal, prune_impossible_nodes):
121782         (acquire_init_state_context, check_matching, static):
121783         (check_halt_node_context, check_halt_state_context, proceed_next_node):
121784         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
121785         (update_regs, sift_states_backward, build_sifted_states):
121786         (clean_state_log_if_needed, merge_state_array):
121787         (update_cur_sifted_state, add_epsilon_src_nodes):
121788         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
121789         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
121790         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
121791         (find_recover_state, check_subexp_matching_top, transit_state_mb):
121792         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
121793         (check_arrival, check_arrival_add_next_nodes):
121794         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
121795         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
121796         (check_node_accept_bytes, check_node_accept, extend_buffers):
121797         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
121798         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
121799         (sift_ctx_init):
121800         Likewise.
121802         * lib/regex_internal.h:
121803         (re_string_allocate, re_string_construct, re_string_reconstruct):
121804         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
121805         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
121806         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
121807         (re_string_context_at, re_string_peek_byte_case):
121808         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
121809         is defined, since we now use prototypes always.
121811         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
121812         C89 or better.  All uses removed.
121814 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121816         * config/srclist.txt: Add glibc bugs 1220-1227.
121818 2005-08-20  Jim Meyering  <jim@meyering.net>
121820         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
121821         of unused local, dfa.
121823 2005-08-20  Bruno Haible  <bruno@clisp.org>
121825         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
121827 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121829         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
121830         (re_node_set_insert_last, re_dfa_add_node):
121831         Rename local variables to avoid GCC shadowing warnings.
121833 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121835         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
121836         [defined lint]: Suppress bogus uninitialized-variable warnings.
121838         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
121839         and let the caller return REG_ESPACE if out of space.  This
121840         removes an uninitialied-variable warning with GCC 4.0.1, and also
121841         avoids taking the address of a local variable.  All callers
121842         changed.
121844 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121846         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
121847         $LIBCSRC/posix/regexec.c.
121848         Add glibc bug 1217 for regcomp.c.
121850 2005-08-19  Jim Meyering  <jim@meyering.net>
121852         * lib/regexec.c (proceed_next_node): Redo local variables to
121853         avoid GCC shadowing warnings.
121855 2005-08-18  Bruno Haible  <bruno@clisp.org>
121857         * lib/strstr.c (strstr): Fix return value in multibyte case.
121858         * lib/strcasestr.c (strcasestr): Likewise.
121860 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
121862         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
121864 2005-08-17  Jim Meyering  <jim@meyering.net>
121866         Make the %s format (seconds since the epoch) work for a negative
121867         number and when used with a zero-padded field width, e.g. %015s.
121869         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
121870         label so that it precedes the code to set `digits'.  Otherwise,
121871         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
121872         print `00-22'.  Now, it prints `-0022', as it should.
121874 2005-08-17  Bruno Haible  <bruno@clisp.org>
121876         * modules/strstr (Files): Add m4/mbrtowc.m4.
121877         (Depends-on): Add mbuiter.
121879 2005-08-17  Bruno Haible  <bruno@clisp.org>
121881         * modules/strcasestr: New file.
121882         * MODULES.html.sh (String handling, based on ANSI C 89): Add
121883         strcasestr.
121885 2005-08-17  Bruno Haible  <bruno@clisp.org>
121887         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
121889 2005-08-17  Bruno Haible  <bruno@clisp.org>
121891         * modules/mbuiter: New file.
121892         * MODULES.html.sh (Extended multibyte and wide character utilities):
121893         Add mbuiter.
121895 2005-08-17  Bruno Haible  <bruno@clisp.org>
121897         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
121898         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
121900 2005-08-17  Bruno Haible  <bruno@clisp.org>
121902         * m4/strcasestr.m4: New file.
121904 2005-08-17  Bruno Haible  <bruno@clisp.org>
121906         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
121907         * lib/strstr.c: Completely rewritten, with multibyte locale support.
121909 2005-08-17  Bruno Haible  <bruno@clisp.org>
121911         * lib/strcasestr.h: New file.
121912         * lib/strcasestr.c: New file.
121914 2005-08-17  Bruno Haible  <bruno@clisp.org>
121916         * lib/strcasecmp.c: Use mbuiter.h.
121918 2005-08-17  Bruno Haible  <bruno@clisp.org>
121920         * lib/mbuiter.h: New file.
121922 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
121924         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
121925         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
121926         and gl_GETOPT are both invoked via different paths (as happens
121927         with GNU tar CVS because it uses both argp and getopt), the former
121928         wins.
121930 2005-08-16  Bruno Haible  <bruno@clisp.org>
121932         * modules/tls: New file.
121933         * MODULES.html.sh (Multithreading): Add tls.
121935 2005-08-16  Bruno Haible  <bruno@clisp.org>
121937         * modules/strnlen1: New file.
121938         * MODULES.html.sh (String handling): Add strnlen1.
121940 2005-08-16  Bruno Haible  <bruno@clisp.org>
121942         * modules/strcase (Files): Add m4/mbrtowc.m4.
121943         (Depends-on): Add strnlen1, mbchar.
121945 2005-08-16  Bruno Haible  <bruno@clisp.org>
121947         * modules/mbiter: New file.
121948         * MODULES.html.sh (Extended multibyte and wide character utilities):
121949         Add mbiter.
121951 2005-08-16  Bruno Haible  <bruno@clisp.org>
121953         * modules/mbfile: New file.
121954         * MODULES.html.sh (Extended multibyte and wide character utilities):
121955         Add mbfile.
121957 2005-08-16  Bruno Haible  <bruno@clisp.org>
121959         * modules/mbchar: New file.
121960         * MODULES.html.sh (Extended multibyte and wide character utilities):
121961         New section.
121963 2005-08-16  Bruno Haible  <bruno@clisp.org>
121965         * m4/tls.m4: New file, from GNU gettext.
121967 2005-08-16  Bruno Haible  <bruno@clisp.org>
121969         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
121970         always.
121971         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
121973 2005-08-16  Bruno Haible  <bruno@clisp.org>
121975         * m4/mbiter.m4: New file.
121977 2005-08-16  Bruno Haible  <bruno@clisp.org>
121979         * m4/mbfile.m4: New file.
121981 2005-08-16  Bruno Haible  <bruno@clisp.org>
121983         * m4/mbchar.m4: New file.
121985 2005-08-16  Bruno Haible  <bruno@clisp.org>
121987         * lib/tls.h: New file, from GNU gettext.
121988         * lib/tls.c: New file, from GNU gettext.
121990 2005-08-16  Bruno Haible  <bruno@clisp.org>
121992         * lib/strnlen1.h: New file.
121993         * lib/strnlen1.c: New file.
121995 2005-08-16  Bruno Haible  <bruno@clisp.org>
121997         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
121998         (mbi_init): Update.
121999         (mbi_avail, mbi_advance): Let the iteration end before the terminating
122000         NUL byte, not after it.
122002 2005-08-16  Bruno Haible  <bruno@clisp.org>
122004         * lib/strcase.h (strcasecmp): Add note in comments.
122005         * lib/strncasecmp.c: Use code from strcasecmp.c.
122006         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
122007         (strcasecmp): Work correctly in multibyte locales.
122009 2005-08-16  Bruno Haible  <bruno@clisp.org>
122011         * lib/mbiter.h: New file.
122013 2005-08-16  Bruno Haible  <bruno@clisp.org>
122015         * lib/mbfile.h: New file.
122017 2005-08-16  Bruno Haible  <bruno@clisp.org>
122019         * lib/mbchar.h: New file.
122020         * lib/mbchar.c: New file.
122022 2005-08-16  Bruno Haible  <bruno@clisp.org>
122024         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
122025         the valid ones. Makes the comparison operations transitive:
122026         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
122027         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
122029 2005-08-15  Simon Josefsson  <jas@extundo.com>
122031         * modules/ssize_t (License): Change to 'unlimited'.
122033         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
122035 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
122037         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
122038         Add comments for each pending glibc patch.
122040 2005-08-15  Bruno Haible  <bruno@clisp.org>
122042         * lib/regex.h (__restrict_arr): Don't define to __restrict if
122043         __cplusplus is defined.
122045 2005-08-14  Jim Meyering  <jim@meyering.net>
122047         Sync from coreutils.
122049         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
122050         Use the hash-table-based cycle-detection code not just when
122051         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
122052         Reported by James Youngman in
122053         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
122054         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
122055         FTS_TIGHT_CYCLE_CHECK.
122056         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
122057         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
122058         once again.
122059         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
122060         * lib/fts.c (fd_safer): Remove decl.
122061         Include fcntl--.h rather than unistd-safer.h
122062         (fts_safe_changedir): Don't call fd_safer; no longer needed
122063         now that we include fcntl--.h.
122065 2005-08-12  Simon Josefsson  <jas@extundo.com>
122067         * modules/getndelim2: Use ssize_t module.
122068         * modules/getnline: Likewise.
122069         * modules/safe-read: Likewise.
122070         * modules/xreadlink: Likewise.
122072         * modules/ssize_t: New file.
122074 2005-08-12  Simon Josefsson  <jas@extundo.com>
122076         * m4/readline.m4: Look for termcap, curses or ncurses if required.
122078 2005-08-12  Simon Josefsson  <jas@extundo.com>
122080         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
122081         ssize_t.
122083 2005-08-12  Simon Josefsson  <jas@extundo.com>
122085         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
122086         readline, getdelim and check_version.
122087         (Support for systems lacking ISO C 99: Sizes of integer types):
122088         Add size_max.
122090 2005-08-12  Bruno Haible  <bruno@clisp.org>
122092         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
122094 2005-08-11  Simon Josefsson  <jas@extundo.com>
122096         * modules/readline: New file.
122098         * modules/strnlen (Files): Add strnlen.h.
122100 2005-08-11  Simon Josefsson  <jas@extundo.com>
122102         * m4/readline.m4: New file.
122104 2005-08-11  Simon Josefsson  <jas@extundo.com>
122106         * lib/readline.h, readline.c: New file.
122108 2005-08-11  Simon Josefsson  <jas@extundo.com>
122110         * doc/gnulib.texi (Initial import, Finishing touches): Mention
122111         gl_AVOID.
122113 2005-08-11  Bruno Haible  <bruno@clisp.org>
122115         * lib/strnlen.h (strnlen): Change parameter name to match comment.
122117 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
122119         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
122121 2005-08-10  Simon Josefsson  <jas@extundo.com>
122123         * tests/test-iconvme.c: New file.
122125 2005-08-10  Simon Josefsson  <jas@extundo.com>
122127         * m4/strnlen.m4: New file.
122129         * m4/strndup.m4: Don't check for strnlen declaration, done in
122130         strnlen.m4.
122132 2005-08-10  Simon Josefsson  <jas@extundo.com>
122134         * lib/strndup.c: Use strnlen.h.
122136         * lib/strnlen.h: New file.
122138 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
122140         * README: Typos.
122142 2005-08-02  Simon Josefsson  <jas@extundo.com>
122144         * modules/readline: New file.
122146 2005-08-02  Simon Josefsson  <jas@extundo.com>
122148         * modules/getdelim: New file.
122150         * modules/getline: Rewrite, don't use getndelim2.
122152 2005-08-02  Simon Josefsson  <jas@extundo.com>
122154         * m4/getline.m4: Separate out getdelim stuff into separate module.
122156         * m4/getdelim.m4: New file.
122158 2005-08-02  Simon Josefsson  <jas@extundo.com>
122160         * lib/getline.h, getline.c: Rewrite.
122162         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
122164 2005-07-31  Bruno Haible  <bruno@clisp.org>
122166         * lib/lock.h (gl_lock_initializer): New macro.
122167         (gl_lock_define_initialized): Use it.
122168         (gl_rwlock_initializer): New macro.
122169         (gl_rwlock_define_initialized): Use it.
122170         (gl_recursive_lock_initializer): New macro.
122171         (gl_recursive_lock_define_initialized): Use it.
122173 2005-07-30  Karl Berry  <karl@gnu.org>
122175         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
122176         Report from Ben Pfaff, regarding getopt.
122178 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
122180         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
122181         normal way.
122182         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
122183         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
122184         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
122185         (gl_GETOPT): Use the new macros.  Most of the implementation
122186         is moved to the new macros.  This is for programs like Emacs
122187         that don't want all the functionality of gl_GETOPT.
122189 2005-07-26  Bruno Haible  <bruno@clisp.org>
122191         * m4/lock.m4: Update from GNU gettext.
122193 2005-07-26  Bruno Haible  <bruno@clisp.org>
122195         * lib/lock.h: Update from GNU gettext.
122196         * lib/lock.c: Update from GNU gettext.
122198 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
122200         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
122201         obsolescent AC_TRY_RUN.  Include the default includes files, for
122202         'exit'.
122204 2005-07-24  Bruno Haible  <bruno@clisp.org>
122206         * modules/visibility: New file.
122207         * MODULES.html.sh (Misc): Add visibility.
122209 2005-07-24  Bruno Haible  <bruno@clisp.org>
122211         * m4/visibility.m4: New file.
122213 2005-07-24  Bruno Haible  <bruno@clisp.org>
122215         * doc/visibility.texi: New file.
122217 2005-07-22  Bruno Haible  <bruno@clisp.org>
122219         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
122220         $(ALLOCA_H), redundant through BUILT_SOURCES.
122221         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
122222         redundant through BUILT_SOURCES.
122223         * modules/byteswap (Makefile.am): Remove explicit dependency on
122224         $(BYTESWAP_H), redundant through BUILT_SOURCES.
122225         * modules/fnmatch (Makefile.am): Remove explicit dependency on
122226         $(FNMATCH_H), redundant through BUILT_SOURCES.
122227         * modules/getopt (Makefile.am): Remove explicit dependency on
122228         $(GETOPT_H), redundant through BUILT_SOURCES.
122229         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
122230         redundant through BUILT_SOURCES.
122231         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
122232         redundant through BUILT_SOURCES.
122233         * modules/stdbool (Makefile.am): Remove explicit dependency on
122234         $(STDBOOL_H), redundant through BUILT_SOURCES.
122235         * modules/stdint (Makefile.am): Remove explicit dependency on
122236         $(STDINT_H), redundant through BUILT_SOURCES.
122237         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
122238         Remove explicit dependency on $(SYSEXITS_H).
122239         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
122241 2005-07-18  Simon Josefsson  <jas@extundo.com>
122243         * lib/check-version.c (check_version): Accept identical versions too.
122245 2005-07-18  Bruno Haible  <bruno@clisp.org>
122247         * modules/lock: New file.
122248         * MODULES.html.sh (Multithreading): New section.
122250 2005-07-18  Bruno Haible  <bruno@clisp.org>
122252         * m4/lock.m4: New file, from GNU gettext.
122254 2005-07-18  Bruno Haible  <bruno@clisp.org>
122256         * lib/lock.h: New file, from GNU gettext.
122257         * lib/lock.c: New file, from GNU gettext.
122259 2005-07-18  Bruno Haible  <bruno@clisp.org>
122261         * lib/lock.h (gl_once_t): New type.
122262         (gl_once_define, gl_once): New macros.
122263         * lib/lock.c (fresh_once): New variable.
122264         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
122265         functions.
122267 2005-07-16  Simon Josefsson  <jas@extundo.com>
122269         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
122270         workaround, suggested by Bruno.
122272 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
122274         * modules/xalloc (Depends-on): Add xalloc-die.
122275         * modules/xvasprintf (Depends-on): Add xalloc-die.
122277 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
122279         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
122280         with a minor change.
122282 2005-07-15  Bruno Haible  <bruno@clisp.org>
122284         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
122285         When using lib/poll.c, define poll as rpl_poll.
122287 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
122289         * modules/argp (Depends-on): Remove unlocked-io.
122291 2005-07-14  Derek Price  <derek@ximbiot.com>
122293         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
122294         for glob symlink bug.
122296 2005-07-14  Bruno Haible  <bruno@clisp.org>
122298         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
122299         Instead, test for *_unlocked function declarations directly.
122301 2005-07-11  Simon Josefsson  <jas@extundo.com>
122303         * modules/size_max: New file.
122305         * modules/xsize: Depend on size_max module for size_max.m4.
122307 2005-07-11  Simon Josefsson  <jas@extundo.com>
122309         * lib/size_max.h: New file.
122311 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
122313         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
122314         copyright symbol and the year.
122315         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
122316         (version_etc_va): Use parameterized copyright notice.
122317         Reword to conform to the current GNU coding standards.
122319 2005-07-11  Karl Berry  <karl@gnu.org>
122321         * doc/gnulib.texi (Quoting): new node.
122322         (Initial import): more info, from Patrice.
122324 2005-07-11  Bruno Haible  <bruno@clisp.org>
122326         * gnulib-tool (func_usage): Document option --avoid.
122327         (Command line options): Handle --avoid.
122328         (func_acceptable): New function.
122329         (func_modules_transitive_closure): Use it.
122331 2005-07-11  Bruno Haible  <bruno@clisp.org>
122333         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
122334         Reported by Jim Meyering.
122336 2005-07-10  Bruno Haible  <bruno@clisp.org>
122338         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
122339         Needed when size_t is smaller than 'unsigned int'.
122340         Reported by Paul Eggert.
122342 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
122344         * modules/argp (Depends-on): Add unlocked-io
122346 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
122348         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
122349         block of defines.
122351 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
122353         * config/srclist.txt: Comment out regcomp.c, since we have a porting
122354         fix now.
122356 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
122357         and Paul Eggert  <eggert@cs.ucla.edu>
122359         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
122360         in wint_t, not wchar_t.  Remove now-unnecessary cast.
122362 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122364         * modules/regex (Files): Add lib/regex_internal.c,
122365         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
122366         (Depends-on): Add extensions.
122367         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
122369 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122371         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
122372         pathconf.
122373         * m4/same.m4 (gl_SAME): Likewise.
122374         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
122376         * m4/regex.m4: Adjust to new libc regex implementation.
122377         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
122378         all the .c and .h parts of (the new) regex.
122379         Quote the m4 stuff better.
122380         Check for RE_ICASE bug of old gnulib.
122381         Check for REG_STARTEND of recent libc.
122382         Rename local variables from jm_* to gl_*.
122383         Quote operand of "test -f".
122384         Say "recent enough" version of libc, not "version 2".
122385         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
122386         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
122387         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
122388         Remove check for btowc, isascii.
122389         Require AM_LANGINFO_CODESET.
122391 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122393         * lib/regex.c, regex.h: Sync from libc.
122394         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
122395         * lib/regexec.c:
122396         New files, synced from libc, except that regex_internal.h
122397         currently has a small porting fix.
122399 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122401         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
122402         regex_internal.c, regexec.c.
122403         Add regex_internal.h too, but as a comment, since the libc version
122404         is currently broken in gnulib mode.
122406 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
122408         Support programs like Emacs that use gnulib but not gettext.
122409         * MODULES.html.sh (Internationalization functions): Add gettext-h.
122410         * modules/gettext-h: New file.
122411         * modules/gettext (Files): Remove lib/gettext.h.
122412         (Depends-on): Add gettext-h.
122413         (Makefile.am): Remove lib_SOURCES.
122414         * modules/argmatch, modules/c-stack, modules/closeout:
122415         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
122416         * modules/execute, modules/file-type, modules/getaddrinfo:
122417         * modules/getopt, modules/human, modules/javacomp:
122418         * modules/javaexec, modules/mkdir-p, modules/obstack:
122419         * modules/openat, modules/pagealign_alloc, modules/pipe:
122420         * modules/quotearg, modules/regex, modules/rpmatch:
122421         * modules/unicodeio, modules/userspec, modules/version-etc:
122422         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
122423         * modules/xsetenv:
122424         Depend on gettext-h, not gettext.
122426 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
122428         * gnulib-tool (func_import): Add support for 'public domain' license.
122429         * modules/alloca, modules/atexit, modules/memmove:
122430         Now public domain, not GPL.
122431         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
122432         * modules/realloc, modules/strerror, modules/strtod:
122433         Now LGPL, not GPL.
122435 2005-07-05  Bruno Haible  <bruno@clisp.org>
122437         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
122438         autoconf CVS. Needed for mingw.
122440 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
122442         Remove the dependency of the strftime module on the tzset module.
122443         * modules/strftime (Depends-on): Remove dependency on tzset.
122445 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
122447         Remove the dependency of the strftime module on the tzset module.
122448         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
122449         gl_FUNC_TZSET_CLOBBER.
122451 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
122453         Remove the dependency of the strftime module on the tzset module.
122454         * lib/strftime.c (my_strftime)
122455         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
122456         Copy the input structure, to work around some of the bug with
122457         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
122458         Solaris releases, you should also use the tzset module, but we won't
122459         require it as a dependency any more since we don't want LGPLed code
122460         to depend on GPLed code.
122462 2005-07-02  Jim Meyering  <jim@meyering.net>
122464         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
122465         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
122466         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
122467         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
122469 2005-07-02  Jim Meyering  <jim@meyering.net>
122471         * lib/backupfile.c (backup_args): Change a `0' to NULL.
122473 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
122475         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
122476         declares only 'struct timespec;' (!).
122478 2005-07-01  Jim Meyering  <jim@meyering.net>
122480         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
122481         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
122482         * lib/save-cwd.c, tempname.c:
122483         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
122484         and don't include <sys/file.h>).
122486 2005-06-29  Jim Meyering  <jim@meyering.net>
122488         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
122489         type name.  Use the variable name instead.
122490         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
122491         Likewise.
122493 2005-06-28  Simon Josefsson  <jas@extundo.com>
122495         * modules/check-version (Files): Add check-version.m4.
122497 2005-06-28  Simon Josefsson  <jas@extundo.com>
122499         * m4/check-version.m4: New file, suggested by Jim Meyering
122500         <jim@meyering.net>.
122502 2005-06-28  Simon Josefsson  <jas@extundo.com>
122504         * lib/check-version.h, lib/check-version.c: New files.
122506 2005-06-28  Simon Josefsson  <jas@extundo.com>
122508         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
122509         collision with global variable.  Better indentation.  Don't
122510         increment buffer pointer beyond buffer end.  Based on comments
122511         from Paul Eggert <eggert@cs.ucla.edu>.
122513         * lib/base64.h: Indent.
122515 2005-06-28  Simon Josefsson  <jas@extundo.com>
122517         * doc/gnulib.texi (Library version handling): New section.
122519 2005-06-28  Jim Meyering  <jim@meyering.net>
122521         * check-module (find_included_lib_files): Hard-code another
122522         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
122523         but modules/fts-lgpl (correctly) does not list those files.
122525         * modules/canonicalize (Files): Add lib/pathmax.h.
122527 2005-06-25  Simon Josefsson  <jas@extundo.com>
122529         * modules/check-version: New file.
122531 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
122533         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
122534         initializer of struct addrinfo, as an indication that we don't
122535         care how many members the structure has.
122537 2005-06-24  Derek Price  <derek@ximbiot.com>
122538         and Bruno Haible  <bruno@clisp.org>
122540         Remove stat module & update lstat.
122541         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
122542         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
122543         * m4/stat.m4: Remove this file.
122545 2005-06-24  Derek Price  <derek@ximbiot.com>
122546         and Bruno Haible  <bruno@clisp.org>
122548         Remove stat module & update lstat.
122549         * lib/stat.c: Remove this file...
122550         (slash_aware_lstat): ...moving this content and its support...
122551         * lib/lstat.c (rpl_lstat): ...into here.
122552         * lib/lstat.h: New file.
122554 2005-06-24  Derek Price  <derek@ximbiot.com>
122555         and Bruno Haible  <bruno@clisp.org>
122557         Remove stat module & update lstat.
122558         * config/srclist.txt (libc sources): Remove stat.
122560 2005-06-24  Derek Price  <derek@ximbiot.com>
122561         and Bruno Haible  <bruno@clisp.org>
122563         Remove stat module & update lstat.
122564         * MODULES.html.sh (stat): Remove.
122565         * MODULES.html: Regenerated.
122566         * modules/lstat (Description): Correct function name.
122567         (Files): Add "lstat.h".
122568         (Depends-on): Remove stat, add xalloc, stat-macros.
122569         * modules/stat: Remove this file.
122570         (Include): Add "lstat.h", remove <sys/stat.h>.
122572 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
122574         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
122575         (ranged_convert): Don't save conversion in a temporary struct.
122576         This causes a warning with GCC 4.0.0, and anyway in the typical
122577         case it's not worth the extra 100 bytes or so of code.
122578         (ranged_convert, __mktime_internal): When calling a function via a
122579         pointer P, use P () rather than (*P) (), as we now assume C89 or
122580         better.
122582 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
122584         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
122585         "who -r" failed to give output.  Problem reported by Tim Waugh.
122587         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
122588         (xcalloc): Use it to avoid needless tests.
122589         Problem reported by Jim Meyering.
122591 2005-06-20  Derek Price  <derek@ximbiot.com>
122593         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
122594         unnecessary for Autoconfs > 2.59c.
122596 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122598         * lib/argp.h (__option_is_short): Check upper limit of
122599         __key. Isprint() requires its argument to have the value
122600         of an unsigned char or EOF.
122602 2005-06-16  Jim Meyering  <jim@meyering.net>
122604         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
122605         when either N or S is zero.
122607 2005-06-16  Derek Price  <derek@ximbiot.com>
122609         * m4/bison.m4: Declare YACC & YFLAGS precious.
122611 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
122613         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
122614         multibyte string or pattern, fall back on unibyte matching.
122615         Problem reported by James Youngman.
122617 2005-06-08  Bruno Haible  <bruno@clisp.org>
122619         * modules/csharpcomp: New file.
122620         * MODULES.html.sh (C#): Add csharpcomp.
122622 2005-06-08  Bruno Haible  <bruno@clisp.org>
122624         * m4/csharpcomp.m4: New file, from GNU gettext.
122626 2005-06-08  Bruno Haible  <bruno@clisp.org>
122628         * lib/csharpcomp.h: New file, from GNU gettext.
122629         * lib/csharpcomp.c: New file, from GNU gettext.
122630         * lib/csharpcomp.sh.in: New file, from GNU gettext.
122632 2005-06-08  Bruno Haible  <bruno@clisp.org>
122634         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
122635         warning on mingw.
122637 2005-06-07  Derek Price  <derek@ximbiot.com>
122639         Sync from CVS.
122640         * lib/glob_.h: Indent nested #ifdef.
122642 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122644         Sync from coreutils.
122645         Use "file name" when talking about file names, instead of "filename"
122646         or "path", as per the GNU coding standards.
122647         * lib/mkdir-p.c: Renamed from makepath.c.
122648         (make_dir_parents): Renamed from make_path.  All callers changed.
122649         * lib/mkdir-p.h: Likewise.  All includers changed.
122650         * lib/filenamecat.c: Renamed from path-concat.c.
122651         (file_name_concat): Renamed from path_concat.  All callers changed.
122652         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
122653         * lib/filenamecat.h: Likewise.  All includers changed.
122654         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
122655         in comments or local variable names.
122656         * lib/basename.c: Likewise.
122657         * lib/canonicalize.c, canonicalize.h: Likewise.
122658         * lib/dirname.c, dirname.h: Likewise.
122659         * lib/euidaccess.c: Likewise.
122660         * lib/exclude.c: Likewise
122661         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
122662         * lib/fsusage.c, fsuage.h: Likewise.
122663         * lib/fts.c, fts_.h: Likewise.
122664         * lib/getcwd.c: Likewise.
122665         * lib/getloadavg.c: Likewise.
122666         * lib/mkstemp.c: Likewise.
122667         * lib/mountlist.c, mountlist.h: Likewise.
122668         * lib/openat.c, openat.h: Likewise.
122669         * lib/readlink-stub.c: Likewise.
122670         * lib/readutmp.c, readutmp.h: Likewise.
122671         * lib/rename.c: Likewise.
122672         * lib/rmdir.c: Likewise.
122673         * lib/same.c: Likewise.
122674         * lib/savedir.c: Likewise.
122675         * lib/stripslash.c: Likewise.
122676         * lib/tempname.c: Likewise.
122677         * lib/xreadlink.c: Likewise.
122678         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
122679         All uses changed.
122680         * lib/exclude.h: Likewise.
122682         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
122683         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122684         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
122685         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122686         * lib/pathmax.h: Include <limits.h> unconditionally, since other
122687         files have been getting away with it for years (MORE/BSD 4.3
122688         is extinct now).
122689         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
122690         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122692         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
122693         Define to 256, not 255, as per modern POSIX.
122695 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122697         Sync from coreutils.
122698         Use "file name" when talking about file names, instead of "filename"
122699         or "path", as per the GNU coding standards.
122700         * MODULES.html.sh: mkdir-p renamed from makepath.
122701         filenamecat renamed from path-concat.
122702         * modules/filenamecat: Renamed from modules/path-concat.
122703         (Files): filenamecat.h and filenamecat.c renamed from
122704         path-concat.h and path-concat.c.
122705         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
122706         (Include): filenamecat.h, not path-concat.h.
122707         * modules/mkdir-p: Renamed from modules/makepath.
122708         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
122709         makepath.c.
122710         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
122711         (Include): mkdir-p.h, not makepath.h.
122713 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122715         Sync from coreutils.
122716         * m4/mkdir-p.m4: Renamed from makepath.m4.
122717         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
122718         Rename files from makepath.c to mkdir-p.c, and from
122719         makepath.h to mkdir-p.h.
122720         * m4/filenamecat.m4: Renamed from path-concat.m4.
122721         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
122722         Rename files from path-concat.c to filenamecat.c,
122723         and from path-concat.h to filenamecat.h.
122724         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
122725         "file name" in local variables or comments.
122726         * m4/rename.m4: Likewise.
122728 2005-06-01  Bruno Haible  <bruno@clisp.org>
122730         * modules/csharpexec: New file.
122731         * MODULES.html.sh (C#): New section.
122733 2005-06-01  Bruno Haible  <bruno@clisp.org>
122735         * m4/csharp.m4: New file, from GNU gettext.
122736         * m4/csharpexec.m4: New file, from GNU gettext.
122738 2005-06-01  Bruno Haible  <bruno@clisp.org>
122740         * lib/csharpexec.h: New file, from GNU gettext.
122741         * lib/csharpexec.c: New file, from GNU gettext.
122742         * lib/csharpexec.sh.in: New file, from GNU gettext.
122744 2005-05-31  Derek Price  <derek@ximbiot.com>
122745             Paul Eggert  <eggert@cs.ucla.edu>
122747         Sync from cvs.
122748         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
122750 2005-05-31  Derek Price  <derek@ximbiot.com>
122751             Paul Eggert  <eggert@cs.ucla.edu>
122753         Sync from cvs.
122754         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
122756 2005-05-29  Derek Price  <derek@ximbiot.com>
122758         * config/srclist.txt (glob_.h, glob.c): Add these files.
122760 2005-05-29  Derek Price  <derek@ximbiot.com>
122762         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
122763         * modules/glob: New file.
122764         * modules/getlogin_r: Add link to POSIX spec in description.
122766 2005-05-29  Derek Price  <derek@ximbiot.com>
122767             Paul Eggert  <eggert@cs.ucla.edu>
122769         * m4/glob.m4: New file.
122771 2005-05-29  Derek Price  <derek@ximbiot.com>
122772             Paul Eggert  <eggert@cs.ucla.edu>
122774         * lib/glob_.h, lib/glob.c: New files.
122776 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122778         * modules/fts (Files): Remove m4/inttypes-pri.m4.
122779         * modules/fts-lgpl (Depends-on): Remove gettext.
122781 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122783         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
122784         and don't require gt_INTTYPES_PRI.
122786 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122788         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
122790         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
122791         the configuration hassle isn't worth it.
122792         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
122793         (LONGEST_MODIFIER, PRIuMAX): Remove.
122795 2005-05-27  Bruno Haible  <bruno@clisp.org>
122797         * lib/getlogin_r.h: Remove second include of <stddef.h>.
122799 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
122801         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
122802         _POSIX_PTHREAD_SEMANTICS for Solaris.
122804 2005-05-25  Derek Price  <derek@ximbiot.com>
122806         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
122808 2005-05-25  Derek Price  <derek@ximbiot.com>
122809             Paul Eggert  <eggert@cs.ucla.edu>
122811         * modules/getlogin_r, m4/getlogin_r.m4: New files.
122812         * lib/getlogin_r.c, getlogin_r.h: New files.
122814 2005-05-25  Bruno Haible  <bruno@clisp.org>
122815             Derek Price  <derek@ximbiot.com>
122817         * lib/getlogin_r.h: Simplify API documentation.
122819 2005-05-23  Derek Price  <derek@ximbiot.com>
122821         * modules/minmax (Files): Add m4/minmax.m4.
122822         (configure.ac): Add gl_MINMAX.
122824 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
122826         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
122827         so that unistd-safer.h (GPL'ed code) need not be included.
122829 2005-05-22  Bruno Haible  <bruno@clisp.org>
122831         * m4/minmax.m4: New file.
122832         Based on a patch by Derek Price <derek@ximbiot.com>.
122834 2005-05-22  Bruno Haible  <bruno@clisp.org>
122836         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
122837         (INT64_MIN): Fix definition.
122838         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
122840         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
122841         NEED_SIGNED_INT_TYPES.
122843         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
122844         HAVE_SYSTEM_INTTYPES.
122846 2005-05-22  Bruno Haible  <bruno@clisp.org>
122848         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
122849         Also include <sys/param.h> if it defines MIN, MAX.
122850         Based on a patch by Derek Price <derek@ximbiot.com>.
122852 2005-05-21  Jim Meyering  <jim@meyering.net>
122854         * modules/fts (Files): Add m4/inttypes-pri.m4.
122855         (Depends-on): Add lstat and remove gettext.  Alphabetize.
122857 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122859         New fts module.
122860         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
122861         (setup_dir, free_dir): New functions.
122862         (enter_dir, leave_dir): Define trivial
122863         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
122864         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
122865         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
122866         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
122867         Move to fts-cycle.c.
122868         (fts_open): Use setup_dir.
122869         (fts_close): Use free_dir.
122870         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
122871         This adds a label and some gotos, but the alternatives were messier.
122872         Check for memory allocation failure when entering a dir.
122873         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
122874         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
122875         (FTS): New member fts_cycle, that is a union that contains the
122876         old active_dir_ht and cycle_state.  All uses changed to mention
122877         fts_cycle.ht and fts_cycle.state.
122878         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
122879         fts.c, with the following changes:
122880         (setup_dir, free_dir): New functions.
122881         (enter_dir): Now returns bool.  Return true if successful, false
122882         if memory exhausted.  All callers changed.
122883         Do not bother partly cleaning up on
122884         memory allocation failure; that is free_dir's job.
122885         However, free ad if hash_insert fails, to avoid memory leak.
122886         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
122887         fts->fts_options to see which union member to use.
122889 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122891         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
122892         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
122894 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122896         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
122898 2005-05-20  Jim Meyering  <jim@meyering.net>
122900         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
122901         Now a macro, to pacify GCC.
122903 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
122905         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
122906         of -1.
122908 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
122910         * lib/chown.c (rpl_chown): Return -1 on failure.
122912 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
122914         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
122915         Don't check for stddef.h.
122916         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
122917         don't use its results.
122918         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
122919         since we include them unconditionally.  Don't require
122920         AM_STDBOOL_H, since stdbool is a prerequisite.
122921         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
122922         since we assume C89 or better.
122923         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
122924         as we don't use their results.
122925         Don't check for fchdir, memmove, memset, strrchr, as we use
122926         them unconditionally.
122927         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
122928         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
122930 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
122932         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
122933         Include <stddef.h> unconditionally, since we assume C89 now.
122934         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
122935         * lib/fts.c: Include fts_.h first, to check interface.
122936         Do not include intprops.h; no longer needed.
122937         Include cycle-check.h and hash.h, since fts_.h no longer does.
122938         Remove unnecessary casts of closedir to void.
122939         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
122940         decide whether to decrement nlinks.
122941         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
122942         (FTS): Use struct hash_table * instead of Hash_table, so that
122943         we no longer need to include hash.h here.
122945 2005-05-18  Jim Meyering  <jim@meyering.net>
122947         * modules/dirfd (License): Change to LGPL.  Most of the code
122948         is already in the public domain.
122950 2005-05-18  Jim Meyering  <jim@meyering.net>
122952         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
122953         Reported by Yoann Vandoorselaere.
122955 2005-05-17  Jim Meyering  <jim@meyering.net>
122957         * m4/fts.m4: New file, from coreutils.
122959 2005-05-17  Jim Meyering  <jim@meyering.net>
122961         * lib/fts.c, lib/fts_.h: New files, from coreutils.
122963 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
122965         Sync from coreutils.
122966         * m4/unlinkdir.m4: New file.
122968 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
122970         Sync from coreutils.
122971         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
122972         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
122973         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
122974         White space changes only.
122975         * lib/makepath.c (make_path): Port to hosts where leading "//" is
122976         special.
122977         * lib/yesno.c: Include getline.h, not ctype.h.
122978         (yesno): Don't remove leading white space; POSIX doesn't allow it.
122979         Use getline to remove arbitrary restriction on response length.
122981 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
122983         * config/srclist-update: Spell out "Street" in FSF postal
122984         mail address; this is the style the FSF seems to prefer.
122986         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
122987         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
122988         this updates FSF postal mail address.
122990         Sync from coreutils.
122991         * modules/unlinkdir: New file.
122992         * modules/yesno (Depends-on): Add getline.
122993         * MODULES.html.sh (File system functions): Add unlinkdir.
122995 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
122997         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
122998         lib/strsep.h:
122999         Change the initial comment to refer to GPL, not LGPL.
123000         gnulib-tool will change it to LGPL as needed.
123002         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
123003         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
123004         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
123005         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
123006         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
123007         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
123008         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
123009         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
123010         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
123011         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
123012         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
123013         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
123014         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
123015         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
123016         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
123017         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
123018         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
123019         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
123020         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
123021         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
123022         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
123023         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
123024         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
123025         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
123026         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
123027         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
123028         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
123029         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
123030         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
123031         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
123032         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
123033         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
123034         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
123035         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
123036         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
123037         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
123038         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
123039         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
123040         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
123041         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
123042         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
123043         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
123044         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
123045         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
123046         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
123047         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
123048         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
123049         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
123050         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
123051         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
123052         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
123053         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
123054         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
123055         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
123056         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
123057         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
123058         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
123059         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
123060         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
123061         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
123062         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
123063         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
123064         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
123065         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
123066         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
123067         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
123068         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
123069         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
123070         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
123071         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
123072         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
123073         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
123074         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
123075         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
123076         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
123077         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
123078         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
123079         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
123080         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
123081         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
123082         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
123083         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
123084         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
123085         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
123086         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
123087         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
123088         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
123089         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
123090         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
123091         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
123092         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
123093         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
123094         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
123095         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
123096         lib/yesno.c, lib/yesno.h:
123097         Update FSF postal mail address.
123099 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
123101         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
123102         tests/test-memmem.c, tests/test-stpncpy.c:
123103         Update FSF postal mail address.
123105 2005-05-13  Bruno Haible  <bruno@clisp.org>
123107         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
123108         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
123109         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
123110         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
123111         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
123112         Add support for 64-bit integers in the MSVC compiler.
123114 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123116         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
123118 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
123120         * gnulib-tool (func_import): Sort and uniquify recommended includes.
123122 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
123124         * doc/getdate.texi (General date syntax): Don't say that date
123125         date --iso-8601=ns generates acceptable dates; it doesn't yet.
123126         Problem reported by Nic Ferrier.
123128 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123130         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
123131         specified in ai_socktype. Fix invalid ai_protocol
123132         check. ai_protocol is usually set to 0 or depending on
123133         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
123134         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
123135         ai_socktype / ai_protocol in the returned addrinfo structure.
123137 2005-05-10  Simon Josefsson  <jas@extundo.com>
123139         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
123140         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
123142 2005-05-10  Karl Berry  <karl@gnu.org>
123144         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
123145         (from http://www.gnu.org/licenses).
123146         * doc/COPYING.LIB: also rename to COPYING.LESSER.
123147         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
123148         fdl.texi suffices.
123150 2005-05-10  Karl Berry  <karl@gnu.org>
123152         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
123153         (COPYING.DOC): remove.
123155         * config/srclist-update: new FSF address.
123157 2005-05-10  Derek Price  <derek@ximbiot.com>
123159         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
123160         possible.
123162 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123163             Bruno Haible  <bruno@clisp.org>
123165         * modules/inet_ntop: New file.
123166         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
123167         inet_ntop.
123169 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123170             Bruno Haible  <bruno@clisp.org>
123172         * m4/inet_ntop.m4: New file.
123174 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
123175             Bruno Haible  <bruno@clisp.org>
123177         * lib/inet_ntop.h: New file.
123178         * lib/inet_ntop.c: New file, from glibc with modifications.
123180 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
123182         * modules/time_r (License): Change to LGPL.
123183         * modules/extensions (License): Change to LGPL.  Actually,
123184         the license is more permissive than that, but currently gnulib-tool
123185         doesn't know how to handle more-permissive licenses.
123187         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
123188         Problem reported by Dave Love.
123190 2005-05-08  Jim Meyering  <jim@meyering.net>
123192         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
123193         blank.
123195 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
123197         * modules/argmatch (Depends-on): Add stdbool.
123198         * modules/backupfile (Depends-on): Likewise.
123199         * modules/chdir-long (Depends-on): Likewise.
123200         * modules/closeout (Depends-on): Likewise.
123201         * modules/cycle-check (Depends-on): Likewise.
123202         * modules/dirname (Depends-on): Likewise.
123203         * modules/fnmatch (Depends-on): Likewise.
123204         * modules/fsusage (Depends-on): Likewise.
123205         * modules/fwriteerror (Depends-on): Likewise.
123206         * modules/getcwd (Depends-on): Likewise.
123207         * modules/getloadavg (Depends-on): Likewise.
123208         * modules/hard-locale (Depends-on): Likewise.
123209         * modules/makepath (Depends-on): Likewise.
123210         * modules/mountlist (Depends-on): Likewise.
123211         * modules/nanosleep (Depends-on): Likewise.
123212         * modules/posixtm (Depends-on): Likewise.
123213         * modules/quotearg (Depends-on): Likewise.
123214         * modules/readtokens (Depends-on): Likewise.
123215         * modules/readtokens0 (Depends-on): Likewise.
123216         * modules/readutmp (Depends-on): Likewise.
123217         * modules/save-cwd (Depends-on): Likewise.
123218         * modules/strftime (Depends-on): Likewise.
123219         * modules/userspec (Depends-on): Likewise.
123220         * modules/utimecmp (Depends-on): Likewise.
123221         * modules/xgetcwd (Depends-on): Likewise.
123222         * modules/xnanosleep (Depends-on): Likewise.
123223         * modules/xstrtod (Depends-on): Likewise.
123224         * modules/yesno (Depends-on): Likewise.
123226 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
123228         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
123229         needless checks.
123231 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123233         Merge from coreutils.  Among other things,
123234         add bulletproofing for cases where stdin, stdout, or stderr are closed.
123235         * lib/fd-safer.c: New file.
123236         * lib/fcntl-safer.h, open-safer.c: Remove.
123237         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
123238         * lib/dup-safer.c: Include unistd-safer.h first.
123239         Don't include errno.h.
123240         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
123241         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
123242         * lib/file-type.c: Rely on file-type.h change.
123243         * lib/getloadavg.c: Include unistd-safer.h.
123244         (getloadavg): Use safer open.
123245         * lib/getusershell.c: Include "stdio-safer.h".
123246         (getusershell): Use safer fopen.
123247         * lib/long-options.c (long_options): Use NULL rather than 0.
123248         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
123249         'free'.
123250         * lib/modechange.c: Likewise.
123251         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
123252         (MODE_DONE): New constant.
123253         (struct mode_change): Remove 'next' member.
123254         (make_node_op_equals): New function; like the old one of the
123255         same name, except it allocates an array.
123256         (mode_compile, mode_create_from_ref): Use it.
123257         (mode_compile): Allocate result as an array, not a linked list.
123258         Parse octal string ourself, so that we catch mistakes like "+0".
123259         (mode_adjust): Arg is an array, not a linked list.
123260         * lib/modechange.c: Include stat-macros.h, xalloc.h.
123261         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
123262         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
123263         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
123264         Remove.  This is now stat-macros.h's job.
123265         (talloc): Remove.  All callers replaced by xalloc, so that
123266         our invokers don't have to worry about reporting memory failures.
123267         (make_node_op_equals): Remove.
123268         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
123269         New constants.
123270         (struct mode_change): Moved here from modechange.h.
123271         (mode_append_entry): Remove.
123272         (mode_compile): Remove MASKED_OPS arg, since it encouraged
123273         apps to have incorrect behavior.  Use simpler algorithm for head
123274         and tail.  Don't futz with umask; that's now the job of mode_adjust.
123275         Detect more invalid usages rather than having somewhat-random behavior.
123276         Don't insert an "a=" action, as that leads to incorrect behavior.
123277         (mode_compile, mode_create_from_ref): Return NULL on error instead
123278         of an enum, since now there's only one way to have an error.  All
123279         callers changed.
123280         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
123281         at the correct time.  Simplify calculation of "+u" and its ilk.
123282         Don't mishandle "+X".
123283         (mode_free): Remove "register" and localize decls.
123284         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
123285         (struct mode_change): Move to modechange.c; callers don't
123286         need to see this stuff.
123287         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
123288         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
123289         (mode_change, mode_adjust): Reflect the new signatures noted above.
123290         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
123291         that might redefine system include files.
123292         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
123293         (my_usleep): Use NULL rather than (void *) 0.
123294         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
123295         Use siginterrupt to specify that system calls should be interrupted.
123296         (rpl_nanosleep): Move initialization of suspended closer to call of
123297         my_usleep.
123298         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
123299         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
123300         (desirable_utmp_entry): New function.
123301         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
123302         using x2nrealloc, to simplify logic.
123303         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
123304         size calculation.  Do not assume utmp file is a regular file.
123305         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
123306         (READ_UTMP_CHECK_PIDS): New constant.
123307         * lib/save-cwd.c: Include unistd-safer.h.
123308         (save_cwd): Use fd_safer.
123309         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
123310         [!_LIBC] Include "stat-macros.h" instead.
123311         * lib/unistd-safer.h (fd_safer): New decl.
123313 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123315         * modules/getloadavg (Depends-on): Add unistd-safer.
123316         * modules/getusershell (Depends-on): Add stdio-safer.
123317         * modules/lstat (Depends-on): Remove xalloc.
123318         * modules/mkstemp (Depends-on): Add stat-macros.
123319         * modules/modechange (Depends-on): Remove xstrtol.
123320         Add stat-macros, xalloc.
123321         * modules/save-cwd (Depends-on): Add unistd-safer.
123322         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
123323         * modules/unistd-safer (Files): Add lib/fd-safer.c
123324         (Makefile.am): Remove lib_SOURCES.
123326         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
123327         Remove fcntl-safer; unistd-safer supersedes it.
123329 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123331         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
123332         AC_HEADER_STAT.
123333         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
123334         (gl_PREREQ_CHOWN): Remove.
123335         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
123336         it.  Don't require AC_HEADER_STAT.
123337         (gl_PREREQ_LSTAT): Remove.
123338         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
123339         Don't require AC_HEADER_STAT.
123340         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
123341         (gl_PREREQ_RMDIR): Remove.
123342         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
123343         mention stat-macros.h or AC_HEADER_STAT, since we'll make
123344         the stat-macros module a prerequisite.
123345         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
123346         * m4/filemode.m4 (gl_FILEMODE): Likewise.
123347         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
123348         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
123349         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
123350         variable names.
123351         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
123352         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
123353         variable prefixes.
123354         * m4/fcntl-safer.m4: Remove.
123355         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
123356         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
123357         Invoke gl_PREREQ_FD_SAFER.
123358         (gl_PREREQ_FD_SAFER): New macro.
123359         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
123360         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
123361         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
123362         Remove duplicate call to AC_LIBOBJ(readutmp).
123363         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
123365         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
123366         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
123368 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123370         * MODULES.html.sh (Misc): Add byteswap.
123372 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123374         * modules/getcwd (Depends-on): Add extensions.
123375         * modules/openat (Depends-on): Likewise.
123377 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123379         * modules/byteswap: New file.
123381 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123383         * m4/byteswap.m4: New file.
123385 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123387         * lib/byteswap_.h: New file.
123389 2005-04-25  Karl Berry  <karl@gnu.org>
123391         * m4/gettext.m4: Update from GNU gettext 0.14.4.
123393 2005-04-25  Albert Chin  <china@thewrittenword.com>
123395         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
123396         Toolkit C bug.
123398 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
123400         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
123401         (func_ln_if_changed): Remove forcibly for no error message
123402         in case file does not exist.
123404 2005-04-19  Simon Josefsson  <jas@extundo.com>
123406         * gnulib-tool (Options): Make --symlink mean --symbolic.
123408 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
123410         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
123412 2005-04-16  Simon Josefsson  <jas@extundo.com>
123414         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
123416 2005-04-15  Simon Josefsson  <jas@extundo.com>
123418         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
123420 2005-04-15  Simon Josefsson  <jas@extundo.com>
123422         * gnulib-tool: Rename --symlink to --symbolic.
123424 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
123426         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
123427         symbolic links to files instead of copying/moving.  Add --aux-dir,
123428         specifying directory relative --dir where auxiliary build tools
123429         are placed.
123431 2005-04-14  Bruno Haible  <bruno@clisp.org>
123433         * modules/allocsa (License): Change to LGPL.
123434         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
123436 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
123438         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
123439         that "UTC +1 second" continues to work.  Problem reported
123440         by Dmitry V. Levin.
123441         (relunit_snumber): New rule.
123442         (relunit): Use it.
123444 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
123446         * lib/getdate.y (universal_time_zone_table): New constant.
123447         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
123448         universal_time_zone_table.
123449         (lookup_zone): Prefer universal_time_zone_table to
123450         local_time_zone_table, so that "GMT" time stamps are allowed in
123451         London during the summer.  Problem reported by Ian Abbott.
123453 2005-04-12  Jim Meyering  <jim@meyering.net>
123455         * lib/human.c (humblock): Set *options even when returning due to
123456         xstrtoumax conversion failure.  Thanks to a used-uninitialized
123457         warning from gcc-4.
123459 2005-04-09  Jim Meyering  <jim@meyering.net>
123461         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
123462         -Wuninitialized: initialize tm0.tm_year.
123464 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
123466         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
123467         count, since there's no maximum.  All uses changed.
123468         Add member dsts_seen.
123469         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
123470         not being INT_MAX.
123471         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
123472         Use pc_rels_seen to decide whether a date is absolute.
123474         * lib/getdate.y (number): Don't overwrite year.
123475         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
123476         check.
123478 2005-04-02  Simon Josefsson  <jas@extundo.com>
123480         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
123481         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
123483 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
123485         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
123486         where no absolute path name can be longer than PATH_MAX.
123488 2005-03-27  Jim Meyering  <jim@meyering.net>
123490         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
123492 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
123494         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
123495         "one's complement" -> "ones' complement" in comment, as per Knuth.
123496         "value of type" -> "type or expression" in comment.
123497         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
123499 2005-03-26  Jim Meyering  <jim@meyering.net>
123501         Comment nits.
123502         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
123503         Correct typos: s/or/of/.
123505 2005-03-26  Jim Meyering  <jim@meyering.net>
123507         * modules/check-include-files: Move to ../ and rename to...
123508         * check-module: ...this.
123510 2005-03-25  Jim Meyering  <jim@meyering.net>
123512         * modules/xvasprintf (Files): Add xalloc.h.
123514 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
123516         * modules/gettext (Files): config/config.rpath ->
123517         build-aux/config.rpath
123518         * modules/iconv (Files): Likewise.
123519         Problem reported by Oskar Liljeblad.
123521 2005-03-23  Jim Meyering  <jim@meyering.net>
123523         * modules/check-include-files: New script to check for
123524         missing dependencies, multiple includes, etc.
123526         * modules/c-strtold (Depends-on): Add xalloc.
123527         * modules/c-strtod (Depends-on): Add xalloc.
123528         * modules/hash (Depends-on): Add xalloc.
123529         (Files): Remove lib/xalloc.h.
123531         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
123532         * modules/userspec (Files): Add lib/inttostr.h.
123534 2005-03-23  Jim Meyering  <jim@meyering.net>
123536         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
123538 2005-03-22  Jim Meyering  <jim@meyering.net>
123540         * modules/stat-macros: New module.
123541         * modules/canonicalize, modules/euidaccess, modules/file-type,
123542         * modules/filemode, modules/lchown, modules/makepath,
123543         * modules/rmdir, modules/stat: Depend on new stat-macros module
123544         rather than listing lib/stat-macros.h manually.
123545         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
123547 2005-03-22  Jim Meyering  <jim@meyering.net>
123549         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
123551 2005-03-22  Bruno Haible  <bruno@clisp.org>
123553         * config/srclist.txt: Replace target directory 'config' with
123554         'build-aux'.
123555         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
123556         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
123557         ../build-aux/.
123559 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
123561         * modules/chdir-long (Depends-on): Add mempcpy.
123563         * modules/acl, modules/backupfile, modules/c-strtod,
123564         modules/c-strtold, modules/canon-host, modules/canonicalize,
123565         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
123566         modules/exclude, modules/exitfail, modules/file-type,
123567         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
123568         modules/getdate, modules/getline, modules/getpagesize,
123569         modules/getpass, modules/getugroups, modules/group-member,
123570         modules/hard-locale, modules/hash, modules/human, modules/idcache,
123571         modules/inttostr, modules/long-options, modules/makepath,
123572         modules/md5, modules/memcasecmp, modules/memcoll,
123573         modules/modechange, modules/mountlist, modules/path-concat,
123574         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
123575         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
123576         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
123577         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
123578         modules/strftime, modules/strndup, modules/strverscmp,
123579         modules/timespec, modules/unlocked-io, modules/userspec,
123580         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
123581         modules/yesno:
123582         Remove lib_SOURCES line from Makefile.am section, as this is now
123583         done automatically by the corresponding Autoconf macro.
123585 2005-03-21  Jim Meyering  <jim@meyering.net>
123587         Changes imported from coreutils.
123589         * lib/cycle-check.c: Don't include xalloc.h.
123591         * lib/path-concat.c: Don't include assert.h.
123592         (path_concat): Remove assertion that would have triggered
123593         for ABASE starting with more than one slash.
123594         Reported by Andreas Schwab.
123596         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
123597         properly when ABASE is an absolute file name.
123598         Correct the description of this function.
123599         Include <assert.h>.
123600         Add an assertion and a test driver.
123601         This fixes a bug introduced on 2004-07-02.
123602         Andreas Schwab reported the resulting failure of cp --parents:
123603         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
123605 2005-03-21  Jim Meyering  <jim@meyering.net>
123607         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
123608         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
123610 2005-03-21  Jim Meyering  <jim@meyering.net>
123611         and  Paul Eggert  <eggert@cs.ucla.edu>
123613         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
123614         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
123615         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
123616         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
123617         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
123618         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
123619         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
123620         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
123621         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
123622         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
123623         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
123624         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
123625         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
123626         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
123627         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
123628         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
123629         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
123630         for these modules.
123632 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
123634         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
123635         (which shouldn't happen), generate nothing instead of returning 0
123636         immediately, so that nstrftime (NULL, ...) doesn't return 0.
123638 2005-03-16  Bruno Haible  <bruno@clisp.org>
123640         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
123641         HAVE_LONGLONG_64BIT.
123643 2005-03-16  Bruno Haible  <bruno@clisp.org>
123645         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
123646         HAVE_LONGLONG_64BIT.
123648 2005-03-16  Bruno Haible  <bruno@clisp.org>
123650         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
123651         HAVE_LONGLONG_64BIT.
123653 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
123655         * lib/strftime.c (my_strftime): Prepend space to format so that we can
123656         reliably distinguish strftime failure from empty output on POSIX
123657         hosts.
123659 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
123661         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
123662         (iconv_string): Don't guess a size-zero buffer, as that might cause
123663         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
123664         result would be 'too large', where 'too large' is (heuristically)
123665         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
123666         overflow concerns.  This will prevent some unwanted malloc failures
123667         when the inputs are very large.
123669 2005-03-15  Karl Berry  <karl@gnu.org>
123671         * config/srclist.txt (config.rpath): from gettext.
123672         * config/config.rpath: update.
123674 2005-03-15  Bruno Haible  <bruno@clisp.org>
123676         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
123677         to 'negate'.
123679         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
123680         variable.
123682         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
123683         results.
123685 2005-03-14  Simon Josefsson  <jas@extundo.com>
123687         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
123688         <fx@gnu.org>.
123690 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
123692         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
123693         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
123694         intprops.h.
123695         * lib/strtol.c: Likewise.
123697 2005-03-14  Jim Meyering  <jim@meyering.net>
123699         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
123700         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
123701         to be nonzero so that we (and caller) can detect the difference
123702         between a valid zero-length expansion and an error return, even
123703         when the underlying strftime fails before writing anything into
123704         that location.
123706 2005-03-14  Bruno Haible  <bruno@clisp.org>
123708         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
123709         Update from GNU gettext 0.14.3.
123711 2005-03-10  Jim Meyering  <jim@meyering.net>
123713         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
123715 2005-03-10  Jim Meyering  <jim@meyering.net>
123717         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
123718         so that this module works on systems without fchdir.
123720 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
123722         Factor int-properties macros into a single file, except for
123723         glibc-related files.
123724         * lib/intprops.h: New file.
123725         * lib/getloadavg.c: Include it instead of limits.h.
123726         (INT_STRLEN_BOUND): Remove.
123727         * lib/human.c: Include intprops.h.
123728         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
123729         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
123730         302/1000.
123731         * lib/inttostr.h: Include intprops.h instead of limits.h.
123732         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
123733         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
123734         for consistency with intprops.h.
123735         (time_t_is_integer, twos_complement_arithmetic): Use them.
123736         * lib/sig2str.h: Include <signal.h>, intprops.h.
123737         (INT_STRLEN_BOUND): Remove.
123738         * lib/strftime.c (TYPE_SIGNED): Remove.
123739         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
123740         * lib/strtol.c: Adjust comments to match intprops.h.
123741         * lib/userspec.c: Include intprops.h.
123742         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
123743         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
123744         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
123745         instead of rolling our own expressions.
123746         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
123748         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
123749         instead of int.
123750         (my_strftime): Do not mishandle years close to INT_MAX, by doing
123751         the right thing even if adding 1900 would overflow.  Similarly
123752         for tm_mon + 1 and tm_yday + 1.
123753         Make %Y always equivalent to %C%y, and similarly for %G and %g.
123754         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
123755         (DO_SIGNED_NUMBER): New macro.
123756         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
123758 2005-03-07  Bruno Haible  <bruno@clisp.org>
123760         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
123762 2005-03-07  Bruno Haible  <bruno@clisp.org>
123764         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
123766 2005-03-04  Derek R. Price  <derek@ximbiot.com>
123768         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
123769         (func_import): Only replace files via --import when they have actually
123770         changed.
123772 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123774         * m4/mmap-anon.m4: New file.
123775         * m4/pagealign_alloc.m4: New file.
123777 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123778             Bruno Haible  <bruno@clisp.org>
123780         * modules/pagealign_alloc: New file.
123781         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
123783 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123784             Bruno Haible  <bruno@clisp.org>
123786         * lib/pagealign_alloc.h: New file.
123787         * lib/pagealign_alloc.c: New file.
123789 2005-03-03  Bruno Haible  <bruno@clisp.org>
123791         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
123792         Use an all-permissive copyright notice, recommended by RMS.
123794 2005-03-02  Bruno Haible  <bruno@clisp.org>
123796         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
123797         of AIX, the replacement has to be done only after <string.h> is
123798         included, therefore not in config.h. stpncpy.h does the replacement,
123799         and stpncpy.c uses it.
123801 2005-03-02  Bruno Haible  <bruno@clisp.org>
123803         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
123804         stpncpy.c uses it.
123806 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123808         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
123809         The workaround isn't strictly needed for POSIX conformance, and
123810         it's too much of a pain to configure and maintain.  We'll ask
123811         people to fix their kernels instead.
123812         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
123813         (NANOSLEEP_BUG_WORKAROUND): Remove.
123814         (xnanosleep): Remove the workaround.
123816 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123818         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
123819         Reported by Derek Price.
123820         (Include): Add "timespec.h".
123822         * modules/xnanosleep (Depends-on): Remove gethrxtime.
123824 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123826         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
123827         to detect nanosleep bug.
123829 2005-03-01  Bruno Haible  <bruno@clisp.org>
123831         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
123833 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
123835         * modules/gethrxtime: New file.
123836         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
123837         (Depends-on): Add gethrxtime.
123838         (configure.ac): Add gl_XNANOSLEEP.
123839         (Makefile.am): Remove lib_SOURCES line.
123841 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
123843         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
123844         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
123846 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
123848         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
123849         * lib/timespec.h (gettime): Return void, since it always
123850         succeeds now.  All uses changed.
123851         * lib/gettime.c (gettime): Likewise.
123852         [HAVE_NANOTIME]: Prefer nanotime.
123853         Assume gettimeofday succeeds, as POSIX requires.
123854         Assime time () succeeds, since other code already does.
123855         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
123856         (timespec_subtract): Remove.
123857         (NANOSLEEP_BUG_WORKAROUND): New constant.
123858         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
123859         things considerably.  Use it only on GNU/Linux hosts, since the
123860         workaround shouldn't be needed elsewhere.
123862 2005-02-24  Bruno Haible  <bruno@clisp.org>
123864         * modules/gettext (Files): Add m4/glibc2.m4.
123866 2005-02-24  Bruno Haible  <bruno@clisp.org>
123868         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
123869         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
123870         * m4/progtest.m4:
123871         Update from GNU gettext 0.14.2.
123872         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
123874 2005-02-24  Bruno Haible  <bruno@clisp.org>
123876         * lib/localcharset.c: Update from GNU gettext 0.14.2.
123877         * lib/config.charset: Update from GNU gettext 0.14.2.
123879 2005-02-24  Bruno Haible  <bruno@clisp.org>
123881         * lib/gettext.h: Update from GNU gettext 0.14.2.
123883 2005-02-23  Simon Josefsson  <jas@extundo.com>
123885         * m4/iconvme.m4: New file.
123887 2005-02-23  Jim Meyering  <jim@meyering.net>
123889         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
123890         change.
123891         Thanks to Bruno Haible for catching it.
123893 2005-02-22  Simon Josefsson  <jas@extundo.com>
123895         * modules/iconvme: New file.
123897         * MODULES.html.sh: Add iconvme.
123899 2005-02-22  Simon Josefsson  <jas@extundo.com>
123901         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
123903 2005-02-22  Simon Josefsson  <jas@extundo.com>
123905         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
123907 2005-02-22  Jim Meyering  <jim@meyering.net>
123909         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
123910         s/ifndef/ifdef/.
123912 2005-02-20  Neil Conway  <neilc@samurai.com>
123914         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
123915         returned by OSX/Darwin if the specified buffer is not large
123916         enough for the hostname.
123918 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123920         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
123921         pass it to _help, otherwise the latter coredumps trying to
123922         dereference state.root_argp.
123924 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123926         * modules/chdir-long (Depends-on): Add memrchr.
123927         * modules/memrchr (Files): Add lib/memrchr.h.
123928         (Include): "memrchr.h".
123930 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123932         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
123934 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123936         * lib/memrchr.h: New file.
123937         * lib/chdir-long.c: Include it.
123938         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
123939         Don't bother including stddef.h.
123941 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
123943         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
123944         inclusion.
123945         Include <sys/types.h>, for dev_t.
123946         (ME_DUMMY, ME_REMOTE): Move from here....
123947         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
123948         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
123949         Dmitry V. Levin.
123950         Include mountlist.h first, to test the interface.
123952 2005-01-29  Bruno Haible  <bruno@clisp.org>
123954         * lib/progname.c (program_name): Initialize.
123955         Needed when linking statically on MacOS X.
123957 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
123959         Sync from coreutils.
123960         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
123961         (Depends-on): Add c-strtod.
123962         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
123964 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
123966         Sync from coreutils.
123967         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
123969         Remove files that are specific to coreutils.
123970         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
123972 2005-01-28  Bruno Haible  <bruno@clisp.org>
123974         * modules/javacomp: New file.
123975         * MODULES.html.sh (Java): Add javacomp.
123977 2005-01-28  Bruno Haible  <bruno@clisp.org>
123979         * m4/javacomp.m4: New file, from GNU gettext.
123981 2005-01-28  Bruno Haible  <bruno@clisp.org>
123983         * lib/javacomp.sh.in: New file, from GNU gettext.
123984         * lib/javacomp.h: New file, from GNU gettext.
123985         * lib/javacomp.c: New file, from GNU gettext.
123987 2005-01-26  Simon Josefsson  <jas@extundo.com>
123989         * lib/gai_strerror.c: Use GPL in header.
123991 2005-01-26  Bruno Haible  <bruno@clisp.org>
123993         * modules/javaexec: New file.
123994         * MODULES.html.sh (Java): Add javaexec.
123996 2005-01-26  Bruno Haible  <bruno@clisp.org>
123998         * m4/javaexec.m4: New file, from GNU gettext.
124000 2005-01-26  Bruno Haible  <bruno@clisp.org>
124002         * lib/javaexec.sh.in: New file, from GNU gettext.
124003         * lib/javaexec.h: New file, from GNU gettext.
124004         * lib/javaexec.c: New file, from GNU gettext.
124006 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124008         * modules/lchown (Depends-on): Remove lchown.h
124010 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124012         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
124013         must be defined if the header file was not found, in order
124014         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
124016 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124018         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
124019         initializers for struct pentry_state.
124020         (__argp_error): Check return value of __asprintf
124021         (__argp_failure): Translate error message
124023         * lib/argp-parse.c: Removed braces around the expansion of N_()
124025 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
124027         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
124028         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
124029         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
124030         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
124031         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
124032         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
124033         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
124034         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
124035         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
124036         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
124037         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
124038         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
124039         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
124040         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
124041         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
124042         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
124043         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
124044         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
124045         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
124046         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
124047         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
124048         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
124049         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
124050         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
124051         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
124052         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
124053         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
124054         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
124055         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
124056         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
124057         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
124058         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
124059         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
124060         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
124061         xstrtol.m4, xstrtoumax.m4, yesno.m4:
124062         Use an all-permissive copyright notice, recommended by RMS.
124064 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
124066         * modules/chdir-long (Depends-on): Remove mempcpy.
124068 2005-01-21  Jim Meyering  <jim@meyering.net>
124070         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
124071         same value as for Solaris 9.
124073         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
124074         component length.  This included changing the parameter to be
124075         of type `char *' rather than `char const *'.
124076         * lib/chdir-long.h (chdir_long): Update prototype.
124078         * lib/openat.c (fdopendir, fstatat): New functions.
124079         * lib/openat.h: Include headers required for use of DIR and struct
124080         stat.
124081         [AT_SYMLINK_NOFOLLOW]: Define.
124082         (fdopendir, fstatat): Add prototypes.
124084 2005-01-21  Bruno Haible  <bruno@clisp.org>
124086         * modules/classpath: New file.
124087         * MODULES.html.sh (Java): Add classpath.
124089 2005-01-21  Bruno Haible  <bruno@clisp.org>
124091         * lib/classpath.h: New file, from GNU gettext.
124092         * lib/classpath.c: New file, from GNU gettext.
124094 2005-01-20  Simon Josefsson  <jas@extundo.com>
124096         * modules/version-etc-fsf: New file.
124098 2005-01-20  Simon Josefsson  <jas@extundo.com>
124100         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
124101         * lib/version-etc.c: Remove version_etc_copyright.
124102         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
124103         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
124105 2005-01-20  Simon Josefsson  <jas@extundo.com>
124107         * lib/base64.h (isbase64): Add.
124109         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
124110         using a unsigned prototype, don't inline.
124111         (base64_decode): Use it.
124113 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
124115         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
124116         it.
124118 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
124120         * lib/save-cwd.c (save_cwd): Remove code to support the case
124121         where fchdir is missing or flaky.
124123 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
124125         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
124127 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
124129         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
124130         AC_LIBSOURCES now does this.
124131         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
124132         with new ullong_max module.
124134 2005-01-19  Bruno Haible  <bruno@clisp.org>
124136         * modules/sh-quote: New file.
124137         * MODULES.html.sh (Executing programs): Add sh-quote.
124139 2005-01-19  Bruno Haible  <bruno@clisp.org>
124141         * lib/sh-quote.h: New file, from GNU gettext.
124142         * lib/sh-quote.c: New file, from GNU gettext.
124144 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
124146         Merge from coreutils.
124147         * m4/ullong_max.m4: New file.
124148         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
124149         (gl_MACROS): Assume localeconv exists.
124151 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
124153         Merge changes from coreutils, as described below in several
124154         changelogs dated today.
124156         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
124157         (O_DIRECTORY): Remove; not needed here, since "." must be
124158         a directory.  All uses removed.
124159         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
124160         universal on Suns, and we also need to test for IRIX.
124161         Revamp code to use 'if' rather than '#if'.
124162         Avoid unnecessary comparison of cwd->desc to 0.
124164         * lib/utimens.c (futimens): Robustify the previous patch, by checking
124165         for known valid error numbers rather than observed invalid ones.
124167 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
124169         * modules/ullong_max: New file.
124171         * modules/chdir-long, modules/openat: New files.
124172         * modules/save-cwd (Depends-on): Depend on chdir-long.
124173         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
124175 2005-01-18  Jim Meyering  <jim@meyering.net>
124177         Merge from coreutils.
124178         * m4/chdir-long.m4, m4/openat.m4: New files.
124179         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
124180         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
124181         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
124182         is sane and DOES follow symlinks.  Besides, testing 20 different
124183         systems found no broken chown implementations.
124184         Prompted by a change in rsync's copy of this macro.
124185         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
124187         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
124189         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
124190         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
124191         NULL-means-set-to-current-time semantics.
124192         Remove temporary file immediately, rather than waiting
124193         for configure's at-exit trap code to do it.
124195 2005-01-18  Jim Meyering  <jim@meyering.net>
124197         * lib/version-etc.c (version_etc_copyright): Update copyright date.
124199         * lib/utimens.c (futimens): Account for the fact that futimes
124200         can also fail with errno == ENOSYS or errno == ENOENT.
124201         Patch from Dmitry V. Levin.
124203         Change the name of the robust chdir function from chdir to chdir_long.
124204         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
124205         (restore_cwd): Use chdir_long, not chdir.
124206         * lib/chdir-long.c: Renamed from chdir.c.
124207         * lib/chdir-long.h: Renamed from chdir.h.
124208         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
124209         Hurd.
124211 2005-01-18  Bruno Haible  <bruno@clisp.org>
124213         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
124214         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
124215         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
124216         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
124217         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
124218         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
124219         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
124220         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
124221         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
124222         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
124223         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
124224         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
124225         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
124226         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
124227         Use an all-permissive copyright notice, recommended by RMS.
124229 2005-01-18  Bob Proulx  <bob@proulx.com>
124231         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
124232         simplify offsetof() macro construct to avoid compile failure with
124233         native HP-UX 11.0 ANSI C compiler.
124235 2005-01-17  Bruno Haible  <bruno@clisp.org>
124237         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
124238         redundant because stpncpy.m4 takes care of it.
124240 2005-01-17  Bruno Haible  <bruno@clisp.org>
124242         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
124244 2005-01-17  Bruno Haible  <bruno@clisp.org>
124246         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
124247         used.
124249 2005-01-17  Bruno Haible  <bruno@clisp.org>
124251         * lib/fwriteerror.h (fwriteerror): Change specification to include
124252         fclose.
124253         * lib/fwriteerror.c: Include <stdbool.h>.
124254         (fwriteerror): At the end, close the file stream. Record whether
124255         stdout was already closed.
124257 2005-01-17  Bruno Haible  <bruno@clisp.org>
124259         * lib/execute.c (environ): Declare if needed.
124260         * lib/pipe.c (environ): Likewise.
124261         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
124263 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124265         * modules/argp: Depend on vsnprintf
124267 2005-01-10  Jim Meyering  <jim@meyering.net>
124269         * modules/closeout (Depends-on): Add atexit.
124271 2005-01-06  Bruno Haible  <bruno@clisp.org>
124273         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
124275 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
124277         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
124278         definitions to be after all include files, to avoid collisions.
124279         Problem reported by Bob Proulx.
124281 2005-01-04  Jim Meyering  <jim@meyering.net>
124283         Changes imported from coreutils.
124284         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
124285         as the mkstemp template, use a temporary directory and an
124286         8.3-friendly template to avoid trouble on systems like DJGPP.
124287         Reported by Juan M. Guerrero via Stepan Kasal.
124288         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
124289         close. Remove the temporary directory right away, rather than waiting
124290         for configure's at-exit trap code to do it.
124291         Suggestion from Stepan Kasal.
124293 2005-01-01  Simon Josefsson  <jas@extundo.com>
124295         * gnulib-tool: Print #include directives when --import'ing.
124297 2004-12-28  Simon Josefsson  <jas@extundo.com>
124299         * tests/test-base64.c: Include required header files.  Remove
124300         unused variables.
124302 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
124304         * modules/error (Depends-on): Remove gettext.
124306 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
124308         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
124309         not needed.  This removes a dependency on the gettext module.
124310         [defined _LIBC]: Do not include <libintl.h>; not needed.
124312 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
124314         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
124315         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
124317 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
124319         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
124320         HAVE_DECL_STRTOLD.
124322 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
124324         * modules/getdate (Depends-on): Remove alloca-opt.
124326 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
124328         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
124330 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
124332         * lib/argp-parse.c: Include <stddef.h>.
124333         (alignof, alignto): New macros.
124334         (parser_init): Don't assume that void * is aligned sufficiently
124335         for struct option.
124337         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
124338         need to extend the stack.
124339         (YYINITDEPTH): New macro, so that the initial stack isn't overly
124340         large.
124342 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124344         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
124346 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
124348         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
124349         (2004-10-24) change.  Apparently this was a false alarm.
124351         * modules/getdate: Depend on alloca-opt, not alloca.
124353 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
124355         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
124356         Remove now-obsolete comment about AIX.
124357         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
124358         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
124359         (YYMAXDEPTH): New macro.
124361 2004-12-18  Simon Josefsson  <jas@extundo.com>
124363         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
124365 2004-12-18  Bruno Haible  <bruno@clisp.org>
124367         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
124369 2004-12-18  Bruno Haible  <bruno@clisp.org>
124371         * lib/fatal-signal.c (fatal_signals): Make non-const.
124372         (init_fatal_signals): New function.
124373         (uninstall_handlers, install_handlers): Ignore signals that were set to
124374         SIG_IGN.
124375         (at_fatal_signal): Call init_fatal_signals.
124376         (init_fatal_signal_set): Likewise. Ignore signals that were set to
124377         SIG_IGN.
124378         Reported by Paul Eggert.
124380 2004-12-18  Bruno Haible  <bruno@clisp.org>
124382         * doc/alloca.texi: New file.
124383         * doc/alloca-opt.texi: New file.
124385 2004-12-17  Jim Meyering  <jim@meyering.net>
124387         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
124388         Otherwise, install-sh could exit with improper exit status when
124389         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
124391 2004-12-16  Simon Josefsson  <jas@extundo.com>
124393         * tests/test-base64.c: Add license.
124395 2004-12-15  Stepan Kasal  <address@hidden>
124397         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
124399 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
124401         * modules/getcwd (Files): Add m4/d-ino.m4.
124402         Suggested by Mark D. Baushke.
124404 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
124406         * lib/getdate.y (textint): New member "negative".
124407         (time_zone_hhmm): New function.
124408         Expect 14 shift-reduce conflicts, not 13.
124409         (o_colon_minutes): New rule.
124410         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
124411         (yylex): Set the "negative" member of signed numbers.
124413 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
124415         * doc/getdate.texi (Time of day items, Time zone items):
124416         Describe new formats +00:00, UTC+00:00.
124418 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
124420         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
124421         spurious "-l"s.  Problem reported by Stepan Kasal.
124423 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
124425         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
124426         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
124428 2004-12-04  Simon Josefsson  <jas@extundo.com>
124430         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
124431         Vandoorselaere <yoann@prelude-ids.org>.
124433 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
124435         Changes imported from coreutils.
124436         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
124437         exist.
124438         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
124440 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
124442         Changes imported from coreutils.
124443         * lib/hard-locale.c: Assume <locale.h> exists.
124444         Include "strdup.h".
124445         (GLIBC_VERSION): New macro.
124446         (hard_locale): Assume setlocale exists.
124447         Rewrite to avoid #ifdef.
124448         Use strdup rather than malloc + strcpy.
124449         * lib/human.c: Assume <locale.h> exists.
124450         (human_readable): Assume localeconv exists.
124452 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
124454         * modules/hard-locale (Depends-on): Add strdup.
124456 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
124458         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
124459         convert T2, not T.  (Imported from libc.)
124461 2004-11-30  Simon Josefsson  <jas@extundo.com>
124463         * modules/restrict (License): Change to LGPL.
124465 2004-11-30  Simon Josefsson  <jas@extundo.com>
124467         * m4/restrict.m4: Add copyright and copying conditions.
124469 2004-11-30  Simon Josefsson  <jas@extundo.com>
124471         * m4/base64.m4: New file.
124473 2004-11-30  Simon Josefsson  <jas@extundo.com>
124475         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
124476         base64.
124478         * tests/test-base64.c: New file.
124480         * modules/base64: New file.
124482 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
124484         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
124485         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
124487         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
124489 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
124491         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
124492         (__getcwd.c): Don't restore errno; glibc doesn't.
124493         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
124494         first, falling back to our code only if its results look suspicious.
124495         Ensure that the resulting buffer is only as large as necessary.
124497         * lib/readutmp.c: Include readutmp.h first.
124498         Include <errno.h>, since readutmp.h no longer does that.
124499         * lib/readutmp.h: Don't include <errno.h>,
124500         <sys/param.h>, <time.h>; not needed to establish interface.
124501         (errno): Remove decl.
124502         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
124503         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
124504         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
124506 2004-11-28  Simon Josefsson  <jas@extundo.com>
124508         * lib/base64.h, base64.c: New file.
124510 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
124512         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
124514 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
124516         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
124517         (Depends-on): Remove pathmax, same.  Add mempcpy.
124518         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
124519         (Makefile.am): Append getcwd.h to lib_SOURCES.
124520         (Include): Add getcwd.h.
124521         (Maintainer): Change from Jim Meyering to "all, glibc",
124522         since getdate now uses intended-for-glibc code.
124523         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
124524         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
124526 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
124528         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
124529         HP's ANSI C compiler.
124530         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
124531         Declaring int functions causes warnings on some modern systems and
124532         shouldn't be needed to compile on ancient ones.
124533         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
124534         defined.
124536         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
124537         with the following changes.
124538         (__set_errno): Parenthesize properly.
124539         Include <stdbool.h>.
124540         (MIN, MAX, MATCHING_INO): New macros.
124541         (__getcwd): Define with prototype, not K&R form.
124542         Use heuristics to allocate default buffer on stack if possible.
124543         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
124544         behavior, and to avoid the PATH_MAX limit when computing
124545         ../../../../...
124546         Use MATCHING_INO to compare inode number to file.
124547         Check for arithmetic overflow in size calculations.
124548         Fix bug in reallocation of dot array that caused getcwd to fail
124549         on directories nested deeper than 75.
124550         Be more careful about saving errno on error.
124551         Do not use realloc; use only free+malloc, as this is a bit
124552         more flexible and avoids a needless copy operation.
124553         Do not inspect st_dev and st_ino for symbolic links; POSIX
124554         doesn't specify the latter.
124555         Check for closedir errors.
124556         Avoid needless casts.
124557         Use "#ifdef weak_alias" around weak_alias, to be like other
124558         glibc code.
124559         The following changes to getcwd.c have effect only when used in
124560         gnulib; they have no effect inside glibc proper.
124561         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
124562         as alloca isn't used.
124563         (alloca, __alloca): Likewise.
124564         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
124565         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
124566         unconditionally, as gnulib assumes C89 or better.
124567         Do not include <sys/param.h>.
124568         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
124569         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
124570         better.
124571         (NULL) [!defined NULL]: Remove; we assume C89 or better.
124572         Include <dirent.h> in a way that is compatible with modern Autoconf.
124573         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
124574         New macros, if not already defined.
124575         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
124576         Use "_LIBC", not "defined _LIBC", for consistency.
124577         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
124578         a mempcpy module.
124579         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
124580         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
124581         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
124582         credit only to Jim Meyering and adjust the copyright dates.
124583         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
124584         <stdlib.h>, <unistd.h>, "pathmax.h".
124585         Instead, include "xgetcwd.h" (first) and "getcwd.h".
124586         (INITIAL_BUFFER_SIZE): Remove.
124587         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
124589 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
124591         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
124592         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
124593         Use the _ONCE methods, for efficiency.
124594         Check for fcntl.h.  In test program, include <errno.h>
124595         and <fcntl.h> if available.  Remove old K&R cruft from
124596         test program.  Check for common errors in GNU/Linux,
124597         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
124598         don't do AC_LIBOBJ, as that's getcwd.m4's job.
124599         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
124600         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
124601         name accordingly.
124602         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
124603         accommodate new getcwd.c.
124604         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
124605         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
124606         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
124607         that's all we need now.
124609 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124611         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
124612         argp-parse.c depends on getopt internals, that means we should
124613         always use our getopt, to be on the safe side.
124614         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
124615         order not to spoil the result of an eventual previous invocation
124616         of gl_GETOPT_SUBSTITUTE.
124618 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124620         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
124621         redefinition warnings. To avoid them, include the defines
124622         in `#if !defined __need_getopt ... #endif'. The only place
124623         where __getopt_argv_const is used is in definitions
124624         of getopt_long and getopt_long_only below, which are as well
124625         protected by `#ifndef __need_getopt'.
124626         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
124627         __need_getopt after including <stdio.h> and <unistd.h> These
124628         headers might have defined it.
124630 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
124632         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
124634 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
124636         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
124637         (futimens): New function, which uses futimes if available.
124638         (futimens, utimens): Support timespec==NULL, with same semantics
124639         as utime and utimens.
124640         * lib/utimens.h (futimens): New decl.
124642 2004-11-23  Jim Meyering  <jim@meyering.net>
124644         * lib/getopt_.h: Remove trailing blanks.
124646 2004-11-23  Jim Meyering  <jim@meyering.net>
124648         * lib/__fpending.c: Add comment.
124650 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
124652         * modules/canonicalize (Depends-on): Add xreadlink.
124653         Problem reported by James Youngman.
124655 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
124657         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
124658         New macros.
124659         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
124660         optopt): Use them instead of invoking ## directly; otherwise, the
124661         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
124663 2004-11-19  Bruno Haible  <bruno@clisp.org>
124665         * lib/strtok_r.c: Move comments from here...
124666         * lib/strtok_r.h: ... to here.
124668 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
124670         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
124671         implementations that mishandle size_t overflow.
124673 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
124675         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
124676         might fail.  Problem reported by Yoann Vandoorselaere.
124677         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
124678         implementations that mishandle size_t overflow.
124680 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124682         * modules/canon-host (Depends-on): Add strdup.
124684 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124686         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
124688 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124690         * lib/canon-host.c: Include "strdup.h".
124691         (canon_host): Use getaddrinfo if available, so that IPv6 works.
124692         Use strdup instead of malloc/strcpy to duplicate strings.
124694         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
124695         (human_space_before_unit): New constant.
124696         * lib/human.c (human_readable): Support it.
124698         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
124699         (xgetcwd): Set errno correctly when failing.
124700         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
124701         the failure is actually due to a PATH_MAX problem.
124703         Further getopt changes to make it more likely that glibc will
124704         buy the changes back.
124705         * lib/getopt.c (POSIXLY_CORRECT): New constant.
124706         (getopt): Use it, so to preserve glibc semantic
124707         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
124708         when compiling for libc.
124709         * lib/getopt_.h (__getopt_argv_const): Bring it back.
124710         (getopt_long, getopt_long_only): Use it.
124712         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
124713         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
124714         (getopt): Argv is now char * const *, as per standard.
124715         (_getopt_internal_r, _getopt_internal): Argv is now char **,
124716         not char *__getopt_argv_const *.
124717         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
124718         _getopt_long_only_r): Likewise.
124719         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
124720         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
124721         _getopt_long_r, _getopt_long_only_r): Likewise.
124722         * lib/getopt_.h (__getopt_argv_const): Remove.
124723         (getopt): Argv is now char * const *, as per standard.
124725         * lib/getdate.y (tORDINAL): New token.
124726         (day, relunit): Allow it for relative times.
124727         (relative_time_table): Use tORDINAL for ordinals.
124729 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124731         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
124732         Document that "second" isn't allowed as an ordinal number.
124734 2004-11-16  Jim Meyering  <jim@meyering.net>
124736         * modules/closeout (Depends-on): Add fpending.
124738 2004-11-15  Jim Meyering  <jim@meyering.net>
124740         * lib/closeout.c: Include "__fpending.h" once again.
124741         Include <stdbool.h>.
124742         (close_stdout): Don't fail just because stdout was closed initially,
124743         since some programs don't write to stdout in the normal course of
124744         operation (other than --version and --help), and we don't want this
124745         function to make e.g. `touch file >&-' fail.
124746         But do fail if it was closed and someone has tried to write to it.
124747         E.g., `printf foo >&-' must fail.
124749 2004-11-13  Jim Meyering  <jim@meyering.net>
124751         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
124753 2004-11-12  Simon Josefsson  <jas@extundo.com>
124755         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
124756         small doc fix is still pending.
124758 2004-11-11  Simon Josefsson  <jas@extundo.com>
124760         * modules/strtok_r: New file.
124762         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124763         strtok_r.
124765 2004-11-11  Simon Josefsson  <jas@extundo.com>
124767         * m4/strtok_r.m4: New file.
124769         * m4/getopt.m4: Replace opterr.
124771 2004-11-11  Simon Josefsson  <jas@extundo.com>
124773         * lib/strtok_r.h, strtok_r.c: New file.
124775 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
124777         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
124778         of replacing opterr, getopt, etc.  This should handle the
124779         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
124781 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
124783         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
124784         we can stop lying to compilers about the constness of argv when we
124785         are compiled outside glibc.
124786         (getopt, getopt_long, getopt_long_only): Use it.
124787         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
124788         _getopt_internal, getopt): Likewise.
124789         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
124790         _getopt_long_only_r): Likewise.
124791         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
124792         _getopt_long_r, _getopt_long_only_r): Likewise.
124794         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
124795         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
124796         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
124797         the other external symbols.
124798         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
124799         declaration, since the above renaming now works around collisions.
124801 2004-11-11  Jim Meyering  <jim@meyering.net>
124803         * lib/linebreak.c: Remove trailing blanks.
124804         * lib/alloca_.h: Likewise.
124805         * lib/acosl.c: Likewise.
124806         * lib/euidaccess.c: Likewise.
124807         * lib/allocsa.h: Likewise.
124809 2004-11-10  Simon Josefsson  <jas@extundo.com>
124811         * m4/getaddrinfo.m4: New file.
124813 2004-11-10  Simon Josefsson  <jas@extundo.com>
124815         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
124817 2004-11-10  Simon Josefsson  <jas@extundo.com>
124819         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124820         getaddrinfo.
124822         * modules/getaddrinfo: New file.
124824 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
124826         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
124828 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
124830         * lib/mktime.c (SHR): New macro, which is a portable
124831         substitute for >> that should work even on Crays.
124832         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
124833         Problem reported by Mark D. Baushke in
124834         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
124835         * lib/getdate.y (SHR): Likewise.
124836         (tm_diff): Use it.
124837         * lib/strftime.c (SHR): Likewise.
124838         (tm_diff): Use it.
124839         * lib/quotearg.c (struct quoting_options): Use unsigned int for
124840         quote_these_too, so that right shifts are well defined.  All uses
124841         changed.
124843 2004-11-10  Jim Meyering  <jim@meyering.net>
124845         Ensure that no close failure goes unreported.
124846         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
124847         return early when it seems there's nothing to flush.
124848         Don't include __fpending.h.
124850 2004-11-10  Jim Meyering  <jim@meyering.net>
124852         * modules/closeout (Depends-on): Remove fpending.
124854 2004-11-10  Jim Meyering  <jim@meyering.net>
124856         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
124858 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
124860         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
124861         gl_FUNC_STRFTIME.
124862         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
124863         and AC_REQUIRE when possible, to avoid duplicate checks.
124864         Check for <wchar.h>.
124866 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
124868         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
124870 2004-11-09  Bruno Haible  <bruno@clisp.org>
124872         * m4/sockpfaf.m4: New file.
124874 2004-11-05  Bruno Haible  <bruno@clisp.org>
124876         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
124877         Reported by Mark D. Baushke <mdb@cvshome.org>.
124879 2004-11-04  Bruno Haible  <bruno@clisp.org>
124881         2004-09-11  Bruno Haible  <bruno@clisp.org>
124882                 * allocsa.valgrind: New file.
124883         2004-02-06  Bruno Haible  <bruno@clisp.org>
124884                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
124885                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
124886                 Reported by Christopher Seip <chris.seip@hp.com>.
124888 2004-11-04  Bruno Haible  <bruno@clisp.org>
124890         * modules/allocsa (Files): Add lib/allocsa.valgrind.
124891         (Makefile.am): Distribute it.
124893 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
124895         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
124896         with errno == ERANGE if the buffer is too small.
124897         Problem reported by Mark D. Baushke.
124899 2004-11-03  Albert Chin  <china@thewrittenword.com>
124900             Paul Eggert  <eggert@cs.ucla.edu>
124902         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
124903         equivalent, substitute $ac_type for equivalent type rather than
124904         blindly using uint32_t *always* which won't work if uint32_t is not
124905         available.  Define _UINT32_T to work around typedef of uint32_t if
124906         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
124907         2.5.1.
124909 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124911         * m4/jm-macros.m4: Sync from coreutils.
124912         (gl_MACROS): Check for mbrlen, for pathchk.
124913         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
124915 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124917         * lib/xreadlink.c (MAXSIZE): New macro.
124918         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
124919         size does not exceed MAXSIZE.  Avoid cast.
124920         As suggested by Mark D. Baushke in
124921         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
124922         if readlink fails with buffer size just under MAXSIZE, try again
124923         with MAXSIZE.
124925 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124927         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
124929 2004-11-02  Derek R. Price  <derek@ximbiot.com>
124930         and  Paul Eggert  <eggert@cs.ucla.edu>
124932         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
124933         (get_date): Overparenthesize to avoid GCC warning.
124935 2004-11-02  Bruno Haible  <bruno@clisp.org>
124937         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
124938         returns void.
124940 2004-11-02  Bruno Haible  <bruno@clisp.org>
124942         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
124943         function returns void.
124945 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
124947         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
124948         fflush_unlocked, flockfile, funlockfile, funlockfile,
124949         fputs_unlocked, putc_unlocked.
124951 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
124953         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
124954         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
124955         already declared.
124957 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
124959         * modules/getdate (Files): Add doc/getdate.texi.
124960         (Depends-on): Add setenv, xalloc.
124962 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
124964         * lib/getdate.y: Add support for TZ="foo" within a date string.
124965         Fix some bugs near time_t boundaries.  Reject dates with
124966         out-of-range components, e.g., "Sept 31".
124967         Include <stdlib.h>, "setenv.h", "xalloc.h".
124968         (ISDIGIT_LOCALE): Remove; unused.
124969         Note that the TZ and time functions used here are not reentrant.
124970         (mktime_ok, get_tz): New functions.
124971         (TZBUFSIZE): New constant.
124972         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
124973         This requires that we sometimes generate our own TZ="XXX..." setting.
124975 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
124977         * doc/getdate.texi: New file, from coreutils with modifications for
124978         the new TZ parsing.
124980 2004-10-27  Derek R. Price  <derek@ximbiot.com>
124982         * lib/mktime.c (not_equal_tm): Remove redundant check.
124984 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
124986         * modules/regex (lib_SOURCES): Add regex.c.
124987         Reported by James Youngman in
124988         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
124990 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
124992         * lib/getdate.y: Use Bison 1.875 features, and some minor
124993         code cleanups.  This change does not affect semantics.
124994         Don't include <stdlib.h>; no longer needed.
124995         Don't include unlocked-io.h; only the "#if TEST" code uses
124996         stdio, and performance isn't crucial there.
124997         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
124998         Bison 1.875 features as described below.
124999         All uses of "PC." replaced by "pc->".
125000         (YYSTYPE): Add a forward declaration.
125001         (yylex, yyerror): Use full prototypes in forward decls.
125002         Use "%pure-parser" rather than obsolescent "%pure_parser".
125003         Use %parse-param and %lex-param instead of obsolescent
125004         YYPARSE_PARAM and YYLEX_PARAM.
125005         (meridian_table, month_and_day_table, time_units_table,
125006         relative_time_table, time_zone_table, military_table,
125007         lookup_zone, lookup_word, get_date):
125008         Use NULL instead of 0 where appropriate.
125009         (to_hour): Avoid abort (), to avoid a dependency on
125010         stdlib.h.
125011         (yyerror, yylex): Now accepts parser_control * arg.
125012         (main) [TEST]: Use '\0' rather than 0 for char.
125014 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
125016         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
125018 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
125020         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
125021         It's now the caller's responsibility to handle the case where
125022         !HAVE_GETPAGESIZE && !defined getpagesize.
125024         * lib/mktime.c (leapyear): Arg is long int, not int.
125026 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
125028         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
125030 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
125032         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
125033         missing.  Problem reported by James Youngman.
125035 2004-10-16  Simon Josefsson  <jas@extundo.com>
125037         * gnulib-tool: Fix comments.  Fix parse problem.
125038         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
125040 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
125042         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
125043         implementation of getopt_long.  Problem reported by Alexander Taler in:
125044         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
125046 2004-10-15  Bruno Haible  <bruno@clisp.org>
125048         * gnulib-tool: Untabify. Initialize supplied_libname.
125049         (func_usage): More homogenous output.
125050         (func_modules_transitive_closure, func_modules_to_filelist,
125051         func_emit_lib_Makefile_am): New functions.
125052         (func_import): New function, extracted from big case statement. Use
125053         func_get_license, func_modules_transitive_closure,
125054         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
125055         opt_lgpl. Don't use test -a, as it's not portable.
125056         (func_create_testdir): Use func_modules_transitive_closure,
125057         func_modules_to_filelist, func_emit_lib_Makefile_am.
125059 2004-10-15  Bruno Haible  <bruno@clisp.org>
125061         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
125063 2004-10-15  Bruno Haible  <bruno@clisp.org>
125065         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
125066         the portions belonging to each module.
125067         Suggested by Derek Robert Price <derek@ximbiot.com>.
125069 2004-10-12  Simon Josefsson  <jas@extundo.com>
125071         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
125072         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
125073         to real functions.
125075 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125077         * modules/vsnprintf: New file.
125079 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125081         * m4/vsnprintf.m4: New file.
125083 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125085         * lib/vsnprintf.h: New file.
125086         * lib/vsnprintf.c: New file.
125088 2004-10-11  Bruno Haible  <bruno@clisp.org>
125090         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
125091         vsnprintf.
125093 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
125095         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
125097 2004-10-07  Bruno Haible  <bruno@clisp.org>
125099         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
125100         fits into the provided buffer.
125102 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
125104         * lib/diacrit.c, diacrit.h: Add GPL notice.
125106         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
125107         notice.
125108         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
125109         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
125110         This avoids a potential constant-folding bug.
125112 2004-10-05  Bruno Haible  <bruno@clisp.org>
125114         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
125115         for the declaration of strsep.
125117 2004-10-05  Bruno Haible  <bruno@clisp.org>
125119         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
125121 2004-10-04  Simon Josefsson  <jas@extundo.com>
125123         * modules/memmem: New file.
125124         * tests/test-memmem.c: New file.
125125         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
125127 2004-10-04  Simon Josefsson  <jas@extundo.com>
125129         * m4/memmem.m4: New file.
125131 2004-10-04  Simon Josefsson  <jas@extundo.com>
125133         * lib/memmem.h: New file.
125134         * lib/memmem.c: New file, taken from glibc.
125136 2004-10-04  Simon Josefsson  <jas@extundo.com>
125138         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
125139         '#ifdef USE_UNLOCKED_IO'.
125141 2004-10-04  Simon Josefsson  <jas@extundo.com>
125143         * config/srclist.txt: Add memmem from glibc.
125145 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125147         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
125149         * modules/argmatch, modules/argp, modules/closeout, modules/error,
125150         modules/exclude, modules/getdate, modules/getline,
125151         modules/getndelim2, modules/getpass, modules/getpass-gnu,
125152         modules/getusershell, modules/linebuffer, modules/md5,
125153         modules/mountlist, modules/posixtm, modules/readtokens,
125154         modules/readutmp, modules/regex, modules/sha1,
125155         modules/version-etc, modules/yesno:
125156         Remove dependency on unlocked-io.
125158 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125160         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
125162         * m4/unlocked-io.m4: Add copyright notice.
125163         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
125165 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125167         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
125168         * lib/xmalloc.c (xmemdup): Likewise.
125169         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
125170         XFREE): Remove these long-obsolescent macros.
125171         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
125172         * lib/xstrdup.c: Remove.
125174         * lib/regex.c (re_comp): Cast gettext return value to char *,
125175         Problem reported by Martin Neitzel via Mark D. Baushke.
125177 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
125179         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
125180         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
125181         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
125182         regex.c, sha1.c, version-etc.c, yesno.c:
125183         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
125184         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
125185         the includer's responsibility.
125187         Sync from coreutils.
125189         * lib/modechange.c (mode_compile): Don't decrement a pointer that
125190         points to the start of a string, as the C Standard says the
125191         resulting behavior is undefined.
125193         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
125194         simple -> simple_backups, numbered_existing ->
125195         numbered_existing_backups, numbered -> numbered_backups
125196         to avoid shadowing problems.  All uses changed.
125197         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
125198         * lib/backupfile.c (check_extension, numbered_backup):
125199         Rename locals to avoid shadowing 'basename'.
125200         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
125201         once.
125203         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
125204         * lib/.cvsignore: Add getopt.h.
125206 2004-10-04  Bruno Haible  <bruno@clisp.org>
125208         * modules/README: New file.
125209         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
125210         not a module.
125212 2004-10-02  Jim Meyering  <jim@meyering.net>
125214         * lib/dirfd.h, getpagesize.h: Add copyright notice.
125216 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125218         * modules/strsep: New file.
125220 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125222         * m4/strsep.m4: New file.
125224 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
125226         * lib/strsep.h: New file.
125227         * lib/strsep.c: New file.
125229 2004-10-01  Simon Josefsson  <jas@extundo.com>
125231         * lib/snprintf.c (snprintf): Handle size==0.
125233 2004-10-01  Simon Josefsson  <jas@extundo.com>
125234             Bruno Haible  <bruno@clisp.org>
125236         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
125237         (snprintf): Declare 'args'.
125239 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
125241         * lib/snprintf.c: Remove comments as to why each header is needed.
125243 2004-10-01  Bruno Haible  <bruno@clisp.org>
125245         * MODULES.html.sh: Add strsep.
125247 2004-09-30  Simon Josefsson  <jas@extundo.com>
125249         * modules/snprintf: New file.
125251 2004-09-30  Simon Josefsson  <jas@extundo.com>
125253         * m4/snprintf.m4: New file.
125255 2004-09-30  Simon Josefsson  <jas@extundo.com>
125257         * lib/snprintf.h, lib/snprintf.c: New files.
125259 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
125261         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
125262         (hol_entry_help): Never translate an empty string.
125263         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
125264         * lib/argp.h (OPTION_NO_TRANS): New option.
125266 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
125268         * modules/argp (Maintainer): Replace Simon Josefsson
125269         by Sergey Poznyakoff.
125271 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
125273         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
125274         changes merged back into glibc.
125276 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
125278         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
125280 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
125282         * lib/xvasprintf.c: Include xalloc.h.
125283         (xvasprintf): Use xalloc_die, not xmalloc_die.
125285 2004-09-29  Bruno Haible  <bruno@clisp.org>
125287         * modules/alloca-opt: New file, derived from modules/alloca.
125288         * modules/allocsa: Depend on alloca-opt instead of alloca.
125289         * modules/setenv: Likewise.
125290         * modules/vasnprintf: Likewise.
125291         * MODULES.html.sh: Add alloca-opt.
125293 2004-09-28  Simon Josefsson  <jas@extundo.com>
125295         * gnulib-tool: New parameter --lgpl, to asseert that modules are
125296         LGPL, and to replace license template from GPL to LGPL.
125298 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
125300         * modules/dummy: Change license to LGPL.
125302 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
125304         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
125306 2004-09-24  Simon Josefsson  <jas@extundo.com>
125308         * modules/minmax (License): Change from GPL to LGPL.
125310 2004-09-23  Simon Josefsson  <jas@extundo.com>
125312         * gnulib-tool (--import): Typo.
125314 2004-09-23  Simon Josefsson  <jas@extundo.com>
125316         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
125318 2004-09-22  Bruno Haible  <bruno@clisp.org>
125320         * modules/*: Add 'License' field.
125321         * gnulib-tool: Accept --extract-license option.
125322         (func_get_license): New function.
125324 2004-09-21  Bruno Haible  <bruno@clisp.org>
125326         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
125327         Reported by Simon Josefsson.
125329 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
125331         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
125332         gl_AC_TYPE_LONG_LONG.
125334 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
125336         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
125338 2004-09-18  Simon Josefsson  <jas@extundo.com>
125339         and  Paul Eggert  <eggert@cs.ucla.edu>
125341         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
125342         calls with autoreconf.  Define GL_LIB.
125344 2004-09-14  Karl Berry  <karl@gnu.org>
125346         * config/srclist.txt: unsync setenv.c, sigh.
125348 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
125350         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
125351         Problem reported by Bruno Haible in:
125352         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
125354 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
125356         * config/srclist.txt: Comment out argp-pvh.c.
125358 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
125360         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
125361         in case some system header has #define'd it.  Problem reported by
125362         Soeren D. Schulze in
125363         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
125365 2004-09-09  Karl Berry  <karl@gnu.org>
125367         * regex.[ch]: delete from the root.  These were supposed to be
125368                 synced with emacs cvs, but this has not happened for about
125369                 a year, and anyway nothing else uses emacs regex.[ch].
125370                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
125371                 lib/regex[.ch] is untouched.
125373 2004-09-09  Bruno Haible  <bruno@clisp.org>
125375         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
125377 2004-09-09  Bruno Haible  <bruno@clisp.org>
125379         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
125380         modifications.
125381         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
125383 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
125385         * modules/xvasprintf: New file.
125386         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
125388 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
125390         * lib/xvasprintf.h: New file.
125391         * lib/xvasprintf.c: New file.
125392         * lib/xasprintf.c: New file.
125394 2004-09-08  Bruno Haible  <bruno@clisp.org>
125396         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
125398 2004-09-08  Bruno Haible  <bruno@clisp.org>
125400         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
125401         length is > INT_MAX.
125402         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
125403         more.
125405 2004-09-08  Bruno Haible  <bruno@clisp.org>
125407         * lib/stdint_.h: New file, taken from GNU clisp.
125409 2004-09-08  Bruno Haible  <bruno@clisp.org>
125410             Oskar Liljeblad  <oskar@osk.mine.nu>
125412         * modules/stdint: New file.
125413         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
125415 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
125417         Import from coreutils.
125418         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
125419         strings on unbounded length.  alloca's performance benefits aren't
125420         that important here.
125421         (V_STRDUP): Remove.
125422         (parse_with_separator): New function, with most of the internals
125423         of the old parse_user_spec.  Allow user to omit both user and group,
125424         for compatibility with FreeBSD.
125425         Clone only the user name, not the entire spec.
125426         Do not set *uid, *gid unless entirely successful.
125427         Avoid memory leak in some failing cases.
125428         Fix regression for USER.GROUP reported by Dmitry V. Levin in
125429         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
125430         (parse_user_spec): Rewrite to use parse_with_separator.
125432 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
125434         * modules/userspec: Don't depend on alloca.
125436 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
125438         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
125440 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
125442         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
125443         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
125444         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
125446 2004-08-16  Simon Josefsson  <jas@extundo.com>
125448         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
125449         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
125450         Add --dry-run for --import.
125451         Let user provided command line parameters override configure.ac
125452         settings.
125454 2004-08-12  Simon Josefsson  <jas@extundo.com>
125456         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
125457         as discussed with Paul Eggert in threads rooted at
125458         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
125459         and
125460         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
125461         Before, the test was empty, and relied on ELIDE_CODE in source
125462         code.)
125463         (gl_PREREQ_GETOPT): New macro.
125464         (gl_GETOPT): Use them.
125466 2004-08-12  Simon Josefsson  <jas@extundo.com>
125468         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
125469         * lib/getopt_.h: Renamed from getopt.h.
125471 2004-08-12  Simon Josefsson  <jas@extundo.com>
125473         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
125474         Change default library name from libfoo to libgnu.
125475         Now, if you have a configure.ac that says:
125476                 gl_SOURCE_BASE(gl)
125477                 gl_M4_BASE(gl/m4)
125478                 gl_MODULES(error getopt etcetera)
125479                 gl_INIT
125480         you can import all you need by running:
125481                 ../gnulib/gnulib-tool --import
125483         * modules/getopt (Files): Rename getopt.h to getopt_.h.
125484         (Makefile.am): Rewrite, use logic from argz.
125485         (Include): Use <getopt.h> instead of "getopt.h".
125487 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125489         * modules/argp (Files): Add m4/unlocked-io.m4.
125490         (Depends-on): Add extensions.
125492 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125494         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
125495         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
125496         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
125497         Check for program_invocation_name, program_invocation_short_name,
125498         flockfile, funlockfile, features.h, _getopt_long_only_r.
125500 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125502         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
125503         its complicated substitute.
125504         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
125505         and program_invocation_name.
125506         (__argp_basename) [!_LIBC]: Remove; the only use was
125507         replaced by its body.
125508         (__argp_short_program_name): Change condition from
125509         !defined __argp_short_program_name to
125510         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
125511         to match argp-namefrob.h.
125512         (__argp_failure): Don't assume strerror_r returns char *.
125513         * lib/argp-parse.c (N_): Define unconditionally.
125514         (argp_default_options): Fill out initializers with 0 to avoid
125515         gcc warnings.
125517 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125519         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
125520         getopt1.c.
125522 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125524         Merge from coreutils.
125526         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
125528         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
125529         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
125531 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125533         Merge from coreutils.
125535         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
125536         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
125537         for Reliant Unix 5.43.
125539         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
125540         (union fooround): Use uintmax_t, not long int.
125541         The rest is a merge from libc:
125542         [defined _LIBC]: Include <shlib-compat.h>.
125543         (_obstack) [defined _LIBC]: Remove after 2.3.4.
125545         * lib/settime.c (settime): Recode to avoid warning with
125546         Sun Forte C 6U2.
125548         * lib/strverscmp.c: Convert to UTF-8.
125550 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125552         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
125553         m4/uintmax_t.m4.
125555 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125557         * modules/xalloc-die: New file.
125558         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
125560         * modules/md5 (Files): Add m4/uint32_t.m4.
125561         * modules/sha1: Renamed from modules/sha.
125562         (Files):
125563         Rename lib/sha.h to lib/sha1.h.
125564         Rename lib/sha.c to lib/sha1.c.
125565         Rename m4/sha.m4 to m4/sha1.m4.
125566         (lib_SOURCES): Likewise.
125567         (configure.ac): Rename gl_SHA to gl_SHA1.
125568         (Include): sha.h -> sha1.h.
125570 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125572         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
125573         * m4/sha1.m4: Renamed from sha.m4.
125574         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
125576 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125578         * lib/obstack.h (obstack_empty_p):
125579         Don't assume that chunk->contents is suitably aligned.
125580         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
125581         Likewise. Problem reported by Benno in
125582         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
125584         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
125585         readable.  This could be improved further but it'd take some work.
125587 2004-08-08  Simon Josefsson  <jas@extundo.com>
125589         * modules/xgethostname (Depends-on): Remove exit and error (not
125590         used).
125592         * modules/getpass-gnu: Add getpass.h.
125593         (Depends-on): Add stdbool.
125594         * modules/getpass: Add getpass.h.
125596 2004-08-08  Simon Josefsson  <jas@extundo.com>
125598         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
125599         Check getpass declaration.
125601 2004-08-08  Simon Josefsson  <jas@extundo.com>
125603         * lib/xgethostname.c: Don't include error.h (not used).
125605         * lib/getpass.h: Add.
125606         * lib/getpass.c: Include getpass.h first.
125608 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
125610         * lib/xalloc-die.c: New file.
125611         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
125612         All uses removed.
125613         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
125614         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
125615         xalloc-die.c.
125616         (_, N_, xalloc_die): Move to xalloc-die.c.
125617         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
125618         so that we needn't mess with xalloc_msg_memory_exhausted.
125620         * lib/sha1.h: Renamed from sha.h.
125621         (SHA1_H): Renamed from _SHA_H.
125622         (sha1_ctx): Renamed from sha_ctx.
125623         (sha1_init_ctx): Renamed from sha_init_ctx.
125624         (sha1_process_block): Renamed from sha_process_block.
125625         (sha1_process_bytes): Renamed from sha_process_bytes.
125626         (sha1_finish_ctx): Renamed from sha_finish_ctx.
125627         (sha1_read_ctx): Renamed from sha_read_ctx.
125628         (sha1_stream): Renamed from sha_stream.
125629         (sha1_buffer): Renamed from sha_buffer.
125630         * lib/sha1.c: Likewise; renamed from sha.c.
125631         Do not include <sys/types.h>.
125632         Include <stddef.h> rather than <stdlib.h>.
125634 2004-08-08  Bruno Haible  <bruno@clisp.org>
125636         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
125637         FILESYSTEM_PREFIX_LEN.
125638         * lib/progreloc.c: Likewise.
125639         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
125641 2004-08-06  Simon Josefsson  <jas@extundo.com>
125643         * modules/progname (Depends-on): Don't depend on stdbool.
125645 2004-08-06  Simon Josefsson  <jas@extundo.com>
125647         * modules/getsubopt: New file.
125648         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
125649         getsubopt.
125651 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125653         More merge from coreutils.
125655         * m4/utimens.m4, m4/utimecmp.m4: New files.
125656         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
125657         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
125658         prereq.m4, sha.m4: Import changes from coreutils.
125660 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125662         More merge from coreutils.
125663         * modules/raise, modules/readtokens0, modules/utimens:
125664         * modules/utimecmp, module/xnanosleep: New files.
125665         * modules/strftime: Add lib/strftime.h.
125666         Change include from <time.h> to "strftime.h".
125667         * modules/yesno: Add lib/yesno.h.
125668         * modules/backupfile: Remove lib/addext.c.
125669         * modules/euidaccess: Add stat-macros.h.
125670         * modules/canonicalize, modules/euidaccess,
125671         modules/filemode, modules/lchown, modules/makepath,
125672         modules/rmdir, modules/stat: Likewise.
125674 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125676         Merge from tar.
125677         * lib/argp-help.c (make_hol, hol_append): Don't assume that
125678         SIZE_MAX is a valid preprocessor constant.
125679         (__argp_basename): Change from "#ifndef _LIBC"
125680         to "#ifndef __argp_short_program_name", so that
125681         we don't compile these functions for tar.
125683         More merges from coreutils.
125684         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
125685         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
125686         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
125687         * lib/addext.c: Remove; no longer needed.
125688         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
125689         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
125690         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
125691         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
125692         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
125693         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
125694         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
125695         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
125696         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
125697         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
125698         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
125699         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
125700         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
125701         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
125702         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
125703         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
125704         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
125705         Import changes from coreutils.
125707 2004-08-05  Simon Josefsson  <jas@extundo.com>
125709         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
125711 2004-08-05  Simon Josefsson  <jas@extundo.com>
125713         * m4/getsubopt.m4: New file.
125715 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125717         Merge from coreutils.
125719         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
125720         * m4/getcwd-path-max.m4: New files.
125722         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
125723         FILESYSTEM_PREFIX_LEN ->
125724         FILE_SYSTEM_PREFIX_LEN.
125725         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
125726         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
125727         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
125728         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
125730         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
125731         prerequisite modules now handle the DOS stuff.
125732         Don't check for unistd.h.
125734 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125736         Merge from coreutils.
125738         * lib/.gdb-history: Remove; this doesn't belong here.
125740         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
125741         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
125742         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
125743         * lib/getcwd.c: New files.
125745         * lib/dirname.h: Include <stdbool.h>.
125746         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
125747         for consistency with POSIX terminology.  All uses changed.
125748         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
125749         (strip_trailing_slashes): Use bool for booleans.
125750         * lib/stripslash.c (strip_trailing_slashes): Likewise.
125752         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
125753         sometimes returns a positive errno value even when it succeeds.
125754         (print_errno_message) [!LIBC]: Fall back on strerror if
125755         __strerror_r fails.
125757         * lib/path-concat.c (mempcpy): Don't define if a system header defines
125758         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
125759         (longest_relative_suffix): New function.
125760         (path_concat): Use it.  Assume first argument is not NULL.
125761         Port to DOS.  Omit redundant separators.
125762         Report an error instead of returning NULL.
125763         Use mempcpy instead of memcpy.
125764         (xpath_concat): Remove: not declared or used.
125766         * lib/same.h: Include <stdbool.h>
125767         (same_name): Return bool, not int.
125768         * lib/same.c (same_name): Likewise.
125769         (errno): Don't declare; we assume C89 or better now.
125771         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
125772         if not already defined.
125774         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
125775         * lib/dup-safer.c (errno): Likewise.
125777 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125779         Merge from coreutils.
125780         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
125781         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
125782         * modules/path-concat: Don't depend on strdup.
125784 2004-08-03  Simon Josefsson  <jas@extundo.com>
125786         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
125787         * lib/progname.h: Don't include stdbool.h.
125789 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125791         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
125792         * MODULES.html.sh (func_all_modules): Remove fatal.
125794 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125796         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
125798 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125800         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
125801         working.
125803 2004-08-02  Simon Josefsson  <jas@extundo.com>
125805         * lib/getsubopt.h: New file, with comments from Bruno Haible.
125806         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
125807         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
125809 2004-08-01  Simon Josefsson  <jas@extundo.com>
125811         * lib/xgetdomainname.c: Include stdlib.h, for free().
125813 2004-07-19  Bruno Haible  <bruno@clisp.org>
125815         * MODULES.html.sh (func_all_modules): Add dummy.
125817 2004-07-16  Simon Josefsson  <jas@extundo.com>
125819         * modules/dummy: New file.
125821 2004-07-16  Simon Josefsson  <jas@extundo.com>
125823         * lib/dummy.c: New file.
125825 2004-07-16  Bruno Haible  <bruno@clisp.org>
125827         * lib/backupfile.h: Add extern "C" for C++.
125828         * lib/closeout.h: Likewise.
125829         * lib/copy-file.h: Likewise.
125830         * lib/findprog.h: Likewise.
125831         * lib/full-write.h: Likewise.
125832         * lib/pathname.h: Likewise.
125833         * lib/progname.h: Likewise.
125834         * lib/stpcpy.h: Likewise.
125835         * lib/stpncpy.h: Likewise.
125836         * lib/strcase.h: Likewise.
125837         * lib/strstr.h: Likewise.
125838         * lib/xalloc.h: Likewise.
125840         * lib/mbswidth.h: Add extern "C" for C++.
125841         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
125843 2004-07-13  Robert Millan  <robertmh@gnu.org>
125845         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
125847 2004-07-09  Simon Josefsson  <jas@extundo.com>
125849         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
125850         failed without this.)
125852 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
125854         * modules/chown (Files): Add lib/fchown-stub.c, since
125855         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
125857 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
125859         * lib/fchown-stub.c: New file.
125861 2004-06-24  Jim Meyering  <jim@meyering.net>
125863         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
125865 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125867         * modules/argz: Omit "#include".
125869         * MODULES.html.sh (func_all_modules): Add calloc, to match
125870         2004-06-01 addition of calloc module.
125872 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125874         * m4/argz.m4: New file, which is autoupdated from libtool.
125876 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125878         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
125879         libtool.
125881 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125883         * config/srclist-update: Don't insist on "USA." before the
125884         close-comment, as libtool omits the period and puts the */ on a
125885         separate line.
125886         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
125887         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
125889 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
125891         * modules/argz: New file.
125892         * MODULES.html.sh (func_all_modules): Add argz.
125894 2004-06-12  Jim Meyering  <jim@meyering.net>
125895         and  Paul Eggert  <eggert@cs.ucla.edu>
125897         * modules/hash (Files): Add lib/xalloc.h.
125898         * modules/pipe (Depends-on): Add wait-process.
125899         * modules/stat (Depends-on): Add xalloc.
125900         * modules/userspec (Files): Add lib/userspec.h.
125901         * modules/xstrto
125903         Upgrade from gettext-0.13.
125904         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
125905         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
125906         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
125908 2004-06-10  Jim Meyering  <jim@meyering.net>
125910         * lib/calloc.c: New file.
125912 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
125914         * lib/getdate.y (yylex): Allow space between sign and number.
125915         Problem reported by Dan Jacobson.
125917 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
125919         Merge from coreutils CVS.
125921         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
125922         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
125923         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
125924         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
125925         xstrtol.m4: Fix copyright date and/or serial number.
125927         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
125928         See if we need an fchown replacement.
125929         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
125930         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
125931         and use the replacement function if we detect either defect.
125933         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
125934         gl_UTIMECMP.
125936 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
125937         and  Jim Meyering  <jim@meyering.net>
125939         Merge from coreutils CVS.
125941         * lib/stat-macros.h: New file, with contents from file-type.h
125942         and coreutils' system.h.
125943         * lib/file-type.c: Include "stat-macros.h".
125944         * lib/file-type.h (file_type): Move all macro definitions to new file,
125945         stat-macros.h.
125947         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
125948         Wrap old code with this conditional.
125949         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
125950         function that does not dereference symlinks.
125951         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
125953         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
125954         dependency problems.
125955         (xreadlink): Accept new arg SIZE, for efficiency.
125956         All decls and uses changed.
125957         * lib/xreadlink.h: Include <stddef.h>, for size_t.
125959         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
125960         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
125962         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
125963         sysexits.h.
125965 2004-06-01  Jim Meyering  <jim@meyering.net>
125967         * m4/calloc.m4: New file.
125969 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
125971         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
125972         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
125973         Also, fix a typo in a diagnostic.
125975 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
125977         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
125978         or AC_FUNC_REALLOC.
125980 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
125982         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
125983         macros to be defined.
125984         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
125985         the allocator returns NULL because the requested size is zero.
125987 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
125989         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
125990         var.  Add comment explaining why libc still defines it.  This
125991         merges the following patch from glibc:
125992         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
125994 2004-05-20  Andreas Schwab  <schwab@suse.de>
125996         * m4/free.m4: Replace free if it not known to work, not the other
125997         way round.
125999 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
126001         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
126002         present in glibc since revision 1.1 of this file.
126003         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
126004         obstack_alignment_mask, obstack_alloc, obstack_base,
126005         obstack_blank, obstack_blank_fast, obstack_chunk_size,
126006         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
126007         obstack_grow0, obstack_init, obstack_int_grow,
126008         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
126009         obstack_next_free, obstack_object_size, obstack_ptr_grow,
126010         obstack_ptr_grow_fast, obstack_room): Remove declarations of
126011         nonexistent functions.
126013 2004-05-18  Karl Berry  <karl@gnu.org>
126015         * config/srclist.txt: break link for vasnprintf.c.
126017 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
126019         Port obstack to the AS/400, where pointers are 16 bytes wide and
126020         you cannot cast an integer to a valid pointer.  This patch is
126021         currently waiting to be integrated into glibc; see
126022         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
126024         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
126025         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
126026         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
126027         (struct obstack): temp member is now a union of a pointer and
126028         an integer, instead of an integer.  All integer uses changed.
126029         This does not affect the physical layout of struct obstack,
126030         except on hosts (like the AS/400) where the size or alignment of
126031         void * is greater than that of ptrdiff_t.
126032         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
126033         __STDC__)]: Store temporary in pointer member of union, not
126034         integer member.
126035         * lib/obstack.c: Include <stddef.h>, for offsetof.
126036         (struct fooalign): Remove; it doesn't need a name.
126037         (union fooround): Change double to long double, and add void *.
126038         (DEFAULT_ALIGNMENT): Use offsetof to compute.
126039         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
126040         not a macro.  Hence the values are always int; so remove all
126041         casts-to-int in uses.
126043 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
126045         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
126046         we can get this patch merged into glibc.
126048 2004-05-17  Derek R. Price  <derek@ximbiot.com>
126049             Paul Eggert  <eggert@cs.ucla.edu>
126051         * m4/argp: Depend on alloca.
126053 2004-05-17  Derek R. Price  <derek@ximbiot.com>
126054             Paul Eggert  <eggert@cs.ucla.edu>
126056         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
126057         freecoding.
126059 2004-05-17  Bruno Haible  <bruno@clisp.org>
126061         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
126062         precision that consists of a '.' followed by an empty digit string.
126063         Patch by Tor Lillqvist <tml@iki.fi>.
126065 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
126067         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
126068         for backward compatibility with older code.  We need our own
126069         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
126070         it under some other name, and our alloca.h will define it.
126072 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
126073             Derek Price  <derek@ximbiot.com>
126075         * lib/alloca.c: Include <alloca.h>, to get our interface.
126076         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
126077         include <alloca.h> first.  Use C89 prototype for alloca; this
126078         requires including <stddef.h> for size_t.  Use extern "C" if C++.
126079         Use #elif for simplicity, since we can assume C89 now.
126080         Don't try to source the system alloca.h since it will not be found
126081         and to prevent recursively including its replacement.
126082         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
126083         * lib/regex.c: Likewise.
126085 2004-05-16  Derek Price  <derek@ximbiot.com>
126086             Paul Eggert  <eggert@cs.ucla.edu>
126088         getline cleanup.  This changes the getndelim2 API: both order of
126089         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
126090         no delimiter).
126092         * lib/getline.c: Don't include stddef.h or stdio.h, since our
126093         interface does that.
126094         (getline): Always use getdelim, so that we don't have two
126095         copies of this code.
126096         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
126097         if available.
126098         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
126099         (GETNDELIM2_MAXIMUM): New macro.
126100         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
126101         instead of the old practice of delim2==0.  All callers changed.
126102         Return -1 on overflow, instead of returning junk.
126103         Do not set *linesize unless allocation succeeds.
126104         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
126105         that we include sys/types.h.
126106         * lib/getnline.h: Likewise.
126107         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
126108         (getndelim2): Reorder arguments.
126109         * lib/getnline.c (getnline, getndelim):
126110         Don't discard the NMAX argument.
126111         (getnline): Invoke getndelim, to avoid code duplication.
126112         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
126113         of (size_t) -1 by callers of the getnline family.
126115 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
126117         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
126118         Check for gettimeofday.
126119         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
126120         Check for settimeofday, stime.
126122 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
126124         * lib/nanosleep.c (suspended): Change its type from int to
126125         sig_atomic_t volatile.
126126         (first_call): Make it private to rpl_nanosleep, and have it
126127         be zero initially as that's a bit faster.
126128         (my_usleep): Round up fractional times instead of truncating them,
126129         as this is the usual meaning for 'sleep'.
126131         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
126132         doesn't work.
126133         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
126134         (ENOSYS): Define if not defined.
126135         (settime): Fall back on stime if it exists and settimeofday fails.
126136         But don't bother with fallbacks if a method fails with errno == EPERM.
126138 2004-05-11  Jim Meyering  <jim@meyering.net>
126140         Prior to this change, the save_cwd caller required read access to the
126141         current directory on most systems (ones with the fchdir function).
126143         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
126144         fails, try write-only, and finally, resort to using xgetcwd.
126146 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
126148         * lib/obstack.c, obstack.h: Import changes from libc.
126150 2004-04-28  Bruno Haible  <bruno@clisp.org>
126152         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
126153         also implicitly appends .exe to executables.
126154         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
126155         accepts Windows pathnames.
126156         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
126157         Treat Cygwin like Windows, since it now accepts Windows pathnames.
126158         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
126159         Treat Cygwin like Windows, since it now accepts Windows pathnames.
126160         Reported by Derek Robert Price <derek@ximbiot.com>.
126162 2004-04-21  Karl Berry  <karl@gnu.org>
126164         * config/srclist.txt (localcharset.c): break sync.
126166 2004-04-20  Paul Eggert  <eggert@twinsun.com>
126168         * m4/host-os.m4: Add a copyright notice.
126170 2004-04-20  Jim Meyering  <jim@meyering.net>
126172         Change UTILS_ to gl_ in AC_DEFINE'd names.
126173         Change utils_- and jm_-prefixed variables, too.
126174         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
126175         UTILS_FUNC_MKDIR_TRAILING_SLASH.
126176         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
126178         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
126179         Don't emit trailing blanks.
126180         Also rename jm_-prefixed variables to have gl_ prefix.
126182         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
126183         Also rename jm_-prefixed variables to have gl_ prefix.
126185         * m4/jm-macros.m4: Reflect the renamings.
126186         * m4/prereq.m4: Likewise.
126188 2004-04-20  Jim Meyering  <jim@meyering.net>
126190         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
126191         memory.
126193 2004-04-20  Jim Meyering  <jim@meyering.net>
126194             Bruno Haible  <bruno@clisp.org>
126196         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
126197         memory when realloc fails.
126199 2004-04-19  Jim Meyering  <jim@meyering.net>
126201         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
126202         now that readutmp.c may call `free (0)'.
126204 2004-04-19  Bruno Haible  <bruno@clisp.org>
126206         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
126207         * m4/inttypes_h.m4: Likewise.
126208         * m4/stdint_h.m4: Likewise.
126209         * m4/intmax_t.m4: Likewise.
126210         * m4/uintmax_t.m4: Likewise.
126212 2004-04-18  Jim Meyering  <jim@meyering.net>
126214         * m4/prereq.m4: Don't forbid jm_ prefix.
126216         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
126217         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
126218         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
126219         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
126220         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
126221         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
126222         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
126223         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
126224         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
126225         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
126226         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
126227         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
126228         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
126229         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
126230         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
126231         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
126232         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
126233         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
126234         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
126236 2004-04-18  Jim Meyering  <jim@meyering.net>
126238         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
126239         failure, don't leak memory and do call END_UTMP_ENT.
126241 2004-04-16  Jim Meyering  <jim@meyering.net>
126243         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
126244         coreutils' stat program.
126245         (gl_PREREQ): Don't require jm_PREREQ_STAT.
126247 2004-04-11  Paul Eggert  <eggert@twinsun.com>
126249         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
126250         C89.
126251         (CHAR_BIT): Remove, since we assume C89.
126252         Include <stdint.h> if available, as per current Autoconf CVS advice.
126254 2004-03-31  Jim Meyering  <jim@meyering.net>
126256         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
126257         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
126258         * m4/xalloc.m4: Likewise.
126260 2004-03-30  Paul Eggert  <eggert@twinsun.com>
126262         Merge from coreutils.
126264         * m4/inttostr.m4: New file.
126265         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
126266         Require AM_STDBOOL_H and gl_TIMESPEC instead.
126267         Require gl_CLOCK_TIME.
126268         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
126270 2004-03-30  Paul Eggert  <eggert@twinsun.com>
126272         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
126273         not bool, to be more consistent with Unix conventions.
126274         Suggested by Bruno Haible.
126276         Merge from coreutils.
126278         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
126279         * lib/umaxtostr.c: New files.
126281         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
126282         the usual <time.h> dance.
126283         (get_date): Change signature to support fractional time stamps.
126284         All callers changed.
126285         * lib/getdate.y: Include "getdate.h" first, as we can now
126286         assume C89 and don't need to worry about 'const'.
126287         Similarly, include "unlocked-io.h" near start, not in middle.
126288         Include <limits.h>.
126289         (textint.value): Use long int rather than int.
126290         (textint.digits): Use size_t rather than int.
126291         (BILLION, LOG10_BILLION): New constants.
126292         (parser_control): New member rel_ns.  Members day_ordinal,
126293         time_zone, month, day, hour, minutes, rel_year, rel_month,
126294         rel_day, rel_hour, rel_minutes, rel_seconds
126295         are now long int, not int.  Member seconds is now struct timespec,
126296         not int.  New member timespec_seen.  Members dates_seen, days_seen,
126297         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
126298         not int.
126299         (%union.intval): Now long int, not int.
126300         New member timespec.
126301         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
126302         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
126303         (spec): Now is a timespec or an item list.
126304         (timespec, items): New nonterminals.
126305         (time, rel, relunit, number, get_date):
126306         Add support for fractional seconds.
126307         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
126308         (gmtime, localtime, mktime): Remove decls; not needed with C89.
126309         (to_hour): First arg is now long int, not int.
126310         (to_year): Returns long int, not int.
126311         Don't treat year -70 like 70.
126312         (tm_diff): Returns long int, not int.
126313         (lookup_word): Use bool instead of int when appropriate.
126314         (yylex): Use size_t for count, not int.
126315         Detect overflow when parsing large integer constants.
126316         Add support for fractions.
126317         (get_date): Make pointers 'const' if possible.
126318         Use more-portable code to detect integer overflow.
126319         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
126320         Don't use ctime; it's not reliable if the year has >4 digits.
126322         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
126323         This is for compatibility with BSD.
126325         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
126326         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
126327         From coreutils' system.h.
126329         * lib/userspec.c: Don't include "posixver.h".
126330         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
126331         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
126332         compatible extension.  Simplify code by removing a boolean int
126333         that was always nonzero if a string was nonnull.
126335 2004-03-30  Jim Meyering  <jim@meyering.net>
126337         Merge from coreutils.
126339         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
126340         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
126341         on some systems one must include <grp.h> before it.
126342         Reported by Christian Krackowizer.
126344 2004-03-30  Jim Meyering  <jim@meyering.net>
126346         Merge from coreutils.
126348         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
126350         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
126351         an empty input stream.
126353         * lib/readtokens.c: Include <stdbool.h>.
126354         (readtoken): Use `size_t' rather than int/long.
126355         All callers adjusted.
126356         Use `bool' rather than `int' where appropriate.
126357         Use memset rather than an explicit loop.
126358         Use x2nrealloc rather than xrealloc.
126359         Allow the use of `\0' as a delimiter.
126360         (readtokens): Likewise.
126361         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
126363 2004-03-30  Jim Meyering  <jim@meyering.net>
126365         * m4/realloc.m4: Remove file, since now it does no more than
126366         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
126367         the `configure.ac' section of module/realloc.
126368         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
126370 2004-03-30  Bruno Haible  <bruno@clisp.org>
126372         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
126373         nonnull.
126375 2004-03-29  Paul Eggert  <eggert@twinsun.com>
126377         Merge changes to getloadavg.c from coreutils and Emacs.
126379         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
126380         Define to an expression, not to the empty string.
126381         Include cloexec.h and xalloc.h.
126382         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
126383         Use set_cloexec_flag rather than rolling our own.
126384         * lib/cloexec.c, lib/cloexec.h: New files.
126386 2004-03-29  Paul Eggert  <eggert@twinsun.com>
126388         * m4/cloexec.m4: New file.
126390 2004-03-18  Paul Eggert  <eggert@twinsun.com>
126392         * lib/getopt.h: Sync with libc CVS.
126394 2004-03-18  Paul Eggert  <eggert@twinsun.com>
126395             Bruno Haible  <bruno@clisp.org>
126397         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
126398         mbswidth.
126400 2004-03-18  Paul Eggert  <eggert@twinsun.com>
126401             Bruno Haible  <bruno@clisp.org>
126403         * lib/mbswidth.h: Include <wchar.h> only if
126404         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
126405         <wchar.h>.
126406         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
126408 2004-03-09  Paul Eggert  <eggert@twinsun.com>
126410         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
126411         Sync with libc CVS.
126412         * lib/getopt_int.h: New file, also synced from libc.
126414 2004-03-09  Paul Eggert  <eggert@twinsun.com>
126416         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
126417         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
126418         Bring back getopt.c, getopt.h, getopt1.c.
126420 2004-03-07  Paul Eggert  <eggert@twinsun.com>
126422         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
126423         All uses changed.  Check for sa_sigaction member; this fixes
126424         a bug first reported by Jason Andrade in
126425         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
126427 2004-03-07  Paul Eggert  <eggert@twinsun.com>
126429         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
126430         '#if' expressions.  Unlike the code it replaces, it does not
126431         depend on (defined _SC_PAGESIZE).  However, it does depend on
126432         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
126433         first reported by Jason Andrade in
126434         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
126436 2004-02-25  Simon Josefsson  <jas@extundo.com>
126438         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
126440 2004-02-25  Simon Josefsson  <jas@extundo.com>
126442         * lib/strdup.h: New file.
126443         * lib/strdup.c: Include it.
126444         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
126445         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
126447 2004-02-23  Karl Berry  <karl@gnu.org>
126449         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
126450         (from fencepost.gnu.org:/gd/gnuorg).
126452 2004-02-23  Karl Berry  <karl@gnu.org>
126454         * config/srclistvars.sh (GNUORG) [karl]: redefine.
126455         * config/srclist.txt: add maintain/standards documents.
126457 2004-02-18  Bruno Haible  <bruno@clisp.org>
126459         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
126460         Reported by Derek Robert Price <derek@ximbiot.com>.
126462 2004-02-16  Karl Berry  <karl@gnu.org>
126464         * config/mkinstalldirs, install-sh: update from automake.
126466 2004-02-06  Karl Berry  <karl@gnu.org>
126468         * m4/po.m4: update from gettext 0.14.1.
126470 2004-02-06  Karl Berry  <karl@gnu.org>
126472         * lib/config.charset: update from gettext 0.14.1.
126474 2004-02-05  Paul Eggert  <eggert@twinsun.com>
126476         Add comments and code, prompted by suggestions from Bruno Haible
126477         for sh-quote.
126478         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
126479         describing the enum quoting_style values.
126480         * lib/quotearg.c (quotearg_alloc): New function.
126481         (quotearg_buffer_restyled): Treat lone { and } as special.
126482         Treat = as special.  Work around bug with older shells
126483         that "see" a '\' that is really the 2nd byte of a multibyte char.
126484         Quote empty string with shell_quoting_style.
126486 2004-02-03  Bruno Haible  <bruno@clisp.org>
126488         * m4/pipe.m4: New file, from GNU gettext.
126490 2004-02-03  Bruno Haible  <bruno@clisp.org>
126492         * lib/pipe.h: New file, from GNU gettext.
126493         * lib/pipe.c: New file, from GNU gettext.
126495 2004-01-27  Bruno Haible  <bruno@clisp.org>
126497         * m4/execute.m4: New file, from GNU gettext.
126499 2004-01-27  Bruno Haible  <bruno@clisp.org>
126501         * lib/execute.h: New file, from GNU gettext.
126502         * lib/execute.c: New file, from GNU gettext.
126503         * lib/w32spawn.h: New file, from GNU gettext.
126505 2004-01-24  Paul Eggert  <eggert@twinsun.com>
126507         Merge from diffutils.
126509         * lib/file-type.c (file_type): Add typed memory objects.
126510         * lib/file-type.h (S_TYPEISTMO): New macro.
126512         * lib/c-stack.h (c_stack_action): Remove argv argument.
126513         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
126514         (die): Don't calculate message unless segv_action returns.
126515         (get_stack_location, min_address_from_argv, max_address_from_argv,
126516         volatile stack_base, volatile_stack_size): Remove.
126517         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
126518         that every segmentation violation is a stack overflow.  (Ouch!)
126519         See Debian bug 136249 (still outstanding) for more info about why
126520         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
126522 2004-01-24  Paul Eggert  <eggert@twinsun.com>
126524         Exit-status fix from coreutils.
126526         Use exit_failure consistently in place of EXIT_FAILURE,
126527         so that program exit statuses are consistent on failure.
126529         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
126530         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
126531         * lib/argmatch.h: Comment fix to match the above.
126532         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
126533         Now a macro referring to exit_failure, instead of a separate
126534         variable.  Include "exitfail.h" to get it.
126535         * lib/xstrtol.h: Include "exitfail.h".
126536         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
126538         * lib/long-options.c (parse_long_options): Use prototype
126539         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
126540         for clarity.
126542 2004-01-21  Jim Meyering  <jim@meyering.net>
126544         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
126545         so as not to conflict with a different-sized __mktime_internal
126546         function in GNU libc.
126547         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
126548         Problem building statically-linked `ls' reported by Michael Brunnbauer.
126550 2004-01-20  Karl Berry  <karl@gnu.org>
126552         * config/config.guess: update from config.
126554         * config/srclistvars.sh: GNUWWWLICENSES for karl.
126556 2004-01-20  Bruno Haible  <bruno@clisp.org>
126558         Safer stack allocation.
126559         * lib/setenv.c: Include allocsa.h.
126560         (alloca): Remove fallback definition.
126561         (freea): Remove macro.
126562         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
126563         instead of freea.
126565 2004-01-20  Bruno Haible  <bruno@clisp.org>
126567         * m4/eealloc.m4: New file, from GNU gettext.
126569 2004-01-20  Bruno Haible  <bruno@clisp.org>
126571         * m4/allocsa.m4: New file, from GNU gettext.
126573 2004-01-20  Bruno Haible  <bruno@clisp.org>
126575         * lib/xallocsa.h: New file, from GNU gettext.
126576         * lib/xallocsa.c: New file, from GNU gettext.
126578 2004-01-20  Bruno Haible  <bruno@clisp.org>
126580         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
126582 2004-01-20  Bruno Haible  <bruno@clisp.org>
126584         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
126585         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
126586         specially.
126588 2004-01-20  Bruno Haible  <bruno@clisp.org>
126590         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
126591         patch.
126593 2004-01-20  Bruno Haible  <bruno@clisp.org>
126595         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
126597 2004-01-20  Bruno Haible  <bruno@clisp.org>
126599         * lib/eealloc.h: New file.
126601 2004-01-20  Bruno Haible  <bruno@clisp.org>
126603         * lib/binary-io.h: Avoid warnings on Cygwin.
126605 2004-01-20  Bruno Haible  <bruno@clisp.org>
126607         * lib/allocsa.h: New file, from GNU gettext.
126608         * lib/allocsa.c: New file, from GNU gettext.
126610 2004-01-18  Karl Berry  <karl@gnu.org>
126612         * doc/gpl.texi, doc/lgpl.texi: new files.
126614 2004-01-18  Karl Berry  <karl@gnu.org>
126616         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
126617         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
126619 2004-01-15  Paul Eggert  <eggert@twinsun.com>
126621         Merge from coreutils.
126623         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
126624         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
126625         (gl_DEFAULT_POSIX2_VERSION): Move
126626         the documentation from 'configure' into 'config.hin',
126627         so that 'configure --help' isn't burdened by it and
126628         we don't have to worry about its formatting there.
126629         Reword the documentation so that it's more succinct
126630         and can be run together into a single paragraph.
126631         * m4/same.m4 (gl_SAME): Check for pathconf.
126633 2004-01-15  Paul Eggert  <eggert@twinsun.com>
126635         Merge from coreutils.
126637         * lib/posixver.c: Include posixver.h.
126639         * lib/same.c: Include <stdbool.h>, <limits.h>.
126640         (_POSIX_NAME_MAX): Define if not defined.
126641         (MIN): New macro.
126642         (same_name): If file names are silently truncated, report
126643         that the file names are the same if they are the same after
126644         the silent truncation.
126646         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
126647         conversion function.
126648         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
126649         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
126650         longer needed.
126652 2004-01-15  Jim Meyering  <jim@meyering.net>
126654         Merge from coreutils.
126656         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
126657         if no library is required.
126658         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
126659         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
126660         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
126661         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
126662         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
126663         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
126664         value, $ac_cv_search_crypt, if it's "none required".
126665         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
126666         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
126667         not gl_FUNC_GETLOADAVG.
126668         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
126669         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
126671 2004-01-15  Jim Meyering  <jim@meyering.net>
126673         Merge from coreutils.
126675         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
126676         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
126677         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
126679         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
126680         optional configure-time default.
126682         * lib/version-etc.c (version_etc_copyright): Update copyright date.
126684         * lib/xreadlink.c (xreadlink): Correct outdated comment.
126686 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
126688         Merge from coreutils.
126690         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
126691         value, $ac_cv_search_nanosleep, if it's "none required".
126693 2004-01-14  Paul Eggert  <eggert@twinsun.com>
126695         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
126696         with like-named macro in fnmatch.c.
126697         (EXT): Use an internal constant instead.
126699         Merge fnmatch patches from glibc.
126700         * lib/fnmatch.c (mbsinit): Remove define.
126701         Add libc_hidden_ver (__fnmatch, fnmatch).
126702         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
126703         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
126705 2004-01-14  Karl Berry  <karl@gnu.org>
126707         * config/install-sh: update from automake.
126709 2004-01-13  Karl Berry  <karl@gnu.org>
126711         * config/install-sh: update from automake.
126713 2004-01-09  Karl Berry  <karl@gnu.org>
126715         * config/install-sh: update from automake.
126717 2004-01-05  Karl Berry  <karl@gnu.org>
126719         * config/config.{sub,guess}: update from config.
126721 2003-12-31  Karl Berry  <karl@gnu.org>
126723         * config/depcomp: update from automake.
126725 2003-12-14  Karl Berry  <karl@gnu.org>
126727         * lib/config.charset: update from gettext-runtime.
126729 2003-12-03  Paul Eggert  <eggert@twinsun.com>
126731         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
126732         Bug reported by Alfred M. Szmidt.
126734 2003-12-03  Bruno Haible  <bruno@clisp.org>
126736         * m4/gettext.m4: Upgrade from gettext-0.13.
126737         * m4/po.m4: Upgrade from gettext-0.13.
126738         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
126739         * m4/intmax.m4: New file, from gettext-0.13.
126740         * m4/printf-posix.m4: New file, from gettext-0.13.
126742 2003-11-29  Karl Berry  <karl@gnu.org>
126744         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
126746 2003-11-25  Paul Eggert  <eggert@twinsun.com>
126747             Bruno Haible  <bruno@clisp.org>
126749         * lib/printf-parse.h: Don't include sys/types.h.
126750         (ARG_NONE): New macro.
126751         (char_directive): Change type of *arg_index fields to size_t.
126752         * lib/printf-parse.c: Don't include sys/types.h.
126753         (SSIZE_MAX): Remove macro.
126754         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
126755         Remove unnecessary overflow check.
126756         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
126757         fields.
126759 2003-11-25  Bruno Haible  <bruno@clisp.org>
126761         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
126763 2003-11-25  Bruno Haible  <bruno@clisp.org>
126765         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
126766         gt_TYPE_SSIZE_T.
126768 2003-11-24  Paul Eggert  <eggert@twinsun.com>
126770         * modules/alloca: Remove dependency on xalloc.
126772 2003-11-24  Paul Eggert  <eggert@twinsun.com>
126774         * lib/alloca.c: Remove dependency on xalloc module.
126775         (xalloc_die): Remove.
126776         (memory_full) [!defined emacs]: New macro.
126777         [!defined emacs]: Don't include xalloc.h.
126778         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
126779         address arithmetic overflows.  Change datatypes a bit to avoid
126780         unnecessary casts.
126782 2003-11-22  Jim Meyering  <jim@meyering.net>
126784         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
126785         s/size/size_t/.
126787 2003-11-21  Karl Berry  <karl@gnu.org>
126789         * config/config.{sub,guess}: update from config.
126791 2003-11-18  Karl Berry  <karl@gnu.org>
126793         * config/config.{sub,guess}: update from config.
126795         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
126797 2003-11-17  Paul Eggert  <eggert@twinsun.com>
126799         * README: Mention that S+T cannot overflow if S is the size of
126800         an existing object and T is sufficiently small.
126802 2003-11-17  Jim Meyering  <jim@meyering.net>
126804         On systems without utime and without a utimes function capable of
126805         dealing with a NULL struct utimbuf* argument, this utime replacement
126806         could -- in unusual circumstances -- leak a file descriptor.
126807         * lib/utime.c: Include <unistd.h> and <errno.h>.
126808         (utime_null): Be sure to close `fd' and to preserve errno.
126809         Reported by Geoff Collyer via Arnold Robbins.
126811 2003-11-17  Bruno Haible  <bruno@clisp.org>
126813         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
126814         (Depends-on): Add xsize.
126816 2003-11-17  Bruno Haible  <bruno@clisp.org>
126818         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
126820 2003-11-17  Bruno Haible  <bruno@clisp.org>
126822         * lib/vasnprintf.c (alloca): Remove fallback definition.
126823         (freea): Remove definition.
126824         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
126825         Reported by Paul Eggert.
126827 2003-11-16  Paul Eggert  <eggert@twinsun.com>
126828             Bruno Haible  <bruno@clisp.org>
126830         Protect against address arithmetic overflow.
126831         * lib/printf-args.h: Include stddef.h.
126832         (arguments): Change type of field 'count' to size_t.
126833         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
126834         'unsigned int' where appropriate.
126835         * lib/printf-parse.h: Include sys/types.h.
126836         (char_directive): Change type of *arg_index fields to ssize_t.
126837         (char_directives): Change type of fields 'count', max_*_length to
126838         size_t.
126839         * lib/printf-parse.c: Include sys/types.h and xsize.h.
126840         (SSIZE_MAX): Define fallback value.
126841         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
126842         instead of 'int' where appropriate. Check a_allocated, d_allocated
126843         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
126844         * lib/vasnprintf.c: Include xsize.h.
126845         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
126846         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
126847         overflow. Avoid wraparound when converting a width or precision from
126848         decimal to binary.
126850 2003-11-16  Bruno Haible  <bruno@clisp.org>
126852         Update from GNU gettext.
126853         * lib/printf-parse.c: Generalize to it can be compiled for wide
126854         strings.
126855         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
126856         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
126857         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
126858         SNPRINTF): New macros.
126859         Don't include <alloca.h> if the file is used inside libintl.
126860         (local_wcslen): New function, for Solaris 2.5.1.
126861         (VASNPRINTF): Use it instead of wcslen.
126863 2003-11-16  Bruno Haible  <bruno@clisp.org>
126865         * lib/xsize.h (xmax): New function.
126866         (xsum, xsum3, xsum4): Declare as "pure" functions.
126868 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126870         * modules/xalloc (Files): Undo latest change, since xalloc.h
126871         no longer needs SIZE_MAX or PTRDIFF_MAX.
126873 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126875         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
126876         gl_PTRDIFF_MAX.
126878 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126880         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
126881         "return", to pacify some unknown compiler.  Problem reported
126882         by Joerg Schilling.
126884 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126886         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
126887         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
126888         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
126889         heuristic is just as accurate as far as we know, and it removes a
126890         dependency on size_max.m4 and ptrdiff_max.m4.
126892 2003-11-11  Bruno Haible  <bruno@clisp.org>
126894         * modules/xsize (Files): Add m4/size_max.m4.
126895         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
126897 2003-11-11  Bruno Haible  <bruno@clisp.org>
126899         * m4/size_max.m4: New file.
126900         * m4/ptrdiff_max.m4: New file.
126901         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
126902         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
126903         (gl_XALLOC): Invoke it.
126905 2003-11-11  Bruno Haible  <bruno@clisp.org>
126907         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
126908         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
126909         defined.
126911 2003-11-10  Paul Eggert  <eggert@twinsun.com>
126913         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
126914         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
126915         rejected some allocations of exactly SIZE_MAX - 2 bytes.
126916         From Bruno Haible.
126917         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
126918         not (size_t) -1, since it's defined here.
126920 2003-11-09  Karl Berry  <karl@gnu.org>
126922         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
126924 2003-11-06  Paul Eggert  <eggert@twinsun.com>
126926         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
126927         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
126928         Reject sizes of exactly SIZE_MAX bytes.
126929         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
126930         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
126932 2003-11-05  Bruno Haible  <bruno@clisp.org>
126934         * lib/xsize.h: Include limits.h, to avoid a possible collision with
126935         SIZE_MAX defined in <limits.h> on Solaris.
126937 2003-11-04  Jim Meyering  <jim@meyering.net>
126939         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
126940         variable names, rather than @VAR@.
126941         * modules/poll: Likewise.
126943 2003-11-04  Bruno Haible  <bruno@clisp.org>
126945         * modules/xsize: New file.
126946         * modules/linebreak: Depend on xsize.
126947         * MODULES.html.sh (func_all_modules): Add xsize.
126949 2003-11-04  Bruno Haible  <bruno@clisp.org>
126951         * m4/xsize.m4: New file.
126953 2003-11-04  Bruno Haible  <bruno@clisp.org>
126955         * lib/xsize.h: New file.
126956         * lib/linebreak.c: Include xsize.h.
126957         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
126958         argument for overflow.
126959         Suggested by Paul Eggert.
126961 2003-11-03  Karl Berry  <karl@gnu.org>
126963         * config/config.{guess,sub}: update from config.
126965 2003-11-03  Jim Meyering  <jim@meyering.net>
126967         * modules/userspec (lib_SOURCES): Add userspec.h.
126968         (Include): Add "userspec.h".
126969         Improve description.
126971 2003-11-03  Jim Meyering  <jim@meyering.net>
126973         * lib/userspec.c: Include "userspec.h".
126974         * lib/userspec.h: New file.
126976 2003-11-03  Bruno Haible  <bruno@clisp.org>
126978         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
126980 2003-11-03  Bruno Haible  <bruno@clisp.org>
126982         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
126983         available, to avoid (extremely rare) race condition.
126984         Suggested by Paul Eggert.
126986 2003-11-02  Karl Berry  <karl@gnu.org>
126988         * config/srclist.txt (vasprintf.c): sync broken, sigh.
126990 2003-10-31  Paul Eggert  <eggert@twinsun.com>
126992         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
126993         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
126994         (read_filesystem_list): Set and use me_type_malloced.
126995         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
126996         whatever the type happens to be), for brevity and consistency.
126997         Check for size calculation overflow on Alphas running OSF/1.
126999 2003-10-31  Jim Meyering  <jim@meyering.net>
127001         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
127003         * lib/linebuffer.c: Include <string.h> for declaration of memset.
127005 2003-10-30  Paul Eggert  <eggert@twinsun.com>
127006             Bruno Haible  <bruno@clisp.org>
127008         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
127009         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
127011 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
127013         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
127014         netbsd*-gnu*.  Suggested by Robert Millan.
127016 2003-10-29  Paul Eggert  <eggert@twinsun.com>
127018         * modules/group-member: Depend on stdbool.
127020 2003-10-29  Paul Eggert  <eggert@twinsun.com>
127022         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
127024 2003-10-29  Paul Eggert  <eggert@twinsun.com>
127026         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
127027         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
127028         after the 'gnu' in these cases.  This fixes some bugs in the
127029         previous change, and is based on suggestions by Robert Millan.
127031 2003-10-29  Paul Eggert  <eggert@twinsun.com>
127033         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
127034         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
127035         no longer needed.
127036         * lib/quotearg.c (quotearg_n_options): Use it.
127037         * lib/group-member.c: Include <stdbool.h>.
127038         (free_group_info): Arg is now const *; don't free arg.
127039         (get_group_info): Now returns bool and accepts struct group_info *,
127040         rather than returning a malloc'ed struct group_info *.
127041         All uses changed.  Check for overflow in internal size calculation.
127043         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
127044         rather than xmalloc/xrealloc.
127045         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
127046         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
127047         conformance bug: the old code used a pointer after freeing the
127048         storage that it addressed.
127049         * lib/hash.c (hash_initialize): Simplify the code by using
127050         xalloc_oversized rather than doing it by hand.
127051         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
127052         the buffer preserved.  Use free and xmalloc instead.
127053         * lib/quotearg.c (quotearg_n_options): Likewise.
127054         Use a simpler test for size overflow.  Don't use xalloc_oversized
127055         because unsigned int might be wider than size_t (!); this suggests
127056         that we should switch from unsigned int to size_t for slot numbers.
127058 2003-10-28  Paul Eggert  <eggert@twinsun.com>
127060         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
127061         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
127062         NetBSD kernels.  Requested by Richard Stallman.
127064 2003-10-27  Paul Eggert  <eggert@twinsun.com>
127066         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
127067         to allocate the returned structure.  Do not allocate a subarray,
127068         as x2nrealloc will do that.
127069         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
127070         instead of xnrealloc.
127071         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
127073 2003-10-27  Bruno Haible  <bruno@clisp.org>
127075         * lib/stdbool_.h: Better support for BeOS.
127077 2003-10-26  Paul Eggert  <eggert@twinsun.com>
127079         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
127080         now uses inline.
127082 2003-10-26  Paul Eggert  <eggert@twinsun.com>
127084         * lib/xalloc.h (xalloc_oversized): New static inline function, for
127085         callers that want to do their own size-overflow checking.  Include
127086         <stdbool.h>, since xalloc_oversized returns bool.
127087         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
127088         to use xalloc_oversized.
127090         Add two functions x2realloc, x2nrealloc, for programs that grow
127091         arrays dynamically by doubling their sizes.
127092         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
127093         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
127094         New functions.
127096         Port to C99 semantics for 'inline' of external functions.
127097         Bug reported by Bruno Haible.
127098         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
127099         with the old contents of xnmalloc.
127100         (xnmalloc, xmalloc): Use it.
127101         (xnrealloc_inline): New static inline function,
127102         with the old contents of xnrealloc.
127103         (xnrealloc, xrealloc): Use it.
127105         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
127106         that.
127108 2003-10-26  Karl Berry  <karl@gnu.org>
127110         * config/srclist.txt (COPYING.DOC): no longer available from
127111         /gd/gnuorg; don't know where the ultimate source is.
127113 2003-10-25  Paul Eggert  <eggert@twinsun.com>
127115         Fix several address-calculation bugs in the hash modules,
127116         plus some minor code cleanup.
127118         * lib/hash.h: Include <stdbool.h>, for bool.
127119         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
127120         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
127121         hash_get_n_entries, hash_get_max_bucket_length,
127122         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
127123         hash_rehash): Use size_t rather than unsigned.
127124         * lib/hash.c (struct hash_table, hash_get_n_buckets,
127125         hash_get_n_buckets_used, hash_get_n_entries,
127126         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
127127         hash_get_entries, hash_do_for_each, hash_string, is_prime,
127128         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
127129         Likewise.
127130         (SIZE_MAX): Define if not defined.
127131         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
127132         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
127133         hash_print):
127134         Use const * when possible.
127135         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
127136         (check_tuning): Fix bug: if tuning parameters were very close to
127137         0 or 1, rounding errors could have caused subscript violations.
127138         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
127139         (hash_initialize): Add 'fail:' label
127140         to free table and return NULL, and use it to simplify code.
127141         Use calloc rather than clearing the storage ourself.
127142         (hash_initialize, hash_rehash): Check for arithmetic overflow in
127143         buffer size calculations.
127144         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
127145         Include <stddef.h>, for size_t.
127146         * lib/hash-pjw.c (hash_pjw): Likewise.
127147         Switch to method described by Bruno Haible.
127148         Include <limits.h>, for CHAR_BIT.
127149         (SIZE_BITS): New macro.
127151 2003-10-23  Paul Eggert  <eggert@twinsun.com>
127153         * m4/getline.m4 (AM_FUNC_GETLINE):
127154         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
127155         hosts.  Problem reported by Derek Robert Price in
127156         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
127157         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
127158         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
127160 2003-10-21  Paul Eggert  <eggert@twinsun.com>
127162         * lib/getndelim2.c (getndelim2): When size calculation overflows,
127163         ceiling the allocation at NMAX bytes rather than silently
127164         discarding input bytes before NMAX is reached.  This makes
127165         a difference only if NMAX exceeds SIZE_MAX / 2.
127167         * lib/obstack.c: Merge from glibc.
127168         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
127169         Add libc_hidden_def (_obstack_newchunk).
127170         (_obstack_free) [! defined _LIBC]: Remove.
127171         [defined _LIBC]: Make a strong alias from obstack_free, rather than
127172         a clone of the function body.
127173         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
127174         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
127176         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
127177         glibc.
127178         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
127179         arg to memcpy.
127181         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
127182         (obstack_ptr_grow_fast, obstack_int_grow_fast):
127183         Don't use lvalue casts, as GCC plans to remove support for them
127184         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
127185         was also present in the non-GCC version, indicating that this
127186         code had always been buggy and had never been widely used.
127187         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
127188         Use the fast variant of each macro, rather than copying the
127189         definiens of the fast variant; that way, we'll be more likely to
127190         catch future bugs in the fast variants.
127192 2003-10-20  Bruno Haible  <bruno@clisp.org>
127194         * modules/wait-process: New file.
127195         * MODULES.html.sh (func_all_modules): Add wait-process.
127197 2003-10-20  Bruno Haible  <bruno@clisp.org>
127199         * m4/wait-process.m4: New file.
127201 2003-10-20  Bruno Haible  <bruno@clisp.org>
127203         * lib/wait-process.h: New file, from GNU gettext.
127204         * lib/wait-process.c: New file, from GNU gettext.
127206 2003-10-19  Jim Meyering  <jim@meyering.net>
127208         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
127209         HPUX 10.20.
127211 2003-10-18  Karl Berry  <karl@gnu.org>
127213         * config/config.guess: update from config.
127215 2003-10-16  Paul Eggert  <eggert@twinsun.com>
127217         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
127218         (getgroups): First arg is int, not size_t.
127219         Don't let 'free' mangle errno.
127221 2003-10-16  Paul Eggert  <eggert@twinsun.com>
127223         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
127225 2003-10-16  Karl Berry  <karl@gnu.org>
127227         * config/config.{guess,sub}: update from config.
127229 2003-10-16  Jim Meyering  <jim@meyering.net>
127231         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
127232         memcpy.
127234 2003-10-15  Paul Eggert  <eggert@twinsun.com>
127236         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
127237         (SIZE_MAX): Remove.
127238         (new_exclude, add_exclude_file): Initial size no longer needs to
127239         be a power of 2.
127240         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
127241         our own address arithmetic overflow checking.
127243         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
127244         (fnmatch): Do not alloca more than 2000 wide characters;
127245         instead, use malloc for large buffers.
127246         Check for address arithmetic overflow, and return -1
127247         with errno set to ENOMEM in that case.
127248         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
127249         (NEW_PATTERN): Do not alloca more than 8000 bytes;
127250         instead, return -1.  Check for address arithmetic overflow.
127252 2003-10-14  Paul Eggert  <eggert@twinsun.com>
127254         Handle invalid suffixes and overflow independently, so that
127255         callers can treat them independently as needed.  Fix some bugs in
127256         suffix handling, e.g., "100k@" was not diagnosed as an invalid
127257         suffix for a human-readable blocksize.  The major caller-visible
127258         change is the addition of a new
127259         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
127260         that both overflow and suffix chars were found.
127262         * lib/human.c (humblock): Don't check separately for invalid suffix
127263         char; that is xstrtoumax's job (now that its bug is fixed).
127264         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
127265         INTMAX_MAX]: New macros.
127266         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
127267         TYPE_MAXIMUM): New macros.
127268         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
127269         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
127270         if overflow occurs, as it's what __strtol does and it's more useful
127271         in practice.
127272         (__xstrtol): If __strtol reports some error other than ERANGE,
127273         reflect it to the caller as LONGINT_INVALID.  If it reports
127274         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
127275         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
127276         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
127277         value.
127278         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
127279         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
127280         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
127281         [defined UINTMAX_MAX]: New macros.
127283 2003-10-14  Bruno Haible  <bruno@clisp.org>
127285         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
127287 2003-10-14  Bruno Haible  <bruno@clisp.org>
127289         * m4/sig_atomic_t: New file, from GNU gettext.
127290         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
127292 2003-10-14  Bruno Haible  <bruno@clisp.org>
127294         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
127295         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
127296         Also use volatile where needed.
127298 2003-10-12  Paul Eggert  <eggert@twinsun.com>
127300         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
127301         Change maintainer from Bruno Haible to 'all'.
127303 2003-10-12  Paul Eggert  <eggert@twinsun.com>
127305         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
127307 2003-10-12  Paul Eggert  <eggert@twinsun.com>
127309         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
127310         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
127311         and define in terms of the other primitives.
127312         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
127313         (SIZE_MAX): Define if not already defined.
127314         (array_size_overflow): New function.
127315         (xalloc_die): Abort instead of exiting if 'error' returns.
127316         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
127317         (xmalloc, xrealloc): Use them.
127318         (xcalloc): Check for address arithmetic overflow.
127319         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
127320         a bit faster than strcpy.
127322 2003-10-10  Simon Josefsson  <jas@extundo.com>
127324         * modules/argp (Depends-on): Add restrict and strcase.
127326 2003-10-10  Simon Josefsson  <jas@extundo.com>
127328         * m4/argp.m4: Add AC_C_INLINE.
127330 2003-10-08  Paul Eggert  <eggert@twinsun.com>
127332         Merge getpass from libc, plus a few fixes.
127334         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
127335         Include <stdbool.h>.
127336         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
127337         __fsetlocking to empty.
127338         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
127339         do include <bits/libc-lock.h>.
127340         Do not include <fcntl.h>; not needed.
127341         [_LIBC]: Include <wchar.h>.
127342         (NOTCANCEL_MODE): New macro.
127343         (flockfile, funlockfile) [_LIBC]: New macros.
127344         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
127345         [!_LIBC]: New macros.
127346         (call_fclose): New function.
127347         (getpass): Use it.  Save tty stream separately; this simplifies the
127348         code and makes it more reliable if stdin happens to equal stdout.
127349         Invoke __fsetlocking on tty.
127350         Handle thread cancellation if needed.
127351         Namespace cleanup (use __tcgetattr, __getline).
127352         Use bool for Booleans.
127353         [USE_IN_LIBIO]: Handle wide streams.
127354         [!_LIBC]: Unconditionally do the fseek, since we don't know what
127355         stream might go where.
127357         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
127358         doesn't have to include <stdio.h> before us.
127359         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
127360         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
127361         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
127362         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
127363         if not declared, so that we can use getpass.c code from libc without
127364         rewriting it.
127365         (flockfile, ftrylockfile, funlockfile): New macros.
127367 2003-10-08  Paul Eggert  <eggert@twinsun.com>
127369         * modules/getpass: Depend on stdbool.
127371 2003-10-08  Paul Eggert  <eggert@twinsun.com>
127373         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
127375 2003-10-07  Karl Berry  <karl@gnu.org>
127377         * config/config.{guess,sub}: update from config.
127379 2003-10-06  Jim Meyering  <jim@meyering.net>
127380             Bruno Haible  <bruno@clisp.org>
127382         This lets translators provide better translations for the
127383         "Written by ..." part of --version output.
127384         * lib/version-etc.h: Include stdarg.h.
127385         (version_etc_copyright): Declare as readonly.
127386         (version_etc): Make this function variadic with a NULL-terminated list
127387         of author name strings.
127388         (version_etc_va): New declaration.
127389         * lib/version-etc.c: Include stdarg.h, stdlib.h.
127390         (version_etc_copyright): Declare as readonly.
127391         (version_etc_va): New function. Provide a different translatable string
127392         for each possible number of authors < 10. Abbreviate when there are 10
127393         authors or more.
127394         (version_etc): Make this function variadic. Call version_etc_va.
127395         Suggestion from Gary V. Vaughan.
127397         * lib/long-options.h (parse_long_options): Change prototype: the
127398         authors string is moved to the end and becomes variadic.
127399         * lib/long-options.c: Include stdarg.h.
127400         (parse_long_options): Make this function variadic, too.
127401         Call version_etc_va, not version_etc.
127403 2003-10-06  Bruno Haible  <bruno@clisp.org>
127405         * modules/version-etc-2: Remove file.
127406         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
127408 2003-10-06  Bruno Haible  <bruno@clisp.org>
127410         * modules/fatal-signal: New file.
127411         * MODULES.html.sh (func_all_modules): Add fatal-signal.
127413 2003-10-06  Bruno Haible  <bruno@clisp.org>
127415         * m4/fatal-signal.m4: New file.
127416         * m4/signalblocking.m4: New file, from GNU gettext.
127418 2003-10-06  Bruno Haible  <bruno@clisp.org>
127420         * lib/version-etc-2.h: Remove file.
127421         * lib/version-etc-2.c: Remove file.
127423 2003-10-06  Bruno Haible  <bruno@clisp.org>
127425         * lib/fatal-signal.h: New file, from GNU gettext.
127426         * lib/fatal-signal.c: New file, from GNU gettext.
127428 2003-10-05  Paul Eggert  <eggert@twinsun.com>
127430         * README: Rework advice for preventing empty .o files.
127431         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
127432         not <sys/types.h>.
127434 2003-10-04  Karl Berry  <karl@gnu.org>
127436         * lib/argp*: update from libc.
127438 2003-10-04  Karl Berry  <karl@gnu.org>
127440         * config/config.{guess,sub}: update from config.
127442 2003-10-02  Bruno Haible  <bruno@clisp.org>
127444         * modules/lchown (Include): Add lchown.h.
127445         * modules/time_r (Include): Use "..." syntax.
127446         * modules/xgetdomainname (Include): Add xgetdomainname.h.
127448 2003-10-01  Simon Josefsson  <jas@extundo.com>
127450         * MODULES.html.sh (func_all_modules): Move gethostname from section
127451         'based on' to section 'lacking' POSIX:2001.
127453 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
127455         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
127456         to output mode on the same stream.
127458 2003-09-29  Paul Eggert  <eggert@twinsun.com>
127460         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
127461         Fix arg typo in previous patch.
127463 2003-09-28  Jim Meyering  <jim@meyering.net>
127465         * lib/error.c: Correct cpp indentation.
127467 2003-09-27  Paul Eggert  <eggert@twinsun.com>
127469         * modules/free: New file.
127471 2003-09-27  Paul Eggert  <eggert@twinsun.com>
127473         * m4/free.m4: New file.
127475 2003-09-27  Paul Eggert  <eggert@twinsun.com>
127477         * lib/minmax.h (MIN, MAX)
127478         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
127479         Omit the special code that used __typeof__, since we worry that
127480         it could be more trouble than it's worth.  See:
127481         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
127482         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
127484         * lib/free.c: New file.
127486 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
127488         Trivial fixes to Makefile.am parts of module listings.
127489         * modules/strstr: Append strstr.h to lib_SOURCES.
127490         * modules/strcase: Likewise, for strcase.h.
127492 2003-09-27  Karl Berry  <karl@gnu.org>
127494         * config/mkinstalldirs: update from automake.
127496 2003-09-26  Paul Eggert  <eggert@twinsun.com>
127498         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
127499         (error_tail): Do not loop, reallocating temporary buffer, since
127500         the output cannot contain more wide characters than the input
127501         contains bytes, the size must be big enough already.  This avoids
127502         one potential size overflow calculation.  Check for size overflow
127503         when calculating temporary buffer size.  Free temporary buffer
127504         when done, if it was allocated with malloc; this plugs a memory
127505         leak.  Remove casts from void * to pointers, that are no longer
127506         needed now that we're assuming C89 or better.
127508         Merge error changes from glibc.
127510         * lib/error.c, error.h: Update copyright notice header to match glibc.
127511         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
127512         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
127513         Disable cancellation while printing error.
127514         * lib/error.h: Prepend __ to parameter names.
127516 2003-09-26  Jim Meyering  <jim@meyering.net>
127518         * lib/error.c (error_tail): Move some declarations
127519         into inner scope where the local variables are used.
127521 2003-09-26  Bruno Haible  <bruno@clisp.org>
127523         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
127524         stpncpy().
127525         Don't define stpncpy through config.h; it's now done through stpncpy.h.
127527 2003-09-26  Bruno Haible  <bruno@clisp.org>
127529         * lib/stpncpy.h (gnu_stpncpy): New declaration.
127530         (stpncpy): Define as alias for gnu_stpncpy.
127531         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
127533 2003-09-25  Simon Josefsson  <jas@extundo.com>
127535         * lib/xgetdomainname.h: New file.
127536         * lib/xgetdomainname.c: New file.
127538 2003-09-25  Simon Josefsson  <jas@extundo.com>
127539             Bruno Haible  <bruno@clisp.org>
127541         * modules/getdomainname: New file.
127542         * modules/xgetdomainname: New file.
127543         * MODULES.html.sh (func_all_modules): Add getdomainname,
127544         xgetdomainname.
127546 2003-09-25  Simon Josefsson  <jas@extundo.com>
127547             Bruno Haible  <bruno@clisp.org>
127549         * m4/getdomainname.m4: New file.
127551 2003-09-25  Simon Josefsson  <jas@extundo.com>
127552             Bruno Haible  <bruno@clisp.org>
127554         * lib/getdomainname.h: New file.
127555         * lib/getdomainname.c: New file.
127557 2003-09-25  Karl Berry  <karl@gnu.org>
127559         * lib/argp-fmtstream.c, argp-help.c: update from libc.
127561 2003-09-25  Karl Berry  <karl@gnu.org>
127563         * config/install-sh: update from automake.
127565 2003-09-25  Bruno Haible  <bruno@clisp.org>
127567         * modules/version-etc-2: New file, from modules/version-etc with
127568         modifications.
127569         * MODULES.html.sh (func_all_modules): Add version-etc-2.
127571 2003-09-25  Bruno Haible  <bruno@clisp.org>
127573         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
127574         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
127576 2003-09-24  Simon Josefsson  <jas@extundo.com>
127578         * modules/xgethostname: Add xgethostname.h.
127580 2003-09-24  Paul Eggert  <eggert@twinsun.com>
127582         * lib/linebuffer.c (freebuffer): Don't free the argument, just
127583         the buffer associated with the argument.  Bug reported by
127584         Simon Josefsson.
127586 2003-09-24  Paul Eggert  <eggert@twinsun.com>
127588         * README: Document assumptions that 'int' is at least 32 bits
127589         wide, that integer arithmetic is 2's complement without overflow,
127590         that there are no holes in integer values, that adding sizes of
127591         two nonoverlapping objects can't overflow, and that all-bits-zero
127592         yields scalar zero.  Fix spelling and capitalization typos.
127594 2003-09-19  Karl Berry  <karl@gnu.org>
127596         * lib/argp.h: update from libc.
127598 2003-09-17  Paul Eggert  <eggert@twinsun.com>
127600         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
127601         to avoid spurious warnings like "AC_RUN_IFELSE was called before
127602         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
127604 2003-09-17  Paul Eggert  <eggert@twinsun.com>
127606         * gnulib-tool: Use "test -h", not "test -L", for portability
127607         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
127608         (tags_regexp): Remove, since \| doesn't conform to POSIX.
127609         (sed_extract_prog): Issue s commands one-by-one, rather than
127610         using \| in one s command.
127612 2003-09-16  Paul Eggert  <eggert@twinsun.com>
127614         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
127615         input error, instead of returning NULL the next time we are called
127616         (and therefore losing track of errno).
127618 2003-09-16  Bruno Haible  <bruno@clisp.org>
127620         * gnulib-tool (func_create_testdir): Warn about duplicated
127621         dependencies.
127623 2003-09-15  Paul Eggert  <eggert@twinsun.com>
127625         * modules/argmatch, modules/fatal, modules/obstack,
127626         modules/xalloc, modules/xgethostname: Sort dependencies by
127627         importance, not alphabetically.
127629 2003-09-15  Paul Eggert  <eggert@twinsun.com>
127631         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
127632         fails, so that the caller gets the proper errno.
127634         * lib/readutmp.c (read_utmp): Likewise.
127635         Check for fstat error.  Close stream and free storage
127636         when failing.
127638 2003-09-14  Karl Berry  <karl@gnu.org>
127640         * config/srclist.txt (strdup.c): disable for c89 changes.
127642 2003-09-14  Jim Meyering  <jim@meyering.net>
127644         * lib/getloadavg.c: Correct cpp indentation.
127645         * lib/strdup.c: Likewise.
127646         * lib/vasnprintf.c: Likewise.
127648 2003-09-14  Bruno Haible  <bruno@clisp.org>
127650         * modules/fwriteerror: New file.
127651         * MODULES.html.sh (func_all_modules): Add fwriteerror.
127653 2003-09-14  Bruno Haible  <bruno@clisp.org>
127655         * lib/fwriteerror.h: New file.
127656         * lib/fwriteerror.c: New file.
127658 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127660         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
127661         modules/xgethostname, modules/xalloc: Depend on exit.
127663 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127665         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
127667         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
127668         and AC_MINIX, too, so that their extensions are available.
127670         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
127671         This macro has been superseded by gl_BACKUPFILE.
127673         More patches to assume C89 or better.
127675         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
127677         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
127678         unconditionally.
127679         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
127680         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
127681         Include <string.h>, <stdlib.h> unconditionally.
127682         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
127683         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
127684         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
127685         headers or for string.h.
127686         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
127687         or strtoul.
127689         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
127690         headers.
127691         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
127692         * m4/userspec.m4 (gl_USERSPEC): Likewise.
127693         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
127694         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
127695         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
127696         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
127697         memcpy, memset.
127698         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
127699         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
127700         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
127701         strtol.
127702         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
127703         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
127704         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
127705         strtoul.
127707 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127709         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
127710         * lib/obstack.c [!defined _LIBC]: Likewise.
127711         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
127712         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
127713         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
127715         More changes to assume C89 or better.
127717         * lib/error.c (error_tail): Assume vprintf.
127719         * lib/argmatch.c (getenv): Remove decl.
127720         * lib/progreloc.c (get_full_program_name): Define via prototype.
127721         * lib/setenv.c (clearenv): Likewise.
127722         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
127723         needed.
127724         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
127725         (malloc, memcpy): Remove decls.
127726         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
127727         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
127728         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
127729         (memcpy): Remove macro.
127730         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
127731         (__P): Remove.  All uses removed.
127732         (PTR): Remove.  All uses changed to void *.
127733         (CHAR_BIT, NULL): Remove.
127734         (spaces, zeros, memset_space, memset_zero)
127735         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
127736         Remove.
127737         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
127738         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
127739         Define with prototype.
127740         Remove now-unnecessary prototype decl.
127741         (extra_args_spec): Assume ANSI C.  All uses changed.
127742         (extra_args_spec_iso): Remove.
127743         (my_strftime, emacs_strftimeu): Define via prototype.
127744         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
127745         unconditionally.
127746         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
127747         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
127748         (strtoul, strtol): Remove decls.
127749         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
127750         LONG_MAX): Remove.
127751         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
127752         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
127753         (LOCALE_PARAM_PROTO): New macro.
127754         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
127755         (INTERNAL (strtol), strtol): Define with a prototype.
127756         (PARAMS): Remove.  All uses removed.
127757         * lib/tempname.c: Include <string.h> unconditionally.
127758         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
127759         * lib/xgethostname.c (main): Define with a prototype.
127760         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
127761         Include <stdlib.h> unconditionally.
127762         (calloc, malloc, realloc, free): Remove decls.
127763         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
127764         Include <stdlib.h> unconditionally.  Sort include file names.
127765         (strtod): Remove.
127766         (xstrtod): Define with a prototype.
127767         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
127768         (strtol, strtoul): Remove decls.
127770 2003-09-11  Paul Eggert  <eggert@twinsun.com>
127772         More patches to assume C89 or better.
127773         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
127774         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
127775         string.h, memchr, STDC_HEADERS.
127777 2003-09-11  Paul Eggert  <eggert@twinsun.com>
127779         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
127780         Include <stdlib.h>, <string.h> unconditionally.
127781         Remove now-unnecessary cast to char *.
127782         * lib/strnlen.c: Include <string.h> unconditionally.
127783         * lib/yesno.c (yesno): Define with a prototype.
127785 2003-09-11  Bruno Haible  <bruno@clisp.org>
127787         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
127789 2003-09-10  Jim Meyering  <jim@meyering.net>
127791         * lib/error.c: Correct indentation of cpp directives.
127793 2003-09-10  Bruno Haible  <bruno@clisp.org>
127795         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
127796         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
127797         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
127798         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
127799         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
127800         <stdlib.h> and <string.h> checks.
127801         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
127802         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
127804 2003-09-10  Bruno Haible  <bruno@clisp.org>
127806         * lib/strcspn.c: Include <string.h> unconditionally.
127807         * lib/strpbrk.c: Include <string.h> unconditionally.
127808         * lib/strstr.c: Include <string.h> unconditionally.
127809         * lib/unicodeio.c: Include <string.h> unconditionally.
127810         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
127811         * lib/unsetenv.c: Likewise.
127812         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
127813         * lib/yesno.c: Include <stdlib.h> unconditionally.
127814         (rpmatch): Add prototype.
127816 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127818         More patches to assume C89 or better.
127819         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
127820         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
127821         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
127822         or for string.h.
127823         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
127824         stdlib.h.
127825         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
127826         C headers.
127827         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
127828         string.h.
127829         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
127830         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
127831         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
127832         or for string.h.
127833         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
127834         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
127835         C headers.
127836         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
127837         memcpy.
127838         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
127839         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
127840         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
127841         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
127842         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
127843         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
127844         string.h, free.
127845         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
127846         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
127847         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
127848         C headers, or for string.h.
127849         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
127850         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
127851         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
127852         headers, memory.h, stdlib.h, string.h, strings.h.
127853         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
127854         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
127855         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
127856         strchr.
127857         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
127858         headers, memory.h, string.h.
127859         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
127860         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
127861         free.
127862         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
127863         headers.
127864         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
127865         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
127866         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
127867         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
127868         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
127870 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127872         More K&R removal.
127874         * lib/acosl.c (main): Use a prototype.
127875         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
127876         tanl.c: Likewise.
127878         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
127880         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
127881         (getopt, etopt_long, getopt_long_only, _getopt_internal)
127882         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
127883         with a prototype.
127884         * lib/getopt.c (const): Remove macro.
127885         Include <string.h> unconditionally.
127886         (my_index): Remove; all uses changed to strchr.
127887         (strlen): Remove decl.
127888         (exchange): Remove forward decl; no longer needed.
127889         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
127890         Define with prototype.
127891         * lib/getopt1.c (const): Remove macro.
127892         (getopt_long, getopt_long_only, main): Define with prototype.
127894         * lib/getugroups.c: Include <string.h> unconditionally.
127896         * lib/getusershell.c: Include <stdlib.h> unconditionally.
127897         (getusershell, setusershell, endusershell, readname, main):
127898         Define with prototypes.
127900         * lib/group-member.c: Include group-member.h first.
127901         Include <stdlib.h> unconditionally.
127903         * lib/hard-locale.c: Include hard-locale.h first.
127904         Include <stdlib.h>, <string.h> unconditionally.
127906         * lib/hash.c (free, malloc): Remove decls.
127907         Include <stdlib.h> unconditionally.
127909         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
127910         (getenv): Do not declare.
127912         * lib/idcache.c: Include <string.h> unconditionally.
127914         * lib/long-options.c: Include long-options.h first, to test interface.
127915         Include <stdlib.h> unconditionally.
127917         * lib/makepath.c: Include makepath.h first, to test interface.
127918         Include <stdlib.h> and <string.h> unconditionally.
127920         * lib/linebuffer.c: Include <stdlib.h>.
127921         (free): Remove decl.
127923         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
127924         stddef.h. rpl_malloc returns void *, not char *.
127925         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
127926         prototype.
127928         * lib/md5.h: Include <limits.h> unconditionally.
127929         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
127930         (__P): Remove; all uses removed.
127931         * lib/md5.c: Include "md5.h" first.
127932         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
127933         md5_buffer, md5_process_bytes, md5_process_block):
127934         Define with prototypes.
127935         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
127936         * lib/sha.c: Include "sha.h" first.
127937         Include <stdlib.h>, <string.h> unconditionally.
127939         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
127940         * lib/memcmp.c (__ptr_t): Likewise.
127941         * lib/memrchr.c (__ptr_t): Likewise.
127942         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
127943         Include <string.h> unconditionally.
127944         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
127945         * lib/memchr.c: Include <stdlib.h> unconditionally.
127946         * lib/memchr.c (LONG_MAX): Remove.
127947         * lib/memrchr.c (LONG_MAX): Likewise.
127948         * lib/memchr.c (__memchr): Define via a prototype.
127949         * lib/memrchr.c (__memrchr): Likewise.
127950         * lib/memcmp.c (__P): Remove, and remove all uses.
127951         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
127952         Remove forward decls; no longer needed.
127953         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
127954         Use types required by C89 in prototype.
127956         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
127957         * lib/savedir.c: Likewise.
127958         * lib/mkdir.c (free): Remove decl.
127959         * lib/rmdir.c (rmdir): Define with a prototype.
127960         * lib/savedir.c: Include savedir.h first, to test interface.
127962         * lib/mktime.c (STDC_HEADERS): Remove.
127963         Include <stdlib.h>, <string.h> unconditionally.
127965         * lib/modechange.c: Include <stdlib.h> unconditionally.
127966         (malloc): Remove decl.
127968         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
127969         (free): Remove decl.
127971         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
127972         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
127973         (This type really should be intptr_t, but that's a C99ism.)
127974         (_obstack_memcpy): Remove: all uses changed to memcpy.
127975         Include <string.h> unconditionally.
127976         (struct obstack): Assume __STDC__ for types of members
127977         chunkfun, freefun, extra_arg.
127978         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
127979         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
127980         obstack_begin, obstack_specify_allocation,
127981         obstack_specify_allocation_with_arg, obstack_chunkfun,
127982         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
127983         Remove unprototyped decls and the macros that use them.
127984         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
127985         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
127986         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
127987         (defined __STDC__ && __STDC__)]:
127988         Remove nonprototyped code.
127989         Include <stdlib.h> unconditionally.
127990         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
127991         _obstack_allocated_p, _obstack_free, obstack_free,
127992         _obstack_memory_used, print_and_abort):
127993         Define using prototypes.
127994         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
127995         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
127996         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
127997         obstack_next_free, obstack_object_size, obstack_room) [0]:
127998         Remove unused, unprototyped code.
128000         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
128002         * lib/physmem.c (physmem_total, physmem_available, main): Define
128003         with prototypes.
128005         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
128006         (main): Define with a prototype.
128008         * lib/posixver.c (getenv): Remove decl.
128010         * lib/putenv.c (malloc): Returns void *, not char *.
128011         Include <string.h> unconditionally.
128012         (strchr, memcpy, NULL): Do not define.
128014         * lib/readtokens.c: Include readtokens.h first, to test interface.
128015         Include <stdlib.h>, <string.h> unconditionally.
128016         (init_tokenbuffer): Define with a prototype.
128018         * lib/regex.c (PARAMS): Remove.  All uses removed.
128019         All uses of _RE_ARGS removed, too.
128020         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
128021         unconditionally.
128022         (bzero): Assume memset exists.
128023         (memcmp, memcpy, NULL): Remove.
128024         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
128025         char, or assignments to local vars of type signed char.
128026         (init_syntax_once, PREFIX(extract_number_and_incr),
128027         PREFIX(print_partial_compiled_pattern),
128028         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
128029         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
128030         PREFIX(regex_grow_registers), PREFIX(regex_compile),
128031         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
128032         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
128033         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
128034         wcs_compile_range, byte_compile_range, truncate_wchar,
128035         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
128036         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
128037         count_mbs_length, wcs_re_match_2_internal,
128038         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
128039         PREFIX(alt_match_null_string_p),
128040         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
128041         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
128042         regfree, PREFIX(extract_number)): Define with prototype.  Remove
128043         now-unnecessary declaration, if any.
128044         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
128045         regcomp, regexec):
128046         Remove now-unnecessary casts among pointer types.
128047         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
128049         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
128050         (free): Remove decl.
128052         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
128054         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
128055         (free): Remove decl.
128057         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
128058         * lib/xgetcwd.c: Likewise.
128060         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
128061         (free): Remove decl.
128063         * lib/strchrnul.c (strchrnul): Define with a prototype.
128064         Fix bug: c_in was not converted to char before searching.
128066         The following changes are not K&R related:
128068         * lib/group-member.h: Include <sys/types.h>, so that this file is
128069         self-contained.
128070         * lib/makepath.h: Likewise.
128072         * lib/getusershell.c (readname, default_index, line_size, readname):
128073         Use size_t, not int, for sizes.
128074         (readname): If the size overflows, report an error instead of
128075         looping forever.
128077 2003-09-09  Paul Eggert  <eggert@twinsun.com>
128079         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
128080         libc.
128082 2003-09-09  Paul Eggert  <eggert@twinsun.com>
128084         * README: New section: portability guidelines.
128086 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
128088         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
128089         C89 spec.
128091 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
128093         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
128095 2003-09-08  Paul Eggert  <eggert@twinsun.com>
128097         Assume C89 or better; remove K&R cruft.
128098         A few of these changes were first proposed by Derek Robert Price
128099         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
128101         * lib/addext.c: Include <string.h> unconditionally.
128102         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
128103         Don't declare getenv or malloc.
128105         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
128106         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
128107         (NULL): Remove.
128108         (find_stack_direction, alloca): Use prototypes.
128110         * lib/atexit.c (atexit): Define using a prototype.
128112         * lib/basename.c, dirname.c, stripslash.c:
128113         Include <string.h> unconditionally.
128115         * lib/bcopy.c: Include <stddef.h>.
128116         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
128118         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
128120         * lib/error.h (error, error_at_line, error_print_progname)
128121         [! (defined (__STDC__) && __STDC__)]: Remove decls.
128122         * lib/error.c: Include error.h first, to check interface.
128123         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
128124         (VA_START): Remove; all uses changeed to va_start.
128125         (exit, strerror): Remove decls.
128126         (error_print_progname): Prototype uncondionally.
128127         Don't include <errno.h>; no longer needed.
128128         (private_strerror): Remove.
128129         (error_tail): Always define.
128130         (error, error_at_line): Assume C89 or better; always use prototypes.
128131         * lib/fatal.c: Include "fatal.h" first, to test interface.
128132         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
128133         (VA_START): Remove; all uses changed to va_start.
128134         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
128135         this case.
128136         (exit): Remove decl.
128137         (fatal): Prototype unconditionally.  Assume va_start works.
128138         Abort at end, to pacify gcc.
128140         * lib/euidaccess.c (main): Define with a prototype.
128142         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
128144         * lib/exitfail.c: Include <stdlib.h> unconditionally.
128146         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
128147         prototypes.
128148         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
128149         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
128150         (getenv): Remove decl.
128151         (fnmatch): Define using a prototype.
128152         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
128153         (FCT): Define using a prototype.
128155         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
128157         * lib/gethostname.c: Include <stddef.h>.
128158         (gethostname): Define with prototype.  Length is size_t, not int.
128160 2003-09-08  Paul Eggert  <eggert@twinsun.com>
128162         Assume C89 or better; remove K&R cruft.
128163         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
128164         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
128165         string.h, getenv, malloc.
128166         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
128167         headers.
128168         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
128169         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
128170         do not check for strerror.
128171         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
128172         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
128173         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
128174         do not check for doprnt or vprintf.
128175         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
128176         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
128178 2003-09-08  Paul Eggert  <eggert@twinsun.com>
128180         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
128181         getversion.c should have been removed then, but was accidentally
128182         preserved.
128184         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
128185         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
128187 2003-09-08  Karl Berry  <karl@gnu.org>
128189         * config/config.sub, config.guess, srclistvars.sh: update from savannah
128190                 config, forget about prep.
128192         * config/depcomp, missing: update from automake.
128194 2003-09-07  Paul Eggert  <eggert@twinsun.com>
128196         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
128197         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
128199 2003-09-07  Paul Eggert  <eggert@twinsun.com>
128201         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
128202         copy_tm_result.  Bug reported by Simon Josefsson in
128203         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
128205 2003-09-06  Paul Eggert  <eggert@twinsun.com>
128207         * m4/time_r.m4: New file.
128208         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
128209         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
128210         is. Check for timegm declaration.
128211         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
128212         Do not check for gmtime_r.
128213         Replace mktime if __mktime_internal does not exist and if mktime
128214         hasn't been replaced already.
128216 2003-09-06  Paul Eggert  <eggert@twinsun.com>
128218         * lib/time_r.c, lib/time_r.h: New files.
128220         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
128221         __localtime_r.
128222         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
128223         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
128225         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
128226         __gmtime_r.
128227         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
128228         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
128229         Include <time_r.h>.
128231         * lib/timegm.c: Switch to glibc implementation, with the following
128232         changes:
128233         [defined HAVE_CONFIG_H]: Include <config.h>.
128234         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
128235         (__mktime_internal) [!defined _LIBC]: New decl.
128236         (__gmtime_r) [!defined _LIBC]: New macro and function.
128237         (timegm): Use a prototype, since gnulib assumes C89.
128238         Do not bother declaring tmp to be const, as it's not really usefu.
128239         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
128240         (timegm): Declare only if HAVE_DECL_TIMEGM.
128242 2003-09-06  Paul Eggert  <eggert@twinsun.com>
128244         * MODULES.html.sh (func_all_modules): Add time_r.
128245         * modules/time_r: New file.
128246         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
128247         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
128249 2003-09-03  Paul Eggert  <eggert@twinsun.com>
128251         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
128252         Bug reported by Lute Kamstra in
128253         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
128255         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
128256         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
128257         course with correspondingly smaller numbers for tomorrow and
128258         yesterday.  From Tadayoshi Funaba.  Originally installed into
128259         sh-utils on 1999-08-07, but the patch got lost (I guess during the
128260         coreutils merge?).
128262 2003-08-31  Simon Josefsson  <jas@extundo.com>
128264         * modules/timegm: New file.
128265         * MODULES.html.sh (func_all_modules): Add timegm.
128267 2003-08-31  Simon Josefsson  <jas@extundo.com>
128269         * m4/timegm.m4: New file.
128271 2003-08-31  Simon Josefsson  <jas@extundo.com>
128273         * lib/timegm.h: New file.
128274         * lib/timegm.c: New file.  Based on
128275         wget-1.8.2/src/http.c:mktime_from_utc.
128277 2003-08-31  Karl Berry  <karl@gnu.org>
128279         * lib/argp.h: update from libc.
128281 2003-08-28  Bruno Haible  <bruno@clisp.org>
128283         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
128284         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
128285         followed by '#define fnmatch fnmatch_posix' gives an error.
128287 2003-08-28  Bruno Haible  <bruno@clisp.org>
128289         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
128290         warning on QNX, which defines O_BINARY to 000000.
128292 2003-08-27  Jim Meyering  <jim@meyering.net>
128294         * m4/mkstemp.m4: Require that the system mkstemp be able to create
128295         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
128296         would fail after 32.  Reported by Danny Levinson.  Details here:
128297         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
128299 2003-08-24  Bruno Haible  <bruno@clisp.org>
128301         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
128302         MSVC7 <stdio.h> is included later.
128304 2003-08-22  Simon Josefsson  <jas@extundo.com>
128306         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
128308 2003-08-20  Karl Berry  <karl@gnu.org>
128310         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
128312 2003-08-20  Bruno Haible  <bruno@clisp.org>
128314         * modules/progname: New file.
128315         * MODULES.html.sh (func_all_modules): Add progname.
128317 2003-08-20  Bruno Haible  <bruno@clisp.org>
128319         * lib/progname.h: New file, from GNU gettext.
128320         * lib/progname.c: New file, from GNU gettext.
128321         * lib/progreloc.c: New file, from GNU gettext.
128323 2003-08-19  Jim Meyering  <jim@meyering.net>
128325         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
128326         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
128328 2003-08-19  Bruno Haible  <bruno@clisp.org>
128330         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
128331         more.
128333 2003-08-19  Bruno Haible  <bruno@clisp.org>
128335         * lib/xstrdup.c: Assume <string.h> exists.
128337 2003-08-18  Paul Eggert  <eggert@twinsun.com>
128339         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
128340         in makefile rules.
128342 2003-08-18  Jim Meyering  <jim@meyering.net>
128344         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
128345         * m4/lib-ld.m4: Likewise.
128347 2003-08-18  Jim Meyering  <jim@meyering.net>
128349         * lib/setenv.h: Indent nested cpp directive.
128350         * lib/vasnprintf.c: Remove trailing blanks.
128352 2003-08-17  Simon Josefsson  <jas@extundo.com>
128354         * modules/xstrndup: New file.
128355         * MODULES.html.sh (func_all_modules): Add xstrndup.
128357 2003-08-17  Simon Josefsson  <jas@extundo.com>
128359         * modules/argp: Fix autoconf macro name. Add more dependencies.
128361 2003-08-17  Simon Josefsson  <jas@extundo.com>
128363         * m4/xstrndup.m4: New file.
128365 2003-08-17  Simon Josefsson  <jas@extundo.com>
128367         * m4/argp.m4: New file.
128369 2003-08-17  Simon Josefsson  <jas@extundo.com>
128370             Bruno Haible  <bruno@clisp.org>
128372         * lib/xstrndup.h: New file.
128373         * lib/xstrndup.c: New file.
128375 2003-08-17  Bruno Haible  <bruno@clisp.org>
128377         * modules/strndup (Files, Include): Add lib/strndup.h.
128379 2003-08-17  Bruno Haible  <bruno@clisp.org>
128381         * modules/euidaccess (Files): Add lib/euidaccess.h.
128383 2003-08-17  Bruno Haible  <bruno@clisp.org>
128385         * lib/strndup.h: New file.
128387 2003-08-17  Bruno Haible  <bruno@clisp.org>
128389         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
128390         like AC_GNU_SOURCE.
128391         * modules/extensions (configure.ac): Comment out the invocation of
128392         gl_USE_SYSTEM_EXTENSIONS.
128394 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128396         Merges from coreutils, etc.
128397         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
128398         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
128399         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
128400         fixing a typo.
128401         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
128402         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
128404 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128406         Document merge from coreutils.
128407         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
128408         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
128409         * modules/utime: Add m4/utimes-null.m4.
128411 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128413         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
128414         space, undoing this 2003-08-12 change:
128415         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
128417 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128419         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
128420         strtoul.c from libc, undoing this 2003-08-12 change:
128421         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
128423 2003-08-16  Jim Meyering  <jim@meyering.net>
128425         Merges from coreutils.
128426         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
128427         prefix.  Adjust cache variables similarly.  Create 500 rather than
128428         just 300 files, to exercise bug on Darwin6.5, too.
128429         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
128430         $missing_dir.
128431         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
128432         AM_SYS_POSIX_TERMIOS.
128433         Reported by mkc@mathdogs.com.
128434         Also change use of $am_cv_sys_posix_termios
128435         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
128436         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
128437         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
128438         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
128439         in /proc/mounts until it finds one with matching device number.  This
128440         is unnecessary when the FILE argument *is* a mount point.  No stat call
128441         is necessary in that case.  So, disable the statvfs-testing code on
128442         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
128443         as RedHat bug# 84846.
128444         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
128445         to 1MB, so as not to render systems with no stack size limit (e.g.,
128446         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
128447         Include <unistd.h>.  On some systems,
128448         it is required for the definition of _SC_PAGESIZE.
128450 2003-08-16  Jim Meyering  <jim@meyering.net>
128452         Merge from coreutils.
128453         * lib/xstrtoimax.c: #else #if -> #elif.
128454         * lib/xstrtoumax.c: Likewise.
128456 2003-08-16  Jim Meyering  <jim@meyering.net>
128458         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
128459         * m4/utimes.m4: Removed.
128460         * m4/utimes-null.m4: Renamed from utimes.m4.
128462         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
128463         to 1MB, so as not to render systems with no stack size limit (e.g.,
128464         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
128465         Include <unistd.h>.  On some systems,
128466         it is required for the definition of _SC_PAGESIZE.
128468 2003-08-16  Jim Meyering  <jim@meyering.net>
128469         and Paul Eggert  <eggert@cs.ucla.edu>
128471         Merges from coreutils, etc.
128473         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
128474         using the latest version from cvs.  This avoids problems with #line
128475         directives using a vendor (Sun) compiler.
128476         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
128477         Don't set GETGROUPS_LIB here; now it's
128478         done via getgroups.m4's wrapper function.
128479         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
128480         rather than just in sh-util/configure.in, so that the
128481         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
128482         same.
128483         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
128484         AC_FUNC_GETLOADAVG where to find getloadavg.c.
128485         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
128486         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
128487         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
128488         Remove code that is now done by the newly-required macros.
128489         Append $(EXEEXT) to DF_PROG.
128490         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
128491         Do not invoke or require the following here,
128492         since prereq.m4 or some gnulib .m4 now does this for us:
128493         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
128494         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
128495         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
128496         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
128497         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
128498         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
128499         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
128500         AC_FUNC_OBSTACK.
128501         Do not replace the following functions, as this is now the job
128502         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
128503         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
128504         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
128505         atexit getpass, strdup, getpagesize.
128506         Replace 'raise'.
128507         Do not check for the following functions, as this is now the job
128508         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
128509         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
128510         setregid.
128511         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
128512         Check for sys/sysctl.h.
128513         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
128514         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
128515         of checking for ssize_t ourselves.
128517         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
128518         Require every macro that gnulib/modules/* suggests for us.
128519         (jm_PREREQ_ADDEXT): New macro.
128520         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
128521         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
128523         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
128524         (gl_PHYSMEM): Use it.
128525         Also check for `table' function.
128526         Check for new headers and functions.
128527         Add check for sys/sysmp.h.
128528         With suggestions from Kaveh Ghazi.
128529         Ignore headers that are present but cannot be compiled.  This
128530         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
128531         C 5.4.
128533 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128535         Document merge from coreutils.
128536         * modules/userspec: Depend on posixver.
128537         * modules/strftime: Depend on tzset.
128539 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128541         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
128542         rather than tab, after '#' in shell-script copyright notices.
128543         Suggested by Bruno Haible.
128545 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128547         * config/srclist-update: Use three spaces, rather than tab, after '#'
128548         in shell-script copyright notices.  Suggested by Bruno Haible.
128549         Remove unnecessary parenthesization in regular expression.
128551 2003-08-15  Jim Meyering  <jim@meyering.net>
128553         Merge from coreutils.
128554         * lib/xgethostname.c: Include <stdlib.h>.
128555         (xghostname): Don't exit for anything other than memory-related
128556         failure; just return NULL.
128557         * lib/userspec.c: Include "posixver.h".
128558         (parse_user_spec): Accept `.' as a separator only
128559         in pre-POSIX-200112 mode.
128560         * lib/strtoimax.c: Use #elif rather than #else #if.
128561         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
128562         Remove function, now that we can rely on a working tzset function.
128563         [!_LIBC]: Ensure that the required autoconf test has been run.
128564         [!defined _NL_CURRENT && HAVE_STRFTIME]:
128565         Use underlying_strftime for %r.
128566         * lib/sha.c: Merge in some clean-up and optimization changes from
128567         glibc.
128568         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
128569         Ensure that it is a multiple of 64.
128570         Rearrange loop exit tests so as to avoid performing an
128571         additional fread after encountering an error or EOF.
128572         * lib/realloc.c: Update copyright date.
128574 2003-08-15  Jim Meyering  <jim@meyering.net>
128575         and Paul Eggert  <eggert@twinsun.com>
128577         Merge from coreutils.
128578         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
128579         member but strut utmpx does not.  Needed for AIX 4.3.3.
128580         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
128582 2003-08-15  Jim Meyering  <jim@meyering.net>
128583         and Paul Eggert  <eggert@cs.ucla.edu>
128585         Merges from coreutils, etc.
128586         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
128587         Require gl_FUNC_TZSET_CLOBBER.
128588         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
128589         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
128590         members.
128592 2003-08-14  Paul Eggert  <eggert@twinsun.com>
128594         Help the merge from coreutils.
128595         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
128596         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
128597         * m4/tzset.m4: Use it too.
128599 2003-08-14  Paul Eggert  <eggert@twinsun.com>
128601         * modules/tzset: New file.
128603 2003-08-14  Jim Meyering  <jim@meyering.net>
128605         Merges from coreutils.
128606         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
128607         variable names, rather than @FNMATCH_H@.
128608         * modules/alloca: Likewise for $(ALLOCA_H).
128610         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
128611         the three copies of the literal target, `fnmatch.h'.
128612         * modules/alloca (alloca.h): Likewise.
128614 2003-08-14  Jim Meyering  <jim@meyering.net>
128616         Merge from coreutils.
128617         * m4/tzset.m4: New file.
128618         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
128619         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
128620         otherwise, AIX 5.1 systems would end up using the latter.
128621         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
128622         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
128623         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
128624         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
128626 2003-08-14  Jim Meyering  <jim@meyering.net>
128628         Merge from coreutils.
128629         * lib/obstack.h: Whitespace changes.
128630         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
128631         and xcalloc return values.
128632         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
128633         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
128634         hang on OSF/1 5.1 for DIR on both local and remote file systems.
128635         Reported by (and fix confirmed by) Nelson H. F. Beebe.
128636         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
128637         error from mntctl.
128638         Use mntctl's return value to drive the entry-processing loop, since
128639         we can't rely on the value of the vmt_length member in the last
128640         entry.  On some systems doing so could result in exhausting
128641         virtual memory.  Based in part on a patch from Mike Jetzer.
128643 2003-08-14  Jim Meyering  <jim@meyering.net>
128644         and Paul Eggert  <eggert@twinsun.com>
128646         Merges from coreutils, plus other fixes.
128647         * lib/physmem.c: Merge in portability changes from gcc/libiberty
128648         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
128649         for credits and details.  Thanks to Kaveh Ghazi for helping
128650         to keep these files in sync.
128651         (ARRAY_SIZE): Define it.
128652         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
128653         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
128654         (memcasecmp): Don't assume size_t fits in unsigned int.
128655         Remove casts and duplicate code.
128656         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
128657         (memcpy): Remove definition.
128658         Merge in some clean-up and optimization changes from glibc.
128659         [BLOCKSIZE]: Move definition to top of file.
128660         Ensure that it is a multiple of 64.
128661         Rearrange loop exit tests so as to avoid performing an
128662         additional fread after encountering an error or EOF.
128663         * lib/md5.h (md5_uintptr): Define.
128664         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
128665         return to the initial working directory.  Preserve errno
128666         for caller.
128667         * lib/idcache.c: Include "xalloc.h".
128668         (xmalloc, xrealloc): Remove decls.
128669         (getuser): Remove casts no longer required in C89.
128670         * lib/human.c: Include stdio.h, for sprintf.
128671         * lib/group-member.c: Include "xalloc.h".
128672         (xmalloc, xrealloc): Remove decls.
128673         (get_group_info): Remove casts no longer required in C89.
128674         * lib/getusershell.c (readname): Remove casts no longer required in
128675         C89.
128676         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
128677         * lib/getline.c: Whitespace fix, from coreutils.
128679 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128681         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
128682         Check for isascii.
128684         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
128685         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
128686         Undo previous (whitespace-only) change.
128688 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128690         * lib/exclude.c: Include <ctype.h>
128691         (IN_CTYPE_DOMAIN): New macro.
128692         (is_space): New fn.
128693         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
128694         and empty lines.
128696         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
128697         Undo previous (whitespace-only) change.
128699 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128701         * config/srclist-update: Change update back to the old behavior,
128702         leaving whitespace alone.  Use one 'sed' command rather than a
128703         pipeline.
128704         (fixlicense): Now a variable, not a function.
128705         (remove_trailing_blanks): Remove.
128706         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
128707         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
128708         Undo previous (whitespace-only) change.
128710 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128712         Merge from coreutils.
128713         * modules/euidaccess: Add lib_SOURCES, include for new
128714         file euidaccess.h
128716 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128718         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
128719         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
128720         Normalize leading white space and remove trailing white space.
128722         Merge from coreutils
128723         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
128725         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
128726         0.12.1.  These files are now being upgraded automatically by
128727         ../config/srclist-update.
128729 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128731         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
128732         Normalize leading white space and remove trailing white space.
128733         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
128734         notice, as per ../config/srclist-update.
128736         Merge from coreutils.
128737         * lib/euidaccess.h: New file.
128738         * lib/euidaccess.c: Include it.
128739         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
128740         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
128741         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
128743 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128745         * config/srclist-update: Add copyright notice.
128746         (remove_id_lines, remove_trailing_blanks): New constants.
128747         (fixfile): Use them to normalize spacing a bit in copied files.
128748         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
128749         Normalize leading white space and remove trailing white space.
128751         * config/texinfo.tex: Sync with texinfo.
128753         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
128754         strtoul.c from libc, to merge coreutils whitespace changes.
128756         * config/srclist.txt: Get the following m4 files from gettext:
128757         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
128758         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
128759         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
128760         wint_t.m4.
128762 2003-08-12  Karl Berry  <karl@gnu.org>
128764         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
128765         been made.
128767 2003-08-11  Paul Eggert  <eggert@twinsun.com>
128769         * modules/gnu-source, m4/gnu-source.m4:
128770         Remove; we're assuming Autoconf 2.54 or later now.
128771         Suggested by Bruno Haible.
128772         * MODULES.html.sh (func_all_modules): Remove gnu-source.
128774 2003-08-11  Bruno Haible  <bruno@clisp.org>
128776         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
128778 2003-08-11  Bruno Haible  <bruno@clisp.org>
128780         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
128781         (vasnprintf): Use it instead of wcslen.
128783 2003-08-11  Bruno Haible  <bruno@clisp.org>
128785         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
128786         value to ensure that _Bool promotes to int. Use #define for _Bool when
128787         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
128789 2003-08-10  Karl Berry  <karl@gnu.org>
128791         * lib/regex.h: update from libc (whitespace fix).
128793 2003-08-09  Paul Eggert  <eggert@twinsun.com>
128795         Merge some files from coreutils.  These changes were
128796         originally made by Jim Meyering.
128797         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
128798         many older Unixes require this.
128799         * lib/alloca.c (alloca): Remove cast to argument of free;
128800         no longer needed in C89.
128801         * lib/alloca_.h, regex.h: Fix white space to match
128802         what GNU indent does.
128804 2003-08-09  Paul Eggert  <eggert@twinsun.com>
128806         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
128807         apparently Emacs's Unicode mode got confused before my 2003-08-05
128808         checkin.
128810 2003-08-08  Paul Eggert  <eggert@twinsun.com>
128812         * m4/extensions.m4: New file.
128813         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
128814         Require gl_USE_SYSTEM_EXTENSIONS.
128815         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
128816         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
128818 2003-08-08  Paul Eggert  <eggert@twinsun.com>
128820         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
128821         * modules/extensions, modules/gnu-source: New files.
128822         * modules/timespec, modules/unlocked-io: Depend on extensions.
128824 2003-08-07  Paul Eggert  <eggert@twinsun.com>
128826         * modules/restrict: New file.
128827         * MODULES.html.sh (func_all_modules): Add restrict.
128828         * modules/regex: Depend on restrict.
128830 2003-08-07  Paul Eggert  <eggert@twinsun.com>
128832         * m4/restrict.m4: New file.
128833         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
128835 2003-08-07  Bruno Haible  <bruno@clisp.org>
128837         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
128838         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
128840 2003-08-07  Bruno Haible  <bruno@clisp.org>
128842         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
128843         makes the module 'getndelim2' compatible with the module 'getline'.
128845 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128847         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
128848         byte with "\201" to avoid glitches when editing that source file
128849         with multi-gnome-terminal.
128851 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128853         * lib/bumpalloc.h: Remove.
128855 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128857         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
128858         * modules/bumpalloc: Remove.
128860 2003-08-04  Paul Eggert  <eggert@twinsun.com>
128862         * lib/getloadavg.c: Change copyright notice and spacing to conform to
128863         GNU coding style.
128865         Merge from coreutils.
128866         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
128867         1. From glibc.
128868         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
128869         from Karl Berry, implemented by Jim Meyering.
128870         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
128871         from Dmitry V. Levin.
128872         Remove anachronistic cast of xrealloc.
128873         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
128874         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
128875         type. Otherwise, it wouldn't compile with at least /bin/cc on
128876         ymp-cray-unicos9.0.2.X.
128877         Combine two mostly-identical uses of alloca into one.
128878         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
128880 2003-08-04  Dave Love  <d.love@dl.ac.uk>
128882         [From Emacs.]
128884         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
128885         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
128886         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
128887         obsolete NLIST_NAME_UNION.
128888         [__GNU__]: Undef BSD and FSCALE.
128889         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
128891 2003-08-03  Paul Eggert  <eggert@twinsun.com>
128893         * lib/stdbool_.h (_Bool): Make it signed char, instead of
128894         an enum type, so that it's guaranteed to promote to int.  See:
128895         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
128897 2003-08-03  Karl Berry  <karl@gnu.org>
128899         * config/depcomp: update from automake.
128901 2003-07-31  Paul Eggert  <eggert@twinsun.com>
128903         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
128904         (strerror): Don't assume that a printable int fits in 14 bytes.
128906 2003-07-31  Bruno Haible  <bruno@clisp.org>
128908         * modules/getpass-gnu: New file.
128909         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
128911 2003-07-31  Bruno Haible  <bruno@clisp.org>
128913         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
128915 2003-07-24  Karl Berry  <karl@gnu.org>
128917         * config/missing: update from automake.
128919 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
128920             Bruno Haible  <bruno@clisp.org>
128922         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
128923         * lib/getline.c (getline, getdelim): Likewise.
128924         Remove _GNU_SOURCE define; now it's defined in config.h through
128925         m4/getline.m4.
128927 2003-07-23  Karl Berry  <karl@gnu.org>
128929         * config/config.sub: update from prep.
128931 2003-07-22  Paul Eggert  <eggert@twinsun.com>
128933         * modules/xalloc (Depends-on): Add exitfail.
128934         * modules/xmemcoll: Likewise.
128936 2003-07-22  Paul Eggert  <eggert@twinsun.com>
128938         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
128939         over-parenthesization in macros.
128941         Sync with coreutils.
128943         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
128944         required by C99.
128946         Use `exit_failure' for xalloc and xmemcoll instead of their own
128947         private exit-failure variables.
128948         * lib/xalloc.h (xalloc_exit_failure): Remove.
128949         * lib/xmalloc.c: Likewise.  Include exitfail.h.
128950         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
128951         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
128952         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
128953         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
128955 2003-07-20  Jim Meyering  <jim@meyering.net>
128957         * modules/closeout (Depends-on): Add exitfail.
128958         Suggestion from Bruno Haible.
128960 2003-07-19  Karl Berry  <karl@gnu.org>
128962         * config/config.sub: update from prep.
128964 2003-07-18  Paul Eggert  <eggert@twinsun.com>
128966         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
128967         Remove.
128968         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
128969         to test that it can stand by itself.  Include "exitfail.h".
128970         Clients should set exit_failure instead.
128971         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
128973 2003-07-18  Bruno Haible  <bruno@clisp.org>
128975         * modules/getndelim2: New file.
128976         * modules/getline: Share files with module getndelim2.
128977         * modules/getnline: Depend on getndelim2 instead of sharing files with
128978         it. Add getnline.c to lib_SOURCES.
128979         * MODULES.html.sh (func_all_modules): Add getndelim2.
128981 2003-07-18  Bruno Haible  <bruno@clisp.org>
128983         * m4/getndelim2.m4: New file.
128984         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
128985         invoke gl_PREREQ_GETNDELIM2.
128986         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
128987         gl_PREREQ_GETNDELIM2.
128988         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
128989         gl_GETNDELIM2.
128991 2003-07-18  Bruno Haible  <bruno@clisp.org>
128993         * lib/getndelim2.h: New file.
128994         * lib/getndelim2.c: Make into a module of its own. Include config.h,
128995         getndelim2.h.
128996         (getndelim2): Make non-static. Change return type to ssize_t.
128997         * lib/getline.h: Change argument names.
128998         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
128999         * lib/getnline.c: Include getndelim2.h.
129001 2003-07-18  Andreas Schwab  <schwab@suse.de>
129003         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
129005 2003-07-17  Karl Berry  <karl@gnu.org>
129007         * config/config.sub: update from prep.
129009 2003-07-17  Bruno Haible  <bruno@clisp.org>
129011         * modules/getnline: New file.
129012         * modules/getline: Add lib/getndelim2.c to source file list.
129013         * MODULES.html.sh (func_all_modules): Add getnline.
129015 2003-07-17  Bruno Haible  <bruno@clisp.org>
129017         * m4/getnline.m4: New file.
129019 2003-07-17  Bruno Haible  <bruno@clisp.org>
129021         * m4/Makefile.am.in: Remove file.
129022         * m4/Makefile.am: Remove file.
129023         * m4/Makefile.in: Remove file.
129025 2003-07-17  Bruno Haible  <bruno@clisp.org>
129027         * lib/getnline.h: New file.
129028         * lib/getnline.c: New file.
129029         * lib/getndelim2.c: New file, extracted from getline.c.
129030         (getndelim2): Renamed from getdelim2, with added nmax argument.
129031         * lib/getline.c: Include getndelim2.c.
129032         (getdelim2): Moved out to getndelim2.c.
129033         (getline, getdelim): Update.
129035 2003-07-17  Bruno Haible  <bruno@clisp.org>
129037         * lib/Makefile.am: Remove file.
129038         * lib/Makefile.in: Remove file.
129040 2003-07-17  Bruno Haible  <bruno@clisp.org>
129042         * configure.in: Remove file.
129043         * Makefile.in: Remove file.
129045 2003-07-17  Bruno Haible  <bruno@clisp.org>
129047         * MODULES.html.sh: Put the </BODY> right before </HTML>.
129049 2003-07-16  Karl Berry  <karl@gnu.org>
129051         * config/srclist-update: was running fixlicense twice, which caused
129052                 texinfo.tex to be nullified for some reason.  Simplify,
129053                 $gplsrc is no longer needed as far as I can see?
129055 2003-07-16  Jim Meyering  <jim@meyering.net>
129057         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
129059 2003-07-15  Paul Eggert  <eggert@twinsun.com>
129061         * config/srclist.txt: Get the following files from gettext-runtime/intl
129062         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
129063         ref-del.sin.  From Bruno Haible.
129064         * config/srclist-update (fixfile): Change grep pattern again, since the
129065         previous fix didn't work (there was another trailing $).  Use
129066         '[$]' to escape the $s.
129068 2003-07-15  Karl Berry  <karl@gnu.org>
129070         * lib/vasnprintf.c: update from gettext.
129072 2003-07-15  Karl Berry  <karl@gnu.org>
129074         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
129075         gets expanded when surrounded by '$'.
129077 2003-07-15  Jim Meyering  <jim@meyering.net>
129079         * modules/save-cwd: Don't depend on error.  From Derek Price.
129081 2003-07-15  Jim Meyering  <jim@meyering.net>
129083         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
129085 2003-07-14  Simon Josefsson  <jas@extundo.com>
129087         * modules/mempcpy: New file.
129088         * MODULES.html.sh (func_all_modules): Add mempcpy.
129090 2003-07-14  Simon Josefsson  <jas@extundo.com>
129092         * m4/mempcpy.m4: New file.
129094 2003-07-14  Simon Josefsson  <jas@extundo.com>
129096         * lib/mempcpy.h: New file.
129097         * lib/mempcpy.c: New file.
129099 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129101         * modules/getdate, modules/posixtm: Depend on mktime.
129103 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129105         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
129106         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
129107         unicodeio.c, unicodeio.h, unlocked-io.h:
129108         Switch from LGPL to GPL.
129110 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129112         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
129113         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
129114         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
129115         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
129116         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
129117         updated automatically by ../config/srclist-update.  This changes
129118         their license from LPGL to GPL.
129120 2003-07-14  Paul Eggert  <eggert@twinsun.com>
129122         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
129123         assumed to refer to the root of the most recent stable gettext version.
129124         * config/srclistvars.sh: Add defaults for eggert.
129125         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
129126         Match "This program" as well as "The program".  This is needed
129127         for gettext.
129129 2003-07-14  Jim Meyering  <jim@meyering.net>
129131         Don't emit diagnostics.  Let callers do that.
129132         * lib/save-cwd.c: Don't include "error.h".
129133         (save_cwd): Don't call error.  Ensure that errno is valid
129134         when returning nonzero.
129136         * lib/save-cwd.h (restore_cwd): Update prototype.
129137         * lib/save-cwd.c (restore_cwd): Remove two parameters.
129138         Simplify.  Don't call error upon failure.  Let callers do that.
129139         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
129140         when auditing is enabled.  But don't bother updating the #if.
129142 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
129144         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
129145         it breaks C++ compilation.
129146         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
129148 2003-07-10  Simon Josefsson  <jas@extundo.com>
129150         * modules/strchrnul (Makefile.am): Add strchrnul.h.
129152 2003-07-10  Jim Meyering  <jim@meyering.net>
129154         * m4/clock_time.m4: Remove trailing blank.
129155         * m4/intmax_t.m4: Likewise.
129157 2003-07-10  Jim Meyering  <jim@meyering.net>
129159         * lib/vasnprintf.c: Remove trailing blanks.
129160         Make cpp indentation consistent.
129162 2003-07-09  Paul Eggert  <eggert@twinsun.com>
129164         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
129165         posixver.c, strftime.c, strnlen.c, strverscmp.c:
129166         Switch from LGPL to GPL.
129168 2003-07-09  Paul Eggert  <eggert@twinsun.com>
129170         * config/srclist.txt: Sort sublists.  Add
129171         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
129172         that differ from gnulib for one reason or another; we'd like this list
129173         to be smaller but for now let's document what we have.
129175 2003-07-08  Paul Eggert  <eggert@twinsun.com>
129177         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
129178         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
129179         and sweeter "eval x=$x".
129180         * config/srclist.txt: Get lib/argp* from glibc.
129182 2003-07-07  Paul Eggert  <eggert@twinsun.com>
129184         * lib/mktime.c: Fix some boundary cases and remove need for floating
129185         point.
129187         Issue a compile-time diagnostic if time_t is floating point, or if
129188         two's complement arithmetic is not in effect, or if arithmetic
129189         right shift does not propagate the sign.  These assumptions were
129190         all in the original code but they weren't checked.
129192         (TIME_T_MIDPOINT, verify): New macros.
129193         (__isleap): Remove; it has integer overflow problems.
129194         (leapyear): New function, without those problems.
129195         (ydhms_tm_diff): Remove; splitting into two parts.
129196         (ydhms_diff): New function, containing the arithmetic part of
129197         the old ydhms_tm_diff function.  Issue a compile-time
129198         diagnostic if we are not using C99 integer division.
129199         Avoid casts when possible.
129200         (guess_time_tm): New function, containing the checking part of
129201         the old ydhms_tm_diff function.  Return the new value, rather than
129202         the difference between it and the old.  Accept a new argument T
129203         so that *T specifies the old value.  Check for overflow in the result.
129205         (__mktime_internal): Use a time_t offset, not a long int offset.
129206         This undoes the 2003-06-04 change, which is no longer needed now
129207         that we have better overflow checking.
129208         (localtime_offset): Likewise.
129210         (__mktime_internal): Avoid harmful overflow on hosts where time_t
129211         and long are 64-bit but int is only 32-bit.
129212         (ydhms_diff): Use long int to store year1 and yday1.
129213         Issue a compile-time diagnostic if long int is not wide enough.
129215         (__mktime_internal): Use long int to store adjusted year and yday.
129216         Use plain C rather than preprocessor commands, if that doesn't
129217         affect efficiency.
129218         Check for overflow (and try to repair) after each probe
129219         rather than checking only at the very end.  This avoids some bugs
129220         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
129221         does not equal GMT offset at maximum time).
129222         Use integer to check for overflow rather than floating point; this
129223         is more portable to non-IEEE hosts, and is a tad faster.
129224         When we detect that we are oscillating between two values,
129225         don't check whether tm_isdst has the requested value, since
129226         we already know the answer.  When tm_isdst has the wrong value,
129227         use a different heuristic to find the right one, based on the
129228         extreme values actually observed in practice in tz2003a,
129229         rather than the (overly optimistic) "previous 3 calendar quarters".
129231         (not_equal_tm, print_tm, check_result): Use "const T" rather than
129232         "T const" to accommodate glibc style.
129233         (check_result): Use less-confusing report format.  "long" -> "long int.
129234         (main): Likewise.
129235         Don't loop if the iteration overflows time_t.
129236         Allow a negative step in the iteration.
129238 2003-07-06  Karl Berry  <karl@gnu.org>
129240         * config/depcomp: update from automake.
129241         * config/config.sub: update from prep.
129243 2003-07-03  Karl Berry  <karl@gnu.org>
129245         * config/config.guess: update from prep.
129247 2003-07-01  Paul Eggert  <eggert@twinsun.com>
129249         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
129250         xreadlink.c now includes it unconditionally.
129252 2003-07-01  Paul Eggert  <eggert@twinsun.com>
129254         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
129255         having it depend on HAVE_SYS_TYPES_H.
129257 2003-07-01  Bruno Haible  <bruno@clisp.org>
129259         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
129260         <sys/types.h> should be sufficient.
129261         Reported by Paul Eggert.
129263 2003-06-26  Karl Berry  <karl@gnu.org>
129265         * config/depcomp: update from automake.
129267 2003-06-26  Bruno Haible  <bruno@clisp.org>
129269         * modules/human: Depend on module stdbool.
129271 2003-06-25  Bruno Haible  <bruno@clisp.org>
129273         * modules/readlink: New file.
129274         * modules/xreadlink: Depend on it.
129275         * MODULES.html.sh (func_all_modules): Add readlink.
129277 2003-06-25  Bruno Haible  <bruno@clisp.org>
129279         * m4/readlink.m4: New file.
129281 2003-06-25  Bruno Haible  <bruno@clisp.org>
129283         * lib/readlink.c: New file.
129285 2003-06-22  Karl Berry  <karl@gnu.org>
129287         * config/srclist.txt: update mkinstalldirs from automake.
129288         * config/mkinstalldirs: update.
129290 2003-06-22  Bruno Haible  <bruno@clisp.org>
129292         Portability to mingw32.
129293         * m4/ssize_t.m4: New file, from GNU gettext.
129294         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
129295         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
129297 2003-06-22  Bruno Haible  <bruno@clisp.org>
129299         * modules/safe-read: Add m4/ssize_t.m4.
129300         * modules/xreadlink: Add m4/ssize_t.m4.
129302 2003-06-20  Bruno Haible  <bruno@clisp.org>
129304         Assume C89, so PARAMS isn't needed.
129305         * lib/unicodeio.h (PARAMS): Remove.
129306         * lib/unicodeio.c: Don't use PARAMS.
129308 2003-06-18  Karl Berry  <karl@gnu.org>
129310         * config/config.{guess,sub}: update from prep.
129312 2003-06-18  Jim Meyering  <jim@meyering.net>
129314         Merge changes from coreutils.
129315         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
129316         Remove explicit declarations of xmalloc and realloc.
129317         Include xalloc.h.
129318         (read_utmp): Remove anachronistic cast of xmalloc.
129320 2003-06-17  Paul Eggert  <eggert@twinsun.com>
129322         Assume C89, so PARAMS isn't needed.
129323         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
129324         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
129325         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
129326         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
129327         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
129328         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
129329         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
129330         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
129331         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
129332         lib/xstrtod.h, lib/xstrtol.h: Likewise.
129333         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
129334         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
129335         no longer needed. Anyway, config.h should always be included before any
129336         other file.
129338 2003-06-11  Simon Josefsson  <jas@extundo.com>
129340         * modules/sysexits: New file.
129341         * MODULES.html.sh (func_all_modules): Add sysexits.
129343 2003-06-11  Simon Josefsson  <jas@extundo.com>
129345         * lib/sysexit_.h: New file.
129347 2003-06-11  Derek Price  <derek@ximbiot.com>
129349         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
129350         necessary.
129352 2003-06-11  Bruno Haible  <bruno@clisp.org>
129354         * m4/sysexits.m4: New file.
129356 2003-06-10  Simon Josefsson  <jas@extundo.com>
129358         * lib/argp.h: New file, from glibc.
129359         * lib/argp-ba.c: New file, from glibc.
129360         * lib/argp-eexst.c: New file, from glibc.
129361         * lib/argp-fmtstream.c: New file, from glibc.
129362         * lib/argp-fmtstream.h: New file, from glibc.
129363         * lib/argp-fs-xinl.c: New file, from glibc.
129364         * lib/argp-help.c: New file, from glibc.
129365         * lib/argp-namefrob.h: New file, from glibc.
129366         * lib/argp-parse.c: New file, from glibc.
129367         * lib/argp-pv.c: New file, from glibc.
129368         * lib/argp-pvh.c: New file, from glibc.
129369         * lib/argp-xinl.c: New file, from glibc.
129371 2003-06-10  Simon Josefsson  <jas@extundo.com>
129373         * modules/strchrnul: New file.
129375 2003-06-10  Simon Josefsson  <jas@extundo.com>
129377         * modules/argp: New file.
129379 2003-06-10  Simon Josefsson  <jas@extundo.com>
129381         * m4/strchrnul.m4: New file.
129383 2003-06-10  Simon Josefsson  <jas@extundo.com>
129385         * lib/strchrnul.h: New file.
129386         * lib/strchrnul.c: New file.
129388 2003-06-10  Bruno Haible  <bruno@clisp.org>
129390         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
129392 2003-06-07  Karl Berry  <karl@gnu.org>
129394         * config/config.{guess,sub}: update from prep.
129396 2003-06-07  Jim Meyering  <jim@meyering.net>
129398         * modules/strtod: Use $(...) notation, not @...@ for
129399         AC_REPLACE'd variables.
129400         * modules/localcharset: Likewise.
129402 2003-06-07  Jim Meyering  <jim@meyering.net>
129404         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
129405         in place of my name in the copyright comment.
129406         Remove definition and uses of __P.
129408         From coreutils.
129409         * lib/stat.c: Don't declare xmalloc explicitly.
129410         Instead, include "xalloc.h".
129411         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
129412         xrealloc, and xcalloc return values.
129413         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
129414         Improve comment.
129415         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
129417 2003-06-07  Bruno Haible  <bruno@clisp.org>
129419         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
129420         avoid AC_CONFIG_LINKS.
129421         * modules/fnmatch (Makefile.am): Use explicit creation rule for
129422         fnmatch.h, to avoid AC_CONFIG_LINKS.
129423         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
129425 2003-06-07  Bruno Haible  <bruno@clisp.org>
129427         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
129428         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
129429         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
129430         directory.
129431         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
129432         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
129433         directory.
129435 2003-06-06  Jim Meyering  <jim@meyering.net>
129437         Merge from coreutils.
129438         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
129439         Consolidate declarations and initializations of *_base* locals.
129441         Merge from coreutils.
129442         This avoids a core dump on systems without GNU putenv,
129443         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
129444         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
129445         (unsetenv): New static function, from GNU libc.
129446         (rpl_putenv): Use it.
129448         * lib/modechange.c: Remove trailing blanks.
129450         Merge from coreutils.
129451         * lib/fsusage.c: Remove declaration of statfs.
129452         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
129454         * lib/posixtm.c: Include <stdbool.h> unconditionally.
129456 2003-06-06  Jim Meyering  <jim@meyering.net>
129458         * lib/stdbool_.h: Renamed from stdbool.h.in.
129460 2003-06-06  Jim Meyering  <jim@meyering.net>
129461             Bruno Haible  <bruno@clisp.org>
129463         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
129464         Adjust Makefile.am snippet not to redirect directly to target.
129465         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
129467 2003-06-05  Paul Eggert  <eggert@twinsun.com>
129469         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
129470         mismatch, look in future quarters as well as past.  This fixes a
129471         bug when processing fall-backwards gaps immediately after a long
129472         period of daylight-saving time.
129474         * lib/mktime.c: Assume freestanding C89 or better.
129475         (HAVE_LIMITS_H): Remove.  Assume it's 1.
129476         (__P): Remove; not used.
129477         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
129478         (mktime, not_equal_tm, print_tm, check_result,
129479         main): Use prototypes.  Use const * where appropriate.
129480         (main): Fix typo in testing code that uncovered by above changes.
129481         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
129483 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129485         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
129486         locale.h, localeconv.  This merges changes from coreutils.
129488         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
129489         It can be removed after the next Autoconf is released.
129490         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
129491         needed.
129493 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129495         * lib/mktime.c: Fix Debian bug 177940
129496         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
129497         (localtime_offset): Now long int, not time_t, because we want it
129498         to be guaranteed to be signed.  All uses changed.
129499         (__mktime_internal): If overflow would occur when adding offset,
129500         don't add it.
129502         Merge 'human' changes from coreutils.  Rewrite to support
129503         locale-specific notations like thousands separators.
129504         * lib/human.c: Simplify authorship notice.
129505         Include human.h immediately after config.h.
129506         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
129507         <limits.h>: Do not include, since human.h does.
129508         (SIZE_MAX, UINTMAX_MAX): New macros.
129509         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
129510         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
129511         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
129512         (power_letter): Renamed from suffixes.
129513         (generate_suffix_backwards): Remove.
129514         (adjust_value): Now takes int style (because of human.h changes)
129515         and long double value (for greater precision on some platforms).
129516         (group_number): New function.
129517         (human_readable): Use it.  Use integer options, not enum.
129518         Put the options before the sizes in the arg list.
129519         Support all the new options.
129520         The old human_readable function has been removed;
129521         use inttostr.h instead.
129522         (human_readable, default_block_size, humblock):
129523         Use uintmax_t, not int, for block sizes.
129524         (human_readable_inexact, block_size_types): Remove.
129525         (block_size_opts): New constant.
129526         (human_options): Renamed from human_block_size, with new signature
129527         that allows block sizes up to UINTMAX_MAX.  All callers changed.
129528         * lib/human.h: Add copyright and authorship notice.
129529         Include <limits.h> and <stdbool.h> unconditionally.
129530         (PARAMS): Remove.  All uses removed.
129531         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
129532         (enum human_inexact_style): Remove tag; now a nameless enum.
129533         (human_floor, human_ceiling, human_round_to_even): Now have
129534         values 2, 0, 1 rather than -1, 1, 0.
129535         (human_group_digits, human_suppress_point_zero, human_autoscale,
129536         human_base_1024, human_SI, human_B): New constants.
129537         (human_readable_inexact, human_block_size): Remove.
129538         (human_readable): Size args are now uintmax_t, not int.
129539         (human_options): New decl.
129541         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
129542         unnecessary now that we assume C89 or better.  This change
129543         imported from coreutils.
129545         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
129546         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
129547         in the 2003-05-30 sync from glibc.
129549         .h files should stand alone, but we shouldn't include <sys/types.h>
129550         if we can get away with just <stddef.h>.
129552         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
129553         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
129554         rather than <sys/types.h>, as we merely need size_t.
129555         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
129556         to get size_t.
129557         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
129558         Include <stdio.h>, to get FILE.
129559         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
129560         memcasecmp.h has included <stddef.h> and all we need is size_t.
129561         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
129562         our interface, instead of including <sys/types.h>
129564 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129566         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
129567         now, as glibc mktime is buggy on non-glibc systems.
129569 2003-06-03  Karl Berry  <karl@gnu.org>
129571         * config/config.sub: update from prep.
129573 2003-06-02  Paul Eggert  <eggert@twinsun.com>
129575         [from coreutils]
129576         Fix some minor time-related bugs with POSIX time arguments.
129577         Some valid time stamps were being rejected (notably -1, and
129578         time stamps before 1900 on 64-bit hosts).  And some invalid
129579         time stamps were being accepted, e.g. September 31.
129581         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
129582         that we can return (time_t) -1 successfully.
129583         * lib/posixtm.c: Likewise.
129584         [HAVE_STDBOOL_H]: Include <stdbool.h>.
129585         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
129586         (t): Remove static var.
129587         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
129588         of static var.  All uses changed.
129589         (year): Do not reject years before 1900; they can occur with
129590         64-bit time_t.
129591         (posix_time_parse): Do not check for out-of-range components;
129592         that is now the caller's responsibility, since our checks were
129593         only approximations.
129594         (posixtime): Use mktime to check for out-of-range components,
129595         since it knows them exactly.
129596         If mktime returns (time_t) -1, check whether an error actually occurred
129597         by invoking localtime on -1.
129598         (main) [TEST_POSIXTIME]: Check for input data errors, and report
129599         posixtime failures better.
129600         Improve the test data (in comments only).
129602 2003-06-02  Karl Berry  <karl@gnu.org>
129604         * config/mkinstalldirs (version): new variable.
129605         (--version): new option.
129606         (usage): improve message.
129608 2003-05-30  Karl Berry  <karl@gnu.org>
129610         * lib/mktime.c: update from libc.
129612 2003-05-30  Bruno Haible  <bruno@clisp.org>
129614         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
129615         * config/config.rpath: Upgrade to gettext-0.12.1.
129617 2003-05-30  Bruno Haible  <bruno@clisp.org>
129619         * m4/gettext.m4: Upgrade to gettext-0.12.1.
129620         * m4/nls.m4: New file, from gettext-0.12.1.
129621         * m4/po.m4: New file, from gettext-0.12.1.
129622         * m4/progtest.m4: Upgrade to gettext-0.12.1.
129624 2003-05-30  Bruno Haible  <bruno@clisp.org>
129626         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
129627         * lib/localcharset.h: Likewise.
129628         * lib/localcharset.c: Likewise.
129630 2003-05-29  Karl Berry  <karl@gnu.org>
129632         * config/config.rpath: update from gettext.
129634 2003-05-28  Paul Eggert  <eggert@twinsun.com>
129636         Assume the headers required for C89 freestanding compilers.
129637         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
129638         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
129639         * m4/human.m4 (gl_HUMAN): Likewise.
129640         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
129641         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
129642         * m4/userspec.m4 (gl_USERSPEC): Likewise.
129643         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
129644         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
129645         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
129647 2003-05-28  Paul Eggert  <eggert@twinsun.com>
129649         Assume the headers required for C89 freestanding compilers.
129650         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
129651         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
129652         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
129653         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
129654         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
129655         define, since <limits.h> is guaranteed to do that.
129656         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
129657         * lib/exclude.c: Include <stdbool.h> unconditionally.
129658         * lib/tempname.c: Include <stddef.h> unconditionally.
129659         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
129660         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
129661         <stddef.h> does that.
129662         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
129663         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
129664         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
129665         needed.
129666         * lib/xstrtol.c: Likewise.
129667         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
129668         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
129670         * lib/addext.c (addext): Use assignment rather than cast, to avoid
129671         warnings on some platforms.
129673         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
129674         arbitrarily.
129676 2003-05-26  Jim Meyering  <jim@meyering.net>
129678         Merge in a change from coreutils:
129679         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
129680         that is guaranteed to be `no'.  Use `no_such_member' to indicate
129681         that condition, rather than `-1' which is slightly misleading.
129682         Change the name of the cache variable to have the gl_ prefix.
129683         Prompted by a patch from Richard Dawe for DJGPP.
129685 2003-05-24  Karl Berry  <karl@gnu.org>
129687         * config/config.guess: update from prep.
129689 2003-05-22  Karl Berry  <karl@gnu.org>
129691         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
129693 2003-05-20  Karl Berry  <karl@gnu.org>
129695         * config/config.guess: update from prep.
129697 2003-05-18  Karl Berry  <karl@gnu.org>
129699         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
129700         might actually be set by the user.
129702         * config/depcomp, install-sh, mdate-sh: update from automake.
129704 2003-05-17  Bruno Haible  <bruno@clisp.org>
129706         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
129707         invalid expansion for AC_EGREP_CPP.
129708         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
129709         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
129710         Suggested by Akim Demaille <akim@epita.fr> in
129711         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
129713 2003-05-12  Jim Meyering  <jim@meyering.net>
129715         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
129716         the space-padded-by-default conversion specifiers, %e, %k, %l.
129718 2003-05-12  Bruno Haible  <bruno@clisp.org>
129720         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
129721         the string is longer than 4 KB.
129723 2003-05-11  Karl Berry  <karl@gnu.org>
129725         * config/config.{guess,sub}: update from prep.
129727 2003-05-09  Bruno Haible  <bruno@clisp.org>
129729         * modules/error: Add m4/strerror_r.m4 to file list.
129731 2003-05-03  Bruno Haible  <bruno@clisp.org>
129733         Upgrade to Unicode-4.0.
129734         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
129735         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
129736         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
129737         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
129738         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
129739         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
129740         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
129741         Change width of U+E0100..U+E01EF from 1 to 0.
129743 2003-04-25  Jim Meyering  <jim@meyering.net>
129745         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
129746         of type size_t, not int.
129748 2003-04-25  Bruno Haible  <bruno@clisp.org>
129750         * lib/copy-file.c: Include <stddef.h>, for size_t.
129752 2003-04-21  Paul Eggert  <eggert@twinsun.com>
129754         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
129755         code which expansion is under static control.  Patch imported from
129756         Akim Demaille's patch to Bison; see
129757         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
129759 2003-04-14  Bruno Haible  <bruno@clisp.org>
129761         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
129763 2003-04-11  Jim Meyering  <jim@meyering.net>
129765         Merge changes from Coreutils.
129767         2003-03-22  Jim Meyering  <jim@meyering.net>
129769         * lib/strftime.c (widen): Cast alloca return value to proper type.
129771         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
129773         From GNU libc.
129774         * lib/strftime.c (my_strftime): Handle very large width
129775         specifications for numeric values correctly.  Improve checks for
129776         overflow.
129778         2003-01-19  Jim Meyering  <jim@meyering.net>
129780         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
129781         definitions.
129782         (nl_get_alt_digit) [! defined my_strftime]: Define.
129783         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
129784         _nl_get_alt_digit and _nl_get_walt_digit.
129786         * lib/strftime.c (my_strftime): Merge in locale-related changes from
129787         libc. These changes have no effect outside of _LIBC.
129789 2003-04-10  Bruno Haible  <bruno@clisp.org>
129791         * modules/findprog: New file.
129792         * MODULES.html.sh (func_all_modules): Add it.
129794 2003-04-10  Bruno Haible  <bruno@clisp.org>
129796         * m4/findprog.m4: New file.
129797         * m4/eaccess.m4: New file.
129799 2003-04-10  Bruno Haible  <bruno@clisp.org>
129801         * lib/findprog.h: New file, from GNU gettext.
129802         * lib/findprog.c: New file, from GNU gettext.
129804 2003-04-05  Jim Meyering  <jim@meyering.net>
129806         Merge changes from Coreutils.
129808         * lib/exclude.h (PARAMS): Remove definition and uses.
129809         * lib/exclude.c: Remove uses of `PARAMS'.
129811         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
129812         Add test-cases for DOS filenames. Declare program_name.
129813         (main): Set up program_name.  Patch by Rich Dawe.
129815         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
129816         error from mntctl.
129817         Use mntctl's return value to drive the entry-processing loop, since
129818         we can't rely on the value of the vmt_length member in the last
129819         entry.  On some systems doing so could result in exhausting
129820         virtual memory.  Based in part on a patch from Mike Jetzer.
129822 2003-04-04  Bruno Haible  <bruno@clisp.org>
129824         * modules/linebreak: New file.
129825         * MODULES.html.sh (func_all_modules): Add it.
129827 2003-04-04  Bruno Haible  <bruno@clisp.org>
129829         * m4/linebreak.m4: New file.
129831 2003-04-04  Bruno Haible  <bruno@clisp.org>
129833         * lib/linebreak.h: New file, from GNU gettext.
129834         * lib/linebreak.c: New file, from GNU gettext with slight
129835         modifications.
129836         * lib/lbrkprop.h: New file, from GNU gettext.
129838 2003-04-03  Bruno Haible  <bruno@clisp.org>
129840         * modules/utf8-ucs4: New file.
129841         * modules/utf16-ucs4: New file.
129842         * modules/ucs4-utf8: New file.
129843         * modules/ucs4-utf16: New file.
129844         * MODULES.html.sh (func_all_modules): Add them.
129846 2003-04-03  Bruno Haible  <bruno@clisp.org>
129848         * m4/utf-ucs4.m4: New file.
129849         * m4/ucs4-utf.m4: New file.
129851 2003-04-03  Bruno Haible  <bruno@clisp.org>
129853         * lib/utf8-ucs4.h: New file, from GNU gettext.
129854         * lib/utf16-ucs4.h: New file, from GNU gettext.
129855         * lib/ucs4-utf8.h: New file, from GNU gettext.
129856         * lib/ucs4-utf16.h: New file, from GNU gettext.
129858 2003-04-02  Bruno Haible  <bruno@clisp.org>
129860         * modules/binary-io: New file.
129861         * MODULES.html.sh (func_all_modules): Add it.
129863 2003-04-02  Bruno Haible  <bruno@clisp.org>
129865         * lib/binary-io.h: New file, from GNU gettext.
129867 2003-04-01  Bruno Haible  <bruno@clisp.org>
129869         * modules/pathname: New file.
129870         * MODULES.html.sh (func_all_modules): Add it.
129872 2003-04-01  Bruno Haible  <bruno@clisp.org>
129874         * lib/pathname.h: New file, from GNU gettext.
129875         * lib/concatpath.c: New file, from GNU gettext.
129877 2003-03-30  Bruno Haible  <bruno@clisp.org>
129879         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
129881 2003-03-30  Bruno Haible  <bruno@clisp.org>
129883         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
129884         function chown() doesn't exist.
129886 2003-03-28  Bruno Haible  <bruno@clisp.org>
129888         * modules/copy-file: New file.
129889         * MODULES.html.sh (func_all_modules): Add it.
129891 2003-03-28  Bruno Haible  <bruno@clisp.org>
129893         * m4/copy-file.m4: New file.
129895 2003-03-28  Bruno Haible  <bruno@clisp.org>
129897         * lib/copy-file.h: New file, from GNU gettext.
129898         * lib/copy-file.c: New file, from GNU gettext.
129900 2003-03-18  Jim Meyering  <jim@meyering.net>
129902         * lib/quote.c (quote_n): Fix typo in comment.
129904 2003-03-18  Bruno Haible  <bruno@clisp.org>
129906         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
129907         checking.
129908         * m4/onceonly_2_57.m4: Likewise.
129910 2003-03-17  Bruno Haible  <bruno@clisp.org>
129912         * m4/onceonly.m4: Require autoconf 2.54 or newer.
129913         (m4_quote): Remove macro.
129914         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
129916 2003-03-14  Jim Meyering  <jim@meyering.net>
129918         Merge changes from Coreutils.
129919         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
129920         to be const, in order to avoid warnings.
129921         (obstack_room): Likewise.
129922         (obstack_empty_p): Likewise.
129924 2003-03-14  Bruno Haible  <bruno@clisp.org>
129926         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
129927         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
129929 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129931         Merge changes from Bison.
129932         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
129933         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
129934         when compiling Bison 1.875's `bitset bset = obstack_alloc
129935         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
129936         * lib/hash.c: Include <stdbool.h> unconditionally.
129938 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129940         * m4/onceonly.m4 (m4_quote): New macro.
129941         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
129942         Quote AC_FOREACH variable-expansions properly.
129944 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129946         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
129948 2003-03-09  Paul Eggert  <eggert@twinsun.com>
129950         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
129951         Reported by Bruce Becker; see:
129952         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
129954 2003-03-03  Paul Eggert  <eggert@twinsun.com>
129955             Bruno Haible  <bruno@clisp.org>
129957         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
129958         Reported by John Hughes, see
129959         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
129961 2003-02-20  Bruno Haible  <bruno@clisp.org>
129963         * MODULES.html.sh (func_all_modules): Add poll.
129965 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
129967         * modules/poll: New file.
129969 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
129971         * lib/poll_.h: New file.
129972         * lib/poll.c: New file.
129974 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
129976         * m4/poll.m4: New file.
129978 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
129980         * modules/mathl: New file.
129982 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
129984         * lib/mathl.h: New file.
129985         * lib/acosl.c: New file.
129986         * lib/asinl.c: New file.
129987         * lib/atanl.c: New file.
129988         * lib/ceill.c: New file.
129989         * lib/cosl.c: New file.
129990         * lib/expl.c: New file.
129991         * lib/floorl.c: New file.
129992         * lib/frexpl.c: New file.
129993         * lib/ldexpl.c: New file.
129994         * lib/logl.c: New file.
129995         * lib/sincosl.c: New file.
129996         * lib/sinl.c: New file.
129997         * lib/sqrtl.c: New file.
129998         * lib/tanl.c: New file.
129999         * lib/trigl.c: New file.
130000         * lib/trigl.h: New file.
130002 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
130004         * m4/mathl.m4: New file.
130006 2003-02-18  Bruno Haible  <bruno@clisp.org>
130008         * MODULES.html.sh (func_all_modules): Add mathl.
130010 2003-02-17  Bruno Haible  <bruno@clisp.org>
130012         * modules/mkdtemp: New module.
130013         * MODULES.html.sh (func_all_modules): Add it.
130015 2003-02-17  Bruno Haible  <bruno@clisp.org>
130017         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
130019 2003-02-17  Bruno Haible  <bruno@clisp.org>
130021         * lib/mkdtemp.h: New file, from GNU gettext.
130022         * lib/mkdtemp.c: New file, from GNU gettext.
130024 2003-02-02  Jim Meyering  <jim@meyering.net>
130026         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
130027         e.g. glibc-2.2.93.
130029 2003-01-31  Bruno Haible  <bruno@clisp.org>
130031         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
130032         'rpl_rename'.
130033         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
130034         'rpl_strnlen'.
130035         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
130036         'rpl_strtod'.
130037         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
130038         'rpl_utime'.
130040 2003-01-31  Bruno Haible  <bruno@clisp.org>
130042         * lib/rename.c: #undef rename before defining rpl_rename.
130043         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
130045 2003-01-30  Bruno Haible  <bruno@clisp.org>
130047         * modules/vasnprintf, modules/vasprintf: New modules.
130048         * MODULES.html.sh (func_all_modules): Add them.
130050 2003-01-30  Bruno Haible  <bruno@clisp.org>
130052         * m4/signed.m4: New file, from GNU gettext.
130053         * m4/longdouble.m4: New file, from GNU gettext.
130054         * m4/wchar_t.m4: New file, from GNU gettext.
130055         * m4/wint_t.m4: New file, from GNU gettext.
130056         * m4/vasnprintf.m4: New file.
130057         * m4/vasprintf.m4: New file.
130059 2003-01-30  Bruno Haible  <bruno@clisp.org>
130061         * lib/printf-args.h: New file, from GNU gettext.
130062         * lib/printf-args.c: New file, from GNU gettext.
130063         * lib/printf-parse.h: New file, from GNU gettext.
130064         * lib/printf-parse.c: New file, from GNU gettext.
130065         * lib/vasnprintf.h: New file, from GNU gettext.
130066         * lib/vasnprintf.c: New file, from GNU gettext.
130067         * lib/asnprintf.c: New file, from GNU gettext.
130068         * lib/vasprintf.h: New file, from GNU gettext with modifications.
130069         * lib/vasprintf.c: New file, from GNU gettext.
130070         * lib/asprintf.c: New file, from GNU gettext.
130072 2003-01-29  Bruno Haible  <bruno@clisp.org>
130074         * modules/stpncpy: New module.
130075         * MODULES.html.sh (func_all_modules): Add it.
130077 2003-01-29  Bruno Haible  <bruno@clisp.org>
130079         * m4/stpncpy.m4: New file.
130081 2003-01-29  Bruno Haible  <bruno@clisp.org>
130083         * lib/stpncpy.h: New file, from GNU gettext with modifications.
130084         * lib/stpncpy.c: New file, from GNU gettext with modifications.
130086 2003-01-28  Bruno Haible  <bruno@clisp.org>
130088         * modules/c-ctype: New module.
130089         * MODULES.html.sh (func_all_modules): Add it.
130091 2003-01-28  Bruno Haible  <bruno@clisp.org>
130093         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
130094         Paul Eggert.
130095         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
130096         Paul Eggert.
130098 2003-01-27  Bruno Haible  <bruno@clisp.org>
130100         * modules/xsetenv: New module.
130101         * MODULES.html.sh (func_all_modules): Add it.
130103 2003-01-27  Bruno Haible  <bruno@clisp.org>
130105         * lib/xsetenv.h: New file, from GNU gettext.
130106         * lib/xsetenv.c: New file, from GNU gettext.
130108 2003-01-23  Jim Meyering  <jim@meyering.net>
130110         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
130111         from working on systems without dirfd (at least Irix and OSF1/Tru64).
130113 2003-01-23  Bruno Haible  <bruno@clisp.org>
130115         * modules/minmax: New module.
130116         * MODULES.html.sh (func_all_modules): Add it.
130118 2003-01-23  Bruno Haible  <bruno@clisp.org>
130120         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
130121         Eggert.
130123 2003-01-22  Bruno Haible  <bruno@clisp.org>
130125         * modules/exit: New module.
130126         * MODULES.html.sh (func_all_modules): Add it.
130128 2003-01-22  Bruno Haible  <bruno@clisp.org>
130130         * lib/exit.h: New file, from GNU gettext.
130132 2003-01-19  Bruno Haible  <bruno@clisp.org>
130134         * gnulib-tool: Recognize option --extract-maintainer.
130135         (func_get_maintainer): New function.
130136         * modules/*: Add Maintainer entry.
130138 2003-01-16  Jim Meyering  <jim@meyering.net>
130140         * m4/regex.m4: The `regex' struct is both input and output.
130141         Initialize it before each use.  Patch by Tim Waugh.
130143 2003-01-16  Bruno Haible  <bruno@clisp.org>
130145         * MODULES.html.sh: Add a table of contents. Add the module name as
130146         leftmost column. Add hyperlinks.
130148 2003-01-15  Bruno Haible  <bruno@clisp.org>
130150         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
130152 2003-01-15  Bruno Haible  <bruno@clisp.org>
130154         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
130155         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
130156         suffix.
130158 2003-01-15  Bruno Haible  <bruno@clisp.org>
130160         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
130162 2003-01-15  Bruno Haible  <bruno@clisp.org>
130164         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
130165         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
130167 2003-01-14  Jim Meyering  <jim@meyering.net>
130169         * lib/same.c (same_name): Tweak a comment.
130171 2003-01-14  Bruno Haible  <bruno@clisp.org>
130173         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
130174         when a string comparison is sufficient.
130176 2003-01-14  Bruno Haible  <bruno@clisp.org>
130178         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
130179         'unsigned int'.
130181 2003-01-14  Bruno Haible  <bruno@clisp.org>
130183         * lib/hash-pjw.c: Add comment about low quality of this function.
130185 2003-01-13  Bruno Haible  <bruno@clisp.org>
130187         * modules/stpcpy: Distribute lib/stpcpy.h.
130188         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
130190 2003-01-13  Bruno Haible  <bruno@clisp.org>
130192         * modules/*: Add a description.
130193         * modules/strpbrk: Fix Makefile.am snippet.
130194         * modules/strtoimax: Fix dependencies.
130195         * modules/strtoumax: Likewise.
130197 2003-01-13  Bruno Haible  <bruno@clisp.org>
130199         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
130200         * modules/alloca (Makefile.am): All object files depend on alloca.h.
130201         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
130203 2003-01-13  Bruno Haible  <bruno@clisp.org>
130205         * gnulib-tool (func_create_testdir): Store config/* files in the main
130206         directory.
130207         * config.rpath: Move to ...
130208         * config/config.rpath: ... here.
130209         * modules/gettext: Contains config/config.rpath, not config.rpath.
130210         * modules/iconv: Likewise.
130212 2003-01-12  Paul Eggert  <eggert@twinsun.com>
130214         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
130215         to avoid collisions with libcurses and libreadline.
130217         * m4/getstr.m4: Remove.
130218         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
130220 2003-01-12  Paul Eggert  <eggert@twinsun.com>
130222         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
130223         to avoid collisions with libcurses and libreadline.
130225         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
130226         * lib/getstr.h, getstr.c: Remove.
130227         * lib/getline.c: Include "getline.h", to check interface.
130228         Move body of old getstr.c here: this defines MIN_CHUNK and
130229         declares getdelim2, which is renamed from getstr.
130230         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
130232         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
130233         All uses changed.
130234         * lib/linebuffer.h: Likewise.
130235         (readline): Remove backward-compatibility macro.
130237 2003-01-12  Paul Eggert  <eggert@twinsun.com>
130239         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
130240         to avoid collisions with libcurses and libreadline.
130241         * getstr: Remove.
130242         * MODULES.html.sh: Remove getstr.
130243         * modules/getline: Depend on unlocked-io, not getstr.
130245 2003-01-12  Jim Meyering  <jim@meyering.net>
130247         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
130249 2003-01-10  Bruno Haible  <bruno@clisp.org>
130251         * modules/alloca: Change Makefile.am requirements. Simplify Include
130252         requirements. Add lib/alloca_.h to file list.
130254 2003-01-10  Bruno Haible  <bruno@clisp.org>
130256         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
130258 2003-01-10  Bruno Haible  <bruno@clisp.org>
130260         * lib/alloca_.h: New file.
130261         * lib/getdate.y: Unconditionally include alloca.h.
130262         * lib/makepath.c: Likewise.
130263         * lib/setenv.c: Likewise.
130264         * lib/userspec.c: Likewise.
130266 2003-01-09  Karl Berry  <karl@gnu.org>
130268         * MODULES.html.sh: include `dirname $0` in PATH, to find
130269         gnulib-tool.
130271 2003-01-09  Bruno Haible  <bruno@clisp.org>
130273         * modules/stdbool: Change configure.ac, Makefile.am requirements.
130274         Simplify Include requirements. Add lib/stdbool.h.in to file list.
130276 2003-01-09  Bruno Haible  <bruno@clisp.org>
130278         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
130280 2003-01-09  Bruno Haible  <bruno@clisp.org>
130282         * lib/stdbool.h.in: New file.
130284 2003-01-09  Bruno Haible  <bruno@clisp.org>
130286         * gnulib-tool (func_all_modules): Ignore files ending in ~.
130287         * MODULES.html.sh: Likewise.
130289 2003-01-08  Jim Meyering  <jim@meyering.net>
130291         * lib/full-write.c: Undefine and define-away `const' after inclusion
130292         of errno.h, not before.  Suggestion from Bruno Haible.
130294 2003-01-08  Bruno Haible  <bruno@clisp.org>
130296         * modules/full-read: Depend on full-write.
130298 2003-01-08  Bruno Haible  <bruno@clisp.org>
130300         * lib/safe-read.c: Include specification header first, to ensure its
130301         selfcontainedness.
130302         * lib/full-write.c: Likewise.
130304 2003-01-07  Jim Meyering  <jim@meyering.net>
130306         * lib/full-write.c: Rework so that it may serve to define full_read,
130307         too.
130308         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
130310 2003-01-07  Bruno Haible  <bruno@clisp.org>
130312         * lib/strtoimax.c: Include <stdint.h> as an alternative to
130313         <inttypes.h>.
130314         * lib/xstrtol.h: Likewise.
130315         * lib/xstrtoimax.c: Likewise.
130316         * lib/xstrtoumax.c: Likewise.
130317         * lib/human.h: Likewise.
130319         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
130320         on systems that have <inttypes.h> but not <stdint.h>.
130322 2003-01-07  Bruno Haible  <bruno@clisp.org>
130324         * MODULES.html.sh: Add copyright notice.
130325         (missed_files): Omit CVS directory entries.
130326         (func_module): Make it work with sed-3.02.
130327         * MODULES.txt: Remove file.
130329 2003-01-06  Jim Meyering  <jim@meyering.net>
130331         * lib/version-etc.c: Update year in translatable copyright string.
130333 2003-01-03  Karl Berry  <karl@gnu.org>
130335         * config/config.{guess,sub}: update from prep.
130337 2003-01-02  Karl Berry  <karl@gnu.org>
130339         * doc/COPYING.DOC: belatedly updated to 1.2.
130341 2003-01-01  Karl Berry  <karl@gnu.org>
130343         * gnulib-tool (func_verify_module): report module name $module in
130344         error message, not $1.
130345         * gnulib-tool (create-testdir): don't complain if destdir couldn't
130346         be created, only if it doesn't exist.
130347         * gnulib-tool (last_checkin_date): don't expand the $Date here.
130349 2002-12-31  Paul Eggert  <eggert@twinsun.com>
130351         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
130353 2002-12-31  Paul Eggert  <eggert@twinsun.com>
130355         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
130356         memcmp if strcoll doesn't work.
130358 2002-12-31  Bruno Haible  <bruno@clisp.org>
130360         * lib/utime.c (utime_null): No need to call ftruncate if the file was
130361         nonempty.
130363 2002-12-31  Bruno Haible  <bruno@clisp.org>
130365         * lib/memcoll.c (STRCOLL): New macro.
130366         (memcoll): Use it.
130368 2002-12-31  Bruno Haible  <bruno@clisp.org>
130370         * lib/localcharset.h: New file.
130371         * lib/localcharset.c: Include it.
130372         * lib/unicodeio.c: Likewise.
130374 2002-12-31  Bruno Haible  <bruno@clisp.org>
130376         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
130377         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
130379 2002-12-31  Bruno Haible  <bruno@clisp.org>
130381         * lib/getline.h: Include <stddef.h>, for size_t.
130383         * lib/unicodeio.h: Include <stddef.h>, for size_t.
130384         * lib/unicodeio.c: Don't include <stddef.h>.
130386 2002-12-31  Bruno Haible  <bruno@clisp.org>
130388         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
130389         HAVE_TM_ZONE.
130391 2002-12-24  Karl Berry  <karl@gnu.org>
130393         * config/config.guess: update from prep.
130395 2002-12-24  Bruno Haible  <bruno@clisp.org>
130397         General infrasructure.
130398         * m4/README: Rewritten.
130399         * m4/onceonly.m4: New file.
130400         * m4/onceonly_2_57.m4: New file.
130402         Module atexit.
130403         * m4/atexit.m4: New file.
130405         Module strtod.
130406         * m4/strtod.m4: New file.
130408         Module strtol.
130409         * m4/strtol.m4: New file.
130411         Module strtoul.
130412         * m4/strtoul.m4: New file.
130414         Module memchr.
130415         * m4/memchr.m4: New file.
130417         Module memcmp.
130418         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
130419         (jm_FUNC_MEMCMP): Invoke it.
130421         Module memcpy.
130422         * m4/memcpy.m4: New file.
130424         Module memmove.
130425         * m4/memmove.m4: New file.
130427         Module memset.
130428         * m4/memset.m4: New file.
130430         Module strcspn.
130431         * m4/strcspn.m4: New file.
130433         Module strpbrk.
130434         * m4/strpbrk.m4: New file.
130436         Module strstr.
130437         * m4/strstr.m4: New file.
130439         Module strerror.
130440         * m4/strerror.m4: New file.
130442         Module mktime.
130443         * m4/mktime.m4: Renamed from jm-mktime.m4.
130444         (gl_PREREQ_MKTIME): New macro.
130445         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
130447         Module malloc.
130448         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
130449         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
130450         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
130452         Module realloc.
130453         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
130454         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
130455         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
130457         Module strftime.
130458         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
130459         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
130460         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
130461         gl_TM_GMTOFF.
130462         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
130464         Module xalloc.
130465         * m4/xalloc.m4: New file.
130467         Module alloca.
130468         * m4/alloca.m4: New file.
130470         Module putenv.
130471         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
130472         (jm_FUNC_PUTENV): Invoke it.
130474         Module setenv.
130475         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
130476         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
130477         when invoked twice.
130478         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
130479         gt_FUNC_SETENV.
130481         Module memrchr.
130482         * m4/memrchr.m4: New file.
130484         Module stpcpy.
130485         * m4/stpcpy.m4: New file.
130487         Module strcase.
130488         * m4/strcase.m4: New file.
130490         Module strdup.
130491         * m4/strdup.m4: New file.
130493         Module strnlen.
130494         * m4/strnlen.m4: New file.
130496         Module strndup.
130497         * m4/strndup.m4: New file.
130499         Module xstrtod.
130500         * m4/xstrtod.m4: New file.
130502         Module xstrtol.
130503         * m4/xstrtol.m4: New file.
130505         Module getdate.
130506         * m4/getdate.m4: New file.
130508         Module unlocked-io.
130509         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
130510         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
130511         * m4/jm-glibc-io.m4n: Remove file.
130513         Module long-options.
130514         * m4/long-options.m4: New file.
130516         Module md5.
130517         * m4/md5.m4: New file.
130519         Module sha.
130520         * m4/sha.m4: New file.
130522         Module getstr.
130523         * m4/getstr.m4: New file.
130525         Module getline.
130526         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
130527         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
130528         <sys/types.h>, for size_t. Use the function name gnu_getline, not
130529         simply getline. Infoke gl_PREREQ_GETLINE.
130531         Module obstack.
130532         * m4/obstack.m4: New file.
130534         Module hash.
130535         * m4/hash.m4: New file.
130537         Module readtokens.
130538         * m4/readtokens.m4: New file.
130540         Module strverscmp.
130541         * m4/strverscmp.m4: New file.
130543         Module stdbool.
130544         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
130545         OSF/1.
130547         Module strtoll.
130548         * m4/strtoll.m4: New file.
130550         Module strtoull.
130551         * m4/strtoull.m4: New file.
130553         Module strtoimax.
130554         * m4/strtoimax.m4: New file.
130556         Module strtoumax.
130557         * m4/strtoumax.m4: New file.
130559         Module xstrtoimax.
130560         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
130561         jm_AC_PREREQ_XSTRTOIMAX.
130562         Moved the strtol prerequisites to strtol.m4.
130563         Moved the strtoll prerequisites to strtoll.m4.
130564         Moved the strtoimax prerequisites to strtoimax.m4.
130566         Module xstrtoumax.
130567         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
130568         jm_AC_PREREQ_XSTRTOUMAX.
130569         Moved the strtoul prerequisites to strtoul.m4.
130570         Moved the strtoull prerequisites to strtoull.m4.
130571         Moved the strtoumax prerequisites to strtoumax.m4.
130573         Module chown.
130574         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
130575         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
130577         Module dup2.
130578         * m4/dup2.m4: New file.
130580         Module ftruncate.
130581         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
130582         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
130584         Module getgroups.
130585         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
130586         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
130588         Module gettimeofday.
130589         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
130590         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
130591         gl_PREREQ_GETTIMEOFDAY.
130593         Module mkdir.
130594         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
130595         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
130597         Module mkstemp.
130598         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
130599         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
130600         jm_AC_TYPE_UINTMAX_T.
130601         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
130603         Module stat.
130604         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
130605         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
130607         Module lstat.
130608         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
130609         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
130611         Module timespec.
130612         * m4/timespec.m4 (gl_TIMESPEC): New macro.
130613         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
130614         * m4/st_mtim.m4: Indentation.
130616         Module nanosleep.
130617         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
130618         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
130619         gl_PREREQ_NANOSLEEP.
130621         Module regex.
130622         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
130623         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
130624         (gl_REGEX): New macro.
130626         Module rename.
130627         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
130628         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
130630         Module rmdir.
130631         * m4/rmdir.m4: New file.
130633         Module utime.
130634         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
130635         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
130636         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
130638         Module dirname.
130639         * m4/dirname.m4: New file.
130641         Module getopt.
130642         * m4/getopt.m4: New file.
130644         Module unistd-safer.
130645         * m4/unistd-safer.m4: New file.
130647         Module fnmatch.
130648         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
130649         declaration.
130650         (gl_PREREQ_FNMATCH_EXTRA): New macro.
130651         (gl_FUNC_FNMATCH_POSIX): New macro.
130652         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
130653         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
130654         simply fnmatch.
130656         Module exclude.
130657         * m4/exclude.m4: New file.
130659         Module human.
130660         * m4/human.m4: New file.
130662         Module acl.
130663         * m4/acl.m4: Nop.
130665         Module backupfile.
130666         * m4/backupfile.m4: New file.
130667         * m4/d-ino.m4: Indentation.
130669         Module fsusage.
130670         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
130671         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
130672         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
130674         Module dirfd.
130675         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
130676         requirements.
130678         Module euidaccess.
130679         * m4/euidaccess.m4: New file.
130681         Module file-type.
130682         * m4/file-type.m4: New file.
130684         Module fileblocks.
130685         * m4/fileblocks.m4: New file.
130687         Module filemode.
130688         * m4/filemode.m4: New file.
130690         Module isdir.
130691         * m4/isdir.m4: New file.
130693         Module lchown.
130694         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
130695         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
130697         Module makepath.
130698         * m4/makepath.m4: New file.
130700         Module modechange.
130701         * m4/modechange.m4: New file.
130703         Module mountlist.
130704         * m4/mountlist.m4: New file.
130705         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
130706         Indentation.
130708         Module path-concat.
130709         * m4/path-concat.m4: New file.
130711         Module pathmax.
130712         * m4/pathmax.m4: New file.
130714         Module same.
130715         * m4/same.m4: New file.
130717         Module save-cwd.
130718         * m4/save-cwd.m4: New file.
130720         Module savedir.
130721         * m4/savedir.m4: New file.
130723         Module xgetcwd.
130724         * m4/xgetcwd.m4: New file.
130725         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
130727         Module xreadlink.
130728         * m4/xreadlink.m4: New file.
130730         Module safe-read.
130731         * m4/safe-read.m4: New file.
130733         Module safe-write.
130734         * m4/safe-write.m4: New file.
130736         Module closeout.
130737         * m4/closeout.m4: New file.
130739         Module stdio-safer.
130740         * m4/stdio-safer.m4: New file.
130742         Module getpass.
130743         * m4/getpass.m4: New file.
130745         Module getugroups.
130746         * m4/getugroups.m4: New file.
130748         Module group-member.
130749         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
130750         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
130752         Module idcache.
130753         * m4/idcache.m4: New file.
130755         Module userspec.
130756         * m4/userspec.m4: New file.
130758         Module gettime.
130759         * m4/clock_time.m4: New file.
130760         * m4/gettime.m4: New file.
130762         Module settime.
130763         * m4/settime.m4: New file.
130765         Module posixtm.
130766         * m4/posixtm.m4: New file.
130768         Module gethostname.
130769         * m4/gethostname.m4: New file.
130771         Module canon-host.
130772         * m4/canon-host.m4: New file.
130774         Module gettext.
130775         * m4/codeset.m4: New file, from gettext-0.11.5.
130776         * m4/gettext.m4: New file, from gettext-0.11.5.
130777         * m4/glibc21.m4: New file, from gettext-0.11.5.
130778         * m4/iconv.m4: New file, from gettext-0.11.5.
130779         * m4/intdiv0.m4: New file, from gettext-0.11.5.
130780         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
130781         * m4/inttypes.m4: New file, from gettext-0.11.5.
130782         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
130783         * m4/isc-posix.m4: New file, from gettext-0.11.5.
130784         * m4/lcmessage.m4: New file, from gettext-0.11.5.
130785         * m4/lib-ld.m4: New file, from gettext-0.11.5.
130786         * m4/lib-link.m4: New file, from gettext-0.11.5.
130787         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
130788         * m4/progtest.m4: New file, from gettext-0.11.5.
130789         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
130790         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
130791         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
130793         Module localcharset.
130794         * m4/localcharset.m4: New file.
130796         Module hard-locale.
130797         * m4/hard-locale.m4: New file.
130799         Module mbswidth.
130800         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
130801         onceonly macros.
130802         * m4/mbrtowc.m4: Add comment.
130804         Module memcasecmp.
130805         * m4/memcasecmp.m4: New file.
130807         Module memcoll.
130808         * m4/memcoll.m4: New file.
130810         Module unicodeio.
130811         * m4/unicodeio.m4: New file.
130813         Module rpmatch.
130814         * m4/rpmatch.m4: New file.
130816         Module yesno.
130817         * m4/yesno.m4: New file.
130819         Module exitfail.
130820         * m4/exitfail.m4: New file.
130822         Module c-stack.
130823         * m4/c-stack.m4 (gl_C_STACK): New macro.
130824         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
130826         Module error.
130827         * m4/error.m4 (gl_ERROR): New macro.
130828         (jm_PREREQ_ERROR): Use onceonly macros.
130830         Module fatal.
130831         * m4/fatal.m4: New file.
130833         Module getloadavg.
130834         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
130835         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
130837         Module getpagesize.
130838         * m4/getpagesize.m4: New file.
130840         Module getusershell.
130841         * m4/getusershell.m4: New file.
130843         Module physmem.
130844         * m4/physmem.m4: New file.
130846         Module posixver.
130847         * m4/posixver.m4: New file.
130849         Module quotearg.
130850         * m4/quotearg.m4: New file.
130852         Module quote.
130853         * m4/quote.m4: New file.
130855         Module readutmp.
130856         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
130858         Module sig2str.
130859         * m4/sig2str.m4: New file.
130861         Other.
130862         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
130863         ulonglong.m4.
130864         * m4/intmax_t.m4: New file.
130865         * m4/d-type.m4: Indentation.
130866         * m4/jm-macros.m4: Update.
130867         * m4/prereq.m4 (jm_PREREQ): Update.
130868         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
130869         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
130870         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
130871         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
130872         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
130873         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
130874         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
130875         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
130876         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
130877         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
130878         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
130879         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
130880         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
130881         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
130882         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
130883         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
130884         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
130885         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
130886         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
130888 2002-12-24  Bruno Haible  <bruno@clisp.org>
130890         * MODULES.txt: Update according to m4/ changes.
130892         Module gettext.
130893         * config.rpath: New file, from gettext-0.11.5.
130895         * modules/*: New module descriptions.
130896         * gnulib-tool: New file.
130897         * MODULES.html.sh: New file.
130899 2002-12-21  Karl Berry  <karl@gnu.org>
130901         * doc/fdl.texi: update to version 1.2.
130903 2002-12-19  Karl Berry  <karl@gnu.org>
130905         * config/config.guess: update from prep.
130907 2002-12-18  Bruno Haible  <bruno@clisp.org>
130909         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
130910         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
130912 2002-12-17  Bruno Haible  <bruno@clisp.org>
130914         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
130915         stdlib.h, string.h.
130917 2002-12-17  Bruno Haible  <bruno@clisp.org>
130919         * lib/canon-host.c (strdup): Remove unused declaration.
130921         * lib/fsusage.c: Include full_read.h.
130922         (get_fs_usage): Use full_read instead of safe_read.
130924         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
130926 2002-12-12  Karl Berry  <karl@gnu.org>
130928         * config/config.guess: update from prep.
130930 2002-12-11  Bruno Haible  <bruno@clisp.org>
130932         * m4/setenv.m4: New file, from gettext-0.11.5.
130934 2002-12-11  Bruno Haible  <bruno@clisp.org>
130936         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
130937         not unsetenv().
130938         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
130939         modifications:
130941         2002-12-11  Bruno Haible  <bruno@clisp.org>
130943                 * setenv.c (alloca): Fall back to malloc.
130944                 (freea): New macro.
130945                 (setenv): Use freea() to free memory allocated with alloca().
130947         2002-11-13  Bruno Haible  <bruno@clisp.org>
130949                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
130950                 function declarations.
130951                 * unsetenv.c (unsetenv): Likewise.
130953         2002-03-04  Bruno Haible  <bruno@clisp.org>
130955                 Portability to AIX 4.3.3.
130956                 * unsetenv.c: New file, extracted from setenv.c.
130957                 * setenv.c: Move the unsetenv() function to unsetenv.c.
130959         2001-12-20  Bruno Haible  <bruno@clisp.org>
130961                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
130962                 use malloc instead. For SunOS 4.
130964         2001-12-11  Bruno Haible  <bruno@clisp.org>
130966                 * setenv.c: Declare alloca.
130967                 (compar_fn_t): New typedef.
130968                 (KNOWN_VALUE, STORE_VALUE): Use it.
130970         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
130971         setenv.h.
130973 2002-12-10  Paul Eggert  <eggert@twinsun.com>
130975         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
130976         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
130977         Choose values that are less likely to collide with system fnmatch
130978         options.
130979         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
130980         defined (e.g., a pure POSIX system).
130981         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
130982         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
130984 2002-12-06  Paul Eggert  <eggert@twinsun.com>
130986         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
130987         a pain in practice to deal with generated m4 files.  This change
130988         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
130990         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
130991         and jm-glibc-io.m4, as they are no longer a special case.
130992         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
130993         kludge and the auto-generation stuff.  Check only whether the
130994         functions are declared, not whether they exist, since older hosts
130995         that don't declare the functions can't use the optimization anyway.
130997 2002-12-06  Jim Meyering  <jim@meyering.net>
130999         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
131001         Merge in changes from libc's misc/error.c, in preparation
131002         for the merge of gnulib's changes back into libc.
131004         * lib/error.c (_): Define only if not already defined.
131005         Move definition to follow all #include directives.
131006         Include unlocked-io.h only if !_LIBC.
131007         [_LIBC]: Include <libio/libioP.h>.
131008         [USE_IN_LIBIO]: Include <libio/iolibio.h>
131009         (fflush): Tweak definition to use INTUSE.
131010         (putc): Define.
131012 2002-12-05  Paul Eggert  <eggert@twinsun.com>
131014         * lib/alloca.c [defined emacs]: Include "lisp.h".
131015         (xalloc_die) [defined emacs]: New macro.
131016         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
131017         [! defined emacs]: Include <xalloc.h>.
131018         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
131019         (pointer): Typedef to POINTER_TYPE *.
131020         (malloc): Remove decl; we now always use xmalloc.
131021         (alloca): Use old-style definition, since Emacs needs this.
131022         Check for arithmetic overflow when computing combined size.
131024 2002-12-04  Paul Eggert  <eggert@twinsun.com>
131026         Do not generate unlocked-io.h automatically, since it's easier to
131027         maintain it by hand.
131029         * lib/unlocked-io.h: New file, from GNU diffutils,
131030         but with proper copyright notice and attribution.
131031         * lib/gen-uio: Remove.
131032         * lib/Makefile.am: Add copyright notice.
131033         (libfetish_a_SOURCES): Add unlocked-io.h.
131034         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
131035         (DISTCLEANFILES, io_functions): Remove macros.
131036         (EXTRA_DIST): Remove gen_uio.
131037         (unlocked-io.h): Remove rule.
131039 2002-12-04  Jim Meyering  <jim@meyering.net>
131041         Reflect the fact that stat.c and lstat.c are no longer generated.
131042         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
131043         (DISTCLEANFILES): Likewise.
131044         (EXTRA_DIST): Likewise.
131045         (all_local): Don't depend on stat.c or lstat.c.
131046         (stat.c, lstat.c): Remove rules.
131047         (EXTRA_DIST): Remove xstat.in.
131049         * lib/xstat.in: Remove file.  Contents moved into stat.c.
131050         * lib/stat.c: New file.  Contents mostly from xstat.in.
131051         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
131052         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
131054         * lib/safe-read.c: Rework so that it may serve to define safe_write,
131055         too.
131056         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
131058 2002-12-03  Jim Meyering  <jim@meyering.net>
131060         * lib/safe-read.c, safe-write.c: Change variable names and comments,
131061         but not semantics, to minimize the differences between these two files.
131062         (safe_read): Change comment to mention SAFE_READ_ERROR.
131064         * lib/safe-read.c (IS_EINTR): Define.
131065         (safe_read): Use IS_EINTR in place of in-function cpp directives.
131067 2002-12-02  Jim Meyering  <jim@meyering.net>
131069         * lib/safe-read.c (EINTR): Define.
131070         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
131071         (INT_MAX): Provide fallback.
131072         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
131074         * lib/safe-read.h (SAFE_READ_ERROR): Define.
131076 2002-12-02  Bruno Haible  <bruno@clisp.org>
131078         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
131079         Define, taken from safe-read.c.
131080         (INT_MAX): Provide fallback.
131081         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
131082         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
131084         * lib/safe-read.c (EINTR): Remove definition.
131085         (safe_read): Don't use EINTR if it is absent.
131087 2002-12-01  Jim Meyering  <jim@meyering.net>
131089         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
131090         zero.
131091         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
131093 2002-11-27  Paul Eggert  <eggert@twinsun.com>
131095         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
131096         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
131097         with `if (! (value < limit)) abort ();', for readability.
131099 2002-11-26  Karl Berry  <karl@gnu.org>
131101         * lib/strdup.c: copy from libc again, with jim's ok.
131102         * lib/.cppi-disable: re-add strdup.c
131104 2002-11-25  Karl Berry  <karl@gnu.org>
131106         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
131107         instead of "strtol.c".
131109 2002-11-25  Karl Berry  <karl@gnu.org>
131111         * config/install-sh: update from automake for variable quoting, $0 in
131112         error msgs, etc.
131114         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
131115         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
131116         entry.
131118 2002-11-25  Jim Meyering  <jim@meyering.net>
131120         * lib/mktime.c: Sync from libc, now that it has the latest fix.
131122 2002-11-24  Karl Berry  <karl@gnu.org>
131124         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
131125         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
131127 2002-11-24  Jim Meyering  <jim@meyering.net>
131129         Update from coreutils:
131131         * lib/mktime.c: Merge in changes from libc.
131133         Avoid a link-time failure on some Linux systems.
131134         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
131135         (otherwise).
131136         (__mon_yday): Declare with the STATIC attribute.
131137         (__mktime_internal): Likewise.
131138         Based on a report from Greg Schafer.
131140 2002-11-23  Jim Meyering  <jim@meyering.net>
131142         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
131143         Use `unsigned', not `int', as type of index.
131145         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
131147         * lib/fsusage.c: Remove unneeded parentheses around operands of
131148         `defined'.
131150 2002-11-22  Paul Eggert  <eggert@twinsun.com>
131152         * lib/quotearg.h: Allow multiple inclusion by surrounding with
131153         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
131154         so that we can be included first.
131155         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
131156         * lib/quotearg.c: Include quotearg.h immediately after config.h.
131157         No need to include stddef.h or sys/types.h any more.
131158         Surround local include files with "", not "<>".
131159         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
131160         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
131161         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
131162         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
131163         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
131164         (ISPRINT): Remove; no longer needed now that we assume C89.
131166         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
131167         Preserve errno.
131169         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
131170         quotearg_char): Use SIZE_MAX rather than
131171         (size_t) -1 when we are talking about "infinity".
131173         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
131175 2002-11-22  Paul Eggert  <eggert@twinsun.com>
131177         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
131178         hint that one should use `if (! x) abort ();' rather than `assert
131179         (x);', and anyway it's one less thing to worry about configuring.
131180         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
131181         hash_rehash, hash_insert): Use abort rather than assert.
131183 2002-11-22  Bruno Haible  <bruno@clisp.org>
131185         * lib/safe-read.h: Assume C89. Add comments.
131186         (safe_read): Change return type to size_t.
131187         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
131188         byte counts > SSIZE_MAX correctly.
131189         * lib/safe-write.h: New file.
131190         * lib/safe-write.c: New file.
131191         * lib/full-read.h: New file.
131192         * lib/full-read.c: New file.
131193         * lib/full-write.h: Assume C89. Add comments.
131194         * lib/full-write.c: Include safe-write.h.
131195         (full_write): Rewritten to use safe_write.
131196         Suggested by Jim Meyering and Paul Eggert.
131198 2002-11-21  Jim Meyering  <jim@meyering.net>
131200         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
131202         Merge in changes from the coreutils.
131204         2002-09-25  Paul Eggert  <eggert@twinsun.com>
131205         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
131206         <stdint.h>.
131207         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
131208         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
131209         int.  Work more efficiently if X is the same width as uintmax_t.
131210         Do not compare X to -1, to avoid bogus compiler warning.
131211         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
131212         Don't assume that f_frsize and f_bsize are the same type.
131214         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
131215         warning on FreeBSD.
131217         * lib/makepath.c (make_path): Restore umask *before* creating the final
131218         component.
131219         (make_path): Minor reformatting.
131221         * lib/xmalloc.c: Adjust to work with new autoconf macros,
131222         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
131223         HAVE_MALLOC/HAVE_REALLOC.
131225         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
131226         dummy ones.  At least on GNU/Linux systems, `auto' means something
131227         else.
131228         From Michael Stone.
131230 2002-11-21  Bruno Haible  <bruno@clisp.org>
131232         Remove case insensitive option matching.
131233         * lib/argmatch.h (argcasematch): Remove declaration.
131234         (ARGCASEMATCH): Remove macro.
131235         (__xargmatch_internal): Remove case_sensitive argument.
131236         (XARGMATCH): Update.
131237         (XARGCASEMATCH): Remove macro.
131238         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
131239         case_sensitive argument.
131240         (argcasematch): Remove function.
131241         (__xargmatch_internal): Remove case_sensitive argument.
131242         (main): Use XARGMATCH instead of XARGCASEMATCH.
131244         * lib/xmalloc.c: Change compile-time error message. Add comment about
131245         required autoconf version.
131247 2002-11-20  Paul Eggert  <eggert@twinsun.com>
131249         Merge argmatch cleanups from Bison.  Assume C89.
131251         * lib/argmatch.c: Include config.h here, not in argmatch.h.
131252         Include stdlib.h, for EXIT_FAILURE.
131253         Always include <string.h>, since we assume C89.
131254         (EXIT_FAILURE): Remove pre-C89 bug workaround.
131255         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
131256         Include <stddef.h> instead, since it's all we need for size_t.
131257         (PARAMS): Remove.  All uses removed.
131258         (ARRAY_CARDINALITY): Do not bother to #undef.
131259         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
131260         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
131261         Remove unnecessary parentheses.
131262         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
131263         Insert necessary parentheses.
131264         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
131265         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
131267 2002-11-19  Bruno Haible  <bruno@clisp.org>
131269         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
131270         * lib/mbswidth.h: Include <stddef.h>, for size_t.
131272         * lib/mbswidth.h (PARAMS): Remove macro.
131273         (mbswidth, mbsnwidth): Use ANSI C function declarations.
131274         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
131276         * lib/gcd.h (PARAMS): Remove macro.
131277         (gcd): Use ANSI C function declarations.
131278         * lib/gcd.c (gcd): Likewise.
131280 2002-11-15  Bruno Haible  <bruno@clisp.org>
131282         * lib/strcspn.c: Include <stddef.h>.
131283         (strcspn): Use ANSI C function declaration. Change return type to
131284         size_t. Use NULL.
131285         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
131286         (strpbrk): Use NULL.
131287         * lib/strpbrk.h (PARAMS): Remove macro.
131288         (strpbrk): Use ANSI C function declaration.
131289         * lib/strstr.c: Don't include <sys/types.h>.
131290         * lib/strstr.h (PARAMS): Remove macro.
131291         (strstr): Use ANSI C function declarations.
131293 2002-11-14  Karl Berry  <karl@gnu.org>
131295         * config/mkinstalldirs: `do' on separate line, instead of
131296         `for var; do'.
131298 2002-11-06  Bruno Haible  <bruno@clisp.org>
131300         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
131301         * lib/gcd.c (gcd): Likewise.
131303 2002-11-05  Bruno Haible  <bruno@clisp.org>
131305         * lib/gcd.h: New file, from gettext-0.11.5.
131306         * lib/gcd.c: New file, from gettext-0.11.5.
131308 2002-11-05  Bruno Haible  <bruno@clisp.org>
131310         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131311         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131312         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131313         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
131315         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
131316         <libintl.h>.
131317         * lib/makepath.c: Include gettext.h instead of <locale.h> and
131318         <libintl.h>.
131320         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
131321         * lib/human.c: Include gettext.h instead of <libintl.h>.
131322         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
131323         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
131324         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
131325         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
131326         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
131327         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
131328         (textdomain): Remove definition.
131329         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
131331         * lib/long-options.c: Remove include of <libintl.h> and definition of
131332         _.
131333         * lib/same.c: Remove include of <libintl.h> and definition of _.
131335 2002-11-04  Owen Taylor  <otaylor@redhat.com>
131337         * lib/config.charset: A few additions for Solaris.
131339 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
131341         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
131342         * lib/localcharset.c (locale_charset): Declare as extern "C".
131344 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
131346         * lib/config.charset: msdos in uk_UA uses CP1125.
131348 2002-11-04  Bruno Haible  <bruno@clisp.org>
131350         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
131351         * lib/strcase.h: New file, from GNU gettext-0.11.5.
131352         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
131353         * lib/strstr.h: New file, from GNU gettext-0.11.5.
131354         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
131356 2002-11-04  Bruno Haible  <bruno@clisp.org>
131358         * lib/localcharset.c (locale_charset): Don't return an empty string.
131360 2002-11-04  Bruno Haible  <bruno@clisp.org>
131362         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
131363         aliases.
131365 2002-11-04  Bruno Haible  <bruno@clisp.org>
131367         * lib/config.charset: Update for newest glibc. Add canonical names
131368         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
131370 2002-11-04  Bruno Haible  <bruno@clisp.org>
131372         * lib/config.charset: Add support for NetBSD.
131374 2002-11-04  Bruno Haible  <bruno@clisp.org>
131376         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
131378 2002-11-01  Bruno Haible  <bruno@clisp.org>
131380         * configure.in: Add AC_CONFIG_AUX_DIR call.
131381         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
131382         test/Makefile.
131383         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
131385 2002-09-28  Karl Berry  <karl@gnu.org>
131387         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
131388         installed automake until the next release, since changes have been
131389         made.
131391 2002-09-25  Karl Berry  <karl@gnu.org>
131393         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
131394         * lib/getopt*: copy from libc/posix.
131395         * lib/gettext.h: copy from gettext.
131396         * lib/.cppi-disable: add strdup.c, gettext.h.
131398 2002-09-25  Karl Berry  <karl@gnu.org>
131400         * config/srclist.txt: enable gettext.h check.
131401         * config/config.{guess,sub}: update from prep.
131402         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
131403                 from automake 1.6.3.
131404         See srclist*.
131406 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
131408         * regex.c (PATFETCH): Remove the translating fetch.
131409         (PATFETCH_RAW): Rename to PATFETCH.
131410         (set_image_of_range): New fun.
131411         (SET_RANGE_TABLE_WORK_AREA): Use it.
131412         (regex_compile): Don't translate the pattern chars so eagerly.
131413         Only do it when inserting an `exactn' bytecode or when handling
131414         a char-range.
131415         (mutually_exclusive_p): Avoid empty statement.
131417 2002-07-06  Jim Meyering  <meyering@lucent.com>
131419         * m4/README: Don't mention Makefile.am.in.
131420         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
131422 2002-07-01  Jim Meyering  <meyering@lucent.com>
131424         * lib/c-stack.c: Include sys/time.h.
131425         From Volker Borchert.
131427 2002-06-26  Paul Eggert  <eggert@twinsun.com>
131429         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
131431 2002-06-26  Paul Eggert  <eggert@twinsun.com>
131433         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
131434         New macro.  Use it uniformly instead of
131435         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
131436         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
131437         reported by Vin Shelton.
131439 2002-06-22  Paul Eggert  <eggert@twinsun.com>
131441         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
131442         Do not assume SA_SIGINFO behavior.
131443         Bug reported by Jim Meyering on NetBSD 1.5.2.
131445 2002-06-22  Jim Meyering  <meyering@lucent.com>
131447         * m4/c-stack.m4: New file, from diffutils-2.8.2.
131448         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
131450         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
131451         now that configure.ac uses AC_GNU_SOURCE.
131452         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
131453         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
131455         Update to latest tools.  Suggestions from Paul Eggert.
131456         * m4/stdbool.m4: New file, from diffutils-2.8.2.
131457         * m4/gnu-source.m4: Update from diffutils-2.8.2.
131458         * m4/fnmatch.m4: Likewise.
131459         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
131460         to AC_HEADER_STDBOOL
131462 2002-06-22  Jim Meyering  <meyering@lucent.com>
131464         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
131465         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
131467 2002-06-22  Jim Meyering  <meyering@lucent.com>
131469         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
131471         * lib/exitfail.c, exitfail.h: Likewise.
131472         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
131474         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
131475         of fnmatch.h.
131476         (EXTRA_DIST): Add fnmatch_loop.c.
131477         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
131479         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
131480         * lib/fnmatch.c: Update from diffutils-2.8.2.
131481         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
131482         * lib/fnmatch.h: Remove file.
131484 2002-06-21  Jim Meyering  <meyering@lucent.com>
131486         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
131487         * m4/mbrtowc.m4: Likewise.
131489         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
131490         * m4/mbswidth.m4: Reflect name change:
131491         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
131492         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
131494         * m4/lib-link.m4: Update from gettext-0.11.2.
131495         * m4/gettext.m4: Likewise.
131497         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
131498         From Alfred M. Szmidt.
131500 2002-06-18  Paul Eggert  <eggert@twinsun.com>
131502         * lib/file-type.h: Report an error if neither S_ISREG nor
131503         S_IFREG is defined, instead of using a test specific to glibc
131504         2.2.  This should be safe, since POSIX requires S_ISREG and
131505         Unix Version 7 had S_IFREG.  We don't need to check for
131506         <sys/types.h> since we don't use any symbols that it defines.
131508 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
131510         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
131511         $@-t, so that each temporary file name is unique and valid in the first
131512         8 characters, for operation under DOS.
131514 2002-06-15  Paul Eggert  <eggert@twinsun.com>
131516         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
131518 2002-06-15  Jim Meyering  <meyering@lucent.com>
131520         Work even with DJGPP 2.03, which lacks support for symlinks.
131521         From Richard Dawe.
131522         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
131523         is defined.
131524         * lib/lchown.c (S_ISLNK): Likewise.
131526 2002-06-15  Jim Meyering  <meyering@lucent.com>
131528         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
131529         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
131530         have been included before this file.
131532 2002-06-14  Jim Meyering  <meyering@lucent.com>
131534         * lib/file-type.h: Use the version from diffutils-2.8.2.
131535         * lib/file-type.c: Likewise.
131537 2002-06-07  Jim Meyering  <meyering@lucent.com>
131539         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
131540         They're needed at least for NetBSD 1.5.2.
131541         ($statxfs_includes): Include those same headers.
131542         ($statxfs_includes): Include sys/vfs.h if available.
131543         ($statxfs_includes): Likewise for sys/statvfs.h.
131544         Check for the following members in both structs statfs and statvfs:
131545         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
131547 2002-06-01  Jim Meyering  <meyering@lucent.com>
131549         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
131550         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
131552 2002-05-28  Jim Meyering  <meyering@lucent.com>
131554         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
131555         Reported by Volker Borchert.
131557 2002-05-27  Jim Meyering  <meyering@lucent.com>
131559         Fix a problem seen only on nonconforming systems whereby ls.c's
131560         use of localtime, and then of gettimeofday would cause trouble:
131561         the localtime call used to initialize rpl_gettimeofday's save
131562         mechanism would clobber ls's current local time information so
131563         that in any long listing the first file would always be listed
131564         with date 1970-01-01.  Analysis by Volker Borchert.
131566         * lib/gettimeofday.c (localtime): Undefine.
131567         (rpl_localtime): New function.
131569 2002-05-27  Jim Meyering  <meyering@lucent.com>
131571         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
131572         localtime.
131574         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
131575         use the replacement function; it wouldn't resolve at link time.
131576         Reported by Volker Borchert.
131578 2002-05-22  Jim Meyering  <meyering@lucent.com>
131580         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
131581         file-type.h.
131582         * lib/file-type.h: New file.
131583         * lib/file-type.c (file_type): New file/function.  Extracted from
131584         diffutils.
131586 2002-04-30  Jim Meyering  <meyering@lucent.com>
131588         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
131590 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131592         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
131594 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131596         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
131597         Do not check for alloca.h (no longer used) or stdbool.h (was never
131598         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
131600 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131602         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
131604 2002-04-29  Jim Meyering  <meyering@lucent.com>
131606         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
131607         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
131608         Use AC_FUNC_STRNLEN here instead.
131610         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
131611         With autoconf-2.53a, it's part of AC_PROG_CC.
131613 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131615         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
131616         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
131618 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131620         * lib/sig2str.h, lib/sig2str.c: New files.
131621         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
131623 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131625         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
131626         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
131627         of 127, since 64 is the largest conceivable number for ancient
131628         nonstandard hosts.
131629         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
131631 2002-04-28  Jim Meyering  <meyering@lucent.com>
131633         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
131635 2002-04-24  Jim Meyering  <meyering@lucent.com>
131637         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
131638         (jm_PREREQ): Use it.
131640         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
131641         mach/mach.h fcntl.h.
131642         Check for this function: setlocale.
131644 2002-04-24  Jim Meyering  <meyering@lucent.com>
131646         * lib/gettext.h: New file, from Gettext.
131647         * lib/Makefile.am (INCLUDES): Remove -I../intl.
131648         (libfetish_a_SOURCES): Add gettext.h.
131650 2002-04-16  Jim Meyering  <meyering@lucent.com>
131652         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
131653         ut_pid, ut_id, ut_exit.
131655 2002-04-16  Jim Meyering  <meyering@lucent.com>
131657         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
131658         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
131659         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
131661 2002-04-12  Jim Meyering  <meyering@lucent.com>
131663         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
131664         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
131665         existence of the getmntinfo function.  Needed for Darwin 5.3.
131667         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
131668         This is necessary at least on Darwin 5.3.
131670         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
131671         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
131672         strnlen.o in the library, and that makes some versions of ranlib
131673         object.
131675 2002-04-12  Jim Meyering  <meyering@lucent.com>
131677         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
131679 2002-04-09  Jim Meyering  <meyering@lucent.com>
131681         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
131682         to be more precise.  Rather than saying we're checking whether the
131683         function `works', say what we're testing.
131684         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
131685         Reported by Bruno Haible.
131687 2002-03-10  Jim Meyering  <meyering@lucent.com>
131689         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
131690         Suggestion from Santiago Vila.
131692 2002-03-08  Jim Meyering  <meyering@lucent.com>
131694         * lib/rename.c: Mention that this wrapper is needed also on
131695         mips-dec-ultrix4.4 systems.
131697 2002-03-02  Jim Meyering  <meyering@lucent.com>
131699         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
131700         not HAVE_CLOCK_SETTIME.
131702 2002-02-27  Paul Eggert  <eggert@twinsun.com>
131704         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
131705         Check for clock_settime.
131707 2002-02-27  Paul Eggert  <eggert@twinsun.com>
131709         * lib/nanosleep.h: Rename to....
131710         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
131712         * lib/gettime.c: New file.
131713         * lib/settime.c: New file.
131714         * lib/stime.c: Remove.
131716         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
131717         timespec.h.  Remove nanosleep.h.
131719 2002-02-25  Paul Eggert  <eggert@twinsun.com>
131721         * m4/acl.m4: New file.
131722         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
131723         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
131725 2002-02-25  Paul Eggert  <eggert@twinsun.com>
131727         * lib/acl.c, lib/acl.h: New files.
131728         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
131730 2002-02-24  Jim Meyering  <meyering@lucent.com>
131732         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
131733         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
131734         cause trouble.  Reported by Nelson Beebe.
131736 2002-02-23  Paul Eggert  <eggert@twinsun.com>
131738         * lib/path-concat.c (xpath_concat): Reorder code to pacify
131739         compilers that don't know that xalloc_die never returns.
131741 2002-02-20  Jim Meyering  <meyering@lucent.com>
131743         * lib/getdate.c: Regenerate using bison-1.33.
131745 2002-02-17  Jim Meyering  <meyering@lucent.com>
131747         * config/config.guess (main): Don't use `head -1'; it's no longer
131748         portable. Use `sed 1q' instead.
131750 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
131752         * m4/codeset.m4: Upgrade to gettext-0.11.
131753         * m4/gettext.m4: Upgrade to gettext-0.11.
131754         * m4/glibc21.m4: Upgrade to gettext-0.11.
131755         * m4/iconv.m4: Upgrade to gettext-0.11.
131756         * m4/isc-posix.m4: Upgrade to gettext-0.11.
131757         * m4/lcmessage.m4: Upgrade to gettext-0.11.
131758         * m4/lib-ld.m4: New file, from gettext-0.11.
131759         * m4/lib-link.m4: New file, from gettext-0.11.
131760         * m4/lib-prefix.m4: New file, from gettext-0.11.
131761         * m4/progtest.m4: Upgrade to gettext-0.11.
131763 2002-02-15  Paul Eggert  <eggert@twinsun.com>
131765         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
131766         (jm_PREREQ): Use it.
131768 2002-02-15  Paul Eggert  <eggert@twinsun.com>
131770         * lib/posixver.c, lib/posixver.h: New files.
131771         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
131773 2002-02-02  Paul Eggert  <eggert@twinsun.com>
131774             Bruno Haible  <bruno@clisp.org>
131776         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
131777         (fwrite_success_callback): New declaration.
131778         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
131779         print_unicode_char. Call failure callback instead of error.
131780         (fwrite_success_callback): New function.
131781         (exit_failure_callback): New function.
131782         (fallback_failure_callback): New function.
131783         (print_unicode_char): Call unicode_to_mb.
131785 2002-01-26  Jim Meyering  <meyering@lucent.com>
131787         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
131788         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
131790 2002-01-26  Jim Meyering  <meyering@lucent.com>
131792         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
131794 2002-01-22  Paul Eggert  <eggert@twinsun.com>
131796         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
131798 2002-01-22  Jim Meyering  <meyering@lucent.com>
131800         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
131801         Otherwise, some versions of automake would omit the rule that makes
131802         Makefile from Makefile.in.
131804 2002-01-21  Paul Eggert  <eggert@twinsun.com>
131806         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
131807         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
131808         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
131809         (memcoll): Set errno to zero if there is no error.
131811         * lib/quotearg.c (quotearg_buffer_restyled):
131812         Fix bug with quoting buffers containing NUL when backslashing escapes.
131813         This bug was exposed by the other changes in this patch.
131814         (quotearg_n_options): New arg ARGSIZE.
131815         All callers changed.
131816         (quoting_options_from_style): New function.
131817         (quotearg_n_style): Use it.
131818         (quotearg_n_style_mem): New function.
131820         * lib/quotearg.h (quotearg_n_style_mem): New function.
131822 2002-01-19  Jim Meyering  <meyering@lucent.com>
131824         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
131825         Remove useless quotes: DF_PROG="df".
131826         * m4/strnlen.m4: New file.
131828 2002-01-16  Paul Eggert  <eggert@twinsun.com>
131830         * lib/backupfile.c (ISDIGIT): Comment fix.
131831         * lib/getdate.y (ISDIGIT): Likewise.
131832         * lib/posixtm.c (ISDIGIT, year): Likewise.
131833         * lib/strverscmp.c (ISDIGIT): Likewise.
131834         * lib/userspec.c (ISDIGIT): Likewise.
131836 2002-01-16  Jim Meyering  <meyering@lucent.com>
131838         * lib/getdate.y: Add three semicolons, each just before a closing
131839         brace. Bison (as of version 1.31) no longer papers over that mistake.
131841 2002-01-05  Jim Meyering  <meyering@lucent.com>
131843         * lib/version-etc.c (version_etc_copyright): Update copyright year.
131845 2001-12-19  Paul Eggert  <eggert@twinsun.com>
131847         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
131848         not silently exit merely because the output buffer happens to
131849         have nothing pending.
131851 2001-12-18  Paul Eggert  <eggert@twinsun.com>
131853         See the big note in ../ChangeLog.
131854         * lib/human.c (suffixes): Prefer K to k for 1024.
131855         (generate_suffix_backwards): New function.
131856         (human_readable_inexact): Use it.
131857         * lib/xstrtol.c (__xstrtol): If there is no number but there
131858         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
131859         Accept 'K' as well as 'k'.
131861 2001-12-15  Jim Meyering  <meyering@lucent.com>
131863         * lib/regex.h (__restrict_arr): Update from libc.
131865         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
131866         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
131867         (STREQ): Define.
131869 2001-12-14  Jim Meyering  <meyering@lucent.com>
131871         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
131872         Suggestion from Bruno Haible.
131874 2001-12-10  Jim Meyering  <meyering@lucent.com>
131876         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
131877         xrealloc, Instead, include "xalloc.h".
131878         (initbuffer): Don't cast xmalloc return value to char*.
131879         (readline): Reword comment.
131880         Don't cast xrealloc return value to char*
131881         Return NULL, not 0.
131883 2001-12-09  Jim Meyering  <meyering@lucent.com>
131885         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
131886         about `signed and unsigned type in conditional expression'.
131887         * lib/posixtm.c (posix_time_parse): Likewise.
131889         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
131891         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
131892         to avoid a pedantic warning.
131894         * lib/getstr.c: Don't include assert.h.
131895         (getstr): Remove warning-evoking assertions.
131896         Return -1 if offset parameter is out of bounds.
131897         Change the type of a local from int to size_t.
131899         * lib/strftime.c (my_strftime_localtime_r): Include this function
131900         definition in the `#if ! HAVE_TM_GMTOFF' block.
131902         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
131903         Include xalloc.h instead.
131905 2001-12-02  Jim Meyering  <meyering@lucent.com>
131907         * lib/tempname.c: Don't declare getenv, thus reverting the change of
131908         2001-11-18.  It's no longer necessary, now that stdlib.h is always
131909         included.
131911         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
131912         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
131914 2001-11-30  Akim Demaille  <akim@epita.fr>
131916         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
131917         before being defined.
131919 2001-11-27  Paul Eggert  <eggert@twinsun.com>
131921         * lib/quotearg.h (quotearg_n, quotearg_n_style):
131922         First arg is int, not unsigned.
131923         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
131924         (SIZE_MAX, UINT_MAX): New macros.
131925         (quotearg_n_options): Abort if N is negative.
131926         Avoid overflow check on hosts where size_t is 64 bits and int
131927         is 32 bits, as overflow is impossible there.
131928         Fix off-by-one typo that caused unnecessary reallocation.
131930 2001-11-27  Jim Meyering  <meyering@lucent.com>
131932         * lib/tempname.c: Merge with version from libc.
131933         * lib/regex.c: Likewise.
131935         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
131936         systems for which STDC_HEADERS is 0, it was not included, resulting in
131937         a warning about an integer-to-pointer conversion problem with getenv.
131938         Reported by Volker Borchert.
131940 2001-11-26  Jim Meyering  <meyering@lucent.com>
131942         * lib/gtod.h: Remove file.
131943         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
131944         * lib/gettimeofday.c: Don't include gtod.h.
131945         (GTOD_init): Remove function.
131946         (rpl_gettimeofday): Do its job here instead, rather than aborting.
131947         Suggestion from Volker Borchert.
131949 2001-11-23  Jim Meyering  <meyering@lucent.com>
131951         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
131952         it.
131953         * lib/hash.c (struct hash_table): Define it here instead.
131955 2001-11-22  Jim Meyering  <meyering@lucent.com>
131957         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
131959 2001-11-20  Jim Meyering  <meyering@lucent.com>
131961         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
131962         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
131964 2001-11-19  Jim Meyering  <meyering@lucent.com>
131966         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
131967         directory.  Use "conftestXXXXXX" as the template.
131968         Suggestion from Paul Eggert.
131970         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
131971         immediately, so the test doesn't mistakenly hit the max-open-files
131972         limit.
131974 2001-11-18  Paul Eggert  <eggert@twinsun.com>
131976         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
131977         (TEMPORARIES): New macro.
131978         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
131979         removes an artificial limitation (e.g. HP-UX 10.20, where
131980         TMP_MAX is 17576).
131982 2001-11-18  Jim Meyering  <meyering@lucent.com>
131984         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
131986 2001-11-18  Jim Meyering  <meyering@lucent.com>
131988         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
131989         on SunOS 4.
131991         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
131992         files will be created before anything else.
131994 2001-11-17  Paul Eggert  <eggert@twinsun.com>
131996         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
131997         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
131999 2001-11-17  Jim Meyering  <meyering@lucent.com>
132001         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
132002         Prompted by a report from Bob Proulx.
132004         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
132005         Instead, require UTILS_FUNC_MKSTEMP.
132007 2001-11-17  Jim Meyering  <meyering@lucent.com>
132009         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
132010         Now, that's done as part of AC_FUNC_STRTOD.
132012 2001-11-17  Jim Meyering  <meyering@lucent.com>
132014         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
132015         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
132016         rather than group writable.  Patch by Juan F. Codagnone.
132018         * lib/readtokens.c: Remove explicit declarations of xmalloc and
132019         xrealloc, Instead, include "xalloc.h".
132021         * lib/mountlist.c: Include unlocked-io.h after all system headers.
132022         Remove explicit declarations of xmalloc, xrealloc,
132023         and xstrdup.  Instead, include "xalloc.h".
132025         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
132026         unlocked-io.h.
132027         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
132028         Likewise.
132029         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
132031         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
132032         Reported by Padraig Brady.
132034         * lib/mkstemp.c: #undef mkstemp.
132035         Include config.h.
132036         (rpl_mkstemp): Rename from mkstemp.
132037         Protoize.
132039 2001-11-16  Jim Meyering  <meyering@lucent.com>
132041         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
132042         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
132043         determine the amount of total physical memory, use pstat_getstatic.
132044         HPUX-11 doesn't define _SC_PHYS_PAGES.
132045         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
132046         If sysconf couldn't be used to determine the amount of available
132047         physical memory, use both pstat_getstatic and pstat_getdynamic.
132048         Based on a patch from Bob Proulx.
132050 2001-11-10  Jim Meyering  <meyering@lucent.com>
132052         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
132053         (jm_PREREQ): Use it.
132055 2001-11-09  Jim Meyering  <meyering@lucent.com>
132057         * m4/jm-macros.m4: Require autoconf-2.52f.
132058         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
132059         Use these AC_-prefixed names, not the AM_-prefixed ones.
132061         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
132063 2001-11-05  Jim Meyering  <meyering@lucent.com>
132065         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
132067 2001-11-04  Jim Meyering  <meyering@lucent.com>
132069         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
132070         $DEFS.
132072 2001-11-03  Jim Meyering  <meyering@lucent.com>
132074         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
132075         of AC_DEFUN.
132077         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
132078         know the name of the variable in the macro definition.
132080 2001-11-03  Jim Meyering  <meyering@lucent.com>
132082         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
132083         in argmatch_to_argument call.
132085         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
132086         argument.
132088         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
132089         e.g., a fault due to an attempt to free a NULL pointer.
132091 2001-11-01  Jim Meyering  <meyering@lucent.com>
132093         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
132094         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
132096 2001-11-01  Jim Meyering  <meyering@lucent.com>
132098         * lib/dirfd.c, lib/dirfd.h: New files.
132099         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
132101         * lib/hash.c (hash_print) [TESTING]: Clean up.
132103 2001-10-22  Paul Eggert  <eggert@twinsun.com>
132105         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
132106         to avoid a warning if -Wall.
132108 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
132110         * README: New file
132111         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
132112         (per RMS's instructions, this is now the canonical source)
132113         * lgpl/, gpl/: New directories.
132115 2001-10-21  Paul Eggert  <eggert@twinsun.com>
132117         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
132119 2001-10-21  Jim Meyering  <meyering@lucent.com>
132121         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
132122         this code would end up calling gettext even in packages built
132123         with --disable-nls.
132124         * lib/getopt.c (_): Likewise.
132125         * lib/regex.c (_): Likewise.
132127 2001-10-20  Paul Eggert  <eggert@twinsun.com>
132129         * m4/error.m4 (jm_PREREQ_ERROR):
132130         Do not invoke AC_CHECK_FUNCS with strerror_r, as
132131         AC_FUNC_STRERROR_R does that.
132132         Check for strerror declaration.
132134         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
132135         are supposed to have them these days.
132136         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
132137         Merge changes from latest Autoconf CVS.
132138         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
132139         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
132140         POSIX decided to standardize on the int flavor of strerror_r.
132142 2001-10-20  Paul Eggert  <eggert@twinsun.com>
132144         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
132145         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
132146         Use strerror_r that is only a macro, even if it is not a function.
132147         (strerror): Check for HAVE_DECL_STRERROR before declaring.
132148         (private_strerror): Use prototypes, not old-style function definition.
132149         (print_errno_message): New function.
132150         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
132151         char*-flavored one.
132152         (error_tail, error, error_at_line): Use it.
132154 2001-10-11  Jim Meyering  <meyering@lucent.com>
132156         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
132157         and quote_n (1, ... to avoid clobbering a buffer.
132159 2001-10-05  Jim Meyering  <meyering@lucent.com>
132161         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
132162         hash-pjw.h.
132163         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
132164         * lib/hash-pjw.h: New file.
132166 2001-09-30  Jim Meyering  <meyering@lucent.com>
132168         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
132169         `struct fsstat' has the `f_fstypename' member.
132170         Use that to define FS_TYPE, which is now used to make
132171         the getfsstat link test tighter.
132173 2001-09-30  Jim Meyering  <meyering@lucent.com>
132175         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
132176         Include <sys/ucred.h>, for Apple Darwin.
132177         Include sys/mount.h and sys/fs_types.h only if available.
132178         (FS_TYPE): Define.
132179         (read_filesystem_list): Use FS_TYPE.
132181 2001-09-29  Paul Eggert  <eggert@twinsun.com>
132183         * lib/exclude.c (excluded_filename): 0 -> false, since it's
132184         a boolean context.
132186 2001-09-29  Jim Meyering  <meyering@lucent.com>
132188         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
132189         [one-argument getmntent function]): Include stdio.h before mntent.h.
132190         SunOS 4.1.x needs it for the declaration of `FILE'.
132191         Patch by Volker Borchert.
132193         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
132194         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
132195         sys/fs_types.h, and make the link-test for getfsstat guard #include
132196         directives with appropriate #if HAVE_*_H tests so that we can
132197         detect getfsstat on Apple Darwin1.3.7 systems.
132198         Reported by Nelson Beebe.
132199         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
132201 2001-09-28  Paul Eggert  <eggert@twinsun.com>
132203         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
132204         #defines strtoimax.  Also treat the other strto* functions
132205         like strtoimax.
132207         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
132208         Check for strtoul and strtoumax,
132209         as those declarations are made even in the signed case.
132210         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
132211         Likewise, for strtol and strtoimax.
132213 2001-09-28  Paul Eggert  <eggert@twinsun.com>
132215         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
132216         #defines strtoimax.  Also treat the other strto* functions
132217         like strtoimax.
132219         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
132220         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
132221         (strtoimax, strtoumax): Do not declare if already defined as a macro.
132223 2001-09-26  Jim Meyering  <meyering@lucent.com>
132225         Most macros in unlocked-io.h had the wrong number of arguments.
132226         * lib/gen-uio: New script.
132227         (USE_UNLOCKED_IO): Define to 1 if not already defined.
132228         * lib/unlocked-io.hin: Remove file.
132229         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
132230         rather than trying to embed it here.
132231         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
132232         Reported by Padraig Brady.
132234 2001-09-25  Volker Borchert  <bt@teknon.de>
132236         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
132237         `result'.
132239 2001-09-24  Jim Meyering  <meyering@lucent.com>
132241         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
132243 2001-09-23  Jim Meyering  <meyering@lucent.com>
132245         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
132246         instead of the mere test for existence of mntent.h.  The latter
132247         would get a false-positive on AIX 3.4 systems.
132248         In the outer getmntent if-block, don't die if neither of the getmntent
132249         tests succeeds.  Instead, just fall through and continue with the
132250         remaining tests.
132252 2001-09-23  Jim Meyering  <meyering@lucent.com>
132254         * lib/mountlist.c: Remove useless parentheses in #if directives.
132255         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
132256         the deprecated MOUNTED symbol is no longer defined in mntent.h.
132258 2001-09-22  Jim Meyering  <meyering@lucent.com>
132260         * m4/gettext.m4: New file.  From gettext.
132261         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
132262         * m4/progtest.m4: Likewise
132263         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
132264         * m4/glibc21.m4: Likewise.
132266         * m4/libintl.m4: Remove.  No longer used.
132268 2001-09-22  Jim Meyering  <meyering@lucent.com>
132270         * lib/localcharset.c: Update from latest gettext.
132271         * lib/config.charset: Likewise.
132273 2001-09-20  Jim Meyering  <meyering@lucent.com>
132275         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
132276         strtoimax.
132277         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
132278         strtoumax.
132280 2001-09-20  Jim Meyering  <meyering@lucent.com>
132282         * lib/xstrtol.c (strtoimax): Guard declaration with
132283         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
132284         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
132285         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
132286         (strtoumax): Likewise, for completeness (it wasn't necessary).
132288 2001-09-17  Paul Eggert  <eggert@twinsun.com>
132290         * lib/strtoimax.c (HAVE_LONG_LONG):
132291         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
132292         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
132293         to work around bug in IBM C compiler.
132295 2001-09-17  Jim Meyering  <meyering@lucent.com>
132297         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
132298         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
132299         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
132300         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
132301         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
132302         whenever the right hand side need not be expanded by the shell.
132304 2001-09-16  Paul Eggert  <eggert@twinsun.com>
132306         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
132307         library.  It's not correct, as some older glibcs are buggy.
132308         fnmatch wasn't fixed until glibc 2.2.
132310         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
132311         special shell magic here.
132313 2001-09-16  Jim Meyering  <meyering@lucent.com>
132315         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
132316         * m4/jm-macros.m4: Require it.
132318 2001-09-16  Jim Meyering  <meyering@lucent.com>
132320         * lib/mkdir.c: New file.
132322 2001-09-15  Jim Meyering  <meyering@lucent.com>
132324         * m4/jm-macros.m4: Check for help2man.
132326 2001-09-11  Jim Meyering  <meyering@lucent.com>
132328         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
132329         The body, by Paul Eggert, was moved here from configure.in.
132330         * m4/jm-macros.m4: Require UTILS_HOST_OS.
132332 2001-09-04  Paul Eggert  <eggert@twinsun.com>
132334         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
132335         (jm_PREREQ): Use it.
132337 2001-09-04  Paul Eggert  <eggert@twinsun.com>
132339         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
132340         Use ssize_t, not int, to store result of readlink.
132341         Check for ssize_t overflow as well as size_t overflow,
132342         as POSIX says the result of readlink is implementation-defined
132343         when ssize_t overflows.
132344         Remove unnecessary cast to char*.
132345         Use free+malloc instead of realloc, as the storage doesn't need
132346         to be preserved and it's clearer and can be more efficient that way.
132347         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
132348         * lib/xreadlink.h (xreadlink): Update prototype.
132350 2001-09-04  Paul Eggert  <eggert@twinsun.com>
132352         * lib/xgetcwd.c: Revert some of the previous change; intead,
132353         fix the HAVE_GETCWD_NULL code to behave more like the
132354         !HAVE_GETCWD_NULL code used to.
132356         Include "xalloc.h".
132357         (xgetcwd): Do not return NULL when memory is exhausted; instead,
132358         invoke xalloc_die.
132360 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132362         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
132363         sys/param.h, as pathmax.h includes them.
132365 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132367         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
132368         (jm_PREREQ_XGETCWD): New macro.
132370         * m4/getcwd.m4: New file.
132372 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132374         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
132375         like the HAVE_GETCWD_NULL code.
132376         Include pathmax.h if not HAVE_GETCWD.
132377         Do not include xalloc.h.
132378         (INITIAL_BUFFER_SIZE): New symbol.
132379         Do not use xmalloc / xrealloc, since the caller is responsible for
132380         handling errors.  Preserve errno around `free' during failure.
132381         Do not overrun buffer when using getwd.
132383 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132385         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
132386         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
132387         getcwd (NULL, 0).
132389 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132391         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
132392         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
132393         spotted by Jim Meyering.
132395 2001-09-03  Jim Meyering  <meyering@lucent.com>
132397         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
132398         failure.
132400 2001-09-02  Jim Meyering  <meyering@lucent.com>
132402         * lib/error.c: Update from GNU libc.
132404 2001-09-01  Jim Meyering  <meyering@lucent.com>
132406         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
132407         Used by df.
132409 2001-09-01  Jim Meyering  <meyering@lucent.com>
132411         * lib/xreadlink.c: New file.
132412         * lib/xreadlink.h: New file.
132413         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
132414         xreadlink.h.
132416         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
132417         doesn't conflict with sparc Solaris 7's definition in
132418         /usr/include/sys/int_types.h.
132420         * lib/exclude.c: Use `""', not `<>' to #include non-system header
132421         files.
132422         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
132423         and strncasecmp as r-values.  Unixware didn't have declarations.
132425 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132427         * lib/xstrtol.h: Add copyright notice.
132428         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
132429         LONGINT_INVALID_SUFFIX_CHAR.
132431 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132433         * lib/xstrtol.c (strtoimax): New decl.
132435 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132437         * lib/xgetcwd.c: Don't include pathmax.h.
132438         Include stdlib.h and unistd.h if available.
132439         Include xalloc.h.
132440         (xmalloc, xstrdup, free): Remove decls.
132441         (xgetcwd): Don't assume sizes fit in unsigned.
132442         Check for overflow when computing sizes.
132443         Simplify reallocation code.
132445 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132447         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
132448         a directory's st_size can have an arbitrary value, so the old
132449         usage could waste an arbitrary amount of memory.  All uses
132450         changed.
132451         * lib/savedir.h: Update prototype.
132453 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132455         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
132457         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
132458         old strtoimax.c.
132460         Also, make the following further changes to make this file's
132461         configuration more similar to that of strtol.c:
132462         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
132463         (strtoumax, uintmax_t, strtoull, strtol): Remove.
132464         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
132465         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
132466         changed to signed values.
132468         And make the following changes as well:
132469         Fix copyright notice, as 1999 was missing.
132470         (verify): New macro.
132471         (strtoimax): Check sizes at compile-time, not run-time.
132472         Prefer strtol to strtoll if both work.
132473         (main): Remove; it was not that useful and was a pain to maintain.
132475         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
132477 2001-08-31  Jim Meyering  <meyering@lucent.com>
132479         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
132480         Use an initial, malloc'd, buffer of length 128 rather than
132481         a statically allocated one of length 1024.
132483 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132485         Simplify code, partly by assuming autoconf 2.52 semantics.
132487         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
132489         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
132490         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
132491         All uses removed.
132492         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
132493         Move AC_REQUIRE to next-to-top level, to avoid confusion.
132494         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
132495         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
132496         jm_AC_HEADER_INTTYPES_H.
132497         * m4/jm-macros.m4 (jm_MACROS): Likewise.
132499         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
132501         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
132502         Quote first arg of AC_DEFUN.
132503         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
132504         since they are needed to parse the include file even if we need
132505         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
132506         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
132507         but with opposite signedness.
132509 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132511         Merge 'exclude' changes from tar 1.13.22.
132512         This fixes one or two unlikely storage allocation overflow bugs,
132513         but doesn't change user-visible behavior otherwise.
132515 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132517         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
132518         (jm_PREREQ_EXCLUDE): New macro.
132520 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132522         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
132523         tm to be declared.
132525 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132527         * lib/hash.c: Remove '2001' from copyright notice.
132529 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132531         * lib/full-write.h: New file.
132532         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
132533         * lib/full-write.c: Correct credits, as cccp.c no longer
132534         exists and anyway it was so heavily changed from the old cccp
132535         code as to be unrecognizable.  Include full-write.h.
132536         (full_write): Return size_t, with short writes meaning failure.
132537         All callers changed.  This fixes a bug with large buffers
132538         on 64-bit hosts.
132539         * lib/utime.c: Include full-write.h.
132541 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132543         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
132544         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
132545         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
132546         Include if available.
132547         (<xalloc.h>): Include
132548         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
132549         (verify): New macro.  Use it to verify that EXCLUDE macros do not
132550         collide with FNM macros.
132551         (struct patopts): New struct.
132552         (struct exclude): Use it, as exclude patterns now come with options.
132553         (new_exclude): Support above changes.
132554         (new_exclude, add_exclude_file):
132555         Initial size must now be a power of two to simplify overflow checking.
132556         (free_exclude, fnmatch_no_wildcards): New function.
132557         (excluded_filename): No longer requires options arg, as the options
132558         are determined by add_exclude.  Now returns bool, not int.
132559         (excluded_filename, add_exclude):
132560         Add support for the fancy new exclusion options.
132561         (add_exclude, add_exclude_file): Now takes int options arg.
132562         Check for arithmetic overflow when computing sizes.
132563         (add_exclude_file): xrealloc might modify errno, so don't
132564         realloc until after errno might be used.
132566         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
132567         New macros.
132568         (free_exclude): New decl.
132569         (add_exclude, add_exclude_file): Now takes int options arg.
132570         (excluded_filename): No longer requires options arg, as the options
132571         are determined by add_exclude.  Now returns bool, not int.
132573 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132575         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
132577 2001-08-27  Jim Meyering  <meyering@lucent.com>
132579         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
132581         * lib/version-etc.c (N_): Remove definition.
132582         Revert most of last change.
132583         Instead, simply don't mark the `Copyright...' string for translation.
132584         Based on advice from Paul Eggert.
132586         * lib/strtoxmax.c: Tweak comment.
132588 2001-08-26  Jim Meyering  <meyering@lucent.com>
132590         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
132592         * m4/xstrtoimax.m4: New file.
132593         * m4/xstrtoumax.m4: Add comments explaining why we
132594         AC_REPLACE_FUNCS(strtol).
132596 2001-08-26  Jim Meyering  <meyering@lucent.com>
132598         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
132599         of copyright with `%s' so translators don't get an untranslated
132600         message in 2002.
132601         (COPYRIGHT_YEAR): Define.
132602         (version_etc): Use fprintf rather than fputs.
132603         Suggestion from Ulrich Drepper.
132605         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
132607         * lib/strtoll.c: New file, from GNU libc.
132608         * lib/xstrtoimax.c: New file.
132610         * lib/xstrtol.h: Add xstrtoimax.
132611         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
132612         * lib/strtoimax.c: New file.  Likewise, but first define
132613         STRTOUXMAX_SIGNED.
132615         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
132616         ...
132617         * lib/strtoxmax.c: ... then renamed to this.
132619 2001-08-18  Paul Eggert  <eggert@twinsun.com>
132621         * m4/inttypes.m4: Add AC_PREREQ(2.13).
132622         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
132623         (jm_AC_TYPE_INTMAX_T): New macro.
132624         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
132626         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
132628         * m4/longlong.m4: Renamed from ulonglong.m4.
132629         * m4/inttypes.m4: Renamed from inttypes_h.m4.
132630         * m4/uintmax_t.m4: Removed.
132632 2001-08-13  Paul Eggert  <eggert@twinsun.com>
132634         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
132635         Port to Solaris 8, where 'sed' requires a space after the 'r'
132636         command, and where sh dislikes "$/".  Clean up the spacing a bit.
132637         Redirect output to $tmp just once.
132639 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
132641         * lib/addext.c (<errno.h>): Include.
132642         (errno): Declare if not defined.
132643         (addext): Work correctly when pathconf returns -1 and leaves
132644         errno alone because there is no limit.  Also, work even if
132645         pathconf returns a value greater than SIZE_MAX.
132647 2001-08-12  Jim Meyering  <meyering@lucent.com>
132649         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
132650         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
132651         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
132652         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
132653         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
132654         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
132655         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
132656         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
132657         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
132658         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
132659         utime.m4, utimes.m4, xstrtoumax.m4:
132660         Quote the first argument in each use of AC_DEFUN.
132662 2001-08-12  Jim Meyering  <meyering@lucent.com>
132664         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
132665         Simply `return getcwd (NULL, 0);'.
132666         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
132667         Use 1300 as initial value for length, not PATH_MAX.
132669         * lib/pathmax.h: Clean up cpp syntax.
132671 2001-08-12  Jim Meyering  <meyering@lucent.com>
132673         * lib/gettimeofday.c: New file.
132674         * lib/gtod.h: New file.
132675         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
132677 2001-08-05  Jim Meyering  <meyering@lucent.com>
132679         * m4/jm-macros.m4: Require autoconf-2.52.
132681 2001-08-04  Jim Meyering  <meyering@lucent.com>
132683         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
132684         stmt, to get in sync with glibc.
132686 2001-08-03  Paul Eggert  <eggert@twinsun.com>
132688         The following changes are from gettext 0.10.39 as maintained by
132689         Bruno Haible.
132691         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
132692         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
132693         with inverted sense.  All uses changed.
132695         * lib/mbswidth.c: Don't include <limits.h>.
132696         Include <stdlib.h> and <string.h> unconditionally.
132697         (iswcntrl, mbsinit, ISCNTRL): New macros.
132698         (mbsnwidth): Use K&R style function declarations.
132699         Don't bother checking for MB_LEN_MAX == 1, since the compiler
132700         can optimize it when MB_CUR_MAX == 1.
132701         The width of control characters is zero, not 1.
132703 2001-08-03  Paul Eggert  <eggert@twinsun.com>
132705         The following changes are from gettext 0.10.39 as maintained by
132706         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
132708         * m4/codeset.m4: Upgrade to serial AM1.
132709         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
132710         all uses changed.  Quote first arg of AC_DEFUN.
132711         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
132713         * m4/iconv.m4: Upgrade to serial AM2.
132714         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
132715         Add --with-libconv-prefix.
132716         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
132717         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
132718         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
132719         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
132720         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
132722         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
132723         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
132724         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
132725         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
132726         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
132727         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
132728         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
132729         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
132730         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
132732         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
132733         string.h any more.
132735         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
132736         not the default value.
132738         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
132739         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
132740         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
132741         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
132742         Also check for iswcntrl, used for wcwidth fallback.
132743         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
132744         to Autoconf 2.13.
132746 2001-08-03  Jim Meyering  <meyering@lucent.com>
132748         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
132749         as it was in the original.  Reported by Paul Eggert.
132751 2001-07-16  Jim Meyering  <meyering@lucent.com>
132753         * m4/gettimeofday.m4: New file.
132754         Prompted by a report from Bernhard Baehr.
132756 2001-07-15  Jim Meyering  <meyering@lucent.com>
132758         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
132759         stuff. Now it's in ../Makefile.cfg.
132761 2001-07-15  Jim Meyering  <meyering@lucent.com>
132763         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
132764         (BUILT_SOURCES): Add unlocked-io.h.
132765         (io_functions): Define.
132766         (unlocked-io.h): New rule.
132767         (DISTCLEANFILES): Add unlocked-io.h.
132768         (all-local): Depend on unlocked-io.h, to ensure it is created.
132770         * lib/unlocked-io.hin: New file
132772         * lib/regex.c: Update from glibc.
132774 2001-07-05  Jim Meyering  <meyering@lucent.com>
132776         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
132777         recommendation.
132778         (libfetish_a_SOURCES): Put all .h files here instead.
132779         Remove a thus-exposed (better checks in automake) duplicate and
132780         two unnecessary .h files.
132782 2001-07-04  Jim Meyering  <meyering@lucent.com>
132784         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
132785         that generates jm-glibc-io.m4 so that it doesn't trigger any make
132786         distcheck failure.
132788 2001-07-02  Jim Meyering  <meyering@lucent.com>
132790         The following changes were prompted by suggestions from Bruno Haible.
132792         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
132793         is now generated.
132794         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
132795         definition of EXTRA_DIST.
132796         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
132797         ensure that the generated file is created/updated whenever the list
132798         of $(unlocked_functions) is changed.
132799         (jm-glibc-io.m4): New rule.
132800         (unlocked-io.h): New rule -- currently unused.
132802 2001-06-24  Jim Meyering  <meyering@lucent.com>
132804         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
132805         unmatched right bracket, rather than kludging it with an extra,
132806         falsely-matching quote in a comment.  Patch by Akim Demaille.
132808 2001-06-11  Jim Meyering  <meyering@lucent.com>
132810         * lib/regex.c: Update from GNU libc.
132812 2001-05-27  Jim Meyering  <meyering@lucent.com>
132814         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
132815         Check for ut_type in struct utmp.
132817 2001-05-27  Jim Meyering  <meyering@lucent.com>
132819         * lib/readutmp.h (UT_TYPE): Define.
132821 2001-05-24  Jim Meyering  <meyering@lucent.com>
132823         * lib/argmatch.c: Include "quote.h".
132824         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
132825         quote function.  Reported by Göran Uddeborg.
132827 2001-05-22  Jim Meyering  <meyering@lucent.com>
132829         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
132830         now that we use the package-supplied version unconditionally.
132831         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
132833 2001-05-21  Jim Meyering  <meyering@lucent.com>
132835         * m4/regex.m4: Change a couple backticks to single quotes to avoid
132836         shell syntax errors.
132838 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
132840         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
132842 2001-05-20  Paul Eggert  <eggert@twinsun.com>
132844         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
132845         Don't bother to check library strftime, since
132846         we'll be using our own my_strftime function anyway.
132847         Define my_strftime instead of strftime.
132849 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
132851         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
132852         which is not yet declared.
132854 2001-05-15  Jim Meyering  <meyering@lucent.com>
132856         * m4/regex.m4: Use proper quoting so brackets appear in the test
132857         program.
132858         Reported by, and with help from, Bruno Haible.
132860 2001-05-13  Jim Meyering  <meyering@lucent.com>
132862         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
132863         undefined.
132865 2001-05-11  Paul Eggert  <eggert@twinsun.com>
132867         dirname code cleanup.  base_name now behaves more compatibly
132868         with POSIX basename when given file names that have trailing
132869         slashes, and similarly for dir_name.  Add new primitives
132870         base_len and dir_len.  Put the directory-name-related decls
132871         into dirname.h.
132873         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
132874         * lib/backupfile.c (base_name): Likewise.
132875         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
132876         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
132877         * lib/makepath.c (strip_trailing_slashes): Likewise.
132878         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
132879         ISSLASH): Likewise.
132880         * lib/rename.c (strip_trailing_slashes): Likewise.
132881         * lib/same.c (base_name): Likewise.
132882         * lib/stripslash.c (ISSLASH): Likewise.
132884         * lib/addext.c: Include <dirname.h> after size_t is defined.
132885         * lib/backupfile.c: Likewise.
132887         * lib/addext.c (addext): Use base_len to trim redundant
132888         trailing slashes instead of doing it ourselves.
132889         But do not trim the last slash if it is not redundant.
132891         * lib/backupfile.c (find_backup_file_name,
132892         max_backup_version): Use base_len instead of rolling it ourselves.
132893         Handle the case of "" and (on DOS) "C:" correctly.
132895         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
132896         needed. Include <string.h>, <dirname.h>.
132897         (base_name): Allow file names ending in slashes, other than names
132898         that are all slashes.  In this case, return the basename followed
132899         by the slashes.  This is more general, and can be used in places
132900         where the original base_name purposely had an assertion failure.
132901         (base_len): New function.
132903         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
132904         Do not include <assert.h>; no longer needed.
132905         Include xalloc.h.
132906         (memrchr): Remove decl.
132907         (dir_name_r): Remove.
132908         (dir_len): Renamed from dirlen.  All callers changed.
132909         Rewrite in terms of base_name, for simplicity and consistency.
132910         (dir_name): Never return NULL.  All callers changed.
132911         Do not include <stdlib.h> in test program; no longer needed.
132912         return 0; is fine for test program.
132914         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
132915         New macros.
132916         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
132918         * lib/path-concat.c (path_concat): Use base_len to compute
132919         base length, not strlen; this means we cannot rely on memcpy
132920         to null-terminate.
132922         * lib/same.c (STREQ): Remove.
132923         (same_name): Handle the case where the basename ends in trailing '/'.
132925         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
132926         a slash was stripped.  Do not strip the last slash after a
132927         file system prefix.
132929 2001-05-11  Paul Eggert  <eggert@twinsun.com>
132931         * lib/Makefile.am (libfetish_a_SOURCES):
132932         Add strftime.c, since we now compile it on all hosts.
132934         * lib/strftime.c (my_strftime):
132935         Define to nstrftime if emacs, but only if my_strftime is not defined.
132936         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
132937         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
132938         Add one more extra argument: a nanoseconds value.
132939         All uses changed.
132940         (ns): New macro.
132941         (my_strftime function): Add %N format.
132942         (emacs_strftimeu): Renamed from emacs_strftime,
132943         with extra ut argument.
132945 2001-05-09  Paul Eggert  <eggert@twinsun.com>
132947         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
132949 2001-04-21  Jim Meyering  <meyering@lucent.com>
132951         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
132952         doesn't interfere.
132954 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
132956         * m4/ftruncate.m4: Check for chsize.
132957         Link with ftruncate.o unconditionally if ftruncate is missing.
132958         This was required when cross-compiling to i586-mingw32msvc.
132960 2001-04-08  Jim Meyering  <meyering@lucent.com>
132962         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
132963         recomputed; that's necessary when the offset spans a DST transition.
132964         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
132966 2001-04-02  Jim Meyering  <meyering@lucent.com>
132968         * lib/regex.h, regex.c: Update from GNU libc.
132970 2001-03-24  Jim Meyering  <meyering@lucent.com>
132972         * m4/jm-macros.m4: Require autoconf-2.49d.
132974 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
132976         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
132978 2001-03-19  Paul Eggert  <eggert@twinsun.com>
132980         * lib/version-etc.c (version_etc_copyright): Update to 2001.
132982 2001-03-17  Jim Meyering  <meyering@lucent.com>
132984         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
132985         now that the version in autoconf is equivalent.
132986         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
132988         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
132989         Suggestion from Akim Demaille.
132991         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
132992         (jm_PREREQ_TEMPNAME): New function.
132994 2001-03-16  Paul Eggert  <eggert@twinsun.com>
132996         * lib/tempname.c (uint64_t): Define to uintmax_t if
132997         not defined, and if UINT64_MAX is not defined.
132998         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
132999         Reported by John David Anglin.
133001 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
133003         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
133004         resolve alias if codeset is empty.
133005         * lib/config.charset (BeOS): Use wildcard syntax.
133007 2001-03-13  Jim Meyering  <meyering@lucent.com>
133009         * lib/path-concat.c (path_concat)
133010         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
133011         concatenating e.g., `C:' and `foo'.
133012         From Bruno Haible.
133014 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
133016         * lib/localcharset.c (locale_charset): Don't use
133017         setlocale(LC_CTYPE,NULL). Don't return NULL.
133018         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
133020 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
133022         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
133023         support for DOS/DJGPP.
133025 2001-03-01  Paul Eggert  <eggert@twinsun.com>
133027         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
133028         lacks mkstemp.  Compile our own tempname.c if we compile our own
133029         mkstemp.c, as mkstemp relies on tempname.
133031 2001-03-01  Jim Meyering  <meyering@lucent.com>
133033         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
133034         AH_VERBATIM really does output its argument verbatim.
133036 2001-02-28  Paul Eggert  <eggert@twinsun.com>
133038         * lib/Makefile.am (libfetish_a_SOURCES):
133039         Add dup-safer.c, fopen-safer.c.
133040         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
133042         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
133043         * lib/unistd-safer.h: New files.
133045 2001-02-25  Paul Eggert  <eggert@twinsun.com>
133047         The mkstemp replacement is taken from glibc 2.2.2, with some
133048         portability fixes for use outside glibc, as follows:
133050         * lib/tempname.c (struct_stat64): New macro.
133051         (direxists, __gen_tempname): Use it.
133052         This avoids a portability problem with Solaris 8.
133054         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
133055         (<stddef.h>, <stdint.h>, <string.h>):
133056         Include only if STDC_HEADERS || _LIBC.
133057         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
133058         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
133059         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
133060         (__set_errno): Define this macro if <errno.h> doesn't.
133061         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
133062         Define these macros if <stdio.h> doesn't.
133063         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
133064         Define these macros if <sys/stat.h>
133065         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
133066         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
133067         __xstat64): Define if not _LIBC.
133068         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
133069         (__gen_tempname): Invoke gettimeofday only if
133070         HAVE_GETTIMEOFDAY || _LIBC;
133071         otherwise, fall back on plain "time".
133072         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
133074         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
133076         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
133078 2001-02-18  Paul Eggert  <eggert@twinsun.com>
133080         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
133082 2001-02-17  Paul Eggert  <eggert@twinsun.com>
133084         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
133085         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
133086         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
133087         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
133089 2001-02-17  Paul Eggert  <eggert@twinsun.com>
133091         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
133092         Remove workaround macros for hosts that have mbrtowc but not
133093         mbstate_t, as we now insist on proper declarations for both
133094         before using mbrtowc.
133096 2001-02-17  Jim Meyering  <meyering@lucent.com>
133098         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
133099         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
133100         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
133101         UnixWare 7.1.1.
133103         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
133104         rather than AC_CACHE_VAL.
133106 2001-02-17  Jim Meyering  <meyering@lucent.com>
133108         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
133109         around included file name.
133111         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
133113         * lib/strftime.c: Update from GNU libc (the only changes were to
133114         comments).
133116 2001-02-17  Jim Meyering  <meyering@lucent.com>
133118         * lib/regex.c: Update from libc.
133120 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
133122         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
133123         clash.
133125 2001-02-16  Paul Eggert  <eggert@twinsun.com>
133127         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
133128         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
133129         Reported by Mark Hounschell via Paul Eggert.
133131 2001-02-07  Jim Meyering  <meyering@lucent.com>
133133         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
133135 2001-02-05  Jim Meyering  <meyering@lucent.com>
133137         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
133138         it includes the patch required for `large file' support with at least
133139         HP-UX's 10.20 /bin/cc.
133141 2001-02-03  Jim Meyering  <meyering@lucent.com>
133143         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
133144         AS_IF, now that it works once again (mysteriously).
133145         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
133147 2001-01-30  Jim Meyering  <meyering@lucent.com>
133149         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
133150         * m4/chown.m4: Rename conftestchown to conftest.chown.
133151         * m4/rename.m4: s/conftestdir/conftest.d1/ and
133152         s/conftestdir2/conftest.d2/.
133153         * m4/utimes.m4: s/conftestdata/conftest.data/
133154         Inspired by Pavel Roskin's change in autoconf.
133156 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
133158         * lib/config.charset: Update for FreeBSD 4.2.
133160 2001-01-27  Jim Meyering  <meyering@lucent.com>
133162         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
133163         a use of AS_IF.
133164         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
133166 2001-01-26  Jim Meyering  <meyering@lucent.com>
133168         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
133169         quotearg.c includes it.
133171 2001-01-26  Jim Meyering  <meyering@lucent.com>
133173         * lib/quotearg.c: Include stddef.h.
133174         * lib/quote.c: Include stddef.h.
133175         Reported by Axel Kittenberger.
133177         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
133178         line in double quotes so that it evokes a better diagnostic.
133179         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
133180         Reported by Axel Kittenberger.
133182 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
133184         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
133185         as if it was a `charset'.
133187 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
133189         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
133190         has const.
133192 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
133194         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
133195         to avoid a warning.  Add back 'const' to inptr.
133197 2001-01-20  Jim Meyering  <meyering@lucent.com>
133199         Be sure that headers are checked before used in code compiled
133200         for the type checks.
133201         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
133202         In place of that, invoke jm_CHECK_ALL_TYPES.
133203         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
133204         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
133205         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
133206         The check for ssize_t was mistakenly run before the test for unistd.h.
133208         The configure-time check for stdbool.h was missing.
133209         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
133210         (jm_PREREQ_HASH): New function.
133212 2001-01-17  Jim Meyering  <meyering@lucent.com>
133214         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
133215         for autoconf-2.49c.
133216         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
133218 2001-01-16  Jim Meyering  <meyering@lucent.com>
133220         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
133221         From Bruno Haible.
133223 2001-01-14  Jim Meyering  <meyering@lucent.com>
133225         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
133226         foo and bar.  Create conftestdir/ in the script, not in the C code.
133227         Remove directories in the script, not in the C code.
133228         Remove conftestdir{,2} before trying to create the directory.
133229         Make the entire configure script fail if the mkdir fails.
133231 2001-01-14  Jim Meyering  <meyering@lucent.com>
133233         * lib/rename.c: New file.  From Volker Borchert.
133234         Include stdlib.h, string.h or strings.h, and xalloc.h.
133235         Use strip_trailing_slashes rather than open-coding it.
133237 2001-01-03  Paul Eggert  <eggert@twinsun.com>
133239         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
133241 2001-01-03  Jim Meyering  <meyering@lucent.com>
133243         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
133244         of local `inptr' to avoid warning with some system declarations of
133245         iconv.
133247 2001-01-02  Volker Borchert  <bt@teknon.de>
133249         * m4/rename.m4: New file.
133250         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
133252 2001-01-01  Jim Meyering  <meyering@lucent.com>
133254         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
133255         even on systems with utmpx.h.  It's necessary for the declaration of
133256         utmp's ut_user member.  Reported by Andreas Jaeger.
133258         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
133259         available. They are required for the declarations of getgrgid and
133260         getpwuid resp.
133261         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
133262         Reported by Andreas Jaeger.
133264 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
133266         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
133267         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
133268         so `make install' also works in VPATH builds.
133270 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
133272         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
133273         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
133274         can be used in subdirectories.
133276 2000-12-29  Paul Eggert  <eggert@twinsun.com>
133278         * lib/modechange.c: Do not assume that mode_t uses the
133279         traditional octal encoding.  E.g. "chmod 1 FOO" should set
133280         the other-execute bit of FOO even if S_IXOTH != 1.
133282         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
133283         WOTH, XOTH, ALLM): New macros.
133284         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
133285          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
133286         Use them.
133287         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
133288         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
133289         (mode_compile):
133290         No need to use uintmax_t; unsigned long is long enough.
133291         Don't bother to get suffix since we don't use it.
133293 2000-12-26  Jim Meyering  <meyering@lucent.com>
133295         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
133296         better with autoheader.
133298 2000-12-24  Jim Meyering  <meyering@lucent.com>
133300         * lib/hash.c (is_prime): Return explicit boolean values.
133301         (hash_get_first): Return NULL to appease Irix5.6's 89.
133302         Reported by Nelson Beebe.
133304 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
133306         * lib/localcharset.c (locale_charset): Add support for Win32.
133308 2000-12-18  Paul Eggert  <eggert@twinsun.com>
133310         * lib/physmem.h, lib/physmem.c: New files.
133312         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
133313         (noinst_HEADERS): Add physmem.h.
133315         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
133316         't' for compatibility with Solaris 8 sort.
133318 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
133320         * lib/config.charset: Add support for BeOS.
133322 2000-12-17  Jim Meyering  <meyering@lucent.com>
133324         * m4/dos.m4 (jm_AC_DOS): New file and macro.
133325         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
133327 2000-12-16  Jim Meyering  <meyering@lucent.com>
133329         This bug had a serious impact on chown: `chown N:M FILE' (for integer
133330         N and M) would have treated it like `chown N:N FILE'.
133332         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
133334 2000-12-16  Jim Meyering  <meyering@lucent.com>
133336         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
133337         SHELLS_FILE to a file name that's useful on djgpp systems.
133338         Include stdlib.h.
133339         (ADDITIONAL_DEFAULT_SHELLS): Define.
133340         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
133341         Based mostly on a patch from Prashant TR.
133343 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
133345         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
133346         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
133347         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
133349 2000-12-08  Andreas Schwab  <schwab@suse.de>
133351         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
133352         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
133354 2000-12-07  Jim Meyering  <meyering@lucent.com>
133356         * lib/stripslash.c (ISSLASH): Define.
133357         (strip_trailing_slashes): Use ISSLASH rather than comparing against
133358         `/'.
133359         From Prashant TR.
133361         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
133362         (dir_name_r): Declare this function as static.
133363         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
133364         manifest itself on a name containing a mix of slashes and
133365         backslashes.
133366         Make this function work with names starting with a DOS-style
133367         drive letter and colon prefix.
133368         (dir_name): Append `.' if necessary.
133369         Based mostly on patches from Prashant TR and Eli Zaretskii.
133371         * lib/dirname.h (dir_name_r): Remove prototype.
133373 2000-12-06  Paul Eggert  <eggert@twinsun.com>
133375         * m4/off_t-format.m4: Remove this file.
133376         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
133378 2000-12-06  Jim Meyering  <meyering@lucent.com>
133380         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
133381         replacement strtoull, we may well need the replacement strtoul, too.
133382         Check for declarations of strtoul and strtoull.
133383         Check for strtol.  Mainly as a cue to cause automake to include
133384         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
133385         Check for limits.h -- strtol.c needs it.
133387 2000-12-05  Jim Meyering  <meyering@lucent.com>
133389         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
133391 2000-12-04  Jim Meyering  <meyering@lucent.com>
133393         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
133394         Also include memory.h, stdlib.h, unistd.h if appropriate.
133395         Reported by Andreas Jaeger (conflicting declaration of malloc).
133397 2000-12-02  Jim Meyering  <meyering@lucent.com>
133399         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
133400         * m4/jm-macros.m4 (jm_MACROS): require it.
133402 2000-12-02  Jim Meyering  <meyering@lucent.com>
133404         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
133406 2000-12-01  Paul Eggert  <eggert@twinsun.com>
133408         * lib/memrchr.c: Include <config.h> before any system include file.
133410 2000-11-30  Jim Meyering  <meyering@lucent.com>
133412         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
133414 2000-11-30  Jim Meyering  <meyering@lucent.com>
133416         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
133418 2000-11-29  Paul Eggert  <eggert@twinsun.com>
133420         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
133422 2000-11-26  Jim Meyering  <meyering@lucent.com>
133424         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
133426 2000-11-22  Paul Eggert  <eggert@twinsun.com>
133428         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
133429         size of (size_t) -1; it's not portable.
133431 2000-11-17  Jim Meyering  <meyering@lucent.com>
133433         * lib/strstr.c: Update from GNU libc.
133435 2000-11-17  Akim Demaille  <akim@epita.fr>
133437         * lib/obstack.h: Formatting changes.
133438         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
133439         prevent type checking.
133440         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
133441         cast the value to (void *): assigning a `foo *' to a `void *'
133442         variable is valid.
133443         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
133445 2000-11-16  Jim Meyering  <meyering@lucent.com>
133447         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
133449 2000-11-11  Jim Meyering  <meyering@lucent.com>
133451         * lib/error.c: Add a couple #includes, merging from GNU libc version.
133453 2000-11-10  Jim Meyering  <meyering@lucent.com>
133455         * lib/obstack.h: Update from GNU libc.
133456         * lib/obstack.c: Likewise.
133458 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
133460         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
133462 2000-11-06  Paul Eggert  <eggert@twinsun.com>
133464         * lib/getusershell.c (setusershell): Use rewind rather than
133465         fseek/fseeko, to avoid configuration hassles with fseeko.
133466         Don't bother opening SHELLS_FILE if shellstream is NULL;
133467         it's not necessary.
133469 2000-11-05  Jim Meyering  <meyering@lucent.com>
133471         * lib/makepath.h (make_dir): Declare.
133472         * lib/makepath.c (make_dir): Remove `static' attribute.
133473         Tweak a comment.
133475 2000-11-04  Jim Meyering  <meyering@lucent.com>
133477         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
133479 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
133481         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
133482         last one in a bucket, advance to the next bucket.
133484 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
133486         * lib/fnmatch.c: Do not comment out all the code if we are using
133487         the GNU C library, because in some cases we are replacing buggy
133488         code in the GNU C library itself.
133490 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
133492         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
133493         (regex_compile): Catch bogus \(\1\).
133495 2000-10-30  Paul Eggert  <eggert@twinsun.com>
133497         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
133498         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
133499         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
133501 2000-10-30  Paul Eggert  <eggert@twinsun.com>
133503         * lib/error.h, getline.h, modechange.h:
133504         Remove "2000" from Copyright line, as the file hasn't been
133505         changed this year other than in the copyright notice.
133507         * lib/xalloc.h: Add "2000" to Copyright line, as this file
133508         was changed this year.
133510 2000-10-29  Jim Meyering  <meyering@lucent.com>
133512         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
133513         renaming.
133514         * m4/ls-mntd-fs.m4: Likewise
133516 2000-10-29  Jim Meyering  <meyering@lucent.com>
133518         * lib/xstat.in: Fix grammar in comment.
133520 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
133522         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
133523         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
133524         doesn't define __restrict_arr.
133526 2000-10-28  Jim Meyering  <meyering@lucent.com>
133528         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
133529         (jm_PREREQ_MEMCHR): New function.
133531 2000-10-28  Jim Meyering  <meyering@lucent.com>
133533         * lib/memchr.c: Update from libc.
133534         Adjust for portability:
133535         [HAVE_STDLIB_H]: Include stdlib.h.
133536         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
133537         Undef __memchr, too.
133538         [!weak_alias]: Define __memchr to memchr.
133540         * lib/regex.c: Update from libc.
133541         * lib/regex.h: Likewise.
133542         * lib/getopt1.c: Likewise.
133543         * lib/memcmp.c: Likewise.
133545         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
133546         Avoid using fseek, when possible -- it's broken by design.
133547         Patch by Ulrich Drepper.
133549 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
133551         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
133552         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
133553         Giving in to popular pressure to shut up the compiler with casts.
133555 2000-10-26  Jim Meyering  <meyering@lucent.com>
133557         * lib/strftime.c: Update from libc.
133559 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
133561         * regex.c: More `unsigned char' -> `re_char' changes.
133562         Also change several `int' into `re_wchar_t'.
133563         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
133564         (PUSH_FAILURE_POINTER): Don't cast any more.
133565         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
133566         We want GCC to complain, since this piece of code makes
133567         re_match non-reentrant, which *should* be fixed.
133568         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
133569         (EXTEND_BUFFER): Use RETALLOC.
133570         (SET_LIST_BIT): Don't cast.
133571         (re_wchar_t): New type.
133572         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
133573         that those two functions will always properly return.
133574         (IMMEDIATE_QUIT_CHECK): Cast to void.
133575         (analyse_first): Use recursion rather than an explicit stack.
133576         (re_compile_fastmap): Can't fail anymore.
133577         (re_search_2): Don't check re_compile_fastmap for failure.
133578         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
133579         Now also sets the new value (passed in a new argument).
133580         (re_match_2_internal): Use it.
133581         Also, use a new var `reg' of type size_t when looping through regs
133582         rather than reuse the inappropriate `mcnt'.
133584 2000-10-25  Jim Meyering  <meyering@lucent.com>
133586         * lib/obstack.c: Update from libc.
133588 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
133590         * regex.c (regex_compile): Change the way of handling a range from
133591         a char less than 256 to a char not less than 256.
133593 2000-10-24  Andrew Innes  <andrewi@gnu.org>
133595         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
133596         NT-Emacs only.
133597         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
133598         so that re_search functions only quit when callers expect them to.
133600 2000-10-23  Jim Meyering  <meyering@lucent.com>
133602         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
133603         wrong.  That set_locale call must not have any side effects.
133604         From Paul Eggert.
133606 2000-10-22  Jim Meyering  <meyering@lucent.com>
133608         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
133609         [CYCLIC]: Remove now-unused definition.
133611         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
133612         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
133613         Suggestion from Ulrich Drepper.
133615 2000-10-21  Jim Meyering  <meyering@lucent.com>
133617         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
133618         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
133619         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
133621 2000-10-21  Jim Meyering  <meyering@lucent.com>
133623         * lib/dirname.c (memrchr): Declare if necessary.
133624         (dir_name): Remove the restriction that there be no
133625         trailing slashes.  Now, this code skips past them, effectively
133626         ignoring them.
133627         [TEST_DIRNAME] (main): New unit tests.
133629         * lib/memrchr.c: New file from GNU libc.
133630         Undef __memrchr, too.
133631         [!weak_alias]: Define __memrchr to memrchr.
133632         Guard weak_alias use with `#ifdef weak_alias'.
133634 2000-10-21  Jim Meyering  <meyering@lucent.com>
133636         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
133637         (dir_name): Use dir_name_r.
133638         * lib/dirname.h (dir_name_r): Declare it.
133640 2000-10-17  Jim Meyering  <meyering@lucent.com>
133642         * lib/quote.h (PARAMS): Define and use.
133643         Reported by Akim Demaille.
133645         * lib/getopt.c: Update from libc.
133647 2000-10-16  Jim Meyering  <meyering@lucent.com>
133649         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
133650         setlocale.
133651         From Jan Fedak.
133653 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
133655         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
133657 2000-09-25  Jim Meyering  <meyering@lucent.com>
133659         * lib/md5.h (rol): Define (from GnuPG).
133661         * lib/sha.c: Give credit (GnuPG) where due.
133662         (M): Use rol rather than open-coding it.
133663         Add a FIXME comment.
133665 2000-09-21  Jim Meyering  <meyering@lucent.com>
133667         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
133668         Reported by Michael Stone.
133670 2000-09-20  Jim Meyering  <meyering@lucent.com>
133672         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
133673         (noinst_HEADERS): Add sha.h.
133674         Based on code from Scott G. Miller and from GnuPG.
133676 2000-09-18  Jim Meyering  <meyering@lucent.com>
133678         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
133679         LIBS. Otherwise, everyone ends up linking with -lelf for some
133680         configurations.
133681         Reported by Mike Stone.
133683 2000-09-15  Jim Meyering  <meyering@lucent.com>
133685         * lib/regex.c: Update from libc.
133687 2000-09-10  Jim Meyering  <meyering@lucent.com>
133689         * lib/getopt.c (_getopt_internal): Update from glibc.
133691 2000-09-09  Jim Meyering  <meyering@lucent.com>
133693         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
133694         think it should be used as a general replacement for isascii.
133695         * lib/fnmatch.c: Likewise.
133696         * lib/mbswidth.c: Likewise
133697         * lib/regex.c: Likewise.
133699         Don't use atoi.
133700         * lib/userspec.c: Include sys/param.h and limits.h.
133701         Include xstrtol.h.
133702         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
133703         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
133704         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
133705         UID, GID.  Check range.
133707 2000-09-06  Jim Meyering  <meyering@lucent.com>
133709         * lib/getopt.c (_getopt_internal): Update from glibc.
133711 2000-08-30  Jim Meyering  <meyering@lucent.com>
133713         * lib/strftime.c: Merge in changes from GNU libc.
133715 2000-08-26  Jim Meyering  <meyering@lucent.com>
133717         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
133718         * m4/fpending.m4: New file.
133720 2000-08-26  Jim Meyering  <meyering@lucent.com>
133722         * lib/closeout.c: Include "__fpending.h".
133723         (close_stdout_status): Return right away if there's nothing to flush.
133725         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
133726         * lib/__fpending.c: New file.
133727         * lib/__fpending.h: New file.
133729 2000-08-20  Jim Meyering  <meyering@lucent.com>
133731         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
133732         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
133733         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
133735 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
133737         Improve fileutils installation on systems where running
133738         programs (like install) can't be unlinked.
133739         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
133740         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
133742 2000-08-07  Paul Eggert  <eggert@twinsun.com>
133744         Standardize on "memory exhausted" instead of "Memory exhausted"
133745         or "virtual memory exhausted".
133746         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
133747         "virtual memory exhausted".
133748         * lib/same.c (same_name): Invoke xalloc_die instead of printing
133749         our own message.
133750         * lib/userspec.c (parse_user_spec): Likewise.
133751         * lib/bumpalloc.h: comment fix
133752         * lib/same.c, userspec.c: Include xalloc.h.
133754         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
133755         not char *const and pointing to a constant array.
133756         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
133757         (xrealloc): Comment fix.
133759         * lib/userspec.c (parse_user_spec):
133760         Don't translate a message until just before returning,
133761         to avoid unnecessary translation.
133763 2000-08-07  Jim Meyering  <meyering@lucent.com>
133765         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
133766         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
133767         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
133768         getgroups.c, gethostname.c, getopt.h, group-member.c,
133769         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
133770         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
133771         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
133772         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
133773         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
133774         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
133775         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
133776         yesno.c: Back out Copyright date changes for each file with no change
133777         this year.  This eases coordination with other programs using the same
133778         source code modules.  From Paul Eggert.
133780 2000-08-06  Paul Eggert  <eggert@twinsun.com>
133782         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
133783         not char, for compatibility with glibc 2.1.3 strftime.c.
133785 2000-08-03  Greg McGary  <greg@mcgary.org>
133787         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
133788         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
133789         (EXTEND_BUFFER): Use them.
133791 2000-08-01  Jim Meyering  <meyering@lucent.com>
133793         * lib/dirname.c (ISSLASH): Define.
133794         (BACKSLASH_IS_PATH_SEPARATOR): Define.
133795         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
133796         both `\' and `/' may be use as path separators.
133797         Based on a patch from Prashant TR.
133799 2000-07-31  Paul Eggert  <eggert@twinsun.com>
133801         * lib/quotearg.c (quotearg_n_options): Don't make the initial
133802         slot vector a constant, since it might get modified.
133804 2000-07-31  Jim Meyering  <meyering@lucent.com>
133806         * lib/xmalloc.c: Use `virtual memory exhausted', not
133807         `Memory exhausted'.
133808         * lib/obstack.c (print_and_abort): Likewise.
133810 2000-07-30  Paul Eggert  <eggert@twinsun.com>
133812         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
133813         buffer, so that the caller can always quote one small
133814         component of a "memory exhausted" message in slot 0.
133815         From a suggestion by Jim Meyering.
133817 2000-07-30  Jim Meyering  <meyering@lucent.com>
133819         * lib/makepath.c (make_path): Quote the other instance, too.
133821         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
133822         (STATIC_BUF_SIZE): Define.
133823         (quotearg_n_options): Use only statically allocated storage when
133824         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
133825         than STATIC_BUF_SIZE.
133827 2000-07-29  Jim Meyering  <meyering@lucent.com>
133829         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
133830         * lib/dirname.c (dir_name): Likewise.
133832         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
133833         `/'.
133835         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
133836         (dir_name): Assert that there are no trailing slashes.
133838 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
133840         * lib/mbswidth.h (mbswidth): Add a flags argument.
133841         (mbswidth): New declaration.
133842         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
133843         * lib/mbswidth.c (mbswidth): Add a flags argument.
133844         (mbsnwidth): New function.
133846 2000-07-24  Jim Meyering  <meyering@lucent.com>
133848         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
133850 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133852         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
133854 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133856         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
133857         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
133858         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
133859         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
133860         invoke multibyte primitives.
133862 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133864         * lib/quotearg.c:
133865         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
133866         so that mbstate_t is always defined.
133868         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
133869         be 1 in at least one GCC installation, and this configuration
133870         error is likely to be common.  Ignoring MB_LEN_MAX hurts
133871         performance on hosts that have mbrtowc but have only unibyte
133872         locales, but I assume these hosts are rare.
133874 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133876         * lib/mbswidth.c (_XOPEN_SOURCE):
133877         Don't define; this causes problems on Solaris 7.
133878         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
133880 2000-07-23  Jim Meyering  <meyering@lucent.com>
133882         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
133883         too: getgrgid, getpwuid, getuid.
133885 2000-07-23  Jim Meyering  <meyering@lucent.com>
133887         * lib/basename.c (base_name): Add an assertion.
133889 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
133891         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
133892         shadow its mbsinit function.
133894 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
133896         * lib/mbswidth.h: New file.
133897         * lib/mbswidth.c: New file.
133898         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
133899         (noinst_HEADERS): Add mbswidth.h.
133901 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
133903         * lib/config.charset: Add support for FreeBSD. Improve support for
133904         HP-UX and IRIX 6.
133906 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
133908         * m4/mbswidth.m4: New file.
133909         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
133911 2000-07-15  Jim Meyering  <meyering@lucent.com>
133913         * lib/makepath.c: Include quote.h.
133914         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
133915         corresponding argument in a `quote (...)' call.
133916         Give better diagnostics.
133918         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
133919         (noinst_HEADERS): Add quote.h.
133921         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
133922         from tar's src/misc.c.
133923         * lib/quote.h: New file.  Prototypes for same.
133925 2000-07-14  Paul Eggert  <eggert@twinsun.com>
133927         From a suggestion by Bruno Haible.
133928         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
133929         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
133930         to decide whether to define the BeOS workaround macro;
133931         this adjusts to the change to AC_MBSTATE_T.
133933 2000-07-14  Jim Meyering  <meyering@lucent.com>
133935         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
133936         jm_AC_TYPE_UINTMAX_T.
133938 2000-07-13  Paul Eggert  <eggert@twinsun.com>
133940         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
133942         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
133943         quotearg_buffer_restyled): Add support for
133944         clocale_quoting_style.  Undo previous change to
133945         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
133946         and "{RIGHT QUOTATION MARK}" msgids.
133948 2000-07-10  Paul Eggert  <eggert@twinsun.com>
133950         From a suggestion by Bruno Haible.
133951         * m4/mbstate_t.m4 (AC_MBSTATE_T):
133952         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
133953         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
133954         and mbstate_t, to a single-part test that simply defines mbstate_t.
133955         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
133956         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
133958 2000-07-10  Jim Meyering  <meyering@lucent.com>
133960         * m4/strerror_r.m4: Mirror the correction made in autoconf.
133962         * m4/gnu-source.m4: Output to confdefs.h directly.
133963         Suggestion from Akim Demaille.
133965 2000-07-09  Paul Eggert  <eggert@twinsun.com>
133967         The old behavior of quoting `like this' doesn't look good with
133968         newer, ISO-style fonts.  See:
133969         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
133971         Instead, quote "like this" by default.  Let the translator
133972         tailor the locale-specific quoting behavior by providing
133973         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
133975         * lib/quotearg.c (N_): New macro.
133976         (gettext_default): New function.
133977         (quotearg_buffer_restyled): Use
133978         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
133979         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
133981 2000-07-09  Jim Meyering  <meyering@lucent.com>
133983         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
133984         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
133986         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
133987         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
133989 2000-07-09  Jim Meyering  <meyering@lucent.com>
133991         * lib/Most files: Update copyright dates to include 2000.
133993 2000-07-08  Jim Meyering  <meyering@lucent.com>
133995         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
133996         if not defined.
133997         (xgethostname): Remove now-unnecessary #ifdef.
133998         Move declaration of `err' into loop where it's used.
134000 2000-07-05  Paul Eggert  <eggert@twinsun.com>
134001         and Bruno Haible  <haible@clisp.cons.org>
134003         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
134004         only if the test for an object-type mbstate_t fails.  This
134005         prevents us from mistakenly reporting that mbstate_t is a
134006         system object type after we "#define mbstate_t int" to work
134007         around its lack.
134009 2000-07-05  Paul Eggert  <eggert@twinsun.com>
134010         and Bruno Haible  <haible@clisp.cons.org>
134012         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
134014 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
134016         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
134017         to strerror_r.
134018         Include <ctype.h> for use of isalpha.
134020 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
134022         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
134023         by allocating a larger buffer. Test the gethostname return value for
134024         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
134025         returns an error and ENAMETOOLONG isn't defined.
134027 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
134029         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
134030         dimension.
134032 2000-07-04  Jim Meyering  <meyering@lucent.com>
134034         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
134035         of the deprecated AC_CHECKING.
134037 2000-07-04  Jim Meyering  <meyering@lucent.com>
134039         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
134040         Reported by Bruno Haible.
134042 2000-07-04  Jim Meyering  <meyering@lucent.com>
134044         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
134045         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
134046         lacks mbrtowc.
134048 2000-07-03  Paul Eggert  <eggert@twinsun.com>
134050         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
134051         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
134053 2000-07-03  Paul Eggert  <eggert@twinsun.com>
134054         and Bruno Haible  <haible@clisp.cons.org>
134056         * lib/quotearg.c (mbrtowc):
134057         Assign to *pwc, and return 1 only if result is nonzero.
134058         (iswprint): Use ISPRINT when substituting our own mbrtowc.
134060 2000-07-03  Jim Meyering  <meyering@lucent.com>
134062         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
134064 2000-07-03  Jim Meyering  <meyering@lucent.com>
134066         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
134067         This is necessary to get a definition of e.g., UTMP_FILE on
134068         HP-UX 10.20.
134069         From Bob Proulx.
134071 2000-07-02  Jim Meyering  <meyering@lucent.com>
134073         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
134075         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
134076         AC_LIBOBJ(function_name).
134077         * m4/chown.m4: Likewise.
134078         * m4/fnmatch.m4: Likewise.
134079         * m4/ftruncate.m4: Likewise.
134080         * m4/getgroups.m4: Likewise.
134081         * m4/getline.m4: Likewise.
134082         * m4/group-member.m4: Likewise.
134083         * m4/jm-macros.m4: Likewise.
134084         * m4/lstat.m4: Likewise.
134085         * m4/malloc.m4: Likewise.
134086         * m4/memcmp.m4: Likewise.
134087         * m4/nanosleep.m4: Likewise.
134088         * m4/putenv.m4: Likewise.
134089         * m4/realloc.m4: Likewise.
134090         * m4/regex.m4: Likewise.
134091         * m4/stat.m4: Likewise.
134092         * m4/strftime.m4: Likewise.
134094 2000-07-02  Jim Meyering  <meyering@lucent.com>
134096         * lib/quotearg.c (mbstate_t): Don't define here.
134098 2000-07-02  Jim Meyering  <meyering@lucent.com>
134100         * lib/nanosleep.c (SIGCONT): Define if not already defined.
134102 2000-07-01  Jim Meyering  <meyering@lucent.com>
134104         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
134106 2000-07-01  Jim Meyering  <meyering@lucent.com>
134108         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
134109         problem.
134111 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
134113         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
134114         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
134116 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
134118         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
134119         per change in ../m4/ls-mntd-fs.m4.
134120         (read_filesystem_list): Ignore symbolic links.
134122 2000-06-29  Jim Meyering  <meyering@lucent.com>
134124         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
134125         for declaration of strcmp.
134127         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
134129         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
134130         Avoid warning by casting result to `char *' to remove `const'.
134132 2000-06-28  Jim Meyering  <meyering@lucent.com>
134134         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
134135         included by quotearg.c, for which we perform this test.  From
134136         Bruno Haible.
134138 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
134140         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
134141         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
134142         <utmpx.h> exists, put readutmp.o into LIBOBJS.
134144 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
134146         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
134148 2000-06-26  Paul Eggert  <eggert@twinsun.com>
134150         savedir now sets errno on failure and invokes xmalloc to get memory.
134151         Fix a couple of other minor bugs while we're at it.
134153         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
134154         (NAMLEN): Remove macro.
134155         (malloc, realloc): Remove decls.
134156         (stpcpy): Likewise.
134157         ("xalloc.h"): Include.
134158         (NAME_SIZE_DEFAULT): New macro.
134159         (savedir): Use xmalloc / xrealloc to allocate memory.
134160         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
134161         Skip "" directory entries.
134162         Use strlen to calculate directory entry length, since the old method
134163         is rarely used these days and isn't worth supporting.
134164         Don't use a pointer after freeing it.
134165         Check for integer overflow when calculating allocation size.
134166         Use memcpy to copy entries, instead of stpcpy.
134167         Set errno properly when returning NULL.
134168         Check for readdir error.
134170 2000-06-26  Jim Meyering  <meyering@lucent.com>
134172         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
134174 2000-06-25  Jim Meyering  <meyering@lucent.com>
134176         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
134177         Linux header bug when _XOPEN_SOURCE is defined to 500.
134179 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
134181         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
134182         deficiency.
134184 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
134186         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
134187         Include xalloc.h.
134188         Don't include <stdlib.h>.  Don't declare malloc, realloc.
134190 2000-06-24  Jim Meyering  <meyering@lucent.com>
134192         * m4/strerror_r.m4: Revive this file -- to try out an experimental
134193         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
134194         for which strerror does return char*, but which lacks a conveniently
134195         accessible declaration of the function.  If the compile-test says
134196         strerror_r doesn't work, then resort to a `run'-test that works on
134197         BeOS and segfaults on DEC Unix.
134199 2000-06-24  Jim Meyering  <meyering@lucent.com>
134201         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
134203 2000-06-23  Paul Eggert  <eggert@twinsun.com>
134205         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
134206         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
134208 2000-06-23  Paul Eggert  <eggert@twinsun.com>
134210         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
134211         (mbrtowc, mbstate_t): Define substitutes if
134212         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
134213         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
134214         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
134216 2000-06-23  Jim Meyering  <meyering@lucent.com>
134218         * m4/afs.m4: Add missing AC_MSG_RESULT.
134219         Reported by Bruno Haible.
134221         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
134222         Suggestion from Bruno Haible.
134224 2000-06-23  Jim Meyering  <meyering@lucent.com>
134226         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
134228 2000-06-21  Jim Meyering  <meyering@lucent.com>
134230         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
134232 2000-06-21  Jim Meyering  <meyering@lucent.com>
134234         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
134235         (noinst_HEADERS): Add getstr.h.
134237         * lib/getline.c (getstr): Move into a separate file.
134238         * lib/getstr.c (getstr): New file, extracted from getline.c, with
134239         the following changes: new parameter, delim2; both delim[12]
134240         parameters have type `int', not `char'.  The latter would lose
134241         with 8-bit delimiters.
134242         * lib/getstr.h: New file.
134244 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
134246         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
134247         than 1024, return a memory chunk of least possible size, instead
134248         of size PATH_MAX + 2. In the loop, increment the size proportionally.
134249         Use free/xmalloc instead of xrealloc to avoid copying for very long
134250         paths.
134252 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
134254         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
134255         the empty string.
134257 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
134259         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
134260         address, not strdup.  Include <stdlib.h> and don't declare free().
134262 2000-06-19  Jim Meyering  <meyering@lucent.com>
134264         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
134266 2000-06-18  Jim Meyering  <meyering@lucent.com>
134268         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
134270         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
134271         `checking whether...' message to be consistent with that of the
134272         lstat test.
134274 2000-06-18  Jim Meyering  <meyering@lucent.com>
134276         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
134277         Besides, these days every porting target provides a mkdir function.
134279         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
134280         needed. (this snippet comes from src/system.h).
134282 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
134284         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
134286 2000-06-15  Paul Eggert  <eggert@twinsun.com>
134288         * lib/human.c (adjust_value): New function.
134289         (human_readable_inexact): Apply rounding style even when
134290         printing approximate values.
134292 2000-06-14  Paul Eggert  <eggert@twinsun.com>
134294         * lib/human.c (human_readable_inexact): Allow an input block
134295         size that is not a multiple of the output block size, and vice versa.
134296         Reported by Piergiorgio Sartor.
134298 2000-06-14  Paul Eggert  <eggert@twinsun.com>
134300         * lib/getdate.y (get_date): Apply relative times after time
134301         zone indicator, not before.  Reported by Todd A. Jacobs.
134303 2000-06-13  Jim Meyering  <meyering@lucent.com>
134305         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
134307         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
134309 2000-06-12  Paul Eggert  <eggert@twinsun.com>
134311         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
134313 2000-06-12  Jim Meyering  <meyering@lucent.com>
134315         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
134316         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
134317         optional argument.
134318         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
134319         the optional argument, `lib'.
134321 2000-06-08  Jim Meyering  <meyering@lucent.com>
134323         * m4/largefile.m4: Remove file (now that it's part of autoconf).
134325 2000-06-04  Paul Eggert  <eggert@twinsun.com>
134327         Rewrite largefile configuration so that we don't need to run
134328         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
134329         AC_CANONICAL_HOST in configure.in -- jmm]
134331         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
134332         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
134333         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
134334         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
134335         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
134336         All uses changed.
134337         Instead of inspecting the output of getconf, try to compile the
134338         test program without and with the macro definition.
134339         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
134340         for getconf.  Instead, check for the needed flags by compiling
134341         test programs.
134343 2000-06-04  Paul Eggert  <eggert@twinsun.com>
134345         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
134347 2000-06-04  Jim Meyering  <meyering@lucent.com>
134349         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
134350         SunOS 4.1.4 for which gid_t is an unsigned type.
134352 2000-06-03  Jim Meyering  <meyering@lucent.com>
134354         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
134355         now that autoconf requires that.
134357         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
134358         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
134359         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
134361 2000-06-03  Jim Meyering  <meyering@lucent.com>
134363         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
134365 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
134367         * m4/glibc21.m4: New file.
134368         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
134370 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
134372         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
134373         newer, don't install charset.alias.
134374         * lib/config.charset: Change the Linux/glibc rules so they become empty
134375         on glibc-2.1 or newer.
134377 2000-06-02  Jim Meyering  <meyering@lucent.com>
134379         * lib/mountlist.c: Back out last change.  Instead, do this...
134380         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
134381         me_dummy member using the same `ignore'-testing code.
134382         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
134383         fs_type strings.
134384         From Mark D. Roth.
134386 2000-05-29  Jim Meyering  <meyering@lucent.com>
134388         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
134389         mounts with the `ignore' attribute.  Based on a patch from
134390         Mark D. Roth.
134392 2000-05-28  Jim Meyering  <meyering@lucent.com>
134394         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
134395         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
134396         * m4/stat.m4: Likewise.
134397         * m4/lstat.m4: Likewise.
134398         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
134400         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
134401         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
134403 2000-05-26  Jim Meyering  <meyering@lucent.com>
134405         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
134407 2000-05-24  Jim Meyering  <meyering@lucent.com>
134409         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
134410         autoconf requires that.
134411         * m4/lib-check.m4: Likewise.
134412         * m4/jm-macros.m4: Likewise.
134413         * m4/strftime.m4: Likewise.
134415         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
134416         AC_CHECK_DECLS, now that autoconf requires that.
134418 2000-05-22  Jim Meyering  <meyering@lucent.com>
134420         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
134421         * m4/lstat.m4: Likewise.
134423 2000-05-22  Jim Meyering  <meyering@lucent.com>
134425         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
134427 2000-05-20  Jim Meyering  <meyering@lucent.com>
134429         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
134430         (jm_PREREQ): Use it.
134432 2000-05-18  Jim Meyering  <meyering@lucent.com>
134434         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
134435         back, too, since it may have been modified by allocate_entry.
134436         (hash_delete): Rewrite to use neither the assignment operator
134437         nor the comma operator in an if-expression.
134439 2000-05-15  Paul Eggert  <eggert@twinsun.com>
134441         * lib/closeout.c:
134442         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
134443         Remove; no longer needed.
134444         "quotearg.h": Add include.
134445         (file_name): Do not bother to explicitly initialize to NULL; it's less
134446         efficient on some hosts.
134447         (close_stdout_status): Remove test as to whether stdout was already
134448         closed; it breaks for the case "echo x | sort >&-".
134449         Quote file name colons.
134450         Do not assume that _("write error") lacks format strings.
134452 2000-05-15  Jim Meyering  <meyering@lucent.com>
134454         * lib/version-etc.c (version_etc_copyright): Update the copyright
134455         string used in all --version output.
134457 2000-05-14  Jim Meyering  <meyering@lucent.com>
134459         * lib/closeout.c (close_stdout_set_file_name): New function.
134460         (close_stdout_status): Use new file-scoped global.
134461         Return right away if fstat says the stdout file descriptor is invalid.
134462         * lib/closeout.h (close_stdout_set_file_name): Declare.
134464 2000-05-10  Jim Meyering  <meyering@lucent.com>
134466         * lib/closeout.c [default_exit_status]: New file-scoped variable.
134467         (close_stdout_set_status): New function.
134468         * lib/closeout.h (close_stdout_set_status): Declare.
134470 2000-05-09  Jim Meyering  <meyering@lucent.com>
134472         * m4/gettext.m4: Rename this...
134473         * m4/libintl.m4: ...to this.
134475 2000-05-08  Jim Meyering  <meyering@lucent.com>
134477         * lib/long-options.c: Don't include closeout.h.
134478         (parse_long_options): Don't call close_stdout for --version.
134480 2000-05-06  Paul Eggert  <eggert@twinsun.com>
134482         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
134483         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
134484         2.1.3 bug.  This avoids a clash when files like regex.c define
134485         _GNU_SOURCE.
134487 2000-05-06  Jim Meyering  <meyering@lucent.com>
134489         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
134490         (AC_REPLACE_FUNCS): Add strnlen.
134492         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
134493         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
134495         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
134496         AC_SEARCH_LIBS call for nanosleep.
134497         (LIB_NANOSLEEP): Set and AC_SUBST.
134499 2000-05-06  Jim Meyering  <meyering@lucent.com>
134501         * lib/strnlen.c: Undefine __strnlen and strnlen.
134502         [!weak_alias]: Define __strnlen to strnlen.
134504         * lib/atexit.c: New file, from libiberty.
134506 2000-05-06  Jim Meyering  <meyering@lucent.com>
134508         * lib/closeout.c (close_stdout_status): Also check for errors on the
134509         stderr stream.
134511 2000-05-05  Jim Meyering  <meyering@lucent.com>
134513         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
134514         AC_SEARCH_LIBS call for clock_gettime.
134515         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
134517         * m4/search-libs.m4: Update from autoconf.
134519         su doesn't work on Solaris 2.6.
134520         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
134521         <shadow.h>.  Reported by Dragos Harabor.
134523 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
134525         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
134526         memcpy instead of xmalloc, xrealloc, path_concat.
134527         (locale_charset): Treat empty environment variables as absent.
134528         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
134530 2000-05-04  Jim Meyering  <meyering@lucent.com>
134532         * lib/getopt.c: Update from glibc.
134533         * lib/obstack.c: Likewise.
134534         * lib/obstack.h: Likewise.
134535         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
134536         file
134538         * lib/regex.h: Likewise.
134539         * lib/strndup.c: Likewise.
134540         * lib/strnlen.c: New file, from glibc.
134542 2000-05-03  Jim Meyering  <meyering@lucent.com>
134544         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
134546 2000-05-02  Paul Eggert  <eggert@twinsun.com>
134548         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
134549         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
134550         compile-time test, rather than inspecting host and OS, to
134551         decide whether to define _LARGEFILE_SOURCE.
134553 2000-05-01  Jim Meyering  <meyering@lucent.com>
134555         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
134557         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
134558         Based on a patch from Bruno Haible.
134560 2000-05-01  Jim Meyering  <meyering@lucent.com>
134562         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
134564 2000-04-29  Jim Meyering  <meyering@lucent.com>
134566         * lib/path-concat.c: Declare strdup only if it's not defined.
134567         * lib/canon-host.c: Likewise.
134569 2000-04-28  Jim Meyering  <meyering@lucent.com>
134571         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
134572         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
134573         is included first, then limits.h is included by locale.h by libintl.h.
134574         From John David Anglin.
134576 2000-04-25  Jim Meyering  <meyering@lucent.com>
134578         * lib/makepath.c (S_IRWXUGO): Define.
134579         (make_path): Always perform explicit chmod if MODE specifies any
134580         of the `special' permission bits.  Prompted by a bug report against
134581         install from Mate Wierdl and Joost van Baal.
134583 2000-04-18  Jim Meyering  <meyering@lucent.com>
134585         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
134586         (jm_PREREQ): Use it.
134588 2000-04-18  Jim Meyering  <meyering@lucent.com>
134590         * lib/README: New file.
134592         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
134593         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
134595 2000-04-17  Jim Meyering  <meyering@lucent.com>
134597         Get it right :-)
134598         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
134599         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
134600         Suggestion from Akim Demaille.
134602 2000-04-17  Jim Meyering  <meyering@lucent.com>
134604         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
134605         the definition of it to rpl_strftime also defined-away the system's
134606         declaration.
134608 2000-04-15  Jim Meyering  <meyering@lucent.com>
134610         Use `C' to denote so-called `contiguous' files, the same way
134611         that tar does.
134612         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
134613         (ftypelet): Use S_ISCTG.
134614         From Michael Deutschmann.
134616 2000-04-14  Jim Meyering  <meyering@lucent.com>
134618         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
134619         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
134620         clobbered.
134622 2000-04-14  Jim Meyering  <meyering@lucent.com>
134624         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
134626 2000-04-13  Jim Meyering  <meyering@lucent.com>
134628         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
134629         AH_VERBATIM to insert required #ifndef into config.h.in.
134630         Suggestion from Akim Demaille.
134632 2000-04-12  Jim Meyering  <meyering@lucent.com>
134634         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
134635         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
134636         Christian Krackowizer.
134638         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
134639         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
134640         (AC_SYS_LARGEFILE): Require.
134641         (AM_C_PROTOTYPES): Require.
134643 2000-04-08  Jim Meyering  <meyering@lucent.com>
134645         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
134646         names don't conflict.  Reported by Eli Zaretskii.
134648 2000-04-07  Jim Meyering  <meyering@lucent.com>
134650         * lib/putenv.c: Move inclusion of errno.h so it follows that of
134651         sys/types.h, to work around system header problems on AIX 3.2.5.
134652         From Bruno Haible.
134654 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
134656         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
134657         bug.  Deal with the different error behavior of Irix iconv.
134659 2000-04-05  Paul Eggert  <eggert@twinsun.com>
134661         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
134662         IRIX if the installer said otherwise.
134664 2000-04-05  Jim Meyering  <meyering@lucent.com>
134666         Portability tweaks required for ultrix4.3.
134667         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
134668         (jm_CHECK_DECLS): Add getutent to the list of functions.
134669         (_jm_DECL_HEADERS): Add utmpx.h.
134670         From John David Anglin.
134672         * m4/strftime.m4: Back out the 2000-04-02 change.
134673         Instead of that change, simply undefine putenv in the test program.
134675 2000-04-05  Jim Meyering  <meyering@lucent.com>
134677         Portability tweaks required for ultrix4.3.
134678         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
134679         getutent.
134680         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
134681         * lib/canon-host.c: Declare strdup.
134682         * lib/path-concat.c: Likewise.
134683         From John David Anglin.
134685 2000-04-04  Jim Meyering  <meyering@lucent.com>
134687         Be more DOS 8.3-friendly.
134688         * lib/ref-add.sin: Renamed from ref-add.sed.in.
134689         * lib/ref-del.sin: Renamed from ref-del.sed.in.
134690         * lib/Makefile.am: Reflect renaming.
134691         Reported by Eli Zaretskii.
134693         Use a temporary file name that won't clash with `charset.alias'
134694         in the DOS 8.3 name space.
134695         * lib/Makefile.am (charset_tmp): Define.
134696         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
134697         (uninstall-local): Likewise.
134698         Reported by Eli Zaretskii.
134700 2000-04-03  Jim Meyering  <meyering@lucent.com>
134702         * m4/gettext.m4: Fix typo in comment.
134704         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
134705         textutils/configure.in).  Suggestion from Paul Eggert.
134706         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
134708 2000-04-02  Paul Eggert  <eggert@twinsun.com>
134710         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
134711         variable in the shell rather than using putenv, which isn't
134712         portable.  This avoids the configure-time inter-test dependency
134713         on the potentially-renamed putenv function.
134715 2000-03-30  Paul Eggert  <eggert@twinsun.com>
134717         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
134718         before checking struct stat.st_blksize, so that
134719         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
134721 2000-03-29  Paul Eggert  <eggert@twinsun.com>
134723         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
134724         since strftime.c uses HAVE_STRFTIME to decide whether to use
134725         the underlying strftime.
134727 2000-03-29  Paul Eggert  <eggert@twinsun.com>
134729         * lib/time/strftime.c (my_strftime): Make sure we call the system
134730         strftime, not ourselves, when invoking the underlying strftime.
134732 2000-03-24  Jim Meyering  <meyering@lucent.com>
134734         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
134735         (charset_alias): Define.
134736         (install-exec-local): Factor out common code.
134737         (uninstall-local): Split lines longer than 80.
134738         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
134739         (SUFFIXES): Define.
134740         (.sed.in.sed): New rule.  Don't redirect directly to $@.
134741         (CLEANFILES): Add ref-add.sed and ref-del.sed.
134743 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
134745         * lib/config.charset: Output a line containing "Packages using this
134746         file".
134747         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
134748         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
134749         ref-del.sed): New rules.
134751 2000-03-17  Jim Meyering  <meyering@lucent.com>
134753         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
134754         Otherwise, include <strings.h>
134756 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
134758         * lib/unicodeio.c (utf8_wctomb): New function.
134759         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
134760         format instead of in UCS-4 with platform dependent endianness.
134762 2000-03-10  Jim Meyering  <meyering@lucent.com>
134764         * m4/lib-check.m4: Look for getspnam in -lgen, too.
134765         From Marco Franzen.
134767 2000-03-07  Paul Eggert  <eggert@twinsun.com>
134769         * lib/savedir.c (savedir): Work even if directory size is
134770         negative; this can happen with some screwy NFS configurations.
134772 2000-03-06  Jim Meyering  <meyering@lucent.com>
134774         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
134775         if it's NULL (because we ran out of memory).  From Bruno Haible.
134777 2000-03-05  Jim Meyering  <meyering@lucent.com>
134779         * lib/localcharset.c ("path-concat.h"): Include.
134780         (get_charset_aliases): Use path_concat instead of ANSI string
134781         concatenation.
134783         * lib/unicodeio.h (PARAMS): Define.
134784         Use it to guard prototype.
134786 2000-03-04  Jim Meyering  <meyering@lucent.com>
134788         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
134789         for lib/localcharset.c.
134791 2000-03-04  Jim Meyering  <meyering@lucent.com>
134793         * lib/Makefile.am (install-exec-local): Create $(libdir) before
134794         installing into it.
134795         (uninstall-local): Uncomment this rule so `make distcheck' works
134796         once again.
134798         * lib/unicodeio.c (<errno.h>): Include it.
134799         (errno): Declare if not defined.
134801         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
134803         * lib/config.charset: New version, incorporating remarks from a linux
134804         i18n mailing list.  From Bruno Haible.
134806 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
134808         * m4/codeset.m4: New file.
134809         * m4/iconv.m4: New file.
134810         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
134812 2000-03-03  Jim Meyering  <meyering@lucent.com>
134814         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
134816 2000-03-02  Jim Meyering  <meyering@lucent.com>
134818         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
134819         the messages come out on separate lines.
134821         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
134822         rather than jm_CHECK_DECLARATIONS.
134823         * m4/decl.m4: Remove now-unused file.
134825         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
134826         geteuid.
134828 2000-03-02  Jim Meyering  <meyering@lucent.com>
134830         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
134832 2000-03-01  Jim Meyering  <meyering@lucent.com>
134834         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
134835         * lib/unicodeio.c: Likewise.
134837 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
134839         * lib/config.charset: New file.
134840         * lib/localcharset.c: New file.
134841         * lib/unicodeio.h, lib/unicodeio.c: New files.
134842         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
134843         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
134844         (noinst_HEADERS): Add unicodeio.h.
134845         (all-local, install-exec-local, charset.alias): New targets.
134847 2000-02-28  Paul Eggert  <eggert@twinsun.com>
134849         * lib/quotearg.c (ALERT_CHAR): New macro.
134850         (quotearg_buffer_restyled): Use it.
134852 2000-02-27  Jim Meyering  <meyering@lucent.com>
134854         * m4/check-decl.m4: Add getenv to the list.
134856 2000-02-27  Jim Meyering  <meyering@lucent.com>
134858         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
134859         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
134861         * lib/backupfile.c: Guard inclusion of stdlib.h with
134862         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
134863         Declare malloc if needed.
134865         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
134866         `#ifndef HAVE_DECL..'
134867         now that autoconf always defines the HAVE_DECL_ symbols.
134868         * lib/human.c: Likewise.
134869         * lib/same.c: Likewise.
134870         * lib/strtoumax.c: Likewise.
134872         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
134873         declaration check was not run.
134874         * lib/hash.c: Likewise.
134875         * lib/human.c: Likewise.
134876         * lib/same.c: Likewise.
134877         * lib/strtoumax.c: Likewise.
134879         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
134880         `.', then first look up the entire `.'-containing string as a login
134881         name.
134883 2000-02-23  Jim Meyering  <meyering@lucent.com>
134885         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
134886         in place of my hack.
134888 2000-02-18  Paul Eggert  <eggert@twinsun.com>
134890         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
134891         (textint): New typedef.
134892         (parser_control): Member year changed from int to textint.
134893         All uses changed.
134894         (YYSTYPE): Removed; replaced by %union with int and textint members.
134895         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
134896         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
134897         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
134898         (tSNUMBER, tUNUMBER): Now of type <textintval>.
134899         (date, number, to_year): Use width of number in digits, not its value,
134900         to determine whether it's a 2-digit year, or a 2-digit time.
134901         (yylex): Store number of digits of numeric tokens.
134902         Reported by John Kendall.
134904         (parser_control): Changed from struct parser_control to typedef (for
134905         consistency).  All uses changed.
134907         (tID): Removed; not used.
134908         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
134910 2000-02-14  Paul Eggert  <eggert@twinsun.com>
134912         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
134913         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
134915 2000-02-12  Jim Meyering  <meyering@lucent.com>
134917         * lib/userspec.c (ISDIGIT): Define it.
134918         (isdigit): Remove definition.
134919         (is_number): Use ISDIGIT, not isdigit.
134920         <libintl.h>: Include.
134921         (_ and N_): Define.
134922         (parse_user_spec): Mark translatable strings.
134924 2000-02-10  Jim Meyering  <meyering@lucent.com>
134926         With these changes, nanosleep.[ch] are finally enough like the other
134927         lib/* replacement files to compile on a few more losing systems.
134929         * lib/nanosleep.h: Don't include config.h.
134930         Remove prototype from declaration of nanosleep.
134931         (PARAMS): Remove now-unneeded definition.
134932         * lib/nanosleep.c: #undef nanosleep.
134933         (rpl_nanosleep): Rename from nanosleep.
134935 2000-02-10  Jim Meyering  <meyering@lucent.com>
134937         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
134938         gnu_nanosleep to rpl_nanosleep.
134940 2000-02-09  Jim Meyering  <meyering@lucent.com>
134942         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
134943         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
134945 2000-02-08  Akim Demaille  <akim@epita.fr>
134947         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
134948         `[' and `]' and remove uses of `changequote'.
134949         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
134950         (AC_SYS_LARGEFILE): Likewise.
134951         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
134952         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
134953         of changequote.
134954         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
134955         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
134956         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
134957         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
134959 2000-02-05  Jim Meyering  <meyering@lucent.com>
134961         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
134962         Remove explicit use of AC_HEADER_TIME.  It is required by
134963         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
134964         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
134965         in autoconf whereby the expansion of the latter ended up preceding
134966         the expansion of its prerequisite, AC_HEADER_TIME.
134967         Reported by Volker Borchert.
134969 2000-02-03  Jim Meyering  <meyering@lucent.com>
134971         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
134973 2000-02-03  Jim Meyering  <meyering@lucent.com>
134975         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
134976         rather than with `#if HAVE_UTMPNAME'.
134978 2000-02-02  Jim Meyering  <meyering@lucent.com>
134980         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
134981         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
134982         Reported by Eli Zaretskii.
134984 2000-02-01  Jim Meyering  <meyering@lucent.com>
134986         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
134988 2000-01-31  Jim Meyering  <meyering@lucent.com>
134990         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
134991         functions.  Add the time.h and sys/time.h headers along with the
134992         AC_REQUIRE'ment of AC_HEADER_TIME.
134994 2000-01-31  Jim Meyering  <meyering@lucent.com>
134996         * lib/nanosleep.h (nanosleep): Guard declaration with
134997         `#if ! HAVE_DECL_NANOSLEEP'.
134998         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
134999         the declaration in that vendor's sys/timers.h.
135000         Reported by Christian Krackowizer.
135002         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
135003         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
135004         (ISPRINT): Likewise.
135005         Reported by Tom Tromey.
135007 2000-01-30  Jim Meyering  <meyering@lucent.com>
135009         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
135011         * m4/prereq.m4 (utmp_includes): Define.
135012         Check for ut_user and ut_name members in both struct utmpx
135013         and struct utmp.
135015 2000-01-30  Jim Meyering  <meyering@lucent.com>
135017         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
135018         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
135019         header files where only utmpx.ut_user is declared.
135021         * lib/readutmp.h (UT_USER): Define.
135023 2000-01-29  Jim Meyering  <meyering@lucent.com>
135025         * m4/lib-check.m4: New file containing library-related checks from
135026         fileutils and sh-utils (textutils had none).
135028 2000-01-28  Jim Meyering  <meyering@lucent.com>
135030         * m4/perl.m4: Change format of warning message to look more like that
135031         from the missing script.  Suggestion from François Pinard.
135033 2000-01-25  Jim Meyering  <meyering@lucent.com>
135035         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
135036         well as time.h in the compile check.
135037         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
135038         Fix typo in cross-compiling case: s/yes/no/.
135040 2000-01-23  Jim Meyering  <meyering@lucent.com>
135042         * m4/jm-macros.m4: Move df-related tests here from
135043         fileutils/configure.in
135045         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
135046         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
135048         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
135049         s/space/ac_fsusage_space/.
135050         (jm_FILE_SYSTEM_USAGE): Take two parameters.
135052         * m4/ftruncate.m4: New file (derived from part of
135053         fileutils/configure.in).
135054         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
135055         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
135057         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
135058         AC_SUBST these here, rather than just in sh-util/configure.in, so
135059         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
135060         all the same.
135061         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
135062         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
135063         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
135064         (AC_SUBST(POW_LIBM)): Likewise.
135065         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
135067 2000-01-23  Jim Meyering  <meyering@lucent.com>
135069         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
135070         obstack.c.
135072 2000-01-22  Jim Meyering  <meyering@lucent.com>
135074         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
135076         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
135078         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
135079         configure.in
135080         (AC_CHECK_HEADERS): Likewise for sh-utils.
135081         (AC_CHECK_HEADERS): Likewise for textutils.
135082         Merge the three lists of headers.
135084         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
135085         from fileutils' configure.in.
135087         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
135088         code. Moved tests into their own function (_jm_DECL_HEADERS) in
135089         check-decl.m4.
135091         * m4/check-decl.m4: Use #if rather than #ifdef.
135092         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
135093         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
135094         (_jm_DECL_HEADERS): Define new function.
135095         (jm_CHECK_DECLARATIONS): Require it.
135097 2000-01-22  Jim Meyering  <meyering@lucent.com>
135099         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
135100         [! HAVE_DECL_STRTOULL]: Declare strtoull.
135101         Required for some AIX systems.  Reported by Christian Krackowizer.
135102         [TESTING] (main): New function.
135104         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
135105         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
135106         letters.
135108         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
135109         iswprint.
135111         * lib/strverscmp.c (ISDIGIT): Define.
135112         (strverscmp): Use ISDIGIT, not isdigit.
135114 2000-01-19  Jim Meyering  <meyering@lucent.com>
135116         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
135117         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
135118         defines `struct timespec' in <sys/time.h>
135120         * m4/c-bs-a.m4: Remove uses of changequote altogether.
135121         Thanks to Akim for explaining.
135123 2000-01-17  Paul Eggert  <eggert@twinsun.com>
135125         * lib/nanosleep.c (nanosleep):
135126         Don't use SA_INTERRUPT to decide whether to call sigaction, as
135127         POSIX.1 doesn't require SA_INTERRUPT and some systems
135128         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
135129         it's been part of POSIX.1 since day 1 (in 1988).
135131 2000-01-17  Jim Meyering  <meyering@lucent.com>
135133         * lib/interlock: Remove unused file.  Reported by François Pinard.
135135 2000-01-16  Paul Eggert  <eggert@twinsun.com>
135137         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
135138         alert, backslash, formfeed, and vertical tab unnecessarily in
135139         shell quoting style.
135141 2000-01-16  Jim Meyering  <meyering@lucent.com>
135143         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
135144         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
135145         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
135146         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
135148 2000-01-16  Jim Meyering  <meyering@lucent.com>
135150         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
135151         because the latter didn't work.
135153 2000-01-15  Jim Meyering  <meyering@lucent.com>
135155         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
135156         (AC_REPLACE_FUNCS): Add memcpy and memset.
135157         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
135158         Add strpbrk.
135159         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
135161 2000-01-12  Jim Meyering  <meyering@lucent.com>
135163         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
135164         (jm_PREREQ): Use it.
135165         (jm_PREREQ_READUTMP): New macro.
135166         (jm_PREREQ): Use it.
135168 2000-01-11  Paul Eggert  <eggert@twinsun.com>
135170         Quote multibyte characters correctly.
135171         * m4/c-bs-a.m4: New file.
135172         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
135173         (jm_PREREQ): Use it.
135175 2000-01-11  Paul Eggert  <eggert@twinsun.com>
135177         * m4/uintmax_t.m4: Port to autoconf 2.13.
135179 2000-01-08  Jim Meyering  <meyering@ascend.com>
135181         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
135182         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
135184 2000-01-04  Jim Meyering  <meyering@ascend.com>
135186         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
135187         jm_STRUCT_DIRENT_D_TYPE.
135188         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
135189         jm_STRUCT_DIRENT_D_INO.
135190         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
135191         jm_STRUCT_UTIMBUF.
135192         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
135193         renamings.
135194         * m4/utime.m4: Likewise.
135196         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
135197         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
135199 2000-01-03  Paul Eggert  <eggert@twinsun.com>
135201         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
135202         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
135204 2000-01-02  Jim Meyering  <meyering@ascend.com>
135206         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
135207         remember if this is necessary.
135209 1999-12-26  Jim Meyering  <meyering@ascend.com>
135211         * m4/jm-macros.m4: Use it here.
135212         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
135214 1999-12-23  Jim Meyering  <meyering@ascend.com>
135216         * m4/jm-macros.m4: Check for clock_gettime (moved from
135217         fileutils/configure.in)
135218         Check for gettimeofday.
135220 1999-12-20  Jim Meyering  <meyering@ascend.com>
135222         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
135223         autoconf-2.14a-1999-12-20.
135225 1999-12-19  Jim Meyering  <meyering@ascend.com>
135227         * m4/lstat-slash.m4: New file.
135228         * m4/jm-macros.m4: Use the new macro:
135229         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
135231 1999-12-07  Jim Meyering  <meyering@ascend.com>
135233         * m4/perl.m4: Require that File::Compare be available, too.
135234         Too many systems seem to lack it.
135236         * m4/strftime.m4: Add checks for most of the cpp macros tested in
135237         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
135239 1999-11-18  Paul Eggert  <eggert@twinsun.com>
135241         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
135242         problem with the QNX 4.25 shell, which doesn't propagate exit
135243         status of failed commands inside shell assignments.
135245 1999-11-17  Jim Meyering  <meyering@ascend.com>
135247         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
135249 1999-11-07  Jim Meyering  <meyering@ascend.com>
135251         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
135253 1999-11-06  Jim Meyering  <meyering@ascend.com>
135255         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
135256         * m4/jm-macros.m4 (jm_MACROS): Use it here.
135258 1999-11-05  Jim Meyering  <meyering@ascend.com>
135260         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
135261         configure.in of textutils, fileutils, and sh-utils into this one
135262         (shared between those packages) file.
135263         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
135264         AC_STRUCT_ST_BLKSIZE.
135266 1999-11-03  Jim Meyering  <meyering@ascend.com>
135268         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
135269         of AC_CHECK_TYPE checks includes unistd.h.
135270         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
135271         Suggestion from Akim Demaille.
135273 1999-10-30  Jim Meyering  <meyering@ascend.com>
135275         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
135276         m4-quoted string.
135277         * m4/ls-mntd-fs.m4: Likewise.
135278         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
135279         * m4/jm-winsz1.m4: Likewise.
135281         * m4/const.m4: Remove file, since the fix made it into the experimental
135282         version of autoconf.
135283         * m4/mktime.m4: Likewise.
135285         * m4/check-type.m4: Remove file, now that the latest version of
135286         AC_CHECK_TYPE takes a third arg to specify additional #includes.
135288         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
135289         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
135290         AC_CHECK_TYPE.
135292 1999-10-04  Jim Meyering  <meyering@ascend.com>
135294         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
135296 1999-09-22  Paul Eggert  <eggert@twinsun.com>
135298         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
135299         2.95.1 bug with HP-UX 10.20.
135301 1999-09-17  Jim Meyering  <meyering@ascend.com>
135303         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
135304         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
135305         due to missing strdup (against sh-utils-2.0).
135307 1999-08-29  Jim Meyering  <meyering@ascend.com>
135309         * m4/jm-macros.m4: Require jm_BISON.
135310         * m4/bison.m4: New file.
135312 1999-08-17  Paul Eggert  <eggert@twinsun.com>
135314         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
135315         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
135317 1999-08-05  Jim Meyering  <meyering@ascend.com>
135319         * m4/getline.m4: Rename test file from conftestdata to conftest.data
135320         to avoid conflicts with `conftest' on 8+3 filesystems.
135321         Suggestion from Eli Zaretskii.
135323 1999-08-04  Jim Meyering  <meyering@ascend.com>
135325         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
135326         fileutils and sh-utils (textutils's getline test was inadequate).
135327         (AM_FUNC_GETLINE): Run this test.
135328         (AC_CHECK_FUNCS): Check for getdelim.
135329         Reported by Bob Proulx.
135331 1999-08-02  Jim Meyering  <meyering@ascend.com>
135333         * m4/jm-macros.m4: Add a comment.
135335 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135337         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
135338         <inttypes.h> defines strtoumax as a macro (and not as a
135339         function).
135341 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135343         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
135344         that we can shift, multiply and divide unsigned long long
135345         values; Ultrix cc can't do it.
135347 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135349         * m4/mktime.m4: New file, which is a preview of what should appear
135350         in the next public autoconf release.
135352 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135354         * m4/lfs.m4: Remove this file.
135355         * m4/largefile.m4: New file.  It contains the old contents of
135356         lfs.m4, except that all names with prefix AC_LFS have been
135357         changed to use the prefix AC_SYS_LARGEFILE instead, to be
135358         compatible with future autoconf versions.  Also, some minor m4
135359         quoting problems have been fixed.
135361 1999-08-01  Paul Eggert  <eggert@twinsun.com>
135363         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
135364         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
135365         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
135366         and simplify the shell code.
135368 1999-08-01  Jim Meyering  <meyering@ascend.com>
135370         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
135371         m4.
135373 1999-07-20  Jim Meyering  <meyering@ascend.com>
135375         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
135377 1999-07-15  Jim Meyering  <meyering@ascend.com>
135379         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
135381 1999-05-22  Jim Meyering  <meyering@ascend.com>
135383         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
135385 1999-05-20  Jim Meyering  <meyering@ascend.com>
135387         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
135388         Add a colon after each `then' in case $4 is empty.
135390 1999-05-16  Jim Meyering  <meyering@ascend.com>
135392         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
135394 1999-05-10  Jim Meyering  <meyering@ascend.com>
135396         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
135398         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
135399         AC_FUNC_MKTIME.
135401 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
135403         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
135405 1999-05-04  Paul Eggert  <eggert@twinsun.com>
135407         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
135408         not CPPFLAGS, so that linking works correctly in IRIX.
135410 1999-04-30  Paul Eggert  <eggert@twinsun.com>
135412         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
135414 1999-04-20  Paul Eggert  <eggert@twinsun.com>
135416         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
135417         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
135418         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
135419         jm_AC_TYPE_UNSIGNED_LONG_LONG.
135420         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
135422         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
135424 1999-04-20  Jim Meyering  <meyering@ascend.com>
135426         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
135427         AC_REPLACE xstroull if necessary.  From Paul Eggert.
135428         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
135430 1999-04-18  Jim Meyering  <meyering@ascend.com>
135432         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
135433         * m4/jm-macros.m4: Use it.
135435 1999-04-06  Jim Meyering  <meyering@ascend.com>
135437         * m4/strftime.m4: Remove test for %f.
135439 1999-03-29  Jim Meyering  <meyering@ascend.com>
135441         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
135442         superset of the AC_TYPE_* checks in the textutils, fileutils,
135443         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
135444         AC_TYPE_PID_T.
135446 1999-03-28  Jim Meyering  <meyering@ascend.com>
135448         * m4/jm-macros.m4: Define GNU_PACKAGE here.
135449         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
135450         replaced e.g., in the *.sh files of the sh-utils.
135452 1999-03-20  Jim Meyering  <meyering@ascend.com>
135454         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
135455         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
135456         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
135458 1999-03-19  Jim Meyering  <meyering@ascend.com>
135460         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
135462 1999-03-12  Jim Meyering  <meyering@ascend.com>
135464         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
135466 1999-03-07  Jim Meyering  <meyering@ascend.com>
135468         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
135469         declared.
135471 1999-02-17  Jim Meyering  <meyering@ascend.com>
135473         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
135474         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
135476 1999-02-07  Jim Meyering  <meyering@ascend.com>
135478         * m4/group-member.m4: New file -- extracted from sh-utils'
135479         configure.in.
135481         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
135482         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
135484 1999-02-06  Jim Meyering  <meyering@ascend.com>
135486         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
135487         * m4/fnmatch.m4: Likewise.
135488         * m4/getgroups.m4: Likewise.
135489         * m4/lstat.m4: Likewise.
135490         * m4/malloc.m4: Likewise.
135491         * m4/putenv.m4: Likewise.
135492         * m4/realloc.m4: Likewise.
135493         * m4/regex.m4: Likewise.
135494         * m4/stat.m4: Likewise.
135495         * m4/strftime.m4: Likewise.
135496         Suggestion from Alain Magloire.
135498         * m4/chown.m4: Use `.$ac_objext', not `.o'.
135499         * m4/fnmatch.m4: Likewise.
135500         * m4/getgroups.m4: Likewise.
135501         * m4/getline.m4: Likewise.
135502         * m4/lstat.m4: Likewise.
135503         * m4/malloc.m4: Likewise.
135504         * m4/memcmp.m4: Likewise.
135505         * m4/putenv.m4: Likewise.
135506         * m4/realloc.m4: Likewise.
135507         * m4/regex.m4: Likewise.
135508         * m4/stat.m4: Likewise.
135509         * m4/strftime.m4: Likewise.
135510         Suggestion from Alain Magloire.
135512         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
135513         an argument.
135515         * m4/regex.m4: Add a run-time Test for proper operation of
135516         re_compile_pattern.
135518 1999-01-31  Jim Meyering  <meyering@ascend.com>
135520         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
135522 1999-01-30  Jim Meyering  <meyering@ascend.com>
135524         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
135526         * m4/jm-mktime.m4: Make this a wrapper around the official
135527         AM_FUNC_MKTIME rather than my private copy, now that the official one
135528         is up to date.
135529         * m4/mktime.m4: Remove file.
135531         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
135532         * m4/uptime.m4: Likewise.
135533         * m4/uintmax_t.m4: Likewise.
135535 1999-01-28  Jim Meyering  <meyering@ascend.com>
135537         * m4/jm-macros.m4: Use jm_AFS.
135538         * m4/afs.m4: New file (from fileutils' configure.in).
135540         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
135541         * m4/chown.m4: Likewise.
135542         * m4/d-ino.m4: Likewise.
135543         * m4/d-type.m4: Likewise.
135544         * m4/fnmatch.m4: Likewise.
135545         * m4/getgroups.m4: Likewise.
135546         * m4/gettext.m4: Likewise.
135547         * m4/jm-mktime.m4: Likewise.
135548         * m4/jm-winsz2.m4: Likewise.
135549         * m4/lcmessage.m4: Likewise.
135550         * m4/ls-mntd-fs.m4: Likewise.
135551         * m4/malloc.m4: Likewise.
135552         * m4/memcmp.m4: Likewise.
135553         * m4/putenv.m4: Likewise.
135554         * m4/realloc.m4: Likewise.
135555         * m4/st_mtim.m4: Likewise.
135556         * m4/strftime.m4: Likewise.
135558 1999-01-16  Jim Meyering  <meyering@ascend.com>
135560         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
135561         (ARGMATCH_DIE_DECL): Define.
135563 1999-01-12  Jim Meyering  <meyering@ascend.com>
135565         * m4/Makefile.am.in: Rewrite to avoid using fmt.
135566         Reported by Lars Hecking.
135568 1999-01-10  Jim Meyering  <meyering@ascend.com>
135570         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
135571         gross kludge.
135572         * m4/inttypes_h.m4: Likewise.
135573         * m4/lstat.m4: Likewise.
135574         * m4/malloc.m4: Likewise.
135575         * m4/readdir.m4: Likewise.
135576         * m4/realloc.m4: Likewise.
135577         * m4/st_dm_mode.m4: Likewise.
135578         * m4/stat.m4: Likewise.
135579         * m4/utimbuf.m4: Likewise.
135580         * m4/utimes.m4: Likewise.
135582         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
135583         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
135584         comments in config.h.in are meaningful.
135586         * m4/jm-macros.m4: Require autoconf-2.13 here.
135588         * m4/regex.m4: By default, don't use the included regex.c on systems
135589         with glibc 2.  Suggestion from Uli Drepper.
135591 1999-01-02  Jim Meyering  <meyering@ascend.com>
135593         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
135595 1998-12-18  Jim Meyering  <meyering@ascend.com>
135597         * m4/Makefile.am.in (Makefile.am): Simplify rule.
135598         Based on a suggestion from Lars Hecking.
135600 1998-11-16  Paul Eggert  <eggert@twinsun.com>
135602         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
135604 1998-11-16  Jim Meyering  <meyering@ascend.com>
135606         * m4/lfs.m4: Double-quote the `uname...` expression.
135608 1998-11-14  Jim Meyering  <meyering@ascend.com>
135610         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
135611         * m4/stat.m4: Likewise.
135613 1998-11-03  Jim Meyering  <meyering@ascend.com>
135615         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
135616         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
135618 1998-10-18  Jim Meyering  <meyering@ascend.com>
135620         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
135622 1998-10-17  Jim Meyering  <meyering@ascend.com>
135624         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
135625         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
135626         calls for those previously hard-coded headers.  Instead, take a new
135627         parameter.
135628         (jm_CHECK_DECLARATIONS): Reflect interface change.
135629         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
135630         (jm_CHECK_DECL_LOCALTIME_R): New macro.
135632         * m4/mktime.m4: Test for spring-forward gap before long-running test.
135634 1998-10-14  Jim Meyering  <meyering@ascend.com>
135636         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
135637         instead of "TZ=America/Vancouver".  From Paul Eggert.
135639 1998-10-11  Jim Meyering  <meyering@ascend.com>
135641         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
135642         This adds a test for a recently added compatibility fix for mktime.c.
135643         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
135645 1998-09-27  Jim Meyering  <meyering@ascend.com>
135647         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
135649         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
135650         ../configure.in, including a change from Gordon Matzigkeit to allow
135651         cross-compiling for the Hurd.
135653         * m4/glibc.m4: New file/macro to test for the GNU C Library
135654         versions 1 and 2.  From Gordon Matzigkeit.
135655         Indent.
135657 1998-09-21  Jim Meyering  <meyering@ascend.com>
135659         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
135661 1998-08-18  Paul Eggert  <eggert@twinsun.com>
135663         Port nanosecond-resolution times to UnixWare 2.1.2 and
135664         pedantic Solaris 2.6.
135666         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
135667         AC_STRUCT_ST_MTIM.
135668         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
135669         Generate name of ns member, instead of just 1 or undef.
135670         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
135672 1998-08-15  Jim Meyering  <meyering@ascend.com>
135674         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
135675         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
135676         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
135677         instead of jm_TYPE_SSIZE_T.
135679 1998-08-12  Jim Meyering  <meyering@ascend.com>
135681         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
135683 1998-08-02  Jim Meyering  <meyering@ascend.com>
135685         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
135686         in acconfig.h manually.
135688 1998-07-31  Paul Eggert  <eggert@twinsun.com>
135690         * m4/st_mtim.m4: New file.
135692 1998-07-28  Jim Meyering  <meyering@ascend.com>
135694         * m4/utimes.m4: Undef stat.
135696 1998-07-25  Jim Meyering  <meyering@ascend.com>
135698         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
135699         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
135701 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
135703         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
135704         uid and gid actually remain unchanged.
135706 1998-07-07  Jim Meyering  <meyering@ascend.com>
135708         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
135710 1998-07-04  Jim Meyering  <meyering@ascend.com>
135712         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
135713         to prove that this macro can be used in packages without regex.c.
135715 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
135717         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
135718         is to be used.
135720 1998-07-03  Jim Meyering  <meyering@ascend.com>
135722         * m4/gettext.m4: Add -lintl if it's found to be necessary.
135724         * m4/gettext.m4: New file -- from gettext-0.10.35.
135725         * m4/lcmessage.m4: Likewise.
135726         * m4/progtest.m4: Likewise.
135728         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
135729         * m4/jm-macros.m4: Require the new macro.
135731 1998-06-29  Jim Meyering  <meyering@ascend.com>
135733         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
135734         for the definition of NGROUPS (used in a system header included
135735         by sys/mount.h).
135737 1998-06-28  Jim Meyering  <meyering@ascend.com>
135739         * m4/ls-mntd-fs.m4: New file.
135740         * m4/fstypename.m4: New file.
135742         * m4/jm-macros.m4: Require the new macro.
135743         * m4/jm-glibc-io.m4: New file.
135745 1998-05-19  Jim Meyering  <meyering@ascend.com>
135747         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
135748         * m4/lchown.m4: New file.
135750         * m4/Makefile.am.in: New file.
135751         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
135753 1998-05-14  Jim Meyering  <meyering@ascend.com>
135755         * m4/Makefile.am (EXTRA_DIST): Add them.
135756         * m4/jm-macros.m4: New file.
135757         * m4/utimbuf.m4: New file.
135759 1998-05-12  Jim Meyering  <meyering@ascend.com>
135761         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
135763 1998-05-11  Jim Meyering  <meyering@ascend.com>
135765         * m4/isc-posix.m4: New file.
135767 1998-05-10  Jim Meyering  <meyering@ascend.com>
135769         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
135771 1998-05-09  Jim Meyering  <meyering@ascend.com>
135773         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
135774         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
135775         with automake.
135777         * m4/ssize_t.m4: New file.
135778         * m4/mktime.m4: Remove file -- the new automake has this now.
135780 1998-04-26  Jim Meyering  <meyering@ascend.com>
135782         * m4/assert.m4: New file.
135783         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
135785 1998-04-05  Jim Meyering  <meyering@ascend.com>
135787         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
135788         (jm_PREREQ): Use it here.
135790 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
135792         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
135793         in acconfig.h.
135795 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
135797         * m4/prereq.m4: New file.
135798         * m4/error.m4: New file.
135799         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
135801 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
135803         * m4/getline.m4: Don't set am_cv_func_working_getline before the
135804         cache-check for the same variable -- that defeated the purpose of
135805         the test; the test program was never run.  This was a problem only
135806         on systems with losing getline functions -- HP-UX 10.20 is one.
135807         Reported by Bjorn Helgaas.
135809 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
135811         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
135813 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
135815         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
135817         * m4/const.m4: New file.  Use an initializer in this declaration
135818         typedef int charset[2]; const charset x;
135819         Reported by Bob Glickstein.
135821 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
135823         * m4/chown.m4: Fix reversed types on -1 args to chown.
135824         From Kaveh Ghazi.
135826 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
135828         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
135829         Add lseek and memchr.
135831         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
135832         T.E.Dickey <dickey@clark.net> said that some older preprocessors
135833         have a 20-character limit on names.
135835 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
135837         * m4/inttypes_h.m4: New file.
135838         * m4/uintmax_t.m4: New file.
135839         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
135842         -----
135844         Local Variables:
135845         coding: utf-8
135846         End:
135848         Copyright (C) 1997-2021 Free Software Foundation, Inc.
135850         Copying and distribution of this file, with or without
135851         modification, are permitted provided the copyright notice
135852         and this notice are preserved.